SNESNRICHARDSON#
Richardson nonlinear solver that uses successive substitutions, also sometimes known as Picard iteration.
Options Database Keys#
-snes_linesearch_type <l2,cp,basic> - Line search type.
-snes_linesearch_damping <1.0> - Damping for the line search.
Notes#
If no inner nonlinear preconditioner is provided then solves using where is obtained with either SNESLineSearchSetDamping()
, -snes_damping
or a line search. If
an inner nonlinear preconditioner is provided (either with -npc_snes_typ
e or SNESSetNPC()
) then the inner
solver is called on the initial solution and the nonlinear Richardson uses
where where is the solution returned from the inner solver.
The update, especially without inner nonlinear preconditioner, may be ill-scaled. If using the basic
linesearch, one may have to scale the update with -snes_linesearch_damping
This uses no derivative information provided with SNESSetJacobian()
thus it will be much slower then Newton’s method obtained with -snes_type ls
Only supports left non-linear preconditioning.
See Also#
SNES: Nonlinear Solvers, SNESCreate()
, SNES
, SNESSetType()
, SNESNEWTONLS
, SNESNEWTONTR
, SNESNGMRES
, SNESQN
, SNESNCG
,
SNESLineSearchSetDamping()
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