#include "petscpc.h" PetscErrorCode PCFieldSplitSchurGetSubKSP(PC pc,PetscInt *n,KSP *subksp[])Collective on KSP
pc | - the preconditioner context |
n | - the number of splits | |
subksp | - the array of KSP contexts |
You must call PCSetUp() before calling PCFieldSplitSchurGetSubKSP().
If the fieldsplit type is of type PC_COMPOSITE_SCHUR, it returns (in order) - the KSP used for the (1,1) block - the KSP used for the Schur complement (not the one used for the interior Schur solver) - the KSP used for the (1,1) block in the upper triangular factor (if different from that of the (1,1) block).
It returns a null array if the fieldsplit is not of type PC_COMPOSITE_SCHUR; in this case, you should use PCFieldSplitGetSubKSP().
Fortran Usage: You must pass in a KSP array that is large enough to contain all the local KSPs. You can call PCFieldSplitSchurGetSubKSP(pc,n,PETSC_NULL_KSP,ierr) to determine how large the KSP array must be.