DMPlexGetLocalOffsets#

Allocate and populate array of local offsets.

Synopsis#

#include "petscdmplex.h"          
PetscErrorCode DMPlexGetLocalOffsets(DM dm, DMLabel domain_label, PetscInt label_value, PetscInt height, PetscInt dm_field, PetscInt *num_cells, PetscInt *cell_size, PetscInt *num_comp, PetscInt *l_size, PetscInt **offsets)

Input Parameters#

dm - The DMPlex object domain_label - label for DMPlex domain, or NULL for whole domain label_value - Stratum value height - Height of target cells in DMPlex topology dm_field - Index of DMPlex field

Output Parameters#

num_cells - Number of local cells cell_size - Size of each cell, given by cell_size * num_comp = num_dof num_comp - Number of components per dof l_size - Size of local vector offsets - Allocated offsets array for cells

Notes: Allocate and populate array of shape [num_cells, cell_size] defining offsets for each value (cell, node) for local vector of the DMPlex field. All offsets are in the range [0, l_size - 1]. Caller is responsible for freeing the offsets array using PetscFree().

See Also#

DMPlexGetClosureIndices(), DMPlexSetClosurePermutationTensor(), DMPlexGetCeedRestriction()

Level#

developer

Location#

src/dm/impls/plex/plexceed.c

Examples#

src/dm/impls/plex/tutorials/ex8.c.html


Edit on GitLab

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages