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