Skip to main content
`Ctrl`+`K`

# PCSetErrorIfFailure

Causes `PC` to generate an error if a floating point exception, for example a zero pivot, is detected.

## Synopsis

    #include "petscksp.h"
    PetscErrorCode PCSetErrorIfFailure(PC pc, PetscBool flg)

Logically Collective

## Input Parameters

- pc - iterative context obtained from `PCCreate()`

- flg - `PETSC_TRUE` indicates you want the error generated

## Notes

Normally PETSc continues if a linear solver fails due to a failed setup of a preconditioner, you can call `KSPGetConvergedReason()` after a `KSPSolve()` to determine if it has converged or failed. Or use -ksp_error_if_not_converged to cause the program to terminate as soon as lack of convergence is detected.

This is propagated into `KSP`s used by this `PC`, which then propagate it into `PC`s used by those `KSP`s

## See Also

KSP: Linear System Solvers, `PC`, `KSPSetErrorIfNotConverged()`, `PCGetInitialGuessNonzero()`, `PCSetInitialGuessKnoll()`, `PCGetInitialGuessKnoll()`

## Level

advanced

## Location

src/ksp/pc/interface/precon.c

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