Gets the reason the
KSP iteration was stopped.
ksp - the
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 Key#
-ksp_converged_reason - prints the reason to standard out
KSP_CONVERGED_STEP_LENGTH are returned only by the special
solvers which are used by the
SNESNEWTONTR (trust region) solver.