KSPDefaultConverged
Determines convergence of the iterative solvers (default code).
Synopsis
#include "petscksp.h"
PetscErrorCode KSPDefaultConverged(KSP ksp,PetscInt 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
| positive | - if the iteration has converged;
|
| negative | - if residual norm exceeds divergence threshold;
|
| 0 | - otherwise.
|
Notes
KSPDefaultConverged() reaches convergence when
rnorm < MAX (rtol * rnorm_0, abstol);
Divergence is detected if
rnorm > dtol * rnorm_0,
where
| rtol = relative tolerance, | - . abstol = absolute tolerance.
|
| dtol = divergence tolerance, | - - rnorm_0 = initial residual norm
|
Use KSPSetTolerances() to alter the defaults for rtol, abstol, dtol.
The precise values of reason are macros such as KSP_CONVERGED_RTOL, which
are defined in petscksp.h.
Keywords
KSP, default, convergence, residual
See Also
KSPSetConvergenceTest(), KSPSetTolerances(), KSPSkipConverged(), KSPConvergedReason, KSPGetConvergedReason()
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