Sparse linear solver parameters¶
Wherever a record syntax shows [sparselinsolverparams (…)], that
stands for the following group of attributes, written directly in the same
record.
Syntax
[lstype (in)] [smtype (in)]
solverParams (s)
Parameters
- [
lstype(in)] Solver for the linear system of equations. Default
0. See Table 3 for the identifiers and Table 4 for the parameters each one takes.- [
smtype(in)] Sparse matrix storage scheme. Default
0, the symmetric skyline (SMT_Skyline). The scheme must be compatible with the solver type; the permitted combinations are in Table 3.solverParams(s)The parameters specific to the selected solver, listed in Table 4.
The available storage formats are the symmetric skyline (SMT_Skyline),
unsymmetric skyline (SMT_SkylineU), compressed column
(SMT_CompCol), dynamically growing compressed column
(SMT_DynCompCol), symmetric compressed column (SMT_SymCompCol),
dynamically growing compressed row (SMT_DynCompRow), the Spooles library
format (SMT_SpoolesMtrx), the PETSc library matrix representation
(SMT_PetscMtrx, a sparse serial or parallel matrix in AIJ format), and the
DSS-compatible representations (SMT_DSS_*).
Solver identifiers¶
|
Solver |
Compatible storage schemes ( |
|---|---|---|
0 |
Direct ( |
0, 1 |
1 |
Iterative Method Library ( |
0, 1, 2, 3, 4, 5; recommended 4 if symmetric, otherwise 2 |
2 |
Spooles ( |
6 |
3 |
PETSc ( |
7 |
4 |
DirectSparseSolver ( |
8, 9, 10; recommended 8 if symmetric, otherwise 10 |
6 |
Intel MKL Pardiso ( |
2 |
7 |
SuperLU_MT ( |
2 |
8 |
Pardiso Project ( |
2 |
|
Storage format |
Compatible solvers ( |
|---|---|---|
0 |
|
0, 1 |
1 |
|
0, 1 |
2 |
|
1, 6, 7, 8 |
3 |
|
1 |
4 |
|
1 |
5 |
|
1 |
6 |
|
2 |
7 |
|
3 |
8 |
|
4 |
9 |
|
4 |
10 |
|
4 |
Solver type |
id |
Solver parameters and notes |
|---|---|---|
ST_Direct |
0 |
None. |
ST_IML |
1 |
|
ST_Spooles |
2 |
Optional |
ST_Petsc |
3 |
See the PETSc manual, and the run-time options below. |
ST_DSS |
4 |
Sparse direct solver included in OOFEM;
compile with |
ST_MKLPardiso |
6 |
Requires Intel MKL Pardiso. |
ST_SuperLU_MT |
7 |
SuperLU for shared memory machines. |
ST_PardisoProjectOrg |
8 |
Requires the Pardiso solver from pardiso-project.org. |
Iterative solvers from the IML library¶
- [
stype(in)] Which iterative solver from the IML library to use:
0(default) the conjugate gradient solver,1GMRES.lstol(rn)Maximum value of the residual after the final iteration.
lsiter(in)Maximum number of iterations.
lsprecond(in)Type of preconditioner; see Table 5.
- [
precondattributes(s)] Optional preconditioner parameters; see Table 5.
Precond type |
id |
Compatible storage |
Description and parameters |
|---|---|---|---|
IML_VoidPrec |
0 |
all |
No preconditioning. |
IML_DiagPrec |
1 |
all |
Diagonal preconditioning. |
IML_ILUPrec |
2 |
SMT_CompCol, SMT_DynCompCol |
Incomplete LU decomposition with no fill-up. |
IML_ILUPrec |
3 |
SMT_DynCompRow |
Incomplete LU (ILUT) with fill-up. The
|
IML_ICPrec |
4 |
SMT_SymCompCol, SMT_CompCol |
Incomplete Cholesky with no fill-up. |
PETSc run-time options¶
With ST_PETSC several run-time options can be set on the command line, for
example:
-ksp_type [cg, gmres, bicg, bcgs]
-pc_type [jacobi, bjacobi, none, ilu, ...]
-ksp_monitor
-ksp_rtol <value>
-ksp_view
-ksp_converged_reason
These options override the defaults, because PETSc’s KSPSetFromOptions()
routine is called after any other customization routine.