DMPlexDistributeOverlap#

Add partition overlap to a distributed non-overlapping DM.

Synopsis#

#include "petscdmplex.h"   
#include "petscdmlabel.h"  
PetscErrorCode DMPlexDistributeOverlap(DM dm, PetscInt overlap, PeOp 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, or pass NULL if not needed

  • dmOverlap - The overlapping distributed DMPLEX object

Options Database Keys#

  • -dm_plex_overlap_labels name1,name2,… - List of overlap label names

  • -dm_plex_overlap_values int1,int2,… - List of overlap label values

  • -dm_plex_overlap_exclude_label label - Label used to exclude points from overlap

  • -dm_plex_overlap_exclude_value 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

Implementations#

DMPlexDistributeOverlap_Internal() in src/dm/impls/plex/plexdistribute.c


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