typedef enum {/* converged */
SNES_CONVERGED_FNORM_ABS = 2, /* F < F_minabs */
SNES_CONVERGED_FNORM_RELATIVE = 3, /* F < F_mintol*F_initial */
SNES_CONVERGED_PNORM_RELATIVE = 4, /* step size small */
SNES_CONVERGED_ITS = 5, /* maximum iterations reached */
SNES_CONVERGED_TR_DELTA = 7,
/* diverged */
SNES_DIVERGED_FUNCTION_DOMAIN = -1,
SNES_DIVERGED_FUNCTION_COUNT = -2,
SNES_DIVERGED_LINEAR_SOLVE = -3,
SNES_DIVERGED_FNORM_NAN = -4,
SNES_DIVERGED_MAX_IT = -5,
SNES_DIVERGED_LS_FAILURE = -6,
SNES_DIVERGED_LOCAL_MIN = -8, /* || J^T b || is small, implies converged to local minimum of F() */
SNES_CONVERGED_ITERATING = 0} SNESConvergedReason;
Notes: this must match finclude/petscsnes.h
Developer note: The string versions of these are in src/snes/interface/snes.c called convergedreasons. If these enums are changed you much change those.
Level:beginner
Location:src/snes/../../include/petscsnes.h
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages