KSPCheckSolve#

Checks if the PCSetUp() or KSPSolve() failed and set the error flag for the outer PC. A KSP_DIVERGED_ITS is not considered a failure in this context

Synopsis#

#include "petscksp.h" 
PetscErrorCode KSPCheckSolve(KSP ksp, PC pc, Vec vec)

Collective

Input Parameters#

  • ksp - the linear solver KSP context.

  • pc - the preconditioner context

  • vec - a vector that will be initialized with Inf to indicate lack of convergence

Note#

This is called within PCApply() implementations to check if an error has been detected on any particular MPI processes. By initializing the vector with Inf the next call to KSPCheckNorm() or KSPCheckDot() will provide the same information to all the MPI processes that an error occurred on at least one of the processes.

This may be called by a subset of the processes in the PC.

Developer Note#

This is used to manage returning with appropriate information from preconditioners whose inner KSP solvers have failed in some way

See Also#

KSP: Linear System Solvers, KSP, KSPCreate(), KSPSetType(), KSPCheckNorm(), KSPCheckDot()

Level#

developer

Location#

src/ksp/ksp/interface/iterativ.c


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