specifying an analysis procedure for each step; and
prescribing loads, boundary conditions, and output requests for each step.
Abaqus distinguishes between general analysis steps and linear perturbation steps, and you can
include multiple steps in your analysis. You can control how prescribed conditions are applied
throughout each step. In addition, you can specify:
the incrementation scheme used for controlling the solution,
the matrix storage and solution scheme in Abaqus/Standard, and
the precision level of the Abaqus/Explicit executable.
An analysis in Abaqus is defined using steps, analysis procedures, and optional history data.
Defining Steps
A basic concept in Abaqus is the division of the problem history into steps. A step
is any convenient phase of the history, such as thermal transient, creep hold, or dynamic
transient step. In its simplest form a step can be a static analysis in Abaqus/Standard of a load change from one magnitude to another. You can provide a description of each
step that appears in the data (.dat) file; this description is for
convenience only.
The step definition includes the type of analysis to be performed and optional history
data, such as loads, boundary conditions, and output requests.
Specifying the Analysis Procedure
For each step you choose an analysis procedure. This choice
defines the type of analysis to be performed during the step, such as static stress
analysis, dynamic stress analysis, eigenvalue buckling, and transient heat transfer
analysis. The available analysis procedures are described in Solving Analysis Problems. Only one procedure is allowed per step.
Prescribing Loads, Boundary Conditions, and Output Requests
The step definition includes optional history data, such as loads, boundary conditions,
and output requests, as defined in History Data. For more
information, see Boundary Conditions , Loads, and About Output.
Details for prescribing these conditions are discussed in the individual procedure
sections.
General Analysis Steps Versus Linear Perturbation Steps
There are two kinds of steps in Abaqus: general analysis steps, which can be used to analyze linear or nonlinear response, and
linear perturbation steps, which can be used only to analyze linear problems. General
analysis steps can be included in an Abaqus/Standard or Abaqus/Explicit analysis; linear perturbation analysis steps are available only in Abaqus/Standard. In Abaqus/Standard linear analysis is always considered to be linear perturbation analysis about the state
at the time when the linear analysis procedure is introduced. This linear perturbation
approach allows general application of linear analysis techniques in cases where the linear
response depends on preloading or on the nonlinear response history of the model. See General and Perturbation Procedures for more details.
Multiple Load Case Analysis
In general analysis steps Abaqus/Standard calculates the solution for a single set of applied loads. This is also the default for
linear perturbation steps. However, for static, direct steady-state dynamic, and
SIM-based steady-state dynamic linear perturbation steps
it is possible to find solutions for multiple load cases. See Multiple Load Case Analysis for a description of this capability.
Multiple Steps
The analysis procedure can be changed from step to step in any meaningful way, so you have
great flexibility in performing analyses. Since the state of the model (stresses, strains,
temperatures, etc.) is updated throughout all general analysis steps, the effects of
previous history are always included in the response in each new analysis step. Thus, for
example, if natural frequency extraction is performed after a geometrically nonlinear static
analysis step, the preload stiffness is included. Linear perturbation steps have no effect
on subsequent general analysis steps.
The most obvious reason for using several steps in an analysis is to change analysis
procedure type. However, several steps can also be used as a matter of convenience—for
example, to change output requests, contact pairs in Abaqus/Explicit, boundary conditions, or loading (any information specified as history, or
step-dependent, data). Sometimes an analysis may have progressed to a point where the
present step definition needs to be modified. Abaqus provides for this contingency with the restart capability, where a step can be terminated
prematurely and a new step can be defined for the problem continuation (see Restarting an Analysis).
Optional history data (see Abaqus Model Definition) prescribing the
loading, boundary conditions, output controls, and auxiliary controls remains in effect for
all subsequent general analysis steps, including those that are defined in a restart
analysis, until they are modified or reset. Abaqus compares all loads and boundary conditions specified in a step with the loads and
boundary conditions in effect during the previous step to ensure consistency and continuity.
This comparison is expensive if the number of individually specified loads and boundary
conditions is very large. Hence, the number of individually specified loads and boundary
conditions should be minimized, which can usually be done by using element and node sets
instead of individual elements and nodes. For linear perturbation steps only the output
controls are continued from one linear perturbation step to the next if there are no
intermediate general analysis steps and the output controls are not redefined (see About Output).
Within Abaqus/Standard or Abaqus/Explicit, any combination of available procedures can be used from step to step. However, Abaqus/Standard and Abaqus/Explicit procedures cannot be used in the same analysis. See About Transferring Results between Abaqus Analyses for information on importing results from one type
of analysis to another.
Defining Time Varying Prescribed Conditions
By default, Abaqus assumes that external parameters, such as load magnitudes and boundary conditions, are
constant (step function) or vary linearly (ramped) over a step, depending on the analysis
procedure, as shown in Table 1. Some exceptions in Abaqus/Standard are discussed below.
Table 1. Default amplitude variations for time domain procedures.
Step (exception: Ramp if quasi-static application
type is specified)
Fully coupled thermal-electrical-structural in Abaqus/Standard (steady-state)
Ramp
Fully coupled thermal-electrical-structural in Abaqus/Standard (transient)
Step
Fully coupled thermal-stress in Abaqus/Standard (steady-state)
Ramp
Fully coupled thermal-stress in Abaqus/Standard (transient)
Step
Fully coupled thermal-stress in Abaqus/Explicit
Step
Magnetostatic
Ramp
Mass diffusion (steady-state)
Ramp
Mass diffusion (transient)
Step
Quasi-static
Step
Static
Ramp
Steady-state transport
Ramp
Transient eddy current
Step
Transient modal dynamic
Step
Uncoupled heat transfer
Ramp
Uncoupled heat transfer (transient)
Step
No default amplitude variation is defined for a direct cyclic analysis step; for each
applied load or boundary condition, the amplitude must be defined explicitly.
Additional Default Amplitude Variations in Abaqus/Standard
For displacement or rotation degrees of freedom prescribed in Abaqus/Standard using displacement-type boundary conditions or displacement-type connector motions, the
default amplitude variation is a ramp function for all procedure types. However, when
using velocity-type boundary conditions or velocity-type connector motions in a static
step or in a quasi-static dynamic step, the default amplitude is a step function.
For motions prescribed using a predefined displacement field, the default amplitude
variation is a ramp function for all procedure types; the default amplitude is a step
function when using a predefined velocity field for all procedures except steady-state
transport.
The default amplitude variation is a step function for fluid flux loading in all
procedure types.
When a displacement or rotation boundary condition is removed, the corresponding reaction
force or moment is reduced to zero according to the amplitude defined for the step. When
film or radiation loads are removed, the variation is always a step function.
Prescribing Nondefault Amplitude Variations
You can define complicated time variations of loadings, boundary conditions, and
predefined fields by referring to an amplitude curve in the prescribed condition
definition (see Amplitude Curves). User
subroutines are also provided in Abaqus/Standard and Abaqus/Explicit for coding general loadings (see About User Subroutines and Utilities).
In Abaqus/Standard you can change the default amplitude variation for a step (except the removal of film
or radiation loads, as noted above).
Boundary Conditions in Abaqus/Explicit
Boundary conditions applied during an explicit dynamic response step should use
appropriate amplitude references to define the time variation. If boundary conditions
are specified for the step without amplitude references, they are applied
instantaneously at the beginning of the step. Since Abaqus/Explicit does not admit jumps in displacement, the value of a nonzero displacement boundary
condition that is specified without an amplitude reference is ignored, and a zero
velocity boundary condition is enforced.
Prescribing Nondefault Amplitude Variations in Transient Procedures in Abaqus/Standard
The default amplitude is a step function for transient analysis procedures (fully
coupled thermal-stress, fully coupled thermal-electrical-structural, coupled
thermal-electrical, direct-integration dynamic, uncoupled heat transfer, and mass
diffusion). You should exercise care when the nondefault ramp amplitude variation is
specified for transient analysis procedures since unexpected results might occur. For
example, if a step of a transient heat transfer analysis uses the ramp amplitude
variation and temperature boundary conditions are removed in a subsequent step, the
reaction fluxes generated in the previous step are instantaneously set to zero.
Incrementation
Each step in an Abaqus analysis is divided into multiple increments. In most cases you have two choices for
controlling the solution: automatic time incrementation or user-specified fixed time
incrementation. Automatic incrementation is recommended for most cases. The methods for
selecting automatic or direct incrementation are discussed in the individual procedure
sections.
The issues associated with time incrementation in Abaqus/Standard and Abaqus/Explicit are quite different, since time increments are generally much smaller in Abaqus/Explicit.
Incrementation in Abaqus/Standard
In nonlinear problems Abaqus/Standard increments and iterates as required to analyze a step, depending on the severity of the
nonlinearity. In transient cases with a physical time scale, you can provide parameters to
indicate a level of accuracy in the time integration, and Abaqus/Standard chooses the time increments to achieve this accuracy. Direct user control is provided
because it can sometimes save computational cost in cases where you are familiar with the
problem and know a suitable incrementation scheme. Direct control can also occasionally be
useful when automatic control has trouble with convergence in nonlinear problems.
Specifying the Maximum Number of Increments
You can define the upper limit to the number of increments in an Abaqus/Standard analysis. In a direct cyclic analysis procedure, this upper limit should be set to
the maximum number of increments in a single loading cycle. The default is 100. The
analysis stops if this maximum is exceeded before the complete solution for the step has
been obtained. To arrive at a solution, it is often necessary to increase the number of
increments allowed by defining a new upper limit.
Extrapolation of the Solution
In nonlinear analyses Abaqus/Standard uses extrapolation to speed up the solution. Extrapolation refers to the method used
to determine the first guess to the incremental solution. The guess is determined by the
size of the current time increment and by whether linear, displacement-based parabolic,
velocity-based parabolic, or no extrapolation of the previously attained history of each
solution variable is chosen. Displacement-based parabolic extrapolation is not relevant
for Riks analyses, and velocity-based parabolic extrapolation is available only for
direct-integration dynamic procedures. Linear extrapolation (the default for all
procedures other than a direct-integration dynamic procedure using the transient
fidelity application setting) uses 100% extrapolation (1% for the Riks method) of the
previous incremental solution at the start of each increment to begin the nonlinear
equation solution for the next increment. No extrapolation is used in the first
increment of a step.
In some cases extrapolation can cause Abaqus/Standard to iterate excessively; some common examples are abrupt changes in the load
magnitudes or boundary conditions and if unloading occurs as a result of cracking (in
concrete models) or buckling. In such cases you should suppress extrapolation.
Displacement-based parabolic extrapolation uses two previous incremental solutions to
obtain the first guess to the current incremental solution. This type of extrapolation
is useful in situations when the local variation of the solution with respect to the
time scale of the problem is expected to be quadratic, such as the large rotation of
structures. If parabolic extrapolation is used in a step, it begins after the second
increment of the step: the first increment employs no extrapolation, and the second
increment employs linear extrapolation. Consequently, slower convergence rates may occur
during the first two increments of the succeeding steps in a multistep analysis.
Velocity-based parabolic extrapolation uses the previous displacement incremental
solution to obtain the first guess to the current incremental solution. It is available
only for direct-integration dynamic procedures, and it is the default if the transient
fidelity application setting is specified as part of this procedure (see Implicit Dynamic Analysis Using Direct Integration). This type of extrapolation is useful in situations with
smooth solutions—i.e., when velocities do not display so called “saw tooth” patterns—and
in such cases it may provide a better first guess than other extrapolations. If
velocity-based parabolic extrapolation is used in a step, it begins after the first
increment of the step; the first increment employs initial velocities.
Incrementation in Abaqus/Explicit
The time increment used in an Abaqus/Explicit analysis must be smaller than the stability limit of the central-difference operator
(see Explicit Dynamic Analysis); failure to use a small enough time
increment results in an unstable solution. Although the time increments chosen by Abaqus/Explicit generally satisfy the stability criterion, user control over the size of the time
increment is provided to reduce the chance of a solution going unstable. The small
increments characteristic of an explicit dynamic analysis product make Abaqus/Explicit well suited for nonlinear analysis.
Controlling the Analysis Based on the Simulation State in Abaqus/Standard
You can monitor the simulation state (as quantified by the values of certain output
variables) as the analysis continues and take an action, such as terminating the current
step or even the entire analysis, upon reaching a threshold criterion. Alternatively, you
can note when the threshold is reached and let the analysis continue. In addition, you can
choose to modify the time increment as the simulation state approaches this threshold value.
You must identify the specific output to be monitored as a "measure" of the simulation
state—for example, an electric potential or a displacement at a given node—as a sensor (see
Defining Sensors). You can trigger the action when either the algebraic or the absolute value
of the sensor has reached either a maximum or a minimum threshold.
If you choose to affect the time increment as the threshold is approached, you can do so
either by giving a fixed time increment value or going with the automatically determined
value, which is adjusted internally to meet the threshold value as closely as possible. In
the former case, Abaqus/Standard uses the specified time increment value, provided that it is lower than the time
increment computed by the automatic time-incrementation algorithms in Abaqus/Standard and the condition for time increment refinement is met.
Severe Discontinuities in Abaqus/Standard
Abaqus/Standard distinguishes between regular, equilibrium iterations (in which the solution varies
smoothly) and severe discontinuity iterations (SDIs) in
which abrupt changes in stiffness occur. The most common of such severe discontinuities
involve open-close changes in contact and stick-slip changes in friction. By default, Abaqus/Standard continues to iterate until the severe discontinuities are sufficiently small (or no
severe discontinuities occur) and the equilibrium (flux) tolerances are satisfied.
Alternatively, you can choose a different approach in which Abaqus/Standard continues to iterate until no severe discontinuities occur.
For contact openings with the default approach, a force discontinuity is generated when the
contact force is set to zero, and this force discontinuity leads to force residuals that are
checked against the time average force in the usual way, as described in Convergence Criteria for Nonlinear Problems. Similarly, in stick-to-slip transitions the
frictional force is set to a lower value, which also leads to force residuals.
For contact closures a severe discontinuity is considered sufficiently small if the
penetration error is smaller than the contact compatibility tolerance times the incremental
displacement. The penetration error is defined as the difference between the actual
penetration and the penetration following from the contact pressure and pressure-overclosure
relation. In cases where the displacement increment is essentially zero, a “zero
penetration” check is used, similar to the check used for zero displacement increments (see
Convergence Criteria for Nonlinear Problems). The same checks are used for slip-to-stick
transitions in Lagrange friction.
To make sure that sufficient accuracy is obtained for contact between hard bodies, it is
also required that the estimated contact force error is smaller than the time average force
times the contact force error tolerance. The estimated contact force error is obtained by
multiplying the penetration by an effective stiffness. For hard contact this effective
stiffness is equal to the stiffness of the underlying element, whereas for softened/penalty
contact the effective stiffness is obtained by adding the compliance of the contact
constraint and the underlying element.
Forcing the iteration process to continue until no severe discontinuities occur is the
more traditional, conservative method. However, this method can sometimes lead to
convergence problems, particularly in large problems with many contact points or situations
where contact conditions are only weakly determined. In such cases excessive iteration may
occur and convergence may not be obtained.
Matrix Storage and Solution Scheme in Abaqus/Standard
Abaqus/Standard generally uses Newton's method to solve nonlinear problems and the stiffness method to
solve linear problems. In both cases the stiffness matrix is required. In some problems—for
example, with Coulomb friction—this matrix is not symmetric. Abaqus/Standard automatically chooses whether a symmetric or unsymmetric matrix storage and solution
scheme is used based on the model and step definition used. In some cases you can override
this choice; the rules are explained below.
Usually it is not necessary to specify the matrix storage and solution scheme. The choice
is available to improve computational efficiency in those cases where you judge that the
default value is not the best choice. In certain cases where the exact tangent stiffness
matrix is not symmetric, the extra iterations required by a symmetric approximation to the
tangent matrix use less computer time than solving the nonsymmetric tangent matrix at each
iteration. Therefore, for example, Abaqus/Standard invokes the symmetric matrix storage and solution scheme automatically in problems with
Coulomb friction where every friction coefficient is less than or equal to 0.2, even though
the resulting tangent matrix has some nonsymmetric terms. However, if any friction
coefficient is greater than 0.2, Abaqus/Standard uses the unsymmetric matrix storage and solution scheme automatically since it may
significantly improve the convergence history. This choice of the unsymmetric matrix storage
and solution scheme considers changes to the friction model. Thus, if you modify the
friction definition during the analysis to introduce a friction coefficient greater than
0.2, Abaqus/Standard activates the unsymmetric matrix storage and solution scheme automatically. In cases in
which the unsymmetric matrix storage and solution scheme is selected automatically, you must
explicitly turn it off if so desired; it is recommended to do so if friction prevents any
sliding motions.
Rules for Using the Unsymmetric Matrix Storage and Solution Scheme
The following rules apply to matrix storage and solution schemes in Abaqus/Standard:
Since Abaqus/Standard provides eigenvalue extraction only for symmetric matrices, steps with
eigenfrequency extraction or eigenvalue buckling prediction procedures always use the
symmetric matrix storage and solution scheme. You cannot change this setting. In such
steps Abaqus/Standard symmetrizes all contributions to the stiffness matrix.
In all steps except those with eigenfrequency extraction or eigenvalue buckling
procedures, Abaqus/Standard uses the unsymmetric matrix storage and solution scheme when any of the following
features are included in the model. You cannot change this setting.
Heat transfer convection/diffusion elements (element types
DCCxxx)
By default, the unsymmetric matrix storage and solution scheme is used for the
complex eigenvalue extraction procedure. You can change this setting.
In all other cases you can control whether a symmetric or a full matrix storage and
arithmetic solution is chosen. If you do not specify the matrix storage and solution
scheme, Abaqus/Standard utilizes the value used in the previous general analysis step.
If you do not specify the matrix storage and solution scheme in the first step of an
analysis, Abaqus/Standard chooses the unsymmetric scheme when any of the following are used:
Any Abaqus/Aqua load type
The concrete damaged plasticity material model
Friction with a friction coefficient greater than 0.2
The default value in the first step is the symmetric scheme for all other cases,
except those covered by rules 2 and 3 above and for cases in which a friction
coefficient is increased above 0.2 after the first step.
For radiative heat transfer surface interactions (Thermal Contact Properties), certain
follower forces (such as concentrated follower forces or moments), three-dimensional
finite-sliding analyses, any finite sliding in coupled pore fluid diffusion/stress
analyses, and certain material models (particularly nonassociated flow plasticity
models and concrete) introduce unsymmetric terms in the model's stiffness matrix.
However, Abaqus/Standard does not automatically use the unsymmetric matrix storage and solution scheme when
radiative heat transfer surface interactions are used. Specifying that the unsymmetric
scheme should be used can sometimes improve convergence in such cases.
Coupled structural-acoustic and uncoupled acoustic analysis procedures in Abaqus/Standard generally use symmetric matrix storage and solution. Exceptions are the
subspace-based steady-state dynamics or complex frequency procedures used for coupled
structural-acoustic problems, where unsymmetric matrices are a consequence of the
coupling procedure used in these cases. Using acoustic infinite elements or the
acoustic flow velocity option triggers the unsymmetric matrix storage and solution
scheme in Abaqus/Standard, except for natural frequency extraction using the Lanczos eigensolver, which uses
symmetric matrix operations.
Unsymmetric matrix storage doubles the storage requirement for element operators and
for the equation solver compared to symmetric storage. These are generally the largest
components of the overall memory requirements for the analysis.
Precision Level of the Abaqus/Explicit Executable
You can choose a double-precision executable (with 64-bit word lengths) for Abaqus/Explicit on machines with a default, single-precision word length of 32 bits (see Abaqus/Standard and Abaqus/Explicit Execution). Most new
computers have 32-bit default word lengths even though they may have 64-bit memory
addressing. The single-precision executable typically results in a CPU savings of 20% to 30%
compared to the double-precision executable, and single precision provides accurate results
in most cases. Exceptions in which single precision tends to be inadequate include analyses
that require greater than approximately 300,000 increments, have typical nodal displacement
increments less than 10−6 times the corresponding nodal coordinate values,
include hyperelastic materials, or involve multiple revolutions of deformable parts; the
double-precision executable is recommended in these cases (for example, see Simulation of propeller rotation).
You can also run only a part of Abaqus/Explicit using double precision, while using single precision for the rest (see Abaqus/Standard and Abaqus/Explicit Execution). These options
are described below.
If
double=explicit
is used or the double option is specified without a
value, the Abaqus/Explicit analysis runs in double precision, while the packager runs in single precision. While
this choice would satisfy higher precision needs in most analyses, the data are written
to the state (.abq) file in single precision. Moreover,
analysis-related computations performed in the packager are still run in single
precision. Thus, new steps, restart, and import analyses begin from data that are
stored/computed in single precision despite the fact that calculations during the step
are performed in double precision. Thus, in general,you can expect somewhat noisy
solutions at the beginning of the first step, at step transitions, on restart, and after
import.
If
double=both
is used, both the Abaqus/Explicit packager and analysis run in double precision. This is the most expensive option but
ensures the highest overall execution precision. Analysis database floating point data
are written to the state (.abq) file at the end of packager or of a
given step in double precision, thus ensuring in most cases the smoothest transition at
step boundaries, on restart, and after an import.
There may be cases where the default single precision analysis is inadequate, while the
double=both
option is too expensive. These are typically models that have complex links of
constraints (such as a complex mechanism with connector elements, complex combinations
of distributed/kinematic couplings, tie constraints and multi-point constraints, or
interactions of such constraints with boundary conditions). For such models it is
desirable to solve only the constraints in the model in double precision while the rest
of the model is solved in single precision. This combination gives the desired accuracy
of the solution while increasing performance compared to a full double precision
analysis.
If
double=constraint
is used, the constraint packager and constraint solver are executed in double precision,
while the remainder of the Abaqus/Explicit packager and analysis are executed in single precision.
If
double=off
is used or the double option is omitted (default),
both the Abaqus/Explicit packager and the analysis run in single precision. The
double=off
option is useful when you want to override the setting in the environment file.
The significance of the precision level is indicated by comparing the solutions obtained
with single and double precision. If no significant difference is found between single- and
double-precision solutions for a particular model, the single-precision executable can be
deemed adequate.