6.1.6 Iterative linear equation solver

Products: Abaqus/Standard  Abaqus/CAE  

Overview

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, Section 6.1.5) 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 (i.e., you cannot use the iterative solver in one step and the direct solver in another);

  • cannot be used with automatic stabilization with an adaptive damping factor (see Adaptive automatic stabilization scheme” in “Solving nonlinear problems, Section 7.1.1);

  • can be used with a constant damping factor if stabilization is necessary (see Automatic stabilization of static problems with a constant damping factor” in “Solving nonlinear problems, Section 7.1.1);

  • cannot be used if the system of equations includes Lagrange multiplier degrees of freedom (i.e., associated with distributing couplings, hybrid elements, connector elements, contact with direct enforcement); and

  • will degrade performance if used with models containing dense linear constraints (e.g., equations, kinematic couplings, MPCs) that eliminate a large number of slave degrees of freedom per master degree of freedom and/or eliminate some slave degrees of freedom in favor of a large number of master degrees of freedom.

Iterative solver basics

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 may be necessary to improve the convergence behavior. In some cases the only choice may 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 may 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 (i.e., 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, Section 6.1.5).

Input File Usage:          Use the following option to invoke the iterative solver:
*STEP, SOLVER=ITERATIVE

Abaqus/CAE Usage:   

Step module: step editor: Other: Method: Iterative


The 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:

  1. The Krylov method solver iterates on the system of equations generated by the finite element method while a preconditioner is applied at each iteration.

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

  3. In parallel, all components of the iterative solution process (including matrix assembly, preconditioner setup, and the actual solve using the Krylov method) are handled locally on each core with all necessary communication handled through an MPI-based 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, whereby 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–3 for general nonlinear procedures. Linear perturbation procedures have the default tolerance of 10–6 . While the default tolerance may seem loose for general nonlinear procedures, it is important to note that the linear solver convergence tolerance is independent from the nonlinear convergence process (i.e., 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 may 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.

Input File Usage:          
*SOLVER CONTROLS, RESET

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Reset all parameters to their system-defined defaults


Specifying the relative convergence tolerance

By default, this tolerance is 10–3 for procedures other than linear perturbation. Linear perturbation procedures have the default tolerance of 10–6. For nonlinear problems the accuracy of the linear solution can impact the convergence of the Newton method. In some cases it may be necessary to manually specify the iterative solver relative tolerance to improve the convergence of the Newton-Raphson method or to improve performance.

Input File Usage:          
*SOLVER CONTROLS
relative tolerance for convergence

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Specify: Relative tolerance: Specify: relative tolerance for convergence


Specifying the maximum number of solver iterations

In rare instances the linear solver may 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 300).

Input File Usage:          
*SOLVER CONTROLS
 , max number of solver iterations

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Specify: Max. number of iterations: Specify: max number of solver iterations


Specifying the incomplete factorization fill-in levels for soils and geostatic analyses

The preconditioner used for soils and geostatic analyses employs a factorization-based method, also known as ILU(k). In rare instances the linear solver may require more than the default number of incomplete factorization fill-in levels to converge to the desired accuracy level. Incomplete LU factorization of a matrix is a sparse approximation of the LU factorization. LU factorization typically changes the nonzero structure of the stiffness matrices by adding many nonzero entries; ILU factorization approximates the fully factorized matrices by limiting the number of nonzero entries introduced during the factorization. By default, the ILU factorization fill-in level used by the iterative solver is 0 and no nonzero entries are added. You can increase the fill-in level (maximum value is 3) to allow nonzero entries to be added based on the connectivity of the stiffness matrices and obtain a better approximation of the full factorization but with increased computational cost.

Input File Usage:          
*SOLVER CONTROLS
 , , ILU factorization fill-in level

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Specify: ILU factorization fill-in level: Specify: ILU factorization fill-in level


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 may converge very slowly or fail to converge. This may occur, for example, if many elements have poor aspect ratios.

In addition to the robustness issues (relating mainly to the rate of convergence or stagnation), the iterative solver is expected to outperform the direct sparse solver only for blocky models (even when the model is well conditioned) that require a very large number of floating point operations for factorization. Typically, for a well-conditioned solid model, the number of degrees of freedom in the global model must be greater than one million before the iterative solver will be 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 (i.e., 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 may 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.

Currently, hybrid elements and connectors are not supported with the iterative solver.

Using cohesive elements with the iterative solver will likely lead to nonconvergence.

Constraint equations

Although the iterative solver can be used for models that include constraint equations (such as multi-point constraints, surface-based tie constraints, kinematic couplings, etc.), certain limitations may exist in the following situations:

  • linear or nonlinear multi-point constraints containing more than a few thousand degrees of freedom;

  • more than a few thousand linear or nonlinear multi-point constraints containing shared master degrees of freedom;

  • rigid body definition of elements containing more than a few thousand degrees of freedom; or

  • kinematic coupling constraints containing more than a few thousand slave degrees of freedom.

If any of these conditions apply to a model, the solution cost of the linear system of equations will grow linearly with the number of such constraints. Furthermore, it is usually recommended to tighten the iterative solver tolerance and increase the number of maximum iterations in the linear iterative solver for nonlinear analysis to achieve convergence. Therefore, it is recommended to keep such constraints to a minimum if possible; otherwise, the increased cost may offset the performance gains that come from using the iterative solver.

Distributing couplings are not supported with the iterative solver.

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.

The iterative solver will work only with the penalty-based contact formulation with reasonable penalty stiffness. If contact with direct enforcement (i.e., the Lagrange multiplier method) or penalty contact with an extremely high penalty stiffness is used, Abaqus/Standard may 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.

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 some cases the default iterative solver tolerance of 10–3 is sufficient to maintain the convergence of the Newton method; in other cases a smaller linear solver tolerance (for example, 10–6) must be used.

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.

Your query was poorly formed. Please make corrections.


6.1.6 Iterative linear equation solver

Products: Abaqus/Standard  Abaqus/CAE  

Your query was poorly formed. Please make corrections.

Overview

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, Section 6.1.5) 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 (i.e., you cannot use the iterative solver in one step and the direct solver in another);

  • cannot be used with automatic stabilization with an adaptive damping factor (see Adaptive automatic stabilization scheme” in “Solving nonlinear problems, Section 7.1.1);

  • can be used with a constant damping factor if stabilization is necessary (see Automatic stabilization of static problems with a constant damping factor” in “Solving nonlinear problems, Section 7.1.1);

  • cannot be used if the system of equations includes Lagrange multiplier degrees of freedom (i.e., associated with distributing couplings, hybrid elements, connector elements, contact with direct enforcement); and

  • will degrade performance if used with models containing dense linear constraints (e.g., equations, kinematic couplings, MPCs) that eliminate a large number of slave degrees of freedom per master degree of freedom and/or eliminate some slave degrees of freedom in favor of a large number of master degrees of freedom.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Iterative solver basics

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 may be necessary to improve the convergence behavior. In some cases the only choice may 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 may 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 (i.e., 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, Section 6.1.5).

Input File Usage:          Use the following option to invoke the iterative solver:
*STEP, SOLVER=ITERATIVE

Abaqus/CAE Usage:   

Step module: step editor: Other: Method: Iterative


Your query was poorly formed. Please make corrections.

The 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:

  1. The Krylov method solver iterates on the system of equations generated by the finite element method while a preconditioner is applied at each iteration.

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

  3. In parallel, all components of the iterative solution process (including matrix assembly, preconditioner setup, and the actual solve using the Krylov method) are handled locally on each core with all necessary communication handled through an MPI-based implementation.

The process outlined above is performed entirely internal to Abaqus/Standard, with no user intervention required.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

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, whereby 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–3 for general nonlinear procedures. Linear perturbation procedures have the default tolerance of 10–6 . While the default tolerance may seem loose for general nonlinear procedures, it is important to note that the linear solver convergence tolerance is independent from the nonlinear convergence process (i.e., 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 may continue to converge.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

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.

Your query was poorly formed. Please make corrections.
Resetting the solver controls

You can specify that the solver controls be reset to their default values.

Input File Usage:          
*SOLVER CONTROLS, RESET

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Reset all parameters to their system-defined defaults


Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Specifying the relative convergence tolerance

By default, this tolerance is 10–3 for procedures other than linear perturbation. Linear perturbation procedures have the default tolerance of 10–6. For nonlinear problems the accuracy of the linear solution can impact the convergence of the Newton method. In some cases it may be necessary to manually specify the iterative solver relative tolerance to improve the convergence of the Newton-Raphson method or to improve performance.

Input File Usage:          
*SOLVER CONTROLS
relative tolerance for convergence

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Specify: Relative tolerance: Specify: relative tolerance for convergence


Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Specifying the maximum number of solver iterations

In rare instances the linear solver may 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 300).

Input File Usage:          
*SOLVER CONTROLS
 , max number of solver iterations

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Specify: Max. number of iterations: Specify: max number of solver iterations


Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Specifying the incomplete factorization fill-in levels for soils and geostatic analyses

The preconditioner used for soils and geostatic analyses employs a factorization-based method, also known as ILU(k). In rare instances the linear solver may require more than the default number of incomplete factorization fill-in levels to converge to the desired accuracy level. Incomplete LU factorization of a matrix is a sparse approximation of the LU factorization. LU factorization typically changes the nonzero structure of the stiffness matrices by adding many nonzero entries; ILU factorization approximates the fully factorized matrices by limiting the number of nonzero entries introduced during the factorization. By default, the ILU factorization fill-in level used by the iterative solver is 0 and no nonzero entries are added. You can increase the fill-in level (maximum value is 3) to allow nonzero entries to be added based on the connectivity of the stiffness matrices and obtain a better approximation of the full factorization but with increased computational cost.

Input File Usage:          
*SOLVER CONTROLS
 , , ILU factorization fill-in level

Abaqus/CAE Usage:   

Step module: OtherSolver ControlsEdit: Specify: ILU factorization fill-in level: Specify: ILU factorization fill-in level


Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

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 may converge very slowly or fail to converge. This may occur, for example, if many elements have poor aspect ratios.

In addition to the robustness issues (relating mainly to the rate of convergence or stagnation), the iterative solver is expected to outperform the direct sparse solver only for blocky models (even when the model is well conditioned) that require a very large number of floating point operations for factorization. Typically, for a well-conditioned solid model, the number of degrees of freedom in the global model must be greater than one million before the iterative solver will be comparable to the direct solver in terms of run time.

Your query was poorly formed. Please make corrections.

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 (i.e., 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 may 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.

Currently, hybrid elements and connectors are not supported with the iterative solver.

Using cohesive elements with the iterative solver will likely lead to nonconvergence.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

Constraint equations

Although the iterative solver can be used for models that include constraint equations (such as multi-point constraints, surface-based tie constraints, kinematic couplings, etc.), certain limitations may exist in the following situations:

  • linear or nonlinear multi-point constraints containing more than a few thousand degrees of freedom;

  • more than a few thousand linear or nonlinear multi-point constraints containing shared master degrees of freedom;

  • rigid body definition of elements containing more than a few thousand degrees of freedom; or

  • kinematic coupling constraints containing more than a few thousand slave degrees of freedom.

If any of these conditions apply to a model, the solution cost of the linear system of equations will grow linearly with the number of such constraints. Furthermore, it is usually recommended to tighten the iterative solver tolerance and increase the number of maximum iterations in the linear iterative solver for nonlinear analysis to achieve convergence. Therefore, it is recommended to keep such constraints to a minimum if possible; otherwise, the increased cost may offset the performance gains that come from using the iterative solver.

Distributing couplings are not supported with the iterative solver.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

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.

The iterative solver will work only with the penalty-based contact formulation with reasonable penalty stiffness. If contact with direct enforcement (i.e., the Lagrange multiplier method) or penalty contact with an extremely high penalty stiffness is used, Abaqus/Standard may fail to converge. The iterative solver does not support pore fluid contact, regardless of the contact formulation used.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

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.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.

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 some cases the default iterative solver tolerance of 10–3 is sufficient to maintain the convergence of the Newton method; in other cases a smaller linear solver tolerance (for example, 10–6) must be used.

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.

Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.
Your query was poorly formed. Please make corrections.