petsc-3.8.4 2018-03-24
Report Typos and Errors

KSPGetConvergedReason

Gets the reason the KSP iteration was stopped.

Synopsis

#include "petscksp.h" 
PetscErrorCode  KSPGetConvergedReason(KSP ksp,KSPConvergedReason *reason)
Not Collective

Input Parameter

ksp -the KSP context

Output Parameter

reason -negative value indicates diverged, positive value converged, see KSPConvergedReason

Possible values for reason: See also manual page for each reason

 KSP_CONVERGED_RTOL (residual 2-norm decreased by a factor of rtol, from 2-norm of right hand side)
 KSP_CONVERGED_ATOL (residual 2-norm less than abstol)
 KSP_CONVERGED_ITS (used by the preonly preconditioner that always uses ONE iteration, or when the KSPConvergedSkip() convergence test routine is set.
 KSP_CONVERGED_CG_NEG_CURVE (see note below)
 KSP_CONVERGED_CG_CONSTRAINED (see note below)
 KSP_CONVERGED_STEP_LENGTH (see note below)
 KSP_CONVERGED_ITERATING (returned if the solver is not yet finished)
 KSP_DIVERGED_ITS  (required more than its to reach convergence)
 KSP_DIVERGED_DTOL (residual norm increased by a factor of divtol)
 KSP_DIVERGED_NANORINF (residual norm became Not-a-number or Inf likely due to 0/0)
 KSP_DIVERGED_BREAKDOWN (generic breakdown in method)
 KSP_DIVERGED_BREAKDOWN_BICG (Initial residual is orthogonal to preconditioned initial residual. Try a different preconditioner, or a different initial Level.)

Options Database

-ksp_converged_reason -prints the reason to standard out

Notes: If this routine is called before or doing the KSPSolve() the value of KSP_CONVERGED_ITERATING is returned

The values KSP_CONVERGED_CG_NEG_CURVE, KSP_CONVERGED_CG_CONSTRAINED, and KSP_CONVERGED_STEP_LENGTH are returned only by the special KSPCGNASH, KSPCGSTCG, and KSPCGGLTR solvers which are used by the SNESNEWTONTR (trust region) solver.

Keywords

KSP, nonlinear, set, convergence, test

See Also

KSPSetConvergenceTest(), KSPConvergedDefault(), KSPSetTolerances(), KSPConvergedReason

Level:intermediate
Location:
src/ksp/ksp/interface/iterativ.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/ksp/pc/examples/tutorials/ex1.c.html
src/ksp/pc/examples/tutorials/ex2.c.html
src/ksp/ksp/examples/tutorials/ex10.c.html