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 SNESPATCH solver

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

  • dms - array of length nsubspaces of DMs, one per subspace

  • bs - array of length nsubspaces giving the block size of each subspace

  • nodesPerCell - array of length nsubspaces giving the number of nodes per cell for each subspace

  • cellNodeMap - array of length nsubspaces; entry i is a cell-to-node map for subspace i

  • subspaceOffsets - array of length nsubspaces + 1 giving the starting global dof offset of each subspace

  • numGhostBcs - number of ghost (off-process) boundary-condition dofs

  • ghostBcNodes - array of length numGhostBcs of the ghost boundary-condition dof indices

  • numGlobalBcs - number of global boundary-condition dofs

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