KSPGetConvergenceTest#

Gets the function to be used to determine convergence.

Synopsis#

#include "petscksp.h" 
#include "petscmat.h" 
PetscErrorCode KSPGetConvergenceTest(KSP ksp, PetscErrorCode (**converge)(KSP, PetscInt, PetscReal, KSPConvergedReason *, void *), void **cctx, PetscErrorCode (**destroy)(void *))

Logically Collective

Input Parameter#

  • ksp - iterative context obtained from KSPCreate()

Output Parameters#

  • converge - pointer to convergence test function

  • cctx - context for private data for the convergence routine (may be null)

  • destroy - a routine for destroying the context (may be null)

Calling sequence of converge#

PetscErrorCode converge(KSP ksp, PetscInt it, PetscReal rnorm, KSPConvergedReason *reason, void *mctx)
  • ksp - iterative context obtained from KSPCreate()

  • it - iteration number

  • rnorm - (estimated) 2-norm of (preconditioned) residual

  • reason - the reason why it has converged or diverged

  • cctx - optional convergence context, as set by KSPSetConvergenceTest()

Calling Sequence of destroy#

PetscErrorCode destroy(void *cctx)

See Also#

KSP: Linear System Solvers, KSP, KSPConvergedDefault(), KSPGetConvergenceContext(), KSPSetTolerances(), KSP, KSPSetConvergenceTest(), KSPGetAndClearConvergenceTest()

Level#

advanced

Location#

src/ksp/ksp/interface/itfunc.c


Edit on GitLab

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages