Overhaul petsc solver setup
This MR overhauls the setup of PetscInverseOperator
. This includes a change of the default choice for the linear solver and a change in semantics for the none
preconidtioner. Also in most case the verbose output is complete now (and in consequence in some case much longer).
The following list all available options, where defauls are marked with (*).
petsc.kspsolver.method
-
default (*)
PETSc default (GMRes: restart: 30, classical Gram-SChmidt Orthogonalization with no iterative refinement)
This option allows to specify PETSc cmdline options for solvers (and preconditioners, which may be partially overwritten). -
cg
-
minres
-
bicg
-
bicgstab
-
gmres Restarted Generalized MINRes. Set restart with
petsc.gmres.restart
. -
preonly only apply the preconditioner.
petsc.gmres.restart
( int )
Number of GMRes iterations before restart (default: 10).
petsc.preconditioning.method
-
default (*)
PETSc default (ILU(0))
This option allows to specify PETSc cmdline options for preconditioners. Ifpetsc.kspsolver.method
is also set todefault
the option is ignored. -
none no preconditioning. (Previously this option hat the behaviour of
default
.) -
asm Overlapping Additive Schwarz
-
sor
-
jacobi
-
hypre Hypre package. Method is chosen with
petsc.preconditiong.hypre.method
. -
ml
-
ilu, icc These Preconditioners do not work in parallel. Set fill-in level with
petsc.preconditioning.levels
. -
lu LU Factorization. Method is chosen with
petsc.preconditioning.lu.method
petsc.preconiditioning.hypre.method
-
boomer-amg (*)
-
parasails
-
pilu-t
petsc.preocnditioning.lu.method
-
petsc (*)
-
superlu corresponds to the PETSc option superlu_dist.
-
mumps
petsc.preconditioning.levels
( int )
Fill-in level for ILU and ICC preconditioner (default: 0).
this option was previously called petsc.preconditioning.iterations
and was internally set 1 + val
.