ProductsAbaqus/StandardAbaqus/Explicit
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
and
Abaqus/Explicit
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 want 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
and
Abaqus/Explicit).
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 and
cpus_weight_xpl environment variable
parameters (see
Co-Simulation Parameters).
Weight factors are interpreted in a normalized sense. For example, if you want to specify that
the CPU allocation for the Abaqus/Standard 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_std=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/Standard
analysis is twice that of the
Abaqus/Explicit
analysis, the distribution between
Abaqus/Explicit
and
Abaqus/Standard
is 2/6 if the
Abaqus/Explicit
job is listed first and is 3/5 if the
Abaqus/Standard
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 applies 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 want to use the default settings for an option for all
child analyses or want 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 is 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
license_type
{
token
credit
}
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
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
Environment File Settings).
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 and
cpus_weight_xpl environment file
parameters (see
Co-Simulation Parameters).
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 Configuration 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
Environment File Settings).
- 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
Environment File Settings).
-
license_type
-
This option is used to control the type of license Abaqus uses for the SimUnit license model. The possible values are
token and credit. The default value
is token. This capability is also supported through the Abaqus environment file with the environment variable
license_type. For more information, see License management parameters.
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.
- 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.
- 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 Resources).
- oldjob
-
The comma-separated values of this option identify the files from a previous run from which a
restart run is to start or from which to import results. You specify the
oldjob-names (without file extensions). For an import
or restart analysis, you can include a full or a relative path. 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
use; the value for the Abaqus/Standard 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 Environment File Settings).
If the double option is omitted for an Abaqus/Standard to Abaqus/Explicit co-simulation, the Abaqus/Explicit packager and analysis run in double precision.
If
double=both,
both the Abaqus/Explicit packager and analysis run in double precision.
If
double=constraint,
the constraint packaging and constraint solver in Abaqus/Explicit run in double precision, while the Abaqus/Explicit packager and Abaqus/Explicit analysis continue to run in single precision.
If
double=explicit,
the Abaqus/Explicit analysis runs in double precision, while the packager still runs 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.
- 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 field
output written to the output database files
(job-name.odb). Using
output_precision=full
results in double precision nodal and element field output for
Abaqus/Standard
analyses. To obtain double precision nodal field output for
Abaqus/Explicit
analyses, use the double option in
addition to using
output_precision=full.
The element field output in double precision is not applicable for
Abaqus/Explicit. History output is available only in single
precision.
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 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
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
|