17.3.1 Abaqus/Standard to Abaqus/Explicit co-simulation

Products: Abaqus/Standard  Abaqus/Explicit  Abaqus/CAE  

References

Overview

This section discusses analysis setup, execution, and limitation details specific to Abaqus/Standard to Abaqus/Explicit co-simulation.

Refer to Dynamic impact of a scooter with a bump, Section 2.4.1 of the Abaqus Example Problems Manual, for an example of Abaqus/Standard to Abaqus/Explicit co-simulation.

Identifying the Abaqus step for the co-simulation analysis

The following Abaqus/Standard analysis procedures can be used for an Abaqus/Standard to Abaqus/Explicit co-simulation:

The following Abaqus/Explicit analysis procedure can be used for an Abaqus/Standard to Abaqus/Explicit co-simulation:

Input File Usage:          Use the following option within a step definition for an Abaqus/Standard to Abaqus/Explicit co-simulation:
*CO-SIMULATION, PROGRAM=ABAQUS

Abaqus/CAE Usage:   Use the following option for an Abaqus/Standard to Abaqus/Explicit co-simulation:

Interaction module: Create Interaction: Standard-Explicit co-simulation


Identifying the co-simulation interface region

Interaction between the Abaqus/Standard and Abaqus/Explicit models takes place through a common interface region.

You can specify an interface region using either node sets or surfaces when coupling Abaqus/Standard to Abaqus/Explicit. You must, however, be consistent in your region definition in Abaqus/Standard and Abaqus/Explicit; if you define a co-simulation region with a node set or node-based surface in one analysis, you must use the same type of co-simulation region definition in the other analysis. Likewise, if you define a co-simulation region with an element-based surface in one analysis, you must define your co-simulation region with an element-based surface in the other analysis.

You may have dissimilar meshes in regions shared in the Abaqus/Standard and Abaqus/Explicit model definitions. In some cases, however, you can improve solution stability and accuracy by ensuring that you have matching nodes at the interface (see “Dissimilar mesh-related limitations). In these cases you can use the modeling practice described in Ensuring matching nodes at the interface regions, Section 26.4 of the Abaqus/CAE User's Manual, to ensure these matching nodes.

Input File Usage:          Use the following option to define an element-based or node-based surface as a co-simulation region in an Abaqus model:
*CO-SIMULATION REGION, TYPE=SURFACE (default)
surface_A

Use the following option to define a node set as a co-simulation region in an Abaqus model:

*CO-SIMULATION REGION, TYPE=NODE
nodeset_A

Only one *CO-SIMULATION REGION option can be defined in each Abaqus analysis. In addition, only one node set or surface can be defined.


Abaqus/CAE Usage:   

Interaction module: Create Interaction: Standard-Explicit co-simulation: Surface or Node Region: select region


Identifying the fields exchanged across a co-simulation interface

For Abaqus/Standard to Abaqus/Explicit co-simulation, you do not define the fields exchanged; they are determined automatically according to the procedures and co-simulation parameters used.

Defining the rendezvousing scheme

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


Time incrementation scheme

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.

Forcing Abaqus to use a single increment per coupling step

You can force Abaqus/Standard to match the increment size of Abaqus/Explicit, and fields 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


Allowing Abaqus to subcycle

You can allow the Abaqus/Standard increment size to differ from those in Abaqus/Explicit. In this case fields 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


Controlling interface matrix factorization frequency

For the subcycling time incrementation scheme an interface solve is performed, by default, in Abaqus/Standard for every Abaqus/Explicit increment. This solve can be significantly costly for two reasons. First, the interface matrix used for the interface solve is dense and its size scales with the number of interface nodes. Second, the interface matrix changes every Abaqus/Explicit increment, requiring factorization in Abaqus/Standard for every Abaqus/Explicit increment. You can reduce the impact of this cost by approximating the interface matrix and factorizing it typically once for the duration of an Abaqus/Standard increment, rather than for each Abaqus/Explicit increment. However, if the Abaqus/Explicit stable time increment changes significantly, the interface matrix is refactored for stability reasons.

Allowing Abaqus/Standard to factorize the interface matrix every Abaqus/Explicit increment

Factorizing the interface matrix every Abaqus/Explicit increment is the default approach.

Input File Usage:          Use the following option in the Abaqus/Standard analysis:
*CO-SIMULATION CONTROLS,
FACTORIZATION FREQUENCY=EXPLICIT INCREMENT

Abaqus/CAE Usage:   Factorizing the interface matrix every Abaqus/Explicit increment is used by default in Abaqus/CAE.

Forcing Abaqus/Standard to factorize the interface matrix once per Abaqus/Standard increment

When the number of interface nodes is large, the cost of the interface factorization can be significantly reduced by using this approach. Only the interface matrix factorization is performed once per Abaqus/Standard increment; the interface solve is performed every Abaqus/Explicit increment using this factorized interface matrix. Since this approach approximates the interface matrix, it may slightly increase the drift in the displacement solution at the co-simulation interface. The performance gain with this method depends on the number of interface nodes, the subcycling ratio (which is the ratio between Abaqus/Standard and Abaqus/Explicit increments), and the size of the models. For models with greater than 100 interface nodes and a subcycling ratio greater than 50, this method typically reduces the analysis time by a factor between 1.2 and 3.0. The performance gain increases for larger subcycling ratios and decreases for larger models.

Input File Usage:          Use the following option in the Abaqus/Standard analysis:
*CO-SIMULATION CONTROLS, 
FACTORIZATION FREQUENCY=STANDARD INCREMENT

Abaqus/CAE Usage:   Factorizing the interface matrix once per Abaqus/Standard increment is not supported in Abaqus/CAE.

Coupling step size

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.

Variable coupling step size

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


Constant user-defined coupling step size

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


Executing the coupled analysis

You execute the Abaqus/Standard and Abaqus/Explicit jobs as described in Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD co-simulation execution, Section 3.2.4. By default, the Abaqus/Explicit packager and analysis are both run in double precision to avoid numerical instabilities.

You can execute the coupled analysis interactively in Abaqus/CAE as described in Understanding co-executions, Section 19.4 of the Abaqus/CAE User's Manual.

Input File Usage:          Enter the following input on the command line:

abaqus cosimulation cosimjob=cosim-job-name job=job-name-A,job-name-B


Abaqus/CAE Usage:   

Job module:
Co-executionCreate: select the Abaqus/Standard model and the Abaqus/Explicit model; Communication time out: timeout-value
Co-executionManager: Submit


Considerations for using the timeout parameter

The timeout execution parameter specifies the amount of time in seconds that each analysis waits to receive the co-simulation message expected from the other analysis that is running. The default timeout value is 60 minutes when submitting jobs using the command line options and 10 minutes when executing the jobs in Abaqus/CAE. 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.

Command usage example

Use the following command to submit a co-simulation between an Abaqus/Standard analysis called “std” and an Abaqus/Explicit analysis called “xpl”:

abaqus cosimulation cosimjob=beam job=std,xpl

Diagnostics information

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 interface calculations followed by re-solve of the increment are made, as shown in the following example status file. The E suffix in the attempt-count entry (column 3) indicates an increment performing interface calculations. An increment without the E suffix indicates re-solve of the increment.

 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   1E    0     1     1  0.000      0.000      0.001000
   1     1   1     0     3     3  0.00100    0.00100    0.001000
   1     2   1E    0     1     1  0.00100    0.00100    0.001000
   1     2   1     0     3     3  0.00200    0.00200    0.001000
   1     3   1E    0     1     1  0.00200    0.00200    0.001000
   1     3   1     0     2     2  0.00300    0.00300    0.001000
   1     4   1E    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.

Limitations

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 17.2.1.

General limitations

  • 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.

  • An Abaqus/Standard static stress analysis cannot be used with the lockstep time incrementation scheme in Abaqus/Standard to Abaqus/Explicit co-simulation.

Dissimilar mesh-related limitations

When your Abaqus/Standard and Abaqus/Explicit co-simulation region meshes differ, the following limitations apply:

  • 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 analysis limitations

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

The following specific limitations also apply:
  • A co-simulation region node cannot be a slave node in a tie constraint, an MPC constraint, or a kinematic coupling constraint.

Abaqus/Explicit analysis limitations

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.

When using these features, you should compare the Abaqus/Standard and Abaqus/Explicit solutions (e.g., compatibility of the displacement history) at the co-simulation interface as an indicator of solution accuracy.