Skip to main content
`Ctrl`+`K`

# 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

## Input Parameters

- dm - The `DMPLEX` object

- otype - type of reordering, see `MatOrderingType`

- 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

`DMPLEX`, `DMPlexPermute()`, `MatOrderingType`, `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