16.1.3 Rendezvousing schemes for coupling Abaqus to third-party analysis programs

Products: Abaqus/Standard  Abaqus/Explicit  

References

Overview

This section discusses rendezvousing schemes employed when coupling Abaqus to a third-party analysis program using the direct coupling interface or the SIMULIA Co-Simulation Engine. 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 16.1.2, you must specify the co-simulation controls that define the coupling and time incrementation schemes.

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 using the direct coupling interface:
*CO-SIMULATION, PROGRAM=DCI, CONTROLS=name
*CO-SIMULATION CONTROLS, NAME=name

Use both of the following options to specify co-simulation controls using the SIMULIA Co-Simulation Engine:

*CO-SIMULATION, PROGRAM=MULTIPHYSICS, CONTROLS=name
*CO-SIMULATION CONTROLS, NAME=name

Defining the coupling scheme

The coupling scheme defines the sequence of exchanges between Abaqus and the third-party analysis program and also defines whether a coupled simulation can be run in a serial or parallel manner. When deciding on the coupling scheme, you should consider solution stability issues as well as the utilization impact on your computing resources.

Defining the coupling scheme for the direct coupling interface

When you use the direct coupling interface, the coupling scheme is defined by the third-party analysis program. You do not need to specify any additional information in the Abaqus analysis. For further information, see the appropriate third-party program documentation.

Defining the coupling scheme for the SIMULIA Co-Simulation Engine

When coupling through the SIMULIA Co-Simulation Engine, you have the choice between a parallel scheme, referred to as the Jacobi coupling algorithm, or a sequential scheme, referred to as the Gauss-Seidel coupling algorithm.

Parallel coupling scheme

In a parallel coupling scheme, both simulations are executed concurrently, exchanging fields to update the respective solutions at the next target time. The parallel coupling scheme may make more efficient use of computing resources; however, it is considered less stable than the sequential scheme and should be employed only for weakly coupled physics simulations. The third-party analysis program must specify a Jacobi coupling algorithm; consult the third-party program documentation.

Input File Usage:          
*CO-SIMULATION CONTROLS, COUPLING SCHEME=JACOBI

Sequential coupling scheme

In a sequential coupling scheme, the simulations are executed in sequential order. One analysis program leads while the other program lags the co-simulation. The third-party analysis program must specify a Gauss-Seidel coupling algorithm; consult the third-party program documentation.

Input File Usage:          Use the following option to specify that Abaqus leads the co-simulation:
*CO-SIMULATION CONTROLS, COUPLING SCHEME=GAUSS-SEIDEL, SCHEME MODIFIER=LEAD

The third-party analysis program must lag the co-simulation.

Use the following option to specify that Abaqus lag the co-simulation:

*CO-SIMULATION CONTROLS, COUPLING SCHEME=GAUSS-SEIDEL, SCHEME MODIFIER=LAG

The third-party analysis program must lead the co-simulation.


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). The method that is used to compute the coupling step size depends on whether you are using the direct coupling interface or the SIMULIA Co-Simulation Engine.

Computing the coupling step size using the direct coupling interface

When you use the direct coupling interface, Abaqus and the third-party program each suggest a coupling step size, referred to as the suggested coupling step size. Abaqus always uses the next increment suggested by its automatic time incrementation scheme as its suggested coupling step size. These suggested coupling step sizes are negotiated between the applications to compute the next coupling step size. The method that the third-party program uses is always the method that is used to compute the coupling step size. For example, a simple method is to return the minimum of both suggested coupling step sizes. Consult the appropriate third-party program documentation for more details.

Computing the coupling step size using the SIMULIA Co-Simulation Engine

When you use the SIMULIA Co-Simulation Engine, several methods are available for computing the coupling step size. The methods available in Abaqus are described in the sections below. To determine the methods available for a third-party analysis program, consult the appropriate third-party program documentation.

Using a constant coupling step size

A constant user-defined coupling step size is the most basic method of defining a coupling step size. Both analyses advance while exchanging data at target points according to

where is a value that defines the coupling step size to be used throughout the coupled simulation, is the target time, and is the time at the start of the coupling step. For this method both Abaqus and the third-party program need to specify the same value for the coupling step size.

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

Selecting the minimum coupling step size

This method selects the minimum of the coupling step sizes suggested by each application. Abaqus always uses the next increment suggested by its automatic incrementation as its suggested coupling step size. For this method both Abaqus and the third-party program need to specify the minimum coupling step size method.

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

Selecting the maximum coupling step size

This method selects the maximum of the coupling step sizes suggested by each application. Abaqus always uses the next increment suggested by its automatic incrementation as its suggested coupling step size. For this method both Abaqus and the third-party program need to specify the maximum coupling step size method.

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

Importing the coupling step size

Abaqus can import a coupling step size suggested by the third-party program. For this method the third-party program needs to export a coupling step size.

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

Exporting the coupling step size

Abaqus can export a suggested coupling step size to the third-party program. For this method the third-party program needs to import a coupling step size determined by Abaqus. Abaqus exports the next increment suggested by its automatic incrementation scheme.

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

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

References

For a list of third-party analysis programs that are available for coupling to Abaqus using the direct coupling interface or the SIMULIA Co-Simulation Engine, see www.simulia.com.