Skip to main content
`Ctrl`+`K`

# PCFieldSplitSetDetectSaddlePoint

Sets flag indicating whether `PCFIELDSPLIT` will attempt to automatically determine fields based on zero diagonal entries.

## Synopsis

    #include "petscpc.h"
    PetscErrorCode PCFieldSplitSetDetectSaddlePoint(PC pc, PetscBool flg)

Logically Collective

## Input Parameter

- pc - the preconditioner context

## Output Parameter

- flg - boolean indicating whether to detect fields or not

## Options Database Key

- -pc_fieldsplit_detect_saddle_point <bool> - detect and use the saddle point

## Note

Also sets the split type to `PC_COMPOSITE_SCHUR` (see `PCFieldSplitSetType()`) and the Schur preconditioner type to `PC_FIELDSPLIT_SCHUR_PRE_SELF` (see `PCFieldSplitSetSchurPre()`).

## See Also

Solving Block Matrices with PCFIELDSPLIT, `PC`, `PCFIELDSPLIT`, `PCFieldSplitGetDetectSaddlePoint()`, `PCFieldSplitSetType()`, `PCFieldSplitSetSchurPre()`, `PC_FIELDSPLIT_SCHUR_PRE_SELF`

## Level

intermediate

## Location

src/ksp/pc/impls/fieldsplit/fieldsplit.c

## Examples

src/dm/impls/stag/tutorials/ex3.c
src/dm/impls/stag/tutorials/ex2.c

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