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 DMPLEX

  • section - The PetscSection used to filter closure points

  • point - 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 section

  • points - Array of (point, orientation) pairs; either the cached closure or a work array from DMPlexGetTransitiveClosure_Internal()

  • clSec - The section describing the closure index, or NULL if none is cached

  • clPoints - The IS holding the closure indices, or NULL if none is cached

  • clp - Raw pointer into the closure-index IS when it is used, or NULL otherwise

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#

src/dm/impls/plex/plex.c


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