petsc-3.8.4 2018-03-24
Report Typos and Errors

DMPlexStratify

The DAG for most topologies is a graded poset (http://en.wikipedia.org/wiki/Graded_poset), and can be illustrated by a Hasse Diagram (a http://en.wikipedia.org/wiki/Hasse_diagram). The strata group all points of the same grade, and this function calculates the strata. This grade can be seen as the height (or depth) of the point in the DAG.

Synopsis

#include "petscdmplex.h"   
PetscErrorCode DMPlexStratify(DM dm)
Collective on dm

Input Parameter

mesh -The DMPlex

Output Parameter

Notes

Concretely, DMPlexStratify() creates a new label named "depth" containing the dimension of each element: 0 for vertices, 1 for edges, and so on. The depth label can be accessed through DMPlexGetDepthLabel() or DMPlexGetDepthStratum(), or manually via DMGetLabel(). The height is defined implicitly by height = maxDimension - depth, and can be accessed via DMPlexGetHeightStratum(). For example, cells have height 0 and faces have height 1.

DMPlexStratify() should be called after all calls to DMPlexSymmetrize()

See Also

DMPlexCreate(), DMPlexSymmetrize()

Level:beginner
Location:
src/dm/impls/plex/plex.c
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/ts/examples/tutorials/ex11.c.html