SNESPatchSetDiscretisationInfo#
Provide the per-subspace discretisation information required by a SNESPATCH to build patch problems
Synopsis#
#include "petscsnes.h"
PetscErrorCode SNESPatchSetDiscretisationInfo(SNES snes, PetscInt nsubspaces, DM dms[], PetscInt bs[], PetscInt nodesPerCell[], const PetscInt **cellNodeMap, const PetscInt subspaceOffsets[], PetscInt numGhostBcs, const PetscInt ghostBcNodes[], PetscInt numGlobalBcs, const PetscInt globalBcNodes[])
Logically Collective
Input Parameters#
snes - the
SNESPATCHsolvernsubspaces - the number of discretisation subspaces (e.g. fields)
dms - array of length
nsubspacesofDMs, one per subspacebs - array of length
nsubspacesgiving the block size of each subspacenodesPerCell - array of length
nsubspacesgiving the number of nodes per cell for each subspacecellNodeMap - array of length
nsubspaces; entryiis a cell-to-node map for subspaceisubspaceOffsets - array of length
nsubspaces + 1giving the starting global dof offset of each subspacenumGhostBcs - number of ghost (off-process) boundary-condition dofs
ghostBcNodes - array of length
numGhostBcsof the ghost boundary-condition dof indicesnumGlobalBcs - number of global boundary-condition dofs
globalBcNodes - array of length
numGlobalBcsof the global boundary-condition dof indices
Note#
A DM must already be attached to snes (via SNESSetDM()) before calling this routine. Internally, the information is forwarded to the underlying PCPATCH via PCPatchSetDiscretisationInfo().
See Also#
SNES: Nonlinear Solvers, SNESPATCH, PCPATCH, PCPatchSetDiscretisationInfo(), SNESPatchSetComputeOperator(), SNESPatchSetComputeFunction()
Level#
advanced
Location#
src/snes/impls/patch/snespatch.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages