The iterative linear equation solver in
Abaqus/Standard:
can be used for linear and nonlinear static, quasi-static, heat
transfer, geostatic, and coupled pore fluid diffusion and stress analysis
solution procedures;
should be used only for large, well-conditioned models for which the
direct sparse solver (see
Direct Linear Equation Solver)
requires a prohibitively large number of floating point operations;
is likely to be dramatically faster than the direct equation solver
for large, well-conditioned, blocky structures;
runs totally in-core and uses less storage than the direct sparse
solver (memory and disk combined);
can be used only with three-dimensional models;
must be the only solver invoked in the analysis (that is, you cannot use the iterative solver
in one step and the direct solver in another);
The iterative solver in Abaqus/Standard can be used to find the solution to a linear system of equations and can be invoked in a
linear or nonlinear static, quasi-static, geostatic, pore fluid diffusion, or heat transfer
analysis step. Since the technique is iterative, a converged solution to a given system of
linear equations cannot be guaranteed. In cases where the iterative solver fails to converge
to a solution, modifications to the model might be necessary to improve the convergence
behavior. In some cases the only choice might be to use the direct solver to obtain a
solution. When the iterative solver converges, the accuracy of this solution depends on the
relative tolerance that is used; the default tolerance is sufficiently accurate for most
purposes. However, tolerance adjustments for particular analyses might improve the overall
performance of the simulation. In addition, the performance of the iterative solver relative
to the direct sparse solver is highly sensitive to the model geometry, favoring blocky type
structures (that is, models that look more like a cube than a plate) with a high degree of
mesh connectivity and a relatively low degree of sparsity. These types of models often
demand the most computational and storage resources for the direct sparse solver. Models
with a lesser degree of connectivity (often said to have a higher degree of sparsity), such
as thin, shell-like structures, are much more suited to the direct sparse solver (see Direct Linear Equation Solver).
Iterative Solution Technique
The iterative solution technique in
Abaqus/Standard
is based on Krylov methods employing a preconditioner. This solver uses the
following general strategy:
The Krylov method solver iterates on the system of equations generated
by the finite element method while a preconditioner is applied at each
iteration.
The preconditioner is calculated only once at the beginning of each
linear system solve and is used to accelerate the convergence of the Krylov
method.
In parallel, all components of the iterative solution process (including
matrix assembly, preconditioner setup, and the actual solve using the Krylov
method) are handled in a hybrid manner using an
MPI and thread-based parallel implementation.
The process outlined above is performed entirely internal to
Abaqus/Standard,
with no user intervention required.
Convergence of the Linear System of Equations
To generate the solution to the system of linear algebraic equations (denoted by the matrix
equation , where K is the global stiffness matrix,
f is the load vector, and u is the desired
displacement solution), a sequence of Krylov solver iterations is performed, where an
approximate solution gets closer to the exact solution at each iteration. The error in the
approximate solution is measured by the relative residual of the linear system, defined by , where is the norm. The term “convergence” is used to describe this process, and the
approximate solution is said to be converged when the relative residual is below a
specified tolerance. By default, this tolerance is 10−6 for both linear
perturbation and general nonlinear procedures. The linear solver convergence tolerance is
independent from the nonlinear convergence process (that is, Newton-Raphson method)
tolerances that are used to determine if analysis increments converge. The latter are the
same regardless of the choice of linear equation solver (iterative or direct).
The rate at which the approximate solution converges is directly related to the conditioning of
the original system of equations. A linear system that is well conditioned will converge
faster than an ill-conditioned system. If the residual does not converge to tolerance
within the maximum number of iterations, the iterative solver is said to have encountered
a non-convergence and Abaqus/Standard issues a warning message. However, the analysis will continue running and in some cases
the Newton-Raphson iterations within increments might continue to converge.
Setting Controls for the Iterative Linear Solver
The default controls provided in
Abaqus/Standard
are usually sufficient. However, a method for overriding the default relative
convergence tolerance and maximum number of solver iterations is provided.
Resetting the Solver Controls
You can specify that the solver controls be reset to their default values.
Specifying the Relative Convergence Tolerance
By default, this tolerance is 10−6 for all linear perturbation and general nonlinear
procedures. For nonlinear problems the accuracy of the linear solution can impact the
convergence of the Newton method. In some cases it might be necessary to manually
specify the iterative solver relative tolerance to improve the convergence of the
Newton-Raphson method or to improve performance.
Specifying the Maximum Number of Solver Iterations
In rare instances the linear solver might require more than the default number of iterations to
converge to the desired level of accuracy. In this case you can increase the maximum
number of iterations allowed by the iterative solver (the default value is 500).
Deciding to Use the Iterative Solver
Many factors must be carefully weighed before deciding to use the iterative solver in Abaqus/Standard, such as element type, contact and constraint equations, material and geometric
nonlinearities, and material properties, all of which can impact robustness and performance.
In cases where the model is ill conditioned, the iterative solver might converge very slowly
or fail to converge. For example, this can occur if many elements have poor aspect ratios.
In general, the iterative solver might not converge for models for which the direct solver
issues the following:
Negative eigenvalue warning messages
Zero pivot warning messages
Numerical singularity warning messages
These warning messages indicate that the system matrix is very ill conditioned, and
iterative solver convergence is not guaranteed for an ill-conditioned system. For example,
the direct solver issues one of these warning messages for an underconstrained system, and
the iterative solver might fail during the preconditioner setup phase or might not converge
within the maximum number of iterations for this system.
In addition to these general limitations of the iterative solver, the iterative solver in
Abaqus/Standard has the following limitations:
Inertia relief loads are not supported.
Geostatic analyses and pore fluid diffusion analyses are not supported for models with
constraints using Lagrange multipliers.
Fully coupled thermal-stress and thermal-electrical analyses are not supported.
Steady-state transport analysis is not supported.
Apart from the robustness issues (relating mainly to the rate of convergence and
limitations), the iterative solver is more likely to outperform the direct sparse solver for
blocky models that require a very large number of floating point operations for
factorization. Typically, the number of degrees of freedom in the model must be greater than
one million before the iterative solver is comparable to the direct solver in terms of run
time.
Element Type and Model Geometry
The most basic modeling issue that will affect the performance of the iterative solver is the
model geometry, which must be carefully considered when deciding if the iterative solver
is suited for a particular model. In general, models that are blocky in nature (that is,
look more like a cube than a plate) and are dominated by solid elements will behave well
with the iterative solver. Although structural elements such as beams and shells are
supported, models with structural elements will not perform optimally; the direct sparse
solver should be used instead for such models. Common modeling techniques such as coating
solid elements with a thin layer of membrane elements to recover accurate stresses on the
boundary or fixing rigid body motion with weak springs might not work with the iterative
solver. Applying loads or boundary conditions to large node sets using locally transformed
coordinate systems can also cause convergence difficulties. All of these techniques are
likely to lead to extremely slow convergence or stagnation.
Another factor that can influence the convergence of the iterative solver is
the quality of the elements. Blocky models, such as an engine block, that
contain many poorly shaped elements with high aspect ratios can also lead to
poor iterative solver convergence. It is a good idea to look for warning
messages about poorly shaped elements when evaluating the performance of the
iterative solver.
Using cohesive elements with the iterative solver will likely lead to
nonconvergence.
Contact
Since contact is a form of nonlinear analysis, special care must be taken in
selecting the convergence tolerance for the iterative solver (see
Nonlinear Analysis
below). Therefore, it is recommended to run the model through a static
perturbation analysis before proceeding to the nonlinear problem. This will
demonstrate how the iterative solver will perform for the specific model
geometry without the added difficulty of nonlinear convergence.
Contact constraints enforced with Lagrange multipliers (that is, direct enforcement) or
very high penality stiffness might cause the iterative solver to fail to converge.
The iterative solver does not support pore fluid contact, regardless of the contact formulation
used.
Material Properties
When deciding to use the iterative solver, the variation of material properties in the model
should be considered. Models that have very large discontinuities in material behavior
(many orders of magnitude) will most likely converge slowly and possibly stagnate. Models
with almost fully incompressible material (that is, a Poisson ratio close to 0.5) will
converge very slowly.
Nonlinear Analysis
The iterative solver can be used to solve the linear system of algebraic
equations that arises at each iteration of the Newton procedure. However, the
convergence of the nonlinear problem will be affected by the convergence of the
iterative linear solver. The actual impact depends on the particular model and
type of nonlinearities present. In most cases the default iterative solver
tolerance of 10−6 is sufficient to maintain the convergence of the
Newton method; however, in some cases a smaller linear solver tolerance (for
example, 10−9) can be used to improve the nonlinear convergence.
If a nonlinear analysis that uses the iterative solver fails to converge, it
is often difficult to determine if this is due to the approximate linear
equation solution of the iterative solver or if the Newton process itself is
failing to converge. If nonlinear convergence problems occur, the direct solver
can be used—given the problem is solvable using the direct solver due to
solution cost—to eliminate the approximate linear solution as a possible source
of the problem.