# 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