!SOLVER¶
Solver control
Required control data.
Parameters¶
METHOD = Solution method (CG, BiCGSTAB, GMRES, GPBiCG, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Direct method except for contact analysis (serial processing only) (currently unavailable)
DIRECTmkl : Direct method using Intel MKL
MUMPS : Direct method using MUMPS
When a direct method is selected, the data lines are ignored.
Iterative methods for 3-DOF problems support thread-parallel execution with OpenMP
PRECOND = Preconditioning method for iterative solvers (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Block) SSOR (with multi-color ordering only for 3-DOF problems)
3 : (Block) Diagonal Scaling
5 : AMG using the multigrid preconditioning package ML
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
10, 11, and 12 are available only for 3-DOF problems
For OpenMP thread-parallel execution, SSOR, Diagonal Scaling, or ML is recommended
ITERLOG = Whether to output iterative-solver convergence history (YES/NO)(Default: NO)
TIMELOG = Whether to output solver computation time (YES/NO/VERBOSE)(Default: NO)
USEJAD = Whether to use ordering for vector processors (YES/NO)(Default: NO)
Valid only when an iterative method is used for a 3-DOF problem
SCALING = Whether to scale the matrix so that diagonal entries are 1 (YES/NO)(Default: NO)
Valid only when an iterative method is used for a 3-DOF problem
DUMPTYPE = Matrix dump format (NONE, MM, CSR, BSR) (mainly for debugging)
NONE : Do not dump (Default)
MM : Matrix Market format
CSR : Compressed Sparse Row (CSR) format
BSR : Blocked CSR format
DUMPEXIT = Terminate the program immediately after matrix dumping (YES/NO)(Default: NO)
MPCMETHOD = Method for handling multipoint constraints (1, 2, 3)
1: Penalty method (Default when using a direct method)
2: MPC-CG method (Deprecated)
3: Explicit DOF elimination (Default when using an iterative method)
ESTCOND = Frequency of condition-number estimation (experimental)
Estimate the condition number at each specified iteration interval and at the end of the iterations
No estimation is performed when 0 is specified
METHOD2 = Secondary solution method (BiCGSTAB, GMRES, GPBiCG) (experimental)
Valid only when CG is specified for METHOD
If CG diverges, automatically switch to the secondary method and continue solving
The same values are used for the other parameters and data lines
CONTACT_ELIM = Specifies whether DOF elimination is performed in contact analysis (0,1)
0: Perform DOF elimination only when using an iterative method (Default)
1: Always perform DOF elimination (including when using a direct method)
** 2nd line and later **
| Variable | Attribute | Description |
|---|---|---|
| NITER | I | Number of iterations (Default: 100) |
| iterPREmax | I | Number of Additive Schwarz preconditioning iterations (Default: 1) (Recommended value: 1; 2 may be effective in some parallel computations) |
| NREST | I | Number of Krylov subspaces (Default: 10) (Valid only when GMRES is selected as the solution method) |
| NCOLOR_IN | I | Target number of colors for multi-color ordering (Default: 10) (Valid only when the number of OpenMP threads is 2 or greater) |
| RECYCLEPRE | I | Number of times preconditioner setup information is reused (Default: 3) (Valid only in nonlinear analysis) |
| Variable | Attribute | Description |
|---|---|---|
| RESID | R | Truncation error (Default: 1.0e-8) |
| SIGMA_DIAG | R | Scale factor applied to diagonal entries when computing the preconditioning matrix (Default: 1.0) (If division by zero or divergence occurs with ILU preconditioning, the problem may converge when a value greater than 1.0 is specified) |
| SIGMA | R | Unused (Default: 0.0) |
When PRECOND=5 (optional)¶
If any other value is specified for PRECOND, the 4th line is ignored.
| Variable | Attribute | Description |
|---|---|---|
| ML_CoarseSolver | I | Coarse-grid solver for ML (1: use smoother, 2: KLU (serial direct method), 3: MUMPS (parallel direct method)) (Default: 1) (Recommended: 3 or 2 for difficult problems, 1 for ordinary problems) |
| ML_Smoother | I | ML smoother (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Default: 1) (Recommended: 1) |
| ML_MGCycle | I | ML multigrid cycle (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Default: 1) (Recommended: 2 for difficult problems, 1 for ordinary problems) |
| ML_MaxLevels | I | Maximum number of ML levels (Default: 10) (For particularly difficult problems, use a direct coarse solver and 2 levels (or 3 if memory is insufficient); for ordinary problems, 10 is recommended) |
| ML_CoarseningScheme | I | ML coarsening scheme (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Default: 1) (Recommended: 1 or 5) |
| ML_NumSweep | I | Number of ML smoother sweeps (polynomial degree for Chebyshev) (Default: 2) (Recommended: 2 for Chebyshev, 1 for SymBlockGaussSeidel) |
Examples¶
Use CG with SSOR preconditioning, and set the maximum number of iterations to 10000 and the truncation error to 1.0e-8
Use GMRES with SSOR preconditioning, and set the number of Krylov subspaces to 40 and the target number of colors for multi-color ordering to 100
Use CG with ILU(0) preconditioning, and set the scale factor applied to diagonal entries when computing the preconditioning matrix to 1.1
Use AMG by ML as the preconditioner for CG
Use AMG by ML as the preconditioner for CG and use MUMPS as the coarse-grid solver (for difficult problems)
Use AMG by ML as the preconditioner for CG and use W-cycle as the multigrid cycle (for difficult problems)
Use AMG by ML as the preconditioner for CG, use MUMPS as the coarse-grid solver, and set the maximum number of levels to 2 (for very difficult problems)