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