DMPlexGetCompressedClosure#
Return the transitive closure of a point, restricted to points with dof in the given section
Synopsis#
#include "petscdmplex.h"
/* Compressed closure does not apply closure permutation */
PetscErrorCode DMPlexGetCompressedClosure(DM dm, PetscSection section, PetscInt point, PetscInt ornt, PetscInt *numPoints, PetscInt **points, PetscSection *clSec, IS *clPoints, const PetscInt **clp)
Not Collective
Input Parameters#
dm - The
DMPLEXsection - The
PetscSectionused to filter closure pointspoint - The mesh point
ornt - The orientation of
point; when zero the cached closure index (if any) is used directly
Output Parameters#
numPoints - Number of closure points that participate in
sectionpoints - Array of
(point, orientation)pairs; either the cached closure or a work array fromDMPlexGetTransitiveClosure_Internal()clSec - The section describing the closure index, or
NULLif none is cachedclPoints - The
ISholding the closure indices, orNULLif none is cachedclp - Raw pointer into the closure-index
ISwhen it is used, orNULLotherwise
Note#
This routine does not apply the closure permutation. Release the outputs with DMPlexRestoreCompressedClosure().
See Also#
DMPlex: Unstructured Grids, DM, DMPLEX, PetscSection, DMPlexRestoreCompressedClosure(), DMPlexGetTransitiveClosure(), PetscSectionGetClosureIndex()
Level#
developer
Location#
Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages