DMPlexCreateOverlapLabelFromLabels#

Compute a label indicating what overlap points should be sent to new processes

Synopsis#

#include "petscdmplex.h"   
#include "petscdmlabel.h"  
PetscErrorCode DMPlexCreateOverlapLabelFromLabels(DM dm, PetscInt numLabels, const DMLabel label[], const PetscInt value[], PetscInt numExLabels, const DMLabel exLabel[], const PetscInt exValue[], PetscSection rootSection, IS rootrank, PetscSection leafSection, IS leafrank, DMLabel *ovLabel)

Collective

Input Parameters#

  • dm - The DM

  • numLabels - The number of labels to draw candidate points from

  • label - An array of labels containing candidate points

  • value - An array of label values marking the candidate points

  • numExLabels - The number of labels to use for exclusion

  • exLabel - An array of labels indicating points to be excluded, or NULL

  • exValue - An array of label values to be excluded, or NULL

  • rootSection - The number of leaves for a given root point

  • rootrank - The rank of each edge into the root point

  • leafSection - The number of processes sharing a given leaf point

  • leafrank - The rank of each process sharing a leaf point

Output Parameter#

  • ovLabel - DMLabel containing remote overlap contributions as point/rank pairings

Note#

The candidate points are only added to the overlap if they are adjacent to a shared point

See Also#

DMPLEX, DMPlexCreateOverlapLabel(), DMPlexGetAdjacency(), DMPlexDistributeOwnership(), DMPlexDistribute()

Level#

developer

Location#

src/dm/impls/plex/plexdistribute.c


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