3.2.4 Abaqus/Standard, Abaqus/Explicit, Abaqus/CFD, AND FMU co-simulation execution

Products: Abaqus/Standard  Abaqus/Explicit  Abaqus/CFD  

Overview

Co-simulation between Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD, and co-simulation format Functional Mockup Unit (FMU) files can be executed by running the Abaqus co-simulation procedure. Several parameters can be set either on the command line or in the environment file (see Using the Abaqus environment settings, Section 3.3.1). See Co-simulation: overview, Section 17.1.1, for details about supported co-simulation interactions. Refer to https://www.fmi-standard.org for more information on the Functional Mockup Interface standard.

A co-simulation analysis executes the specified “child” analyses and directs the communication of the processes according to the co-simulation configuration file specifications. The co-simulation execution procedure allows you to enter a single command to run the co-simulation and should be used whenever possible (see “Limitations” below). If you are unable to use the Abaqus co-simulation execution procedure, you are required to do the following:

The co-simulation execution procedure supports a subset of the options that are available for the Abaqus execution procedure; these options are included in the command summary below.

Composition of command line arguments

You can use comma-separated lists of options for command line arguments for the participating child analyses. Command line arguments (see the command line options below) are categorized as either

  • global options, taking a single argument;

  • applicable to Abaqus child analyses, taking a comma-separated list whose length is the number of participating Abaqus jobs; or

  • applicable to FMUs, taking a comma-separated list whose length is the number of participating FMUs.

Therefore, the length of command line argument lists generally varies for co-simulation analyses that use Abaqus products and FMUs.

Allocating CPUs for parallel processing with Abaqus jobs

Your CPU allocation specification applies to Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD child jobs. Functional Mockup Units (FMUs) do not support multiple-CPU use. Three methods are available for allocating CPUs to child analysis jobs for parallel processing: specifying the number of CPUs for each job, distributing CPUs between analysis jobs, and distributing CPUs between analysis products.

Specifying the number of CPUs for each job

The most direct method of allocating CPUs is to specify the number of CPUs to be used for each child analysis. You provide a comma-separated list of values using the cpus parameter.

Distributing CPUs between analysis jobs

You can specify the total number of CPUs to be used for your co-simulation analysis and weighting factors that determine the distribution of the CPUs between the child analyses. This method enables you to specify a CPU count that relates directly to your resource limits and to describe the relative computational needs of the child analyses. You provide one value for the number of CPUs to allocate for the co-simulation using the cpus parameter, and you define weight factors using the cpuratio parameter.

Weight factors are floating point numbers and are considered in a normalized sense. For example, if you wish to specify that the CPU allocation for the first child job is four times that of the second job, you can provide any of the following pairings:

cpuratio=4.0,1.0
cpuratio=16,4
cpuratio=0.8,0.2

Distributing CPUs between analysis products

You can specify the total number of CPUs to be used for your co-simulation analysis and weighting factors that determine the distribution of the CPUs between the analysis products involved in the co-simulation. This method enables you to specify a CPU count that relates directly to your resource limits and to describe the relative computational needs of the child analyses based on the analysis product used (Abaqus/Standard, Abaqus/Explicit, or Abaqus/CFD). You provide one value for the number of CPUs to allocate for the co-simulation using the cpus parameter, and you define weight factors in the environment file using the cpus_weight_std, cpus_weight_xpl, and cpus_weight_cfd environment variable parameters (see Co-simulation parameters” in “Using the Abaqus environment settings, Section 3.3.1).

Weight factors are interpreted in a normalized sense. For example, if you wish to specify that the CPU allocation for the Abaqus/CFD analysis is twice that of the Abaqus/Explicit analysis, you define the parameters in the environment file as follows:

cpus_weight_xpl=1
cpus_weight_cfd=2

Rounding considerations for distributing CPUs

In cases where the distribution of the CPUs between analysis jobs or analysis products does not result in whole numbers, Abaqus rounds down the CPU allocation for the first jobs listed in the job parameter and rounds up the allocation for the final job listed. For example, if 8 CPUs are allocated and the CPU allocation for the Abaqus/CFD analysis is twice that of the Abaqus/Explicit analysis, the distribution between Abaqus/Explicit and Abaqus/CFD is 2/6 if the Abaqus/Explicit job is listed first and is 3/5 if the Abaqus/CFD job is listed first.

Specifying options for Abaqus child analyses

Command line options that pertain to the child analyses require you to enter a comma-separated list of values. The number and order of entries in the lists must be consistent for all child analysis options to obtain the desired co-simulation execution behavior. For example, in an Abaqus/Standard to Abaqus/Explicit co-simulation, if you specify the job name for the Abaqus/Standard analysis as the first entry for the job parameter, the first entry for the remainder of the child analysis options will apply to the Abaqus/Standard analysis.

If an option is relevant for only one of the child analyses, you can enter a value of NONE for the analysis in which the option is not relevant. In cases where you wish to use the default settings for an option for all child analyses or wish to use environment settings to control the behavior, you need not provide that option in the command line.

Specifying options for Functional Mockup Unit (FMU) files

You specify command line option fmu and, optionally, fmuinstance to use Functional Mockup Unit (FMU) files in the co-simulation analysis. You use a comma-separated list to specify multiple FMUs.

Performing a two-child-analysis co-simulation with input files that specify co-simulation controls

With releases prior to Abaqus 6.13, all co-simulation parameters and co-simulation controls were specified in the input files and a configuration file was not required. To support re-use of these input files with Abaqus 6.13 and later, an automated configuration file creation capability is provided. In a limited number of cases, you can generate a configuration file automatically; namely, if the following conditions are met:

  • Your co-simulation consists of two child Abaqus analyses.

  • Both of your input files contain *CO-SIMULATION CONTROLS options that are valid for co-simulation with Abaqus 6.12.

  • These controls conform to the recommended uses of co-simulation parameters, as described in the Abaqus 6.12 Analysis User's Manual.

If you omit the configure option for the co-simulation execution procedure, Abaqus attempts to automatically generate a configuration file and, if successful, the generated configuration file will be used in the analysis directly. The contents of the automatically generated configuration file are determined from the *CO-SIMULATION CONTROLS options, the analysis procedure types, and the duration of the co-simulation step.

Limitations

The following limitations apply to the co-simulation execution procedure:

  • The analyses can be run only on a single machine or a compute cluster where the head node can be shared by both child analysis jobs.

  • Co-simulation with third-party applications is not supported with this execution procedure; for information on Abaqus job execution for co-simulation with third-party applications, consult the third-party program documentation.

Command summary

abaqus cosimulation
cosimjob=cosim-job-name
 
configure=co-simulation configuration file name
job=comma-separated list of Abaqus job names
[cpus={number-of-cpus | comma-separated list of number-of-cpus for the Abaqus jobs}]
[cpuratio=comma-separated list of weight factors specifying cpu allocation to Abaqus child analyses]
[interactive |  background | queue[=queue-name][after=time]]
[timeout=co-simulation timeout value in seconds]
[listenerport=co-simulation director listener socket port number]
[portpool=colon-separated pair of socket port numbers]
[input=comma-separated list of Abaqus-job input-file names]
[user=comma-separated list of {source-file | object-file} names for the Abaqus jobs]
[globalmodel=comma-separated list of {results file | ODB output database file | SIM database file} names for the Abaqus jobs]
[memory=comma-separated list of memory-sizes for the Abaqus jobs]
[oldjob=comma-separated list of oldjob-names for the Abaqus jobs]
[double=comma-separated list of double precision executable settings for the Abaqus jobs]
[scratch=comma-separated list of scratch-dir names for the Abaqus jobs]
[output_precision=comma-separated list of {single | full} for the Abaqus jobs]
[field=comma-separated list of field output format settings for the Abaqus jobs]
[history=comma-separated list of history output format settings for the Abaqus jobs]
[fmu=comma-separated list of functional mockup unit files]
[fmuinstance=comma-separated list of functional mockup instance names]

Command line options

Required global options

cosimjob

This option specifies the name of the co-simulation summary log file generated during the run. If this option is omitted from the command line, you will be prompted for its value.

configure

This option specifies the name of the co-simulation configuration file. If this option is omitted from the command line, an attempt is made to automatically generate a configuration file based on the co-simulation controls specified in the input files for the child analyses. If successful, the generated configuration file is used in the co-simulation; if unsuccessful, you will be prompted for a value. For more information, see “Performing a two-child-analysis co-simulation with input files that specify co-simulation controls.”

Required option for Abaqus child analyses

job

The comma-separated values of this option specify the names of all Abaqus child analysis files generated during the run. If this option is omitted from the command line, you will be prompted for its value.

Parallel processing options

cpus

This option is used to specify how CPUs are allocated for the co-simulation during parallel processing. The default value for this parameter is the number of Abaqus child analyses, and can be changed to a different value in the environment file (see Using the Abaqus environment settings, Section 3.3.1).

If this option is set equal to a single value, that value specifies the total number of processors allocated for the co-simulation, which can be distributed between child analyses or between analysis products. The distribution of the CPUs between child analyses is split evenly by default and may be further controlled either by using the cpuratio parameter or by defining the distribution of the CPUs between analysis products by setting the cpus_weight_std, cpus_weight_xpl, and cpus_weight_cfd environment file parameters (see Co-simulation parameters” in “Using the Abaqus environment settings, Section 3.3.1).

If this option is set equal to a comma-separated list of values, these values specify the number of processors to be used for each child analysis.

cpuratio

The comma-separated values of this option specify the relative weighting of the distribution of processors allocated to each Abaqus child analysis. This option is valid only when the cpus option is set to a single value.

Additional global options available

interactive

This option causes the co-simulation job to run interactively. A summary log file will be output to the screen, and the child analysis summary output will be written to their separate log files.

background

This option submits the co-simulation job to run in the background, which is the default. Log file output is saved for the co-simulation job in the file cosim-job-name.log and in the child analysis files job-name.log in the current directory.

queue

This option submits the co-simulation job to a batch queue. If the option appears with no value, the job is submitted to the system default queue. Quoted strings are allowed. The available queues are site specific. Contact your site administrator to find out more about local queuing capabilities.

after

This option is used in conjunction with the queue option to specify the time at which the job will start in the selected batch queue. This capability is supported for each individual site through the Abaqus environment file. (See the Abaqus Installation and Licensing Guide for details.)

timeout

This option is used to specify a timeout value in seconds for the co-simulation connection. Abaqus terminates if it does not receive any communication between the child analysis processes during the time specified. The default value is 3600 seconds. The default timeout value that Abaqus uses can be set with the cosimulation_timeout parameter in the environment file (see Using the Abaqus environment settings, Section 3.3.1).

listenerport

This option is used to specify a TCP/UDP port numbers to be used by the co-simulation director process. This option can be used to enable additional co-simulation analyses, for example a third-party analysis job, to join a co-simulation initiated with this procedure. If this option is not specified the listenerport value is determined based on available open socket ports, and any constraints you set with the portpool option.

portpool

This option is used to specify a colon-separated pair of TCP/UDP port numbers that represent the start and end value of port numbers to be used when establishing connections between the child processes. The default range is 51000:52000. The default range that Abaqus uses can be set with the portpool parameter in the environment file (see Using the Abaqus environment settings, Section 3.3.1).

Additional options for Abaqus child analyses

input

The comma-separated values of this option specify the Abaqus child analysis input file names, which may be given with or without the .inp extension (if the extension is not supplied, Abaqus appends it automatically). For each child analysis, if this option is not supplied, the procedure looks for an input file called job-name.inp in the current directory. If job-name.inp cannot be found, the procedure prompts for the input file name.

user

The comma-separated values of this option specify the names of Fortran source or object files that contain any user subroutines to be used in the analysis. The names of the user routines may contain a path name and may be given with or without a file extension. This option is not applicable for Abaqus/CFD.

globalmodel

The comma-separated values of this option specify the names of the global model's results (.fil) file, ODB output database (.odb) file, or SIM database (.sim) file from which the results are to be interpolated to drive a submodel analysis. This option is required whenever a submodel analysis or submodel boundary condition reads data from the global model's results.

The file extension is optional. If you omit the file extension, Abaqus uses the results file. If the results file does not exist, Abaqus uses the ODB output database file. If both the results file and the ODB output database file do not exist, Abaqus uses the SIM database file.

This option is not applicable for Abaqus/CFD.

memory

The comma-separated values of this option specify the maximum amount of memory or maximum percentage of the physical memory that can be allocated during the input file preprocessing and during the Abaqus/Standard analysis phase (see Managing memory and disk use in Abaqus, Section 3.4.1). This option is not applicable for Abaqus/CFD.

oldjob

The comma-separated values of this option specify the names of the files from a previous run from which a restart run is to be started or from which results are to be imported. A path or file extension is not allowed. This option is required when a restart or import analysis reads data from the restart file. The oldjob-names must be different from the current job-names.

double

This option is applicable only for an Abaqus/Explicit analysis.

The comma-separated values of this option specify the double precision executable settings to be used; the value for the Abaqus/Standard or Abaqus/CFD analysis is always NONE. The possible values for the Abaqus/Explicit analysis are both, constraint, explicit, and off. This capability is also supported through the Abaqus environment file with the environment variable double_precision (see Using the Abaqus environment settings, Section 3.3.1).

If the double option is omitted for an Abaqus/Standard to Abaqus/Explicit co-simulation, the Abaqus/Explicit packager and analysis will be run in double precision. If the double option is omitted for an Abaqus/CFD to Abaqus/Explicit co-simulation, the Abaqus/Explicit packager and analysis will be run in single precision.

If double=both, both the Abaqus/Explicit packager and analysis will run in double precision.

If double=constraint, the constraint packaging and constraint solver in Abaqus/Explicit will run in double precision, while the Abaqus/Explicit packager and Abaqus/Explicit analysis continue to run in single precision.

If double=explicit or the double option is specified without a value, the Abaqus/Explicit analysis will run in double precision, while the packager will still run in single precision.

If double=off, the environment file setting is overridden if necessary to invoke both the Abaqus/Explicit packager and Abaqus/Explicit analysis in single precision. For a discussion of when to use the double precision executable, see Defining an analysis, Section 6.1.2.

scratch

The comma-separated values of this option specify the names of the directories used for scratch files. On Linux platforms the default value is the value of the $TMPDIR environment variable or /tmp if $TMPDIR is not defined. On Windows platforms the default value is the value of the %TEMP% environment variable or \TEMP if this variable is not defined. During the analysis a subdirectory will be created under this directory to hold the analysis scratch files.

output_precision

The comma-separated values of this option specify the precision of the nodal field output written to the output database files (job-name.odb). Using output_precision=full results in double precision field output for Abaqus/Standard analyses. To obtain double precision field output for Abaqus/Explicit analyses, use the double option in addition to using output_precision=full. Nodal history output is available only in single precision. This option is not applicable for Abaqus/CFD.

field

This option is applicable only for an Abaqus/CFD analysis.

The comma-separated values of this option specify the format of the field output; the value for Abaqus/Standard or Abaqus/Explicit analyses is always NONE. The possible values for Abaqus/CFD analyses are odb and sim.

history

This option is applicable only for an Abaqus/CFD analysis.

The comma-separated values of this option specify the format of the history output; the value for Abaqus/Standard or Abaqus/Explicit analyses is always NONE. The possible values for Abaqus/CFD analyses are odb, sim, and csv.

If history=odb or history=sim , history output is written to the appropriate output database file. If history=csv, history output is written to a file in comma-separated values format.

The default value for this option is the same as the setting for the field option. For more information, see Alternate output formats in Abaqus/CFD” in “Output, Section 4.1.1.

Additional options for Functional Mockup Unit (FMU) files

fmu

The comma-separated values of this option specify the co-simulation FMU file names, which may be given with or without the .fmu extension. If you intend to instantiate an FMU file multiple times, you must repeat its file name in this list and provide the FMU instance names using the fmuinstance option.

fmuinstance

The comma-separated values of this option specify the FMU instance names. The entries for this option are interpreted as having a list-order association with the list provided with the fmu option. If you do not provide this option, the FMU instance names will be the file names (without the file extension) specified with the fmu option.

Examples

The following examples illustrate the different functions and capabilities of the abaqus cosimulation execution procedure.

Running an Abaqus/Standard to Abaqus/CFD co-simulation interactively

Use the following command to run a co-simulation between a heat transfer analysis called “solid_heat” and a fluids analysis called “fluid,” interactively:

abaqus cosimulation cosimjob=cosim_cht 
   job=solid_heat,fluid configure=cosim_cht_config interactive

Running an Abaqus/Standard to Abaqus/CFD to FMU co-simulation interactively

Use the following command to run a co-simulation between a heat transfer analysis called “solid_heat,” a fluids analysis called “fluid,” and an FMU file named “controller.fmu”:

abaqus cosimulation cosimjob=cosim_cht 
   job=solid_heat,fluid configure=cosim_cht_config
   fmu=controller interactive

In this example the FMU will interact with the “solid_heat” job. Abaqus/Standard provides an interface to FMUs, while Abaqus/CFD does not.

Running an Abaqus/Standard to FMU co-simulation interactively

Use the following command to run a co-simulation between a heat transfer analysis called “plant” and an FMU file named “controller.fmu”:

abaqus cosimulation cosimjob=cosim_controls 
   job=plant configure=cosim_controls fmu=controller interactive

Allocating CPUs in an Abaqus/Explicit to Abaqus/CFD co-simulation

Use the following command to run a co-simulation between an Abaqus/Explicit analysis called “beam” and an Abaqus/CFD analysis called “fluid” and to allocate 8 cores to the Abaqus/Explicit job and 16  cores to the Abaqus/CFD job:

abaqus cosimulation cosimjob=beam_fluid job=beam,fluid cpus=8,16
   configure=beam_fluid_config
Equivalent results would be obtained using the following command:
abaqus cosimulation cosimjob=beam_fluid job=beam,fluid 
   cpus=24 cpuratio=1,2 configure=beam_fluid_config
Alternatively, you can specify settings for co-simulation environment variable parameters in the environment file and run the co-simulation execution procedure. Use the following combination of environment file settings:
ask_delete=OFF
# The following parameters set the CPU
# allocation by analysis product
cpus_weight_xpl=1
cpus_weight_std=1
cpus_weight_cfd=2
Use the following command:
abaqus cosimulation cosimjob=beam_fluid 
   configure=beam_fluid_config job=beam,fluid cpus=24 

Submitting an Abaqus/Standard to Abaqus/Explicit co-simulation to a batch queue

Use the following command to submit a co-simulation for an Abaqus/Explicit analysis called “beam” and an Abaqus/Standard analysis called “beam2” to a batch queue named “long” and to allocate 8 cores to the Abaqus/Explicit analysis and 4 cores to the Abaqus/Standard analysis:

abaqus cosimulation cosimjob=beam job=beam,beam2 
   configure=beam_config cpus=8,4 queue=long

Your query was poorly formed. Please make corrections.


3.2.4 Abaqus/Standard, Abaqus/Explicit, Abaqus/CFD, AND FMU co-simulation execution

Products: Abaqus/Standard  Abaqus/Explicit  Abaqus/CFD  

Your query was poorly formed. Please make corrections.

Overview

Co-simulation between Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD, and co-simulation format Functional Mockup Unit (FMU) files can be executed by running the Abaqus co-simulation procedure. Several parameters can be set either on the command line or in the environment file (see Using the Abaqus environment settings, Section 3.3.1). See Co-simulation: overview, Section 17.1.1, for details about supported co-simulation interactions. Refer to https://www.fmi-standard.org for more information on the Functional Mockup Interface standard.

A co-simulation analysis executes the specified “child” analyses and directs the communication of the processes according to the co-simulation configuration file specifications. The co-simulation execution procedure allows you to enter a single command to run the co-simulation and should be used whenever possible (see “Limitations” below). If you are unable to use the Abaqus co-simulation execution procedure, you are required to do the following:

The co-simulation execution procedure supports a subset of the options that are available for the Abaqus execution procedure; these options are included in the command summary below.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Composition of command line arguments

You can use comma-separated lists of options for command line arguments for the participating child analyses. Command line arguments (see the command line options below) are categorized as either

  • global options, taking a single argument;

  • applicable to Abaqus child analyses, taking a comma-separated list whose length is the number of participating Abaqus jobs; or

  • applicable to FMUs, taking a comma-separated list whose length is the number of participating FMUs.

Therefore, the length of command line argument lists generally varies for co-simulation analyses that use Abaqus products and FMUs.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Allocating CPUs for parallel processing with Abaqus jobs

Your CPU allocation specification applies to Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD child jobs. Functional Mockup Units (FMUs) do not support multiple-CPU use. Three methods are available for allocating CPUs to child analysis jobs for parallel processing: specifying the number of CPUs for each job, distributing CPUs between analysis jobs, and distributing CPUs between analysis products.

Your query was poorly formed. Please make corrections.

Specifying the number of CPUs for each job

The most direct method of allocating CPUs is to specify the number of CPUs to be used for each child analysis. You provide a comma-separated list of values using the cpus parameter.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Distributing CPUs between analysis jobs

You can specify the total number of CPUs to be used for your co-simulation analysis and weighting factors that determine the distribution of the CPUs between the child analyses. This method enables you to specify a CPU count that relates directly to your resource limits and to describe the relative computational needs of the child analyses. You provide one value for the number of CPUs to allocate for the co-simulation using the cpus parameter, and you define weight factors using the cpuratio parameter.

Weight factors are floating point numbers and are considered in a normalized sense. For example, if you wish to specify that the CPU allocation for the first child job is four times that of the second job, you can provide any of the following pairings:

cpuratio=4.0,1.0
cpuratio=16,4
cpuratio=0.8,0.2

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Distributing CPUs between analysis products

You can specify the total number of CPUs to be used for your co-simulation analysis and weighting factors that determine the distribution of the CPUs between the analysis products involved in the co-simulation. This method enables you to specify a CPU count that relates directly to your resource limits and to describe the relative computational needs of the child analyses based on the analysis product used (Abaqus/Standard, Abaqus/Explicit, or Abaqus/CFD). You provide one value for the number of CPUs to allocate for the co-simulation using the cpus parameter, and you define weight factors in the environment file using the cpus_weight_std, cpus_weight_xpl, and cpus_weight_cfd environment variable parameters (see Co-simulation parameters” in “Using the Abaqus environment settings, Section 3.3.1).

Weight factors are interpreted in a normalized sense. For example, if you wish to specify that the CPU allocation for the Abaqus/CFD analysis is twice that of the Abaqus/Explicit analysis, you define the parameters in the environment file as follows:

cpus_weight_xpl=1
cpus_weight_cfd=2

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Rounding considerations for distributing CPUs

In cases where the distribution of the CPUs between analysis jobs or analysis products does not result in whole numbers, Abaqus rounds down the CPU allocation for the first jobs listed in the job parameter and rounds up the allocation for the final job listed. For example, if 8 CPUs are allocated and the CPU allocation for the Abaqus/CFD analysis is twice that of the Abaqus/Explicit analysis, the distribution between Abaqus/Explicit and Abaqus/CFD is 2/6 if the Abaqus/Explicit job is listed first and is 3/5 if the Abaqus/CFD job is listed first.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Specifying options for Abaqus child analyses

Command line options that pertain to the child analyses require you to enter a comma-separated list of values. The number and order of entries in the lists must be consistent for all child analysis options to obtain the desired co-simulation execution behavior. For example, in an Abaqus/Standard to Abaqus/Explicit co-simulation, if you specify the job name for the Abaqus/Standard analysis as the first entry for the job parameter, the first entry for the remainder of the child analysis options will apply to the Abaqus/Standard analysis.

If an option is relevant for only one of the child analyses, you can enter a value of NONE for the analysis in which the option is not relevant. In cases where you wish to use the default settings for an option for all child analyses or wish to use environment settings to control the behavior, you need not provide that option in the command line.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Specifying options for Functional Mockup Unit (FMU) files

You specify command line option fmu and, optionally, fmuinstance to use Functional Mockup Unit (FMU) files in the co-simulation analysis. You use a comma-separated list to specify multiple FMUs.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Performing a two-child-analysis co-simulation with input files that specify co-simulation controls

With releases prior to Abaqus 6.13, all co-simulation parameters and co-simulation controls were specified in the input files and a configuration file was not required. To support re-use of these input files with Abaqus 6.13 and later, an automated configuration file creation capability is provided. In a limited number of cases, you can generate a configuration file automatically; namely, if the following conditions are met:

  • Your co-simulation consists of two child Abaqus analyses.

  • Both of your input files contain *CO-SIMULATION CONTROLS options that are valid for co-simulation with Abaqus 6.12.

  • These controls conform to the recommended uses of co-simulation parameters, as described in the Abaqus 6.12 Analysis User's Manual.

If you omit the configure option for the co-simulation execution procedure, Abaqus attempts to automatically generate a configuration file and, if successful, the generated configuration file will be used in the analysis directly. The contents of the automatically generated configuration file are determined from the *CO-SIMULATION CONTROLS options, the analysis procedure types, and the duration of the co-simulation step.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Limitations

The following limitations apply to the co-simulation execution procedure:

  • The analyses can be run only on a single machine or a compute cluster where the head node can be shared by both child analysis jobs.

  • Co-simulation with third-party applications is not supported with this execution procedure; for information on Abaqus job execution for co-simulation with third-party applications, consult the third-party program documentation.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Command summary

abaqus cosimulation
cosimjob=cosim-job-name
 
configure=co-simulation configuration file name
job=comma-separated list of Abaqus job names
[cpus={number-of-cpus | comma-separated list of number-of-cpus for the Abaqus jobs}]
[cpuratio=comma-separated list of weight factors specifying cpu allocation to Abaqus child analyses]
[interactive |  background | queue[=queue-name][after=time]]
[timeout=co-simulation timeout value in seconds]
[listenerport=co-simulation director listener socket port number]
[portpool=colon-separated pair of socket port numbers]
[input=comma-separated list of Abaqus-job input-file names]
[user=comma-separated list of {source-file | object-file} names for the Abaqus jobs]
[globalmodel=comma-separated list of {results file | ODB output database file | SIM database file} names for the Abaqus jobs]
[memory=comma-separated list of memory-sizes for the Abaqus jobs]
[oldjob=comma-separated list of oldjob-names for the Abaqus jobs]
[double=comma-separated list of double precision executable settings for the Abaqus jobs]
[scratch=comma-separated list of scratch-dir names for the Abaqus jobs]
[output_precision=comma-separated list of {single | full} for the Abaqus jobs]
[field=comma-separated list of field output format settings for the Abaqus jobs]
[history=comma-separated list of history output format settings for the Abaqus jobs]
[fmu=comma-separated list of functional mockup unit files]
[fmuinstance=comma-separated list of functional mockup instance names]

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Command line options

Your query was poorly formed. Please make corrections.

Required global options

cosimjob

This option specifies the name of the co-simulation summary log file generated during the run. If this option is omitted from the command line, you will be prompted for its value.

configure

This option specifies the name of the co-simulation configuration file. If this option is omitted from the command line, an attempt is made to automatically generate a configuration file based on the co-simulation controls specified in the input files for the child analyses. If successful, the generated configuration file is used in the co-simulation; if unsuccessful, you will be prompted for a value. For more information, see “Performing a two-child-analysis co-simulation with input files that specify co-simulation controls.”

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Required option for Abaqus child analyses

job

The comma-separated values of this option specify the names of all Abaqus child analysis files generated during the run. If this option is omitted from the command line, you will be prompted for its value.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Parallel processing options

cpus

This option is used to specify how CPUs are allocated for the co-simulation during parallel processing. The default value for this parameter is the number of Abaqus child analyses, and can be changed to a different value in the environment file (see Using the Abaqus environment settings, Section 3.3.1).

If this option is set equal to a single value, that value specifies the total number of processors allocated for the co-simulation, which can be distributed between child analyses or between analysis products. The distribution of the CPUs between child analyses is split evenly by default and may be further controlled either by using the cpuratio parameter or by defining the distribution of the CPUs between analysis products by setting the cpus_weight_std, cpus_weight_xpl, and cpus_weight_cfd environment file parameters (see Co-simulation parameters” in “Using the Abaqus environment settings, Section 3.3.1).

If this option is set equal to a comma-separated list of values, these values specify the number of processors to be used for each child analysis.

cpuratio

The comma-separated values of this option specify the relative weighting of the distribution of processors allocated to each Abaqus child analysis. This option is valid only when the cpus option is set to a single value.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Additional global options available

interactive

This option causes the co-simulation job to run interactively. A summary log file will be output to the screen, and the child analysis summary output will be written to their separate log files.

background

This option submits the co-simulation job to run in the background, which is the default. Log file output is saved for the co-simulation job in the file cosim-job-name.log and in the child analysis files job-name.log in the current directory.

queue

This option submits the co-simulation job to a batch queue. If the option appears with no value, the job is submitted to the system default queue. Quoted strings are allowed. The available queues are site specific. Contact your site administrator to find out more about local queuing capabilities.

after

This option is used in conjunction with the queue option to specify the time at which the job will start in the selected batch queue. This capability is supported for each individual site through the Abaqus environment file. (See the Abaqus Installation and Licensing Guide for details.)

timeout

This option is used to specify a timeout value in seconds for the co-simulation connection. Abaqus terminates if it does not receive any communication between the child analysis processes during the time specified. The default value is 3600 seconds. The default timeout value that Abaqus uses can be set with the cosimulation_timeout parameter in the environment file (see Using the Abaqus environment settings, Section 3.3.1).

listenerport

This option is used to specify a TCP/UDP port numbers to be used by the co-simulation director process. This option can be used to enable additional co-simulation analyses, for example a third-party analysis job, to join a co-simulation initiated with this procedure. If this option is not specified the listenerport value is determined based on available open socket ports, and any constraints you set with the portpool option.

portpool

This option is used to specify a colon-separated pair of TCP/UDP port numbers that represent the start and end value of port numbers to be used when establishing connections between the child processes. The default range is 51000:52000. The default range that Abaqus uses can be set with the portpool parameter in the environment file (see Using the Abaqus environment settings, Section 3.3.1).

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Additional options for Abaqus child analyses

input

The comma-separated values of this option specify the Abaqus child analysis input file names, which may be given with or without the .inp extension (if the extension is not supplied, Abaqus appends it automatically). For each child analysis, if this option is not supplied, the procedure looks for an input file called job-name.inp in the current directory. If job-name.inp cannot be found, the procedure prompts for the input file name.

user

The comma-separated values of this option specify the names of Fortran source or object files that contain any user subroutines to be used in the analysis. The names of the user routines may contain a path name and may be given with or without a file extension. This option is not applicable for Abaqus/CFD.

globalmodel

The comma-separated values of this option specify the names of the global model's results (.fil) file, ODB output database (.odb) file, or SIM database (.sim) file from which the results are to be interpolated to drive a submodel analysis. This option is required whenever a submodel analysis or submodel boundary condition reads data from the global model's results.

The file extension is optional. If you omit the file extension, Abaqus uses the results file. If the results file does not exist, Abaqus uses the ODB output database file. If both the results file and the ODB output database file do not exist, Abaqus uses the SIM database file.

This option is not applicable for Abaqus/CFD.

memory

The comma-separated values of this option specify the maximum amount of memory or maximum percentage of the physical memory that can be allocated during the input file preprocessing and during the Abaqus/Standard analysis phase (see Managing memory and disk use in Abaqus, Section 3.4.1). This option is not applicable for Abaqus/CFD.

oldjob

The comma-separated values of this option specify the names of the files from a previous run from which a restart run is to be started or from which results are to be imported. A path or file extension is not allowed. This option is required when a restart or import analysis reads data from the restart file. The oldjob-names must be different from the current job-names.

double

This option is applicable only for an Abaqus/Explicit analysis.

The comma-separated values of this option specify the double precision executable settings to be used; the value for the Abaqus/Standard or Abaqus/CFD analysis is always NONE. The possible values for the Abaqus/Explicit analysis are both, constraint, explicit, and off. This capability is also supported through the Abaqus environment file with the environment variable double_precision (see Using the Abaqus environment settings, Section 3.3.1).

If the double option is omitted for an Abaqus/Standard to Abaqus/Explicit co-simulation, the Abaqus/Explicit packager and analysis will be run in double precision. If the double option is omitted for an Abaqus/CFD to Abaqus/Explicit co-simulation, the Abaqus/Explicit packager and analysis will be run in single precision.

If double=both, both the Abaqus/Explicit packager and analysis will run in double precision.

If double=constraint, the constraint packaging and constraint solver in Abaqus/Explicit will run in double precision, while the Abaqus/Explicit packager and Abaqus/Explicit analysis continue to run in single precision.

If double=explicit or the double option is specified without a value, the Abaqus/Explicit analysis will run in double precision, while the packager will still run in single precision.

If double=off, the environment file setting is overridden if necessary to invoke both the Abaqus/Explicit packager and Abaqus/Explicit analysis in single precision. For a discussion of when to use the double precision executable, see Defining an analysis, Section 6.1.2.

scratch

The comma-separated values of this option specify the names of the directories used for scratch files. On Linux platforms the default value is the value of the $TMPDIR environment variable or /tmp if $TMPDIR is not defined. On Windows platforms the default value is the value of the %TEMP% environment variable or \TEMP if this variable is not defined. During the analysis a subdirectory will be created under this directory to hold the analysis scratch files.

output_precision

The comma-separated values of this option specify the precision of the nodal field output written to the output database files (job-name.odb). Using output_precision=full results in double precision field output for Abaqus/Standard analyses. To obtain double precision field output for Abaqus/Explicit analyses, use the double option in addition to using output_precision=full. Nodal history output is available only in single precision. This option is not applicable for Abaqus/CFD.

field

This option is applicable only for an Abaqus/CFD analysis.

The comma-separated values of this option specify the format of the field output; the value for Abaqus/Standard or Abaqus/Explicit analyses is always NONE. The possible values for Abaqus/CFD analyses are odb and sim.

history

This option is applicable only for an Abaqus/CFD analysis.

The comma-separated values of this option specify the format of the history output; the value for Abaqus/Standard or Abaqus/Explicit analyses is always NONE. The possible values for Abaqus/CFD analyses are odb, sim, and csv.

If history=odb or history=sim , history output is written to the appropriate output database file. If history=csv, history output is written to a file in comma-separated values format.

The default value for this option is the same as the setting for the field option. For more information, see Alternate output formats in Abaqus/CFD” in “Output, Section 4.1.1.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Additional options for Functional Mockup Unit (FMU) files

fmu

The comma-separated values of this option specify the co-simulation FMU file names, which may be given with or without the .fmu extension. If you intend to instantiate an FMU file multiple times, you must repeat its file name in this list and provide the FMU instance names using the fmuinstance option.

fmuinstance

The comma-separated values of this option specify the FMU instance names. The entries for this option are interpreted as having a list-order association with the list provided with the fmu option. If you do not provide this option, the FMU instance names will be the file names (without the file extension) specified with the fmu option.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Examples

The following examples illustrate the different functions and capabilities of the abaqus cosimulation execution procedure.

Your query was poorly formed. Please make corrections.

Running an Abaqus/Standard to Abaqus/CFD co-simulation interactively

Use the following command to run a co-simulation between a heat transfer analysis called “solid_heat” and a fluids analysis called “fluid,” interactively:

abaqus cosimulation cosimjob=cosim_cht 
   job=solid_heat,fluid configure=cosim_cht_config interactive

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Running an Abaqus/Standard to Abaqus/CFD to FMU co-simulation interactively

Use the following command to run a co-simulation between a heat transfer analysis called “solid_heat,” a fluids analysis called “fluid,” and an FMU file named “controller.fmu”:

abaqus cosimulation cosimjob=cosim_cht 
   job=solid_heat,fluid configure=cosim_cht_config
   fmu=controller interactive

In this example the FMU will interact with the “solid_heat” job. Abaqus/Standard provides an interface to FMUs, while Abaqus/CFD does not.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Running an Abaqus/Standard to FMU co-simulation interactively

Use the following command to run a co-simulation between a heat transfer analysis called “plant” and an FMU file named “controller.fmu”:

abaqus cosimulation cosimjob=cosim_controls 
   job=plant configure=cosim_controls fmu=controller interactive

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Allocating CPUs in an Abaqus/Explicit to Abaqus/CFD co-simulation

Use the following command to run a co-simulation between an Abaqus/Explicit analysis called “beam” and an Abaqus/CFD analysis called “fluid” and to allocate 8 cores to the Abaqus/Explicit job and 16  cores to the Abaqus/CFD job:

abaqus cosimulation cosimjob=beam_fluid job=beam,fluid cpus=8,16
   configure=beam_fluid_config
Equivalent results would be obtained using the following command:
abaqus cosimulation cosimjob=beam_fluid job=beam,fluid 
   cpus=24 cpuratio=1,2 configure=beam_fluid_config
Alternatively, you can specify settings for co-simulation environment variable parameters in the environment file and run the co-simulation execution procedure. Use the following combination of environment file settings:
ask_delete=OFF
# The following parameters set the CPU
# allocation by analysis product
cpus_weight_xpl=1
cpus_weight_std=1
cpus_weight_cfd=2
Use the following command:
abaqus cosimulation cosimjob=beam_fluid 
   configure=beam_fluid_config job=beam,fluid cpus=24 

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Submitting an Abaqus/Standard to Abaqus/Explicit co-simulation to a batch queue

Use the following command to submit a co-simulation for an Abaqus/Explicit analysis called “beam” and an Abaqus/Standard analysis called “beam2” to a batch queue named “long” and to allocate 8 cores to the Abaqus/Explicit analysis and 4 cores to the Abaqus/Standard analysis:

abaqus cosimulation cosimjob=beam job=beam,beam2 
   configure=beam_config cpus=8,4 queue=long

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.