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 PCPATCH preconditioner

  • nsubspaces - the number of discretisation subspaces (e.g. fields)

  • dms - array of length nsubspaces of DMs, one per subspace, from which the local sections and section PetscSFs are obtained

  • isets - array of length nsubspaces giving the ISs mapping subspace DoFs to DoFs in the full local mixed space

  • dofsPerCell - array of length nsubspaces giving the number of DoFs per cell for each subspace

  • cellDofMap - array of length nsubspaces; entry i is 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 numGhostBcs of the ghost boundary-condition dof indices

  • numGlobalBcs - number of global boundary-condition dofs

  • globalBcDofs - array of length numGlobalBcs of 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