The Scalable Nonlinear Equations Solvers (SNES) component provides an
easy-to-use interface to Newton-type, quasi-Newton, full approximation scheme (FAS) multigrid, and other methods for solving systems of
nonlinear equations. SNES users can set various algorithmic options
at runtime via the options database (e.g., specifying a trust region
method via
-snes_type newtontr
).
SNES internally employs KSP for the solution of
its linear systems.
SNES users can also set KSP options directly in application
codes by first extracting the KSP context from the SNES context via
SNESGetKSP()
and then directly calling various KSP (and PC) routines (e.g.,
PCSetType()
).