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 SNESSetFunction SNES_CONVERGED_FNORM_RELATIVE
SNESConvergedReason SNESSetJacobian SNES_CONVERGED_PNORM_RELATIVE
SNESCreate SNESSolve SNES_DIVERGED_FNORM_NAN
SNESDestroy SNESType SNES_DIVERGED_FUNCTION_COUNT
SNESGetKSP SNESView SNES_DIVERGED_LOCAL_MIN
SNESLS SNES_CONERGED_ITERATING SNES_DIVERGED_LS_FAILURE
SNESSetFromOptions SNES_CONVERGED_FNORM_ABS SNES_DIVERGED_MAX_IT
Intermediate - Setting options for algorithms and data structures
SNESClearMonitor SNESGetMaximumUnsuccessfulSteps SNESSetMonitor
SNESConverged_LS SNESGetNumberLinearIterations SNESSetRatioMonitor
SNESConverged_TR SNESGetNumberUnsuccessfulSteps SNESSetRhs
SNESDefaultComputeJacobian SNESGetRhs SNESSetSolution
SNESDefaultComputeJacobianColor SNESGetSolution SNESSetTolerances
SNESDefaultMonitor SNESGetTolerances SNESSetTrustRegionTolerance
SNESDefaultUpdate SNESGetType SNESSetType
SNESGetApplicationContext SNESLineSearchGetParams SNESSetUpdate
SNESGetConvergedReason SNESLineSearchSetParams SNESTR
SNESGetConvergenceHistory SNESRatioMonitor SNESVecViewMonitor
SNESGetFunctionNorm SNESSetApplicationContext SNESVecViewResidualMonitor
SNESGetIterationNumber SNESSetConvergenceHistory SNESVecViewUpdateMonitor
SNESGetLinearSolveFailures SNESSetMaxLinearSolveFailures
SNESGetMaxLinearSolveFailures SNESSetMaximumUnsuccessfulSteps
Advanced - Setting more advanced options and customization
SNESAppendOptionsPrefix SNESLineSearchNoNorms SNESRegisterDestroy
SNESDefaultMatrixFreeSetParameters2 SNESLineSearchQuadratic SNESRegisterDynamic
SNESGetFunction SNESLineSearchSet SNESSetConvergenceTest
SNESGetJacobian SNESLineSearchSetPostCheck SNESSetOptionsPrefix
SNESGetOptionsPrefix SNESLineSearchSetPreCheck SNESSetUp
SNESGetSolutionUpdate SNESMatrixFreeCreate2 SNES_KSP_SetConvergenceTestEW
SNESLineSearchCubic SNESRegister SNES_KSP_SetParametersEW
SNESLineSearchNo SNESRegisterAll
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
MatSNESMFRegisterDynamic SNESComputeFunction SNESInitializePackage
SNESAddOptionsChecker SNESComputeJacobian SNESSetKSP
No deprecated routines

Table of Contents