petsc-3.12.4 2020-02-04
Report Typos and Errors

# PCFieldSplitGetSubKSP

Gets the KSP contexts for all splits

### Synopsis

    #include "petscpc.h"
    PetscErrorCode  PCFieldSplitGetSubKSP(PC pc,PetscInt *n,KSP *subksp[])

Collective on KSP

### Input Parameter

pc -the preconditioner context

### Output Parameters

| n | - the number of splits
| subksp | - the array of KSP contexts

### Note

After PCFieldSplitGetSubKSP() the array of KSPs is to be freed by the user with PetscFree() (not the KSP just the array that contains them).

You must call PCSetUp() before calling PCFieldSplitGetSubKSP().

If the fieldsplit is of type PC_COMPOSITE_SCHUR, it returns the KSP object used inside the Schur complement and the KSP object used to iterate over the Schur complement. To access all the KSP objects used in PC_COMPOSITE_SCHUR, use PCFieldSplitSchurGetSubKSP().

If the fieldsplit is of type PC_COMPOSITE_GKB, it returns the KSP object used to solve the inner linear system defined by the matrix H in each loop.

Fortran Usage: You must pass in a KSP array that is large enough to contain all the local KSPs. You can call PCFieldSplitGetSubKSP(pc,n,PETSC_NULL_KSP,ierr) to determine how large the KSP array must be.

### See Also

PCFIELDSPLIT

### Level

advanced

### Location

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

### Examples

src/ksp/ksp/examples/tutorials/ex43.c.html
src/ksp/ksp/examples/tutorials/ex70.c.html
src/snes/examples/tutorials/ex70.c.html

### Implementations

PCFieldSplitGetSubKSP_FieldSplit_Schur in src/ksp/pc/impls/fieldsplit/fieldsplit.c
PCFieldSplitGetSubKSP_FieldSplit in src/ksp/pc/impls/fieldsplit/fieldsplit.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages