Products: Abaqus/Standard Abaqus/Explicit Abaqus/CAE
“Execution procedure for Abaqus/Standard and Abaqus/Explicit,” Section 3.2.2
“Preparing an Abaqus analysis for co-simulation,” Section 14.1.2
Chapter 25, “Co-simulations,” of the Abaqus/CAE User's Manual
This section discusses analysis setup and execution details specific to Abaqus/Standard to Abaqus/Explicit co-simulation. In addition to defining the individual analysis models and procedures and identifying matching interface regions as described in “Preparing an Abaqus analysis for co-simulation,” Section 14.1.2, you must specify the co-simulation controls that define the coupling and rendezvousing scheme. These specifications complete the model setup and allow you to execute the coupled analysis.
Refer to “Dynamic impact of a scooter with a bump,” Section 2.4.2 of the Abaqus Example Problems Manual, for an example of Abaqus/Standard to Abaqus/Explicit co-simulation.
Co-simulation controls are used to control the time incrementation process and the frequency of exchange between the two Abaqus analyses.
Input File Usage: | Use both of the following options to specify co-simulation controls: |
*CO-SIMULATION, PROGRAM=ABAQUS, CONTROLS=name *CO-SIMULATION CONTROLS, NAME=name |
Abaqus/CAE Usage: | Interaction module: Create Interaction: Standard-Explicit co-simulation |
You can force Abaqus/Standard to use the same increment size as Abaqus/Explicit, or you can allow the increment sizes in Abaqus/Standard to differ from those in Abaqus/Explicit (subcycling). The time incrementation scheme that you choose for coupling affects the solution computational cost and accuracy but not the solution stability.
The subcycling scheme is frequently the most cost effective since Abaqus/Standard time increments, free of any forced co-simulation time incrementation constraints, are commonly much longer than Abaqus/Explicit time increments. The subcycling scheme, however, may be less cost effective when a large portion of the nodes in the model are at the co-simulation interface. This is because Abaqus/Standard performs a set of stabilization operations at the interface (a “free solve”) for each increment in the Abaqus/Explicit analysis. These free-solve operations require an implicit solution of a dense system of equations that scale with the number of interface nodes. In cases of a large number of interface nodes the computational cost of this interface solve can exceed any cost savings seen due to subcycling. Hence, for a model where a significant share of the nodes are at the co-simulation interface performance may be poorer with the subcycling scheme.
You can force Abaqus/Standard to match the increment size of Abaqus/Explicit, and solution quantities will be exchanged at each of the shared increments.
Input File Usage: | Use the following option in the Abaqus/Standard analysis and in the Abaqus/Explicit analysis: |
*CO-SIMULATION CONTROLS, TIME INCREMENTATION=LOCKSTEP |
Abaqus/CAE Usage: | Use the following input in the Abaqus/Standard analysis and in the Abaqus/Explicit analysis: |
Interaction module: Create Interaction: Standard-Explicit co-simulation: Incrementation control: Lock time steps |
You can allow the Abaqus/Standard increment size to differ from those in Abaqus/Explicit. In this case solution quantities will be exchanged as needed.
Input File Usage: | Use the following option in the Abaqus/Standard analysis and in the Abaqus/Explicit analysis: |
*CO-SIMULATION CONTROLS, TIME INCREMENTATION=SUBCYCLE |
Abaqus/CAE Usage: | Use the following input in the Abaqus/Standard analysis and in the Abaqus/Explicit analysis: |
Interaction module: Create Interaction: Standard-Explicit co-simulation: Incrementation control: Allow subcycling |
The coupling step size is the period between two consecutive co-simulation data exchanges between Abaqus/Standard and Abaqus/Explicit and always equals the current Abaqus/Explicit increment size.
When using the subcycling method, this data exchange does not represent a constraint on Abaqus/Standard incrementation; the Abaqus/Standard analysis advances in time using its normal time incrementation logic, but performs data exchanges as needed at the coupling step size intervals.
If you do not specify a constant coupling step size, Abaqus/Standard and Abaqus/Explicit use the next Abaqus/Explicit increment size as the coupling step size.
Input File Usage: | Use the following option in either or both of the Abaqus/Standard and Abaqus/Explicit analyses: |
*CO-SIMULATION CONTROLS (omit the STEP SIZE parameter) |
Abaqus/CAE Usage: | Use the following input in the Abaqus/Standard and Abaqus/Explicit analyses: |
Interaction module: Create Interaction: Standard-Explicit co-simulation: Coupling step period: Determined by analysis |
A constant user-defined coupling step size can be specified. Since data exchange occurs at every Abaqus/Explicit increment, the Abaqus/Explicit increment will be set equal to the user-defined coupling step size. This is functionally equivalent to specifying direct user control on the increment size in Abaqus/Explicit. In Abaqus/Standard the step size parameter is ignored for Abaqus/Standard to Abaqus/Explicit co-simulation.
Input File Usage: | In the Abaqus/Explicit analysis you may optionally specify a step size: |
*CO-SIMULATION CONTROLS, STEP SIZE=coupling_step_size |
Abaqus/CAE Usage: | Use the following input in the Abaqus/Explicit analysis: |
Interaction module: Create Interaction: Standard-Explicit co-simulation: Coupling step period: Specified: coupling_step_size |
You execute the Abaqus/Standard and Abaqus/Explicit jobs as described in “Execution procedure for Abaqus/Standard and Abaqus/Explicit,” Section 3.2.2, using the port, host, and, optionally, the timeout execution parameters to control the identification of one Abaqus analysis to the other. The usage of the host parameter requires that you specify the host for one of the co-simulation jobs.
Input File Usage: | For the Abaqus analysis that you choose to host the co-simulation connection, enter the following input on the command line: |
abaqus job=job-name-A port=co-simulation port-number For the other Abaqus analysis, enter the following input on the command line: abaqus job=job-name-B host=co-simulation hostname port=co-simulation port-number |
Abaqus/CAE Usage: | Job module: |
The timeout execution parameter specifies the amount of time that each analysis waits to receive the co-simulation message expected from the other analysis that is running. The default timeout value is 3600 seconds. When the timeout period is large compared to typical analysis increment wallclock times, you have greater flexibility in starting jobs and performing operations that precede the co-simulation analysis step. Examples where this flexibility is needed include: job submission using queues, analyses where steps that precede the co-simulation step have long run times, and cases where one job is resubmitted because of an input error. However, a large timeout period can cause problems when one of the co-simulation jobs fails (for reasons such as convergence issues or availability of computer resources) before the initial co-simulation communication is established. In these cases you may prefer to kill the job left running rather than have it wait the entire timeout period.
Use the following command to run an Abaqus/Standard job called “std” that will establish a co-simulation connection to a job running on a host named “abc” that is listening on port 48000:
abaqus analysis job=std host=abc port=48000
Use the following command on a machine named “abc” to run an Abaqus/Explicit job called “xpl” that will establish a co-simulation connection to job “std” on port 48000:
abaqus analysis job=xpl port=48000
The Abaqus/Standard job provides detailed descriptions of co-simulation operations in the message (.msg) file. For the subcycling scheme the status (.sta) file provides summary information indicating when the free-solve calculations are made, as shown in the following example status file. The F suffix in the attempt-count entry (column 3) indicates a free solve.
SUMMARY OF JOB INFORMATION: STEP INC ATT SEVERE EQUIL TOTAL TOTAL STEP INC OF DOF IF DISCON ITERS ITERS TIME/ TIME/LPF TIME/LPF MONITOR RIKS ITERS FREQ 1 1 1F 0 1 1 0.000 0.000 0.001000 1 1 1 0 3 3 0.00100 0.00100 0.001000 1 2 1F 0 1 1 0.00100 0.00100 0.001000 1 2 1 0 3 3 0.00200 0.00200 0.001000 1 3 1F 0 1 1 0.00200 0.00200 0.001000 1 3 1 0 2 2 0.00300 0.00300 0.001000 1 4 1F 0 1 1 0.00300 0.00300 0.001000 1 4 1 0 3 3 0.00400 0.00400 0.001000
The Abaqus/Explicit job provides summary descriptions of co-simulation operations in the status (.sta) file.
The following limitations apply to Abaqus/Standard to Abaqus/Explicit co-simulation in addition to the limitations discussed in “Preparing an Abaqus analysis for co-simulation,” Section 14.1.2.
Displacement compatibility at the co-simulation interface is not maintained when you allow the Abaqus/Standard increment size to differ from that in Abaqus/Explicit (i.e., when you specify subcycling as a co-simulation time incrementation control). In this case velocity compatibility is maintained, but you may see small amounts of displacement mismatch between Abaqus/Standard and Abaqus/Explicit as the simulation advances in time. This “drift” is more pronounced if severe nonlinearity such as plastic deformation occurs at the co-simulation interface. You can control this drift by adjusting Abaqus/Standard solution parameters so that the Abaqus/Standard increment size is reduced (e.g., by limiting the maximum time increment size or specifying a smaller half-increment residual tolerance for implicit dynamic analyses).
Nodal transformations are not permitted on the co-simulation region nodes.
The ALE technique may not be used in elements attached to co-simulation region nodes.
Fully coupled temperature-displacement elements can be used, but no temperature quantities are exchanged.
When your Abaqus/Standard and Abaqus/Explicit co-simulation region meshes differ, the following limitations apply:
Quadratic elements are not permitted on the co-simulation region.
Solution accuracy may be affected when your co-simulation region meshes are not uniform in the presence or absence of rotational degrees of freedom; for example, if a continuum element mesh is locally reinforced with beam or shell elements at the co-simulation region interface.
In cases where the stress state near the co-simulation interface is significant (approaching 1% or more) relative to the material stiffness, you may observe appreciable irregular mesh distortion if the mesh density adjacent to the co-simulation region differs greatly between the Abaqus/Explicit and Abaqus/Standard models. For example, this effect is common with large deformation of hyperelastic materials. You can minimize this effect by choosing a similar or finer mesh at the Abaqus/Standard co-simulation region when using the subcycling time integration scheme or by choosing a similar or finer mesh at the Abaqus/Explicit co-simulation region when using the lockstep time integration scheme.
Abaqus/Standard elements that have no equivalent degree-of-freedom counterpart in Abaqus/Explicit cannot be connected to co-simulation region nodes. These elements include
Axisymmetric elements with twist degrees of freedom (the CGAX element family)
Axisymmetric solid elements with asymmetric deformation (the CAXA element family)
Generalized plane strain elements (the CPEG element family)
Coupled pore pressure-displacement elements
Heat transfer and thermal-electrical elements
Acoustic elements
Piezoelectric elements
A co-simulation region node cannot be a slave node in a tie constraint, an MPC constraint, or a kinematic coupling constraint.
Stability and accuracy of the co-simulation solution may be adversely affected when the following model features are defined at or near the co-simulation region:
Connector elements connected to co-simulation region nodes.
Co-simulation region nodes that participate in a tie constraint, an MPC constraint, or a kinematic coupling constraint.