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, 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 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

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