DMPlexGetTransitiveClosure#

Return the points on the transitive closure of the in-edges or out-edges for this point in the DAG

Synopsis#

#include "petscdmplex.h"   
PetscErrorCode DMPlexGetTransitiveClosure(DM dm, PetscInt p, PetscBool useCone, PetscInt *numPoints, PetscInt *points[])

Not Collective

Input Parameters#

  • dm - The DMPLEX

  • p - The mesh point

  • useCone - PETSC_TRUE for the closure, otherwise return the star

Input/Output Parameter#

  • points - The points and point orientations, interleaved as pairs [p0, o0, p1, o1, …]; if NULL on input, internal storage will be returned, otherwise the provided array is used

Output Parameter#

  • numPoints - The number of points in the closure, so points[] is of size 2*numPoints

Note#

If using internal storage (points is NULL on input), each call overwrites the last output.

Fortran Notes#

The numPoints argument is not present in the Fortran binding since it is internal to the array.

See Also#

DMPlex: Unstructured Grids, DM, DMPLEX, DMPlexRestoreTransitiveClosure(), DMPlexCreate(), DMPlexSetCone(), DMPlexSetChart(), DMPlexGetCone()

Level#

beginner

Location#

src/dm/impls/plex/plex.c

Examples#

src/dm/impls/plex/tutorials/ex11.c

Implementations#

DMPlexGetTransitiveClosure_Internal() in src/dm/impls/plex/plex.c


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