petscmaster 20190819
SNESNRICHARDSON
Richardson nonlinear solver that uses successive substitutions, also sometimes known as Picard iteration.
Options Database
Notes
If no inner nonlinear preconditioner is provided then solves F(x)  b = 0 using x^{n+1} = x^{n}  lambda
(F(x^n)  b) where lambda is obtained either SNESLineSearchSetDamping(), snes_damping or a line search. If
an inner nonlinear preconditioner is provided (either with npc_snes_type or SNESSetNPC()) then the inner
solver is called an initial solution x^n and the nonlinear Richardson uses x^{n+1} = x^{n} + lambda d^{n}
where d^{n} = \hat{x}^{n}  x^{n} where \hat{x}^{n} is the solution returned from the inner solver.
The update, especially without inner nonlinear preconditioner, may be illscaled. If using the basic
linesearch, one may have to scale the update with snes_linesearch_damping
This uses no derivative information thus will be much slower then Newton's method obtained with snes_type ls
Only supports left nonlinear preconditioning.
See Also
SNESCreate(), SNES, SNESSetType(), SNESNEWTONLS, SNESNEWTONTR, SNESNGMRES, SNESQN, SNESNCG
Level
beginner
Location
src/snes/impls/richardson/snesrichardson.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages
 snes_linesearch_type <l2,cp,basic> Line search type.    snes_linesearch_damping<1.0> Damping for the line search.
