1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
.. _doc_nonlinsolve:
===============================================
Summary of Nonlinear Solvers Available In PETSc
===============================================
See the paper `Composing Scalable Nonlinear Algebraic Solvers
<https://www.mcs.anl.gov/papers/P2010-0112.pdf>`__ for details
on the algorithms.
.. list-table::
:widths: auto
:align: center
:header-rows: 1
* - Algorithm
- Associated Type
- Notes
* - Newton's method
- ``SNESNEWTONLS``
- Use ``-snes_mf`` for matrix-free linear solvers
* - Newton's method with trust region
- ``SNESNEWTONTR``
-
* - 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``
-
* - Preconditioned nonlinear solver
- ---
- See ``SNESGetNPC()``/ ``SNESSetNPC()``, can be combined to accelerate many of the solvers
|