xref: /petsc/doc/overview/nonlinear_solve_table.md (revision b11d9968bc79904c690b122f9399be46447eb113)
1*7f296bb3SBarry Smith(doc_nonlinsolve)=
2*7f296bb3SBarry Smith
3*7f296bb3SBarry Smith# Summary of Nonlinear Solvers Available In PETSc
4*7f296bb3SBarry Smith
5*7f296bb3SBarry SmithSee the paper [Composing Scalable Nonlinear Algebraic Solvers](https://www.mcs.anl.gov/papers/P2010-0112.pdf) for details
6*7f296bb3SBarry Smithon the algorithms.
7*7f296bb3SBarry Smith
8*7f296bb3SBarry Smith```{eval-rst}
9*7f296bb3SBarry Smith.. list-table::
10*7f296bb3SBarry Smith   :widths: auto
11*7f296bb3SBarry Smith   :align: center
12*7f296bb3SBarry Smith   :header-rows: 1
13*7f296bb3SBarry Smith
14*7f296bb3SBarry Smith   * - Algorithm
15*7f296bb3SBarry Smith     - Associated Type
16*7f296bb3SBarry Smith     - Notes
17*7f296bb3SBarry Smith   * - Newton's method
18*7f296bb3SBarry Smith     - ``SNESNEWTONLS``
19*7f296bb3SBarry Smith     - Use ``-snes_mf`` for matrix-free linear solvers
20*7f296bb3SBarry Smith   * - Newton's method with trust region
21*7f296bb3SBarry Smith     - ``SNESNEWTONTR``
22*7f296bb3SBarry Smith     -
23*7f296bb3SBarry Smith   * - Single linearization
24*7f296bb3SBarry Smith     - ``SNESKSPONLY``
25*7f296bb3SBarry Smith     - Essentially one step of Newtwon without a line search
26*7f296bb3SBarry Smith   * - Quasi-Newton method (BFGS)
27*7f296bb3SBarry Smith     - ``SNESQN``
28*7f296bb3SBarry Smith     -
29*7f296bb3SBarry Smith   * - Nonlinear CG
30*7f296bb3SBarry Smith     - ``SNESNCG``
31*7f296bb3SBarry Smith     - Requires nearly symmetric Jacobian for good convergence
32*7f296bb3SBarry Smith   * - Nonlinear GMRES
33*7f296bb3SBarry Smith     - ``SNESNGMRES``
34*7f296bb3SBarry Smith     -
35*7f296bb3SBarry Smith   * - Anderson mixing
36*7f296bb3SBarry Smith     - ``SNESANDERSON``
37*7f296bb3SBarry Smith     -
38*7f296bb3SBarry Smith   * - Nonlinear Richardson
39*7f296bb3SBarry Smith     - ``SNESNRICHARDSON``
40*7f296bb3SBarry Smith     -
41*7f296bb3SBarry Smith   * - Nonlinear Gauss-Siedel
42*7f296bb3SBarry Smith     - ``SNESNGS``
43*7f296bb3SBarry Smith     -
44*7f296bb3SBarry Smith   * - Full Approximation Scheme (nonlinear multigrid)
45*7f296bb3SBarry Smith     - ``SNESFAS``
46*7f296bb3SBarry Smith     -
47*7f296bb3SBarry Smith   * - Nonlinear additive Schwarz
48*7f296bb3SBarry Smith     - ``SNESNASM``
49*7f296bb3SBarry Smith     -
50*7f296bb3SBarry Smith   * - Nonlinear additive Schwarz preconditioned inexact Newton (ASPIN) methods
51*7f296bb3SBarry Smith     - ``SNESASPIN``
52*7f296bb3SBarry Smith     -
53*7f296bb3SBarry Smith   * - Composite (combine several nonlinear solvers)
54*7f296bb3SBarry Smith     - ``SNESCOMPOSITE``
55*7f296bb3SBarry Smith     -
56*7f296bb3SBarry Smith   * - Preconditioned nonlinear solver
57*7f296bb3SBarry Smith     - ---
58*7f296bb3SBarry Smith     - See ``SNESGetNPC()``/ ``SNESSetNPC()``, can be combined to accelerate many of the solvers
59*7f296bb3SBarry Smith```
60