File: nonlinear_solve_table.rst.txt

package info (click to toggle)
petsc 3.22.5%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 516,740 kB
  • sloc: ansic: 814,333; cpp: 50,948; python: 37,416; f90: 17,187; javascript: 3,493; makefile: 3,198; sh: 1,502; xml: 619; objc: 445; java: 13; csh: 1
file content (60 lines) | stat: -rw-r--r-- 1,589 bytes parent folder | download
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