Skip to main content
`Ctrl`+`K`

# PCFieldSplitSetIS

Sets the exact elements for a split in a `PCFIELDSPLIT`

## Synopsis

    #include "petscpc.h"
    PetscErrorCode PCFieldSplitSetIS(PC pc, const char splitname[], IS is)

Logically Collective

## Input Parameters

- pc - the preconditioner context

- splitname - name of this split, if `NULL` the number of the split is used

- is - the index set that defines the elements in this split

## Notes

Use `PCFieldSplitSetFields()`, for splits defined by strided `IS` based on the matrix block size or the `is_rows[]` passed into `MATNEST`

This function is called once per split (it creates a new split each time). Solve options for this split will be available under the prefix -fieldsplit_SPLITNAME_.

## See Also

Solving Block Matrices with PCFIELDSPLIT, `PC`, `PCFieldSplitGetSubKSP()`, `PCFIELDSPLIT`, `PCFieldSplitSetBlockSize()`, `PCFieldSplitSetFields()`

## Level

intermediate

## Location

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

## Examples

src/snes/tutorials/ex28.c
src/snes/tutorials/ex70.c
src/ksp/ksp/tutorials/ex84.c
src/ksp/ksp/tutorials/ex81.c

## Implementations

PCFieldSplitSetIS_FieldSplit() in src/ksp/pc/impls/fieldsplit/fieldsplit.c
PCFieldSplitSetIS_Redistribute() in src/ksp/pc/impls/redistribute/redistribute.c

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