ProductsAbaqus/StandardAbaqus/CAE Iterative solver basicsThe 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). Abaqus/CAE Usage Step module: step editor: Other: Method: Iterative The iterative solution techniqueThe iterative solution technique in Abaqus/Standard is based on Krylov methods employing a preconditioner. This solver uses the following general strategy:
The process outlined above is performed entirely internal to Abaqus/Standard, with no user intervention required. Convergence of the linear system of equationsTo 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 solverThe 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 controlsYou can specify that the solver controls be reset to their default values. Input File Usage SOLVER CONTROLS, RESET Abaqus/CAE Usage Step module: Reset all parameters to their system-defined defaults: Specifying the relative convergence toleranceBy 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: Specify: Relative tolerance: Specify: relative tolerance for convergence: Specifying the maximum number of solver iterationsIn 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: Specify: Max. number of iterations: Specify: max number of solver iterations: Specifying the incomplete factorization fill-in levels for soils and geostatic analysesThe 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: Specify: ILU factorization fill-in level: Specify: ILU factorization fill-in level: Deciding to use the iterative solverMany 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 geometryThe 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 equationsAlthough 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:
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. ContactSince 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 propertiesWhen 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 analysisThe 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. |