KSPDefaultConverged

Determines convergence of the iterative solvers (default code).

Synopsis

#include "petscksp.h" 
int KSPDefaultConverged(KSP ksp,int n,PetscReal rnorm,KSPConvergedReason *reason,void *dummy)
Collective on KSP

Input Parameters

ksp - iterative context
n - iteration number
rnorm - 2-norm residual value (may be estimated)
dummy - unused convergence context

Returns

1 - if the iteration has converged;
-1 - if residual norm exceeds divergence threshold;
0 - otherwise.

Notes

KSPDefaultConverged() reaches convergence when
     rnorm < MAX (rtol * rnorm_0, atol);
Divergence is detected if
     rnorm > dtol * rnorm_0,

where

Use KSPSetTolerances() to alter the defaults for rtol, atol, dtol.

Keywords

KSP, default, convergence, residual

See Also

KSPSetConvergenceTest(), KSPSetTolerances(), KSPSkipConverged()

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

rtol = relative tolerance,- . atol = absolute tolerance.
dtol = divergence tolerance,- - rnorm_0 = initial residual norm