Summary of Nonlinear Solvers Available In PETSc#

See the paper Composing Scalable Nonlinear Algebraic Solvers for details on the algorithms.

Algorithm

Associated Type

Notes

Newton’s method

SNESNEWTONLS

Use -snes_mf for matrix-free linear solvers

Newton’s method with trust region

SNESNEWTONTR

Newton with Arc Length Continuation

SNESNEWTONAL

Single linearization

SNESKSPONLY

Essentially one step of Newtwon without a line search

Quasi-Newton method (BFGS)

SNESQN

Nonlinear CG

SNESNCG

Requires nearly symmetric Jacobian for good convergence

Nonlinear GMRES

SNESNGMRES

Anderson mixing

SNESANDERSON

Nonlinear Richardson

SNESNRICHARDSON

Nonlinear Gauss-Siedel

SNESNGS

Full Approximation Scheme (nonlinear multigrid)

SNESFAS

Nonlinear additive Schwarz

SNESNASM

Nonlinear additive Schwarz preconditioned inexact Newton (ASPIN) methods

SNESASPIN

Composite (combine several nonlinear solvers)

SNESCOMPOSITE

Multi-stage smoothers

SNESMS

Preconditioned nonlinear solver

See SNESGetNPC()/ SNESSetNPC(), can be combined to accelerate many of the solvers