Convergence Criteria for Nonlinear Problems

Warning:

The information in this section is provided for users who may wish to adjust the convergence criteria for the solution of nonlinear systems. In most cases these criteria need not be adjusted.

In nonlinear problems the governing balance equations must be solved iteratively. This section describes:

  • the field equations that can be solved by Abaqus/Standard;

  • the criteria used to establish convergence of each iteration during the solution;

  • “severe discontinuity” iterations; and

  • the line search algorithm, which can be used to improve the robustness of the Newton method.

This page discusses:

Field Equations

Field equations can be modeled separately or fully coupled. Some fields in Abaqus/Standard can only have linear response. Each field is discretized by using basic nodal variables (the degrees of freedom at the nodes of the finite element model) such as the components of the displacement in a continuum stress analysis problem. Each field has a conjugate “flux.”

Available Fields and Their Conjugate Fluxes

The fields and conjugate fluxes available in Abaqus/Standard are as follows:

Basic problem Field Conjugate flux
Stress analysis: force equilibrium Displacement, u Force, F
Stress analysis: moment equilibrium Rotation, ϕ Moment, M
Stress analysis: analysis containing beams with warping Warping, w Bimoment, W
Heat transfer analysis Temperature, θ Heat flux, q
Acoustic analysis (linear only) Acoustic pressure, u Rate of change of fluid volumetric flux
Pore liquid flow analysis Pore liquid pressure, u Pore liquid volumetric flux, q
Hydrostatic fluid modeling Fluid pressure, p Fluid volume, V
Mass diffusion analysis Normalized concentration, ϕ Mass concentration volumetric flux, Q
Piezoelectric analysis Electrical potential, φ Electrical charge, q
Electric conduction analysis Electrical potential, φ Electrical current, J
Mechanism analysis (connector elements with material flow degree of freedom) Material flow Material flux
Analysis containing C3D4H elements (all materials, except compressible hyperelastic elastomers and elastomeric foams). Pressure Lagrange multiplier Volumetric flux
Analysis containing C3D4H elements with compressible hyperelastic or hyperfoam materials. Volumetric Lagrange multiplier Pressure flux

Constraint Equations

In some cases the problem also involves constraint equations. In Abaqus/Standard the following constraints are included by using Lagrange multipliers:

Problem Constraint variable Constraint
Hybrid solid (except C3D4H elements) Pressure stress Volumetric strain compatibility
Hybrid beam Axial force Axial strain compatibility
Hybrid beam Transverse shear force Transverse shear strain compatibility
Distributing coupling Force Coupling displacement compatibility
Distributing coupling Moment Coupling rotation compatibility
Contact Normal pressure Surface penetration
Contact with Lagrange friction Shear stress Relative shear sliding

If the penalty method is used, the contact Lagrange multipliers may not be present.

Solving Coupled Field Equations

In a general problem several (possibly nonlinear) coupled field equations of types α=1,2,N must be solved and several different (possibly nonlinear) constraints of type j=1,2,K must be satisfied simultaneously. For example, in a structural problem in which hybrid beam elements are used, α=1 might represent the displacement field and the equilibrium equations for the conjugate force and α=2 might represent the rotation field and the equilibrium equations for the conjugate moment, while j=1 represents axial strain compatibility and j=2 represents transverse shear strain compatibility.

Controlling the Accuracy of the Solution

The default solution control parameters defined in Abaqus/Standard are designed to provide reasonably optimal solution of complex problems involving combinations of nonlinearities as well as efficient solution of simpler nonlinear cases. However, the most important consideration in the choice of the control parameters is that any solution accepted as “converged” is a close approximation to the exact solution of the nonlinear equations. In this context “close approximation” is interpreted rather strictly by engineering standards when the default value is used, as described below.

You can reset many solution control parameters related to the tolerances used for field equations. If you define less strict convergence criteria, results may be accepted as converged when they are not sufficiently close to the exact solution of the system. Use caution when resetting solution control parameters. Lack of convergence is often due to modeling issues, which should be resolved before changing the accuracy controls.

You can select the type of equation for which the solution control parameters are being defined; for example, you can redefine the default controls for the displacement field and warping degree of freedom equilibrium equations only. By default, the solution control parameters will apply to all active fields in the model. See Defining Tolerances for Field Equations for details.

Terminology

Each field, α, that is active in the problem is tested for convergence of the field equations. The following measures are used in deciding if an increment has converged:

rmaxα

The largest residual in the balance equation for field α.

Δumaxα

The largest change in a nodal variable of type α in the increment.

cmaxα

The largest correction to any nodal variable of type α provided by the current Newton iteration.

ej

The largest error in a constraint of type j.

q¯α(t)

The instantaneous magnitude of the flux for field α at time t, averaged over the entire model (spatial average flux). This average is by default defined by the fluxes that the elements apply to their nodes and any externally defined fluxes:

q¯α(t)=def1e=1Ene=1NeNneα+Nefα(e=1Ene=1NEi=1Nneα|q|i,neα+i=1Nefα|q|iα,ef).

Here, E is the number of elements in the model, Ne is the number of nodes in element e, Nneα is the number of degrees of freedom of type α at node ne of element e, |q|i,neα is the magnitude of the total flux component that element e applies at its ith degree of freedom of type α at its neth node at time t, Nefα is the number of external fluxes for field α (depends on element type, loading type, and number of loads applied to an element), and |q|iα,ef is the magnitude of the ith external flux for field α.

q~α(t)

An overall time-averaged value of the typical flux for field α so far during this step including the current increment. Normally, q~α(t) is defined as q¯α averaged over all the increments in the step in which q¯α is nonzero. The q¯α for the current increment is recalculated after every iteration of the current increment.

q~α(t)=def1Nti=1Ntq¯α(t|i),

where Nt is the total number of increments so far in the step, including the current increment, in which q¯α(t|i)>ϵαq~α(t|i). Here q¯α(t|i) is the value of q¯α at increment i and ϵα is a small number. The default for ϵα is 10−5, but in rare cases, you can change this default.

Alternatively, you can define a value for the average flux in the step, q~uα. In this case, q~α(t)=q~uα throughout the step.

At the start of the step, q~α is normally the value from the previous step (except for Step 1, when q~α=10-2 by default). Alternatively, you can define an initial value for the time average flux, q~0α, as described in Modifying the Initial Time Average Flux. q~α retains its initial value until an iteration is completed for which q¯α>ϵαq~α, at which time we redefine q~α=q¯α. (If q~uα is defined, the value defined for q~0α is ignored.)

q~maxα

The time-averaged value of the largest flux corresponding to the field α during this step, excluding the current increment.

qmaxα

The largest flux corresponding to the field α during the current iteration.

Average Flux

The time-averaged value of the flux (q~α(t)) is computed from the spatial average of the flux (q¯α(t)) at various instants in time. In some situations where only a small part of the model is active (the fluxes over the rest of the model are zero or very small), the spatial average of a flux over the entire model can be very small when compared to the spatial average over the active part of the model. Over a period of time this can result in a small value for the time-averaged value of the flux and in turn may lead to a convergence criterion that is very strict by engineering standards. To avoid such an excessively strict convergence criterion, Abaqus/Standard uses an algorithm to determine the active parts of a model at any given instant.

During an iteration any flux |qiα(t)|<ϵlαq~maxα is treated as inactive, and the corresponding degree of freedom is also marked inactive. q~maxα is the time-averaged value of the largest flux in the model during the current step. The default value of ϵlα is 10−5; you can redefine this parameter.

At the end of an iteration the largest flux in the model during the current iteration (qmaxα) is compared with the time-averaged value of the largest flux (q~maxα). If qmaxα0.1q~maxα, the spatial average is computed over only the active parts of the model; if qmaxα<0.1q~maxα, all inactive parts of the model are reclassified as active and the spatial average is computed over the entire model. The appropriate spatial average of the flux obtained in this manner is then used to compute the time-averaged flux q~α(t) that is used in the convergence criterion. Setting ϵlα=0 forces the spatial averages of a flux to be always computed over the entire model.

If you specify a value for the average flux in the step, q~uα, q~α(t)=q~uα throughout the step.

Residuals

Most nonlinear engineering calculations will be sufficiently accurate if the error in the residuals is less than 12%. Therefore, Abaqus/Standard normally uses

rmaxαRnαq~α

as the residual check, where you can define Rnα (it is 0.005 by default). If this inequality is satisfied, convergence is accepted if the largest correction to the solution, cmaxα, is also small compared to the largest incremental change in the corresponding solution variable, Δumaxα,

cmaxαCnαΔumaxα,

or if the magnitude of the largest correction to the solution that would occur with one more iteration, estimated as

cestα=(rmaxα)imin((rmaxα)i-1,(rmaxα)i-2)cmaxα,

satisfies the same criterion:

cestαCnαΔumaxα.

You can define Cnα; the default value is 10−2.

The superscripts i, i-1, and i-2 refer to the iteration number, and (rmaxα)0 refers to the largest residual in field α at the start of the first iteration of the increment. See Commonly Used Control Parameters for more details on specifying Cnα.

Zero Flux

In some cases there may be zero flux in the equations of type α anywhere in the model during some increments. Zero flux is defined as q¯αϵαq~α, where, as discussed earlier, ϵα has a default value of 10−5 and the solution for field α is accepted if rmaxαϵαq~α. If not, cmaxα is compared to Δumaxα, and convergence for field α is accepted when cmaxαCϵαΔumax. The default value of Cϵα is 10−3; you can redefine this parameter.

Negligible Response in Some Fields

Cases may arise where more than one field is active in the model yet there is negligible response in some of the fields in some increments. If some type of physical conversion factor, fβα, exists between active fields α and β, q~α in the above paragraph can be replaced by fβαCfq~β for those particular increments where q~α is deemed too small (q¯αq~α<fβαCfq~β) to be used realistically as part of the convergence criteria for field α. An example of fβα is a characteristic length to convert between force and moment.

Here, fβα is a factor calculated by Abaqus/Standard based on the problem definition and the fields involved and Cf is a field conversion ratio that you can define. The default value for Cf is 1.0. Currently, this concept is used only for converting between the fields associated with forces and moments, when fβα represents a characteristic element length.

Linear Increments

Linear cases do not require more than one equilibrium iteration per increment. If

rmaxαRlαq~α

for all α, the increment is considered to be linear.

You can define Rlα; it is intended to be very small. The default value of Rlα is 10−8. Any case that passes such a stringent comparison of the largest residual with the average flux magnitude in each field is considered linear and does not require further iteration. If this requirement is satisfied at some iteration after the first, the solution is accepted without any check on the size of the correction to the solution.

Nonquadratic Convergence

In some cases quadratic convergence of the iterations is not possible because the Jacobian of the Newton scheme is approximated. If after IP iterations the convergence rate is only linear, Abaqus/Standard uses a looser tolerance,

rmaxαRpαq~α,

as the residual check. This tolerance modification is not applied when the quasi-Newton method is used, since it is normal for this method to require a larger number of iterations to converge.

You can define Rpα, which is 2 × 10−2 by default. You can also define IP (by default, IP=9; see Controlling Iteration).

Convergence also requires that

cmaxαCnαΔumaxα.

Iteration continues until both criteria are satisfied for all active fields or the increment is abandoned.

When the active field is the displacement, the convergence criterion requiring the largest displacement correction to be small relative to the maximum displacement increment (cmaxαCnαΔumaxα) is ignored when the maximum displacement increment itself is very small, as defined by Δumaxα<ϵdαfβα, where fβα is the characteristic element length. The default value for ϵdα is 10−8; you can redefine this parameter.

Controlling Iteration

Each increment of a nonlinear solution will usually be solved by multiple equilibrium iterations. The number of iterations may become excessive, in which case the increment size should be reduced and the increment attempted again. On the other hand, if successive increments are solved with a minimum number of iterations, the increment size may be increased. You can specify a number of time incrementation control parameters; some of them are described in this section, while the remainder are described in Time Integration Accuracy in Transient Problems.

Reattempting an Increment Because of Trouble with Element or Material Calculations

Abaqus/Standard may have trouble with the element calculations because of excessive distortion in large-displacement problems or because of very large plastic strain increments. If this occurs and automatic time incrementation has been chosen, the increment will be attempted again with a time increment of DH times the current time increment, where you can define DH. By default, DH=0.25. If fixed time stepping has been chosen, the analysis will terminate with an error message.

Reattempting a Diverging Increment

Sometimes the increment is too large for the solution to converge at all—the initial state is outside the “radius of convergence” of the Newton method. This condition can be detected by observing the behavior of the largest residuals, rmaxα. In some cases these will not decrease from iteration to iteration throughout an iteration sequence that leads to convergence, but we assume that, if they fail to decrease over two consecutive iterations, the iterations should be abandoned. Thus, if

min((rmaxα)i,(rmaxα)i-1)>(rmaxα)i-2,

where i is the iteration counter, the iterations are abandoned. This check is first made after I0 iterations following a solution discontinuity. You can define I0; it must be at least 3. The default value of I0 is 4. If fixed time stepping has been chosen, the analysis will terminate with an error message.

With automatic time stepping the increment is begun again, using a time increment of Df times the previous attempt, where you can define Df. By default, Df=0.25. This subdivision continues until a successful time increment is found or the minimum time increment allowed has failed, in which case the job ends with an error message. Using the line search algorithm with Nls=4 sometimes helps in such cases (see Improving the Efficiency of the Solution by Using the Line Search Algorithm).

Reattempting an Increment When Too Many Equilibrium Iterations Are Required

In case quadratic convergence cannot be obtained, the logarithmic rate of convergence,

ln((rmaxα)i/(rmaxα)i-1),

will often be maintained throughout the iteration process. This rate can be established during the early iterations. If convergence has not been achieved after IR or more iterations following a solution discontinuity, if automatic time incrementation has been selected, and if the slowest convergence rate over all fields α suggests that more than IC total iterations subsequent to the last solution discontinuity are expected to be required, the increment is begun again with a time increment of DC times the one abandoned. If fixed time incrementation has been chosen, the iterations are continued; but if convergence is not achieved within IC iterations after the last solution discontinuity in the increment, the analysis will terminate with an error message.

You can define the values of IR, IC, and DC. By default, IR=8, IC=16, and DC=0.5.

Increasing or Reducing the Size of the Time Increment for Efficiency

When automatic time incrementation is chosen, the effectiveness of the nonlinear equation solution is used in the selection of the next time increment (in addition to the time integration accuracy criteria discussed in Time Integration Accuracy in Transient Problems). If no more than IG iterations are required in two consecutive increments, the time increment may be increased by a factor of DD. If an increment converges but takes more than IL iterations, the next time increment is reduced to DB times the current time increment. You can define the values of IG, IL, DD, and DB. By default, IG=4, IL=10, DD=1.5, and DB=0.75.

Extrapolation

At each increment after the first increment of a nonlinear analysis step Abaqus/Standard estimates the solution to the increment by extrapolating the solution from the previous increment (or increments). By default, 100% linear extrapolation is used (1% for the Riks method). Extrapolation is abandoned if

ΔtiDEΔti-1,

where Δti is the proposed new time increment, and Δti-1 is the last successful time increment. You can define the value of DE; it is 0.1 by default.

You can turn this extrapolation scheme off for a particular step—see Defining an Analysis.

Convergence of Strain Constraints in Hybrid Elements

Strain constraint convergence in “hybrid” elements is checked by comparing the largest error in each strain constraint, ej, with an absolute tolerance for the corresponding error, Tj. The magnitudes of these errors are reported in the message (.msg) file after each iteration as “compatibility errors.” For example, the volumetric compatibility error is a measure of the accuracy with which the incompressibility constraint is satisfied. Since nonlinearity in constraint equations is generally reflected in the field equations in the same problem, no attempt is made to estimate convergence rates in these constraint equations: we assume that the measures of convergence rate in the field equations are sufficient.

You can define the Tj (Tvol, Taxial, and Ttshear). By default, all of the Tj = 10−5.

Severe Discontinuity Iterations

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. By default, Abaqus/Standard will continue to iterate until the severe discontinuities are sufficiently small (or no severe discontinuities occur) and the equilibrium (flux) tolerances are satisfied. For more information on the criteria used for the severe discontinuity checks, see Severe Discontinuities in Abaqus/Standard. Alternatively, Abaqus/Standard will continue to iterate until no severe discontinuities occur and the equilibrium (flux) tolerances are satisfied. This more traditional method can cause convergence difficulties if the contact conditions are only weakly determined and contact “chattering” occurs or if a large number of severe discontinuity iterations are required to settle the contact conditions.

You can define the contact and slip compatibility tolerance, the soft contact compatibility tolerance for low pressure, and the contact force error tolerance.

Severe Discontinuity Iterations in Implicit Dynamic Analysis

In implicit dynamic analysis, the average time of all contact changes in the increment is estimated and the time incrementation is interrupted to solve impact equations at that time. With augmented Lagrange or penalty constraint enforcement methods or with softened contact, no contact constraints are imposed when impact equations are solved. However, if the contact constraints are not satisfied within given tolerances, a severe discontinuity iteration is forced. See Intermittent contact/impact for details on intermittent contact in dynamic problems.

Controlling the Number of Severe Discontinuity Iterations

By default, Abaqus applies sophisticated criteria involving changes in penetration, changes in the residual force, and the number of severe discontinuities from one iteration to the next to determine whether iteration should be continued or terminated. Hence, it is in principle not necessary to limit the number of severe discontinuity iterations. This makes it possible to run contact problems that require large numbers of contact changes without having to change the control parameters. It is still possible to set a limit, ISc, for the maximum number of severe discontinuity iterations; by default, ISc=50, which in practice should always be more than the actual number of iterations in an increment.

Controlling the Number of Severe Discontinuity Iterations When Severe Discontinuities Always Force Iterations

In this case a limit, IS, is placed on the number of iterations caused by severe discontinuities in an increment. If more than IS iterations are required for severe discontinuities, the increment is started over with a time increment size of DS times the abandoned increment size (for automatic time incrementation). If fixed time incrementation was chosen, the analysis terminates with an error message. You can define the values of IS and DS. By default, IS=12 and DS=0.25.

Improving the Efficiency of the Solution by Using the Line Search Algorithm

Abaqus/Standard provides the option of including a “line search” algorithm. The purpose of the line search is to improve the robustness of the Newton or quasi-Newton methods. By default, the line search is active only for steps that use the quasi-Newton method. During equilibrium iterations where residuals are large, the line search algorithm scales the correction to the solution by a line search scale factor, sls. An iterative process is used to find the value of sls that minimizes the component of the residual vector in the direction of the correction vector; this component is called yj, where j is the line search iteration number. Each line search iteration requires one pass through the Abaqus/Standard element loop but does not require any operations using the global stiffness matrix.

It is usually sufficient to determine sls only to modest accuracy. There are several controls used to limit this accuracy. A maximum of j=Nls line search iterations are performed. There is a limit on the allowable range of sls:

sminlsslssmaxls.

The line search ceases when

|yj|fsls|y0|,

where y0 is evaluated before the first equilibrium iteration. The residual reduction factor at which the line search ceases, fsls, is typically set to a rather loose tolerance. The line search algorithm will also cease when the change in sls provided by a line search iteration is less than ηls times sls.

You can define the values of Nls, smaxls, sminls, fsls, and ηls. By default, Nls = 0 with the Newton method, and Nls=5 with the quasi-Newton method. Set Nls to a nonzero value to activate the line search algorithm or to zero to forcibly deactivate line search. Default values for the additional line search parameters are smaxls = 1.0, sminls = 0.0001, fsls = 0.25, and ηls = 0.10. These defaults are chosen to achieve modest accuracy for the line search scale factor, while minimizing the additional cost of line search iterations. More agressive line searching can be beneficial in some simulations, especially when many nonlinear iterations and/or cutbacks are needed to resolve sharp discontinuities in the solution. In these cases you could try allowing more line search iterations (Nls=10) and requiring more accuracy in the line search scale factor ( ηls=0.01). This may result in more line search iterations but fewer nonlinear iterations and cutbacks and an overall reduction in solution cost.