## Nonlinear solvers - SNES: Examples

The Scalable Nonlinear Equations Solvers (SNES) component provides an easy-to-use interface to Newton-based 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 tr ). 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 KSP and PC) routines (e.g., PCSetType() ).

Beginner - Basic usage | SNES | SNESSetFromOptions | SNES_CONVERGED_FNORM_RELATIVE
SNESConvergedReason | SNESSetFunction | SNES_CONVERGED_PNORM_RELATIVE
SNESCreate | SNESSetJacobian | SNES_DIVERGED_FNORM_NAN
SNESDefaultRhsBC | SNESSolve | SNES_DIVERGED_FUNCTION_COUNT
SNESDefaultSolutionBC | SNESType | SNES_DIVERGED_LOCAL_MIN
SNESDestroy | SNESView | SNES_DIVERGED_LS_FAILURE
SNESGetKSP | SNES_CONERGED_ITERATING | SNES_DIVERGED_MAX_IT
SNESLS | SNES_CONVERGED_FNORM_ABS |
Intermediate - Setting options for algorithms and data structures | DMMGSetSNESLocal | SNESGetFunctionNorm | SNESSetMonitor
SNESClearMonitor | SNESGetIterationNumber | SNESSetRatioMonitor
SNESConverged_LS | SNESGetLineSearchParams | SNESSetRhs
SNESConverged_TR | SNESGetMaximumUnsuccessfulSteps | SNESSetRhsBC
SNESDAComputeJacobianWithAdic | SNESGetNumberLinearIterations | SNESSetSolutionBC
SNESDAFormFunction | SNESGetNumberUnsuccessfulSteps | SNESSetTolerances
SNESDefaultComputeJacobian | SNESGetTolerances | SNESSetTrustRegionTolerance
SNESDefaultComputeJacobianColor | SNESGetType | SNESSetType
SNESDefaultMonitor | SNESRatioMonitor | SNESSetUpdate
SNESDefaultUpdate | SNESSetApplicationContext | SNESTR
SNESGetApplicationContext | SNESSetConvergenceHistory | SNESVecViewMonitor
SNESGetConvergedReason | SNESSetLineSearchParams | SNESVecViewResidualMonitor
SNESGetConvergenceHistory | SNESSetMaximumUnsuccessfulSteps | SNESVecViewUpdateMonitor
Advanced - Setting more advanced options and customization | DMMGSetSNES | SNESGetSolutionUpdate | SNESRegisterDynamic
SNESAppendOptionsPrefix | SNESMatrixFreeMatCreate2 | SNESSetConvergenceTest
SNESCubicLineSearch | SNESNoLineSearch | SNESSetLineSearch
SNESDefaultMatrixFreeSetParameters2 | SNESNoLineSearchNoNorms | SNESSetLineSearchCheck
SNESGetFunction | SNESQuadraticLineSearch | SNESSetOptionsPrefix
SNESGetJacobian | SNESRegister | SNESSetUp
SNESGetOptionsPrefix | SNESRegisterAll | SNES_KSP_SetConvergenceTestEW
SNESGetSolution | SNESRegisterDestroy | SNES_KSP_SetParametersEW
Developer - Interfaces intended primarily for library developers, not for typical applications programmers | MatSNESMFRegisterDynamic | SNESComputeFunction | SNESInitializePackage
SNESAddOptionsChecker | SNESComputeJacobian |

Table of Contents