KSPConvergedReason

reason a Krylov method was said to have converged or diverged

Synopsis

typedef enum {/* converged */
              KSP_CONVERGED_RTOL               =  2,
              KSP_CONVERGED_ATOL               =  3,
              KSP_CONVERGED_ITS                =  4,
              KSP_CONVERGED_STCG_NEG_CURVE     =  5,
              KSP_CONVERGED_STCG_CONSTRAINED   =  6,
              KSP_CONVERGED_STEP_LENGTH        =  7,
              KSP_CONVERGED_HAPPY_BREAKDOWN    =  8,
              /* diverged */
              KSP_DIVERGED_NULL                = -2,
              KSP_DIVERGED_ITS                 = -3,
              KSP_DIVERGED_DTOL                = -4,
              KSP_DIVERGED_BREAKDOWN           = -5,
              KSP_DIVERGED_BREAKDOWN_BICG      = -6,
              KSP_DIVERGED_NONSYMMETRIC        = -7,
              KSP_DIVERGED_INDEFINITE_PC       = -8,
              KSP_DIVERGED_NAN                 = -9,
              KSP_DIVERGED_INDEFINITE_MAT      = -10,
 
              KSP_CONVERGED_ITERATING          =  0} KSPConvergedReason;

Notes: this must match finclude/petscksp.h

Developer note: The string versions of these are in src/ksp/ksp/interface/itfunc.c called convergedreasons. If these enums are changed you must change those.

See Also

KSPSolve(), KSPGetConvergedReason(), KSPSetTolerances()

Level:beginner
Location:
src/ksp/ksp/../../../include/petscksp.h
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/ksp/ksp/examples/tutorials/ex10.c.html