14.1.4 Performing a co-simulation using MpCCI or coupling Abaqus and AcuSolve

Products: Abaqus/Standard  Abaqus/Explicit  

References

Overview

This section discusses analysis setup and execution details for two applications of the co-simulation technique: co-simulation using MpCCI and coupling Abaqus and AcuSolve. In addition to defining the analysis model and procedure and identifying the interface region 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.

Defining the rendezvousing scheme

Different types of analyses have different time integration requirements, which will influence or dictate the frequency of interaction between Abaqus and the third-party analysis program to obtain an accurate and robust solution. For example, consider the difference in time integration between an implicit and an explicit dynamic analysis. Furthermore, Abaqus/Standard can adjust the increment sizes automatically to obtain an economical and accurate solution for transient problems (see Incrementation” in “Procedures: overview, Section 6.1.1). For example, consider a transient heat transfer analysis modeling a diffusive process; here the analysis may use small time increments at the beginning of the analysis where there is a high gradient in the solution and large time increments toward the end of the analysis when steady state is reached.

Co-simulation controls are used to control the frequency of exchange between Abaqus and the third-party analysis program and to control the time incrementation process in Abaqus.

Input File Usage:          Use both of the following options to specify co-simulation controls:
*CO-SIMULATION, PROGRAM=type, CONTROLS=name
*CO-SIMULATION CONTROLS, NAME=name

Coupling step size

The coupling step is the period between two consecutive exchanges and consequently defines the frequency of exchange between Abaqus and the third-party program. The coupling step size is established at the beginning of each coupling step and is used to compute the target time (the time when the next synchronized exchange occurs).

When coupling Abaqus and AcuSolve, the coupling step size is negotiated between the solvers to establish a coupling step size that is suitable for both applications. This negotiated value is based on the minimum suggested coupling step size of both solvers. When coupling using MpCCI, it is your responsibility to ensure that the third-party program uses the same coupling step size as Abaqus.

Both analyses advance while exchanging data at target points according to

where is a coupling step size, is the target time, and is the time at the start of the coupling step.

Constant user-defined coupling step size

A constant user-defined coupling step size is the most basic method of defining a coupling step size. Abaqus uses this value as its suggested coupling step size.

Input File Usage:          
*CO-SIMULATION CONTROLS, STEP SIZE=coupling_step_size

Variable coupling step size

If you do not specify a constant coupling step size, Abaqus uses the next increment size as the suggested coupling step size. When coupling Abaqus and AcuSolve, the coupling step size is finalized taking the suggested value from AcuSolve into consideration. When coupling using MpCCI, you can either require that the third-party program use the value suggested by Abaqus or require that Abaqus use the value suggested by the third-party program.

Input File Usage:          Use the following option for coupling Abaqus and AcuSolve to use a variable coupling step size:
*CO-SIMULATION CONTROLS (omit the STEP SIZE parameter)

Use the following option for coupling Abaqus using MpCCI to use the value suggested by Abaqus as the variable coupling step size:

*CO-SIMULATION CONTROLS, STEP SIZE=EXPORT

Use the following option for coupling Abaqus using MpCCI to use the value suggested by the third-party program as the variable coupling step size:

*CO-SIMULATION CONTROLS, STEP SIZE=IMPORT

Time incrementation scheme

Abaqus may take multiple increments per coupling step, or you can force Abaqus to use a single increment per coupling step.

Allowing Abaqus to subcycle

By default, Abaqus may perform several increments (referred to as “subcycling”) during the coupling step. During subcycling, Abaqus/Standard ramps the loads and boundary conditions (with the exception of film properties) from the values at the end of the previous coupling step to the values at the target time, while in Abaqus/Explicit the loads are applied at the start of the coupling step and kept constant over the coupling step.

Subcycling allows Abaqus to use its own time incrementation to reach the target coupling time; specifically, it allows Abaqus to cut back the increment size if there are nonlinear events that require the increment size to be reduced.

Input File Usage:          
*CO-SIMULATION CONTROLS, 
TIME INCREMENTATION=SUBCYCLE

Forcing Abaqus to use a single increment per coupling step

In certain cases you may force Abaqus to use a time increment size dictated by the coupling step size (i.e., no subcycling). This allows both solvers to use the same time incrementation and avoid interpolation of quantities during the coupling step. When proceeding in this manner, Abaqus will not be able to reduce the time increment to resolve nonlinear events and, consequently, will terminate the simulation in cases where the nonlinear events require that the increment size be reduced.

Input File Usage:          
*CO-SIMULATION CONTROLS,
TIME INCREMENTATION=LOCKSTEP

Reaching target times

The Abaqus target times can be reached in an exact or loose manner.

Reaching target times in an exact manner

By default, Abaqus exchanges the data in an exact manner; that is, Abaqus temporarily reduces the time increment so that the solution exchange occurs exactly at the target time.

Input File Usage:          
*CO-SIMULATION CONTROLS, TIME MARKS=YES

Reaching target times in a loose manner

When subcycling Abaqus may reach the target time in a loose manner; that is, when the current simulation time, t, is within half of an Abaqus increment size away from the target time,

In this case performance is selected over solution accuracy. Loose coupling should be employed only for cases where Abaqus uses more increments than the third-party analysis program; for example, when coupling an explicit solver with an implicit solver.

Input File Usage:          
*CO-SIMULATION CONTROLS, TIME MARKS=NO

Asynchronous coupling scheme

A special case of a coupled simulation is a steady-state analysis. In this case time is not physically meaningful and is used as a parameter to measure the forward progress in a steady-state solution without regard to the true transient behavior. For steady-state problems the coupling time reflects only the computational step at which data are transferred; thus, the demands on the coupling algorithm may be relaxed.

Some third-party programs allow asynchronous or “on-demand” exchanges. In these cases you should adjust the coupling step size and total time for the Abaqus procedure such that a sufficient number of exchanges can be performed. For example, if you want to have 10 exchanges, you can set the coupling step size equal to 1.0 and the total time equal to 10.

Executing the coupled analysis

You execute the coupled analysis for co-simulation using MpCCI and for coupling Abaqus and AcuSolve using the instructions provided in the following documents, which are available in the SIMULIA Online Support System:

Limitations

In addition to the limitations discussed in Preparing an Abaqus analysis for co-simulation, Section 14.1.2, limitations for co-simulation using MpCCI and for coupling Abaqus and AcuSolve are discussed in the following documents, which are available in the SIMULIA Online Support System: