You are on page 1of 8

Automatic stabilization of unstable problems

Nonlinear static problems can be unstable. Such instabilities may be of a


geometrical nature, such as buckling, or of a material nature, such as material
softening. If the instability manifests itself in a global load-displacement
response with a negative stiffness, the problem can be treated as a buckling
or collapse problem as described in “Unstable collapse and postbuckling
analysis,” Section 6.2.4. However, if the instability is localized, there will be a
local transfer of strain energy from one part of the model to neighboring parts,
and global solution methods may not work. This class of problems has to be
solved either dynamically or with the aid of (artificial) damping; for example,
by using dashpots.

Abaqus/Standard provides an automatic mechanism for stabilizing unstable


quasi-static problems through the automatic addition of volume-proportional
damping to the model. The applied damping factors can be constant over the
duration of a step, or they can vary with time to account for changes over the
course of a step. The latter, adaptive approach is typically preferred.

Automatic stabilization of static problems with a constant damping


factor

Automatic stabilization with a constant damping factor is triggered by including


automatic stabilization in any nonlinear quasi-static procedure. Viscous forces
of the form

are added to the global equilibrium equations

where is an artificial mass matrix calculated with unity density, c is a

damping factor, is the vector of nodal velocities, and is the


increment of time (which may or may not have a physical meaning in the
context of the problem being solved).

For the case of static stabilization the mass matrix for Timoshenko beams is
always calculated assuming isotropic rotary inertia, regardless of the type of
rotary inertia specified for the beam section definition (“Rotary inertia for
Timoshenko beams” in “Beam section behavior,” Section 29.3.5).

Automatic stabilization does not carry over automatically to subsequent steps.


It needs to be declared for any step in which you want it to be active.
Abaqus/Standard recalculates new values for the damping factor, based on
the declared damping intensity and on the solution of the first increment of the
step. Therefore, unless you specify the same damping factor directly
(see “Directly specifying the damping factor” below), an analysis with an
unstable step may produce slightly different results from the same analysis
with the original step split into two steps. Moreover, if the instabilities in the
model have not subsided by the end of a step, viscous forces may be
terminated abruptly or modified at the beginning of subsequent steps,
potentially causing convergence difficulties if automatic stabilization is not
used in the subsequent step. If such a situation arises, it is recommended that
the problem be restarted with the damping factor set equal to the value
chosen by Abaqus/Standard (or to the value you specified) in the previous
step. This value is printed in the message (.msg) file for the previous step. If it
is necessary to have an accurate static equilibrium solution after an instability
has occurred (and the model's behavior has returned to a stable regime), the
step with automatic stabilization can be followed by a step without such
stabilization.

Calculating the damping factor based on the dissipated energy fraction

It is assumed that the problem is stable at the beginning of the step and that
instabilities may develop in the course of the step. While the model is stable,
viscous forces and, therefore, the viscous energy dissipated are very small.
Thus, the additional artificial damping has no effect. If a local region goes
unstable, the local velocities increase and, consequently, part of the strain
energy then released is dissipated by the applied damping. Abaqus/Standard
can, if necessary, reduce the time increment to permit the process to occur
without the unstable response causing very large displacements.
Abaqus/Standard calculates and prints to the message file the damping
factor, c, based on the solution of the first increment of a step. In most
applications the first increment of the step is stable without the need to apply
damping. The damping factor is then determined in such a way that the
dissipated energy for a given increment with characteristics similar to the first
increment is a small fraction of the extrapolated strain energy. The fraction is
called the dissipated energy fraction and has a default value of 2.0 × 10–4. If
the default value for the dissipated energy fraction is used, the adaptive
automatic stabilization scheme discussed in the next section will be activated
automatically by default in the step.

Alternatively, you can specify the non-default dissipated energy fraction for
automatic stabilization directly.

Input File Usage: Use any of the following options to specify a


nondefault dissipated energy fraction:
*COUPLED TEMPERATURE-DISPLACEMENT,
STABILIZE=dissipated energy fraction
*SOILS, STABILIZE=dissipated energy fraction
*STATIC, STABILIZE=dissipated energy fraction
*STEADY STATE TRANSPORT,
STABILIZE=dissipated energy fraction
*VISCO, STABILIZE=dissipated energy fraction

Abaqus/CAE Usage: Step module: Create Step: General: any valid step
type: Basic: select Specify dissipated energy
fraction from the Automatic stabilization field

Considerations when the first increment is unstable or singular

There are cases where the first increment is either unstable or singular (due
to a rigid body mode). In such cases it is not possible to obtain a solution to
the first increment without applying some damping. Therefore, some damping
is already applied during the first increment. The damping factor used for the
initial increment is chosen such that the average element damping matrix
component, divided by the step time, is equal to the average element stiffness
matrix component multiplied by the dissipated energy fraction. If the
calculated strain energy change in this increment indicates that the solution
without damping is stable, the damping factor is recalculated based upon the
energy method described previously. However, if the strain energy change
indicates that the solution is unstable or singular, the initially calculated
damping factor is maintained, and a warning message is issued indicating that
the amount of damping applied may not be appropriate. In many cases the
amount of damping may actually be rather large, which can affect the solution
in ways that are not desirable. Therefore, if the above mentioned warning
message is issued, check the viscous forces (VF) and compare them with the
expected nodal forces to make sure that the viscous forces do not dominate
the solution. If necessary, follow the stabilized step with another step in which
stabilization is not used or with a step in which a much smaller damping factor
is used.

Directly specifying the damping factor

You can also specify the damping factor directly. Unfortunately, it is generally
quite difficult to make a reasonable estimate for the damping factor unless a
value is known from the output of previous runs; the damping factor depends
not only on the amount of damping but also on mesh size and material
behavior.
Input File Usage: Use any of the following options to specify the
damping factor directly:
*COUPLED TEMPERATURE-DISPLACEMENT,
STABILIZE, FACTOR=damping factor
*SOILS, STABILIZE, FACTOR=damping factor
*STATIC, STABILIZE, FACTOR=damping factor
*STEADY STATE TRANSPORT, STABILIZE,
FACTOR=damping factor
*VISCO, STABILIZE, FACTOR=damping factor

Abaqus/CAE Usage: Step module: Create Step: General: Coupled temp-


displacement, Soils, Static, General,
or Visco:Basic: select Specify damping factor from
the Automatic stabilization field

Adaptive automatic stabilization scheme

As discussed above, the automatic stabilization scheme with a constant


damping factor typically works well to subside instabilities and to eliminate
rigid body modes without having a major effect on the solution. However,
there is no guarantee that the value of the damping factor is optimal or even
suitable in some cases. This is particularly true for thin shell models, in which
the damping factor may be too high when a poor estimation of the
extrapolated strain energy is made during the first increment. For such models
you may have to increase the damping factor if the convergence behavior is
problematic or to decrease the damping factor if it distorts the solution. The
former case would require you to rerun the analysis with a larger damping
factor, while the latter case would require you to perform postanalysis
comparison of the energy dissipated by viscous damping (ALLSD) to the total
strain energy (ALLIE). Therefore, obtaining an optimal value for the damping
factor is a manual process requiring trial and error until a converged solution
is obtained and the dissipated stabilization energy is sufficiently small.

The adaptive automatic stabilization scheme, in which the damping factor can
vary spatially and with time, provides an effective alternative approach. In this
case the damping factor is controlled by the convergence history and the ratio
of the energy dissipated by viscous damping to the total strain energy. If the
convergence behavior is problematic because of instabilities or rigid body
modes, Abaqus/Standard automatically increases the damping factor. For
example, the damping factor may increase if an analysis takes extra severe
discontinuity or equilibrium iterations per increment or requires time increment
cutbacks. On the other hand, Abaqus/Standard may reduce the damping
factor automatically if instabilities and rigid body modes subside.
The ratio of the energy dissipated by viscous damping to the total strain
energy is limited by an accuracy tolerance that you specify. Such an accuracy
tolerance is imposed on the global level for the whole model. If the ratio of the
energy dissipated by viscous damping to the total strain energy for the whole
model exceeds the accuracy tolerance, the damping factor at each individual
element is adjusted to ensure that the ratio of the stabilization energy to the
strain energy is less than the accuracy tolerance on both the global and local
element level. The stabilization energy always increases, while the strain
energy may decrease. Therefore, Abaqus/Standard restricts the ratio of the
incremental value of the stabilization energy to the incremental value of the
strain energy for each increment to ensure that this value has not exceeded
the accuracy tolerance if the ratio of the total stabilization energy to the total
strain energy exceeds the accuracy tolerance. The accuracy tolerance is a
targeted value and can be exceeded in some situations, such as when there
is rigid body motion or when significant non-local instability occurs.

The default accuracy tolerance used by the adaptive automatic stabilization


scheme is 0.05. The default tolerance is suitable for most applications, but
you have the option of specifying a nondefault accuracy tolerance if
necessary. If the accuracy tolerance is set equal to zero, the adaptive
automatic stabilization scheme is not activated and the automatic stabilization
scheme with a constant damping factor will be used in the step.

If the accuracy tolerance is not specified but the dissipated energy fraction
with the default value of 2.0 × 10–4 is used, the adaptive automatic damping
algorithm will be activated automatically with an accuracy tolerance of 0.05.

Input File Usage: Use any of the following options to activate adaptive
automatic stabilization with the default stabilization
energy tolerance:
*COUPLED TEMPERATURE-DISPLACEMENT,
STABILIZE
*SOILS, STABILIZE
*STATIC, STABILIZE
*STEADY STATE TRANSPORT, STABILIZE
*VISCO, STABILIZE

Use any of the following options to activate adaptive


automatic stabilization with a nondefault stabilization
energy tolerance:

*COUPLED TEMPERATURE-DISPLACEMENT,
STABILIZE,
ALLSDTOL=accuracy tolerance
*SOILS, STABILIZE, ALLSDTOL=accuracy tolerance
*STATIC, STABILIZE, ALLSDTOL=accuracy
tolerance
*STEADY STATE TRANSPORT, STABILIZE,
ALLSDTOL=accuracy tolerance
*VISCO, STABILIZE, ALLSDTOL=accuracy tolerance

Abaqus/CAE Usage: Step module: Create Step: General: Coupled temp-


displacement, Soils, Static, General,
or Visco:Basic: select an Automatic
stabilization method: toggle on Use adaptive
stabilization with max. ratio of stabilization to
strain energy: accuracy tolerance

Default value of the initial damping factor

By default, the initial value of the damping factor is typically equal to the value
that would be used for automatic stabilization with a constant damping factor
(see “Calculating the damping factor based on the dissipated energy fraction”
above). In some cases additional factors that are considered with adaptive
automatic stabilization cause some differences in the initial damping factor.

Specifying the initial damping factor directly

Alternatively, you can specify the initial damping factor directly. The damping
factor is adjusted based on the convergence history and the accuracy
tolerance through the step.

Input File Usage: Use any of the following options to specify the initial
damping factor directly with the default stabilization
energy tolerance:
*COUPLED TEMPERATURE-DISPLACEMENT,
STABILIZE, FACTOR=damping factor, ALLSDTOL
*SOILS, STABILIZE, FACTOR=damping factor,
ALLSDTOL
*STATIC, STABILIZE, FACTOR=damping factor,
ALLSDTOL
*STEADY STATE TRANSPORT, STABILIZE,
FACTOR=damping factor,
ALLSDTOL
*VISCO, STABILIZE, FACTOR=damping factor,
ALLSDTOL

Abaqus/CAE Usage: Step module: Create Step: General: Coupled temp-


displacement, Soils, Static, General,
or Visco:Basic: from the Automatic
stabilization field, select Specify damping
factor: damping factor: toggle on Use adaptive
stabilization with max. ratio of stabilization to
strain energy: maximum ratio

Propagating the damping factors from the immediately preceding general step
into the current step

Adaptive automatic stabilization provides an option to propagate the damping


factors from the immediately preceding general step to the subsequent steps.
The default is to not propagate the damping factors from the results of the
preceding general step. In this case Abaqus recalculates the initial damping
factors based on the declared dissipated energy faction and on the solution of
the first increment of the step, or you can specify the initial damping factors
directly.

Input File Usage: Use any of the following options to indicate that the
damping factors in the current step are propagated
from the immediately preceding general step:
*COUPLED TEMPERATURE-DISPLACEMENT,
STABILIZE, ALLSDTOL, CONTINUE=YES
*SOILS, STABILIZE, ALLSDTOL, CONTINUE=YES
*STATIC, STABILIZE, ALLSDTOL, CONTINUE=YES
*STEADY STATE TRANSPORT, STABILIZE,
ALLSDTOL,
CONTINUE=YES
*VISCO, STABILIZE, ALLSDTOL, CONTINUE=YES

Abaqus/CAE Usage: Step module: Create Step: General: Coupled temp-


displacement, Soils, Static, General,
or Visco:Basic: select Use damping factors from
previous general step from the Automatic
stabilizationfield: Use adaptive stabilization with
max. ratio of stabilization to strain
energy: accuracy tolerance

Ensuring that an accurate solution is obtained with automatic


stabilization
Whenever automatic stabilization is applied to a problem, check the following
to ensure that accurate solutions are obtained:

 For a damping factor calculated using the dissipated energy fraction,


check the factor printed to the message (.msg) file at the end of the first
increment to ensure that a reasonable amount of damping is applied.
Unfortunately, the damping factor is problem dependent; therefore, you
must rely on experience from previous runs.
 Compare the viscous forces (VF) with the overall forces in the analysis,
and ensure that the viscous forces are relatively small compared with
the overall forces in the model.
 Compare the viscous damping energy (ALLSD) with the total strain
energy (ALLIE), and ensure that the ratio does not exceed the
dissipated energy fraction or any reasonable amount. The viscous
damping energy may be large if the structure undergoes a large
amount of motion.

The automated procedure of computing damping factors works well for many
applications. However, there are cases where the computed damping factor is
either too small, thus not controlling the instability, or too high, thus leading to
inaccurate results. These problems are more likely to occur when using a
constant damping factor—the damping factor is computed in the first
increment, which may not be representative of behavior in the rest of the step.
For example, consider a sequentially coupled thermal-stress analysis in which
a mechanical analysis reads temperatures from a previous transient thermal
analysis. Typically the thermal analysis exhibits a diffusive process, where
rapid changes in temperature occurs early in the analysis and minor changes
in temperature occur once steady state is reached. In such a case Abaqus will
compute the extrapolated strain energy based on the temperatures
corresponding to the time of the first increment (in this case there may be a
significant change in temperature for the first increment), thus yielding a larger
then expected extrapolated strain energy. This in turn leads to a damping
factor that is too large, resulting in inaccurate results.

If one of the automatic stabilization methods is not working appropriately, you


can try using the other automatic stabilization method; the adaptive
stabilization scheme is generally preferred. Alternatively, you can try directly
specifying the damping factor.

You might also like