Defining an Analysis

An analysis is defined in Abaqus by:

  • dividing the problem history into steps;

  • 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.

This page discusses:

Defining an Analysis

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.
Procedure Default amplitude variation
Coupled pore fluid diffusion/stress (steady-state) Ramp
Coupled pore fluid diffusion/stress (transient) Step
Coupled thermal-electrical (steady-state) Ramp
Coupled thermal-electrical (transient) Step
Direct-integration dynamic 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; the default amplitude is a step function for all procedure types when using velocity-type boundary conditions or velocity-type connector motions.

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.

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:

  1. 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.

  2. 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.

    1. Heat transfer convection/diffusion elements (element types DCCxxx)

    2. General shell sections with unsymmetric section stiffness matrices (Three-Dimensional Conventional Shell Element Library)

    3. User-defined elements with unsymmetric element matrices (User-Defined Elements)

    4. User-defined material models with unsymmetric material stiffness matrices (User-Defined Mechanical Material Behavior or User-Defined Thermal Material Behavior)

    5. User-defined surface interaction models with unsymmetric interface stiffness matrices (User-Defined Interfacial Constitutive Behavior)

  3. The following features all trigger the unsymmetric matrix storage and solution scheme for the step. You cannot change this setting.

    1. Fully coupled thermal-stress analysis, except when a separated solution scheme is specified for the step (Fully Coupled Thermal-Stress Analysis)

    2. Coupled thermal-electrical analysis, except when a separated solution scheme is specified for the step (Coupled Thermal-Electrical Analysis)

    3. Fully coupled thermal-electrical-structural analysis (Fully Coupled Thermal-Electrical-Structural Analysis)

    4. Coupled pore fluid diffusion/stress analysis with absorption or exsorption behavior (Coupled Pore Fluid Diffusion and Stress Analysis)

    5. Coupled pore fluid diffusion/stress analysis (steady-state)

    6. Coupled pore fluid diffusion/stress analysis (transient with gravity loading)

    7. Mass diffusion analysis (Mass Diffusion Analysis)

    8. Radiation view factor calculation controls (Cavity Radiation in Abaqus/Standard)

  4. By default, the unsymmetric matrix storage and solution scheme is used for the complex eigenvalue extraction procedure. You can change this setting.

  5. 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.

  6. 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:

    1. Any Abaqus/Aqua load type

    2. The concrete damaged plasticity material model

    3. 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.

  7. 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.

  8. 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.

  9. 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.