#include "petscpc.h" PetscErrorCode PCFieldSplitSetFields(PC pc,const char splitname[],PetscInt n,const PetscInt *fields,const PetscInt *fields_col)Logically Collective on PC Many br
pc | - the preconditioner context Many br | |
splitname | - name of this split, if NULL the number of the split is used Many br | |
n | - the number of fields in this split Many br | |
fields | - the fields in this split Many br |
Many br
Notes: Use PCFieldSplitSetIS() to set a completely general set of indices as a field. Many br
The PCFieldSplitSetFields() is for defining fields as strided blocks. For example, if the block Many brsize is three then one can define a field as 0, or 1 or 2 or 0,1 or 0,2 or 1,2 which mean Many br0xx3xx6xx9xx12 ... x1xx4xx7xx ... xx2xx5xx8xx.. 01x34x67x... 0x1x3x5x7.. x12x45x78x.... Many brwhere the numbered entries indicate what is in the field. Many br
This function is called once per split (it creates a new split each time). Solve options Many brfor this split will be available under the prefix -fieldsplit_SPLITNAME_. Many br
Developer Note: This routine does not actually create the IS representing the split, that is delayed Many bruntil PCSetUp_FieldSplit(), because information about the vector/matrix layouts may not be Many bravailable when this routine is called. Many br
Level:intermediate
Location:src/ksp/pc/impls/fieldsplit/fieldsplit.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages