petsc-3.12.4 2020-02-04
Report Typos and Errors

# DMPlexGetOrdering

Calculate a reordering of the mesh

### Synopsis

    #include "petscdmplex.h"
    #include "petscmat.h"
    PetscErrorCode DMPlexGetOrdering(DM dm, MatOrderingType otype, DMLabel label, IS *perm)

Collective on dm

### Input Parameter

| dm | - The DMPlex object
| otype | - type of reordering, one of the following:

        MATORDERINGNATURAL - Natural

        MATORDERINGND - Nested Dissection

        MATORDERING1WD - One-way Dissection

        MATORDERINGRCM - Reverse Cuthill-McKee

        MATORDERINGQMD - Quotient Minimum Degree

| label | - [Optional] Label used to segregate ordering into sets, or NULL

### Output Parameter

perm -The point permutation as an IS, perm[old point number] = new point number

Note: The label is used to group sets of points together by label value. This makes it easy to reorder a mesh which has different types of cells, and then loop over each set of reordered cells for assembly.

### See Also

MatGetOrdering()

### Level

intermediate

### Location

src/dm/impls/plex/plexreorder.c
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages