petsc-3.7.7 2017-09-25
Report Typos and Errors

# DMPlexStratify

The Sieve DAG for most topologies is a graded poset (http://en.wikipedia.org/wiki/Graded_poset), and can be illustrated by 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 DM routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

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