petsc-3.12.5 2020-03-29
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