PCPatchSetDiscretisationInfo#
Provide the per-subspace discretisation information required by a PCPATCH preconditioner to build patch problems
Synopsis#
#include "petscpc.h"
#include "petscmat.h"
PetscErrorCode PCPatchSetDiscretisationInfo(PC pc, PetscInt nsubspaces, DM dms[], const IS isets[], PetscInt dofsPerCell[], const PetscInt **cellDofMap, PetscInt numGhostBcs, const PetscInt ghostBcDofs[], PetscInt numGlobalBcs, const PetscInt globalBcDofs[])
Logically Collective
Input Parameters#
pc - the
PCPATCHpreconditionernsubspaces - the number of discretisation subspaces (e.g. fields)
dms - array of length
nsubspacesofDMs, one per subspace, from which the local sections and sectionPetscSFs are obtainedisets - array of length
nsubspacesgiving theISs mapping subspace DoFs to DoFs in the full local mixed spacedofsPerCell - array of length
nsubspacesgiving the number of DoFs per cell for each subspacecellDofMap - array of length
nsubspaces; entryiis a cell-to-DoF map (array) of length(cEnd - cStart) * dofsPerCell[i]numGhostBcs - number of ghost (off-process) boundary-condition dofs
ghostBcDofs - array of length
numGhostBcsof the ghost boundary-condition dof indicesnumGlobalBcs - number of global boundary-condition dofs
globalBcDofs - array of length
numGlobalBcsof the global boundary-condition dof indices
Note#
The isets must together index each degree of freedom of the full local space exactly once; the size of that
space is taken to be the sum of their local sizes.
See Also#
KSP: Linear System Solvers, PCPATCH, PCPatchSetComputeOperator(), PCPatchSetComputeFunction()
Level#
advanced
Location#
src/ksp/pc/impls/patch/pcpatch.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages