SNESLINESEARCHNONE#

This line search implementation is not a line search at all; it simply uses the full step \(x_{k+1} = x_k - \lambda Y_k\). \(\lambda=1\) by default, but it can be configured to be a constant damping factor using -snes_linesearch_damping or SNESLineSearchSetDamping(). Thus, this routine is intended for methods with well-scaled updates; i.e. Newton’s method (SNESNEWTONLS), on well-behaved problems.

Options Database Keys#

  • -snes_linesearch_damping damping - step length is scaled by this factor, i.e. this is the \(\lambda\) above

  • -snes_linesearch_norms (true|false) - whether to compute norms or not (SNESLineSearchSetComputeNorms())

Note#

For methods with ill-scaled updates (SNESNRICHARDSON, SNESNCG), a small damping parameter may yield satisfactory, but slow convergence, despite the lack of the line search.

See Also#

SNES: Nonlinear Solvers, SNES, SNESLineSearch, SNESLineSearchType, SNESGetLineSearch(), SNESLineSearchCreate(), SNESLineSearchSetType(), SNESLineSearchSetDamping(), SNESLineSearchSetComputeNorms()

Level#

advanced

Location#

src/snes/linesearch/impls/none/linesearchnone.c

Examples#

src/ts/tutorials/ex22f.F90
src/ts/tutorials/ex22.c
src/ts/utils/dmplexlandau/tutorials/ex1f90.F90


Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages