:orphan:
# DMPlexGetLocalOffsetsSupport
Allocate and populate arrays of local offsets for each face support. 
## Synopsis
```
#include "petscdmplex.h"          
PetscErrorCode DMPlexGetLocalOffsetsSupport(DM dm, DMLabel domain_label, PetscInt label_value, PetscInt *num_faces, PetscInt *num_comp, PetscInt *l_size, PetscInt **offsetsNeg, PetscInt **offsetsPos)
```
Not collective


## Input Parameters

- ***dm -*** The `DMPLEX` object
- ***domain_label -*** label for `DMPLEX` domain, or NULL for whole domain
- ***label_value -*** Stratum value



## Output Parameters

- ***num_faces -*** Number of local, non-boundary faces
- ***num_comp -*** Number of components per dof
- ***l_size -*** Size of local vector
- ***offsetsNeg -*** Allocated offsets array for cells on the inward normal side of each face
- ***offsetsPos -*** Allocated offsets array for cells on the outward normal side of each face





## Notes
Allocate and populate array of shape [num_cells, num_comp] defining offsets for each cell 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
 [](ch_unstructured), `DMPlexGetLocalOffsets()`, `DM`, `DMPLEX`, `DMLabel`, `DMPlexGetClosureIndices()`, `DMPlexSetClosurePermutationTensor()`, `DMPlexGetCeedRestriction()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexceed.c.html#DMPlexGetLocalOffsetsSupport">src/dm/impls/plex/plexceed.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexceed.c)


[Index of all DMPlex routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
