petsc-3.14.6 2021-03-30
Report Typos and Errors

SNESNCG

Nonlinear Conjugate-Gradient method for the solution of general nonlinear systems.

Options Database

-snes_ncg_type <fr, prp, dy, hs, cd> - Choice of conjugate-gradient update parameter, default is prp.
-snes_linesearch_type <cp,l2,basic> - Line search type.
-snes_ncg_monitor - Print the beta values used in the ncg iteration, .

Notes

This solves the nonlinear system of equations F(x) = 0 using the nonlinear generalization of the conjugate gradient method. This may be used with a nonlinear preconditioner used to pick the new search directions, but otherwise chooses the initial search direction as F(x) for the initial guess x.

Only supports left non-linear preconditioning.

Default line search is SNESLINESEARCHCP, unless a nonlinear preconditioner is used with -npc_snes_type <type>, SNESSetNPC(), or SNESGetNPC() then SNESLINESEARCHL2 is used. Also supports the special purpose line search SNESLINESEARCHNCGLINEAR

References

1. - Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu,"Composing Scalable Nonlinear Algebraic Solvers", SIAM Review, 57(4), 2015

See Also

SNESCreate(), SNES, SNESSetType(), SNESNEWTONLS, SNESNEWTONTR, SNESNGMRES, SNESQN, SNESLINESEARCHNCGLINEAR, SNESNCGSetType(), SNESNCGGetType(), SNESLineSearchSetType()

Level

beginner

Location

src/snes/impls/ncg/snesncg.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages