:orphan: # DMPlexDistributeOverlap Add partition overlap to a distributed non-overlapping `DM`. ## Synopsis ``` #include "petscdmplex.h" #include "petscdmlabel.h" PetscErrorCode DMPlexDistributeOverlap(DM dm, PetscInt overlap, PetscSF *sf, DM *dmOverlap) ``` Collective ## Input Parameters - ***dm -*** The non-overlapping distributed `DMPLEX` object - ***overlap -*** The overlap of partitions (the same on all ranks) ## Output Parameters - ***sf -*** The `PetscSF` used for point distribution - ***dmOverlap -*** The overlapping distributed `DMPLEX` object, or `NULL` ## Options Database Keys - ***-dm_plex_overlap_labels -*** List of overlap label names - ***-dm_plex_overlap_values -*** List of overlap label values - ***-dm_plex_overlap_exclude_label -*** Label used to exclude points from overlap - ***-dm_plex_overlap_exclude_value -*** Label value used to exclude points from overlap ## Notes If the mesh was not distributed, the return value is `NULL`. The user can control the definition of adjacency for the mesh using `DMSetAdjacency()`. They should choose the combination appropriate for the function representation on the mesh. ## See Also `DMPLEX`, `PetscSF`, `DM`, `DMPlexCreate()`, `DMSetAdjacency()`, `DMPlexDistribute()`, `DMPlexCreateOverlapLabel()`, `DMPlexGetOverlap()` ## Level advanced ## Location src/dm/impls/plex/plexdistribute.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexdistribute.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)