Skip to content

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. If petsc.kspsolver.method is also set to default 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.

Merge request reports