# [petsc-users] General DOF ordering in DMPlex.

Matthew Knepley knepley at gmail.com
Mon Feb 1 07:17:12 CST 2016

```On Mon, Feb 1, 2016 at 3:30 AM, Afanasiev Michael <
michael.afanasiev at erdw.ethz.ch> wrote:

> Hi everyone,
>
> A few of us here at ETH have been working on some finite-element stuff
> using DMPLEX, which has been wildly useful. Is there anywhere that we can
> get general rules for the degree of freedom ordering returned by
> DMPlexVecGetClosure? Something akin to the attached PDF (provided by Dave
> May), but for Hexs, Tris, and Tets?
>

I will make those, but I am honestly very pressed right now with a hard
deadline. I will just describe the process quickly
so that maybe you will not be held up until I can get to it.

The order of dofs is based upon the topological order of the closure. Thus,
you can see in the quad example that it always proceeds

{cell, faces, edges, vertices}

So the first question is: what is the order of the boundary around any mesh
point? This is specified here:

https://bitbucket.org/petsc/petsc/src/e03cc9b84019b00a431ca4cfdfeb76830ce7201c/src/dm/impls/plex/plexinterpolate.c?at=master&fileviewer=file-view-default#plexinterpolate.c-43

which clearly would benefit from being written down somewhere. Once you
have the face order, the only other
element is that faces may be oriented when extracted. You can see this
orientation in the order of vertices in
the code above. I orient the cell so that you get a consistent normal (in
3D its the generalization that the iterated
boundary operator is null), as you can see from the quad example. Finally,
each point only appears the first time
it is considered in the closure.

The additional complications with dofs are that

- Dofs are ordered according to the orientation of the point they live
on. Basically you have a representation of the
symmetric group attached to each orientation (strictly its an order I
think). This is probably not general enough
but it works for now.

- I further partition dofs by field, so that all dofs of each field are
contiguous.

Thanks,

Matt

> Thanks for any help,
> Mike.
>
>
> --
> Michael Afanasiev
> Ph.D. Candidate
> Computational Seismology
> Institut für Geophysik
> ETH Zürich
>
> Sonneggstrasse 5, NO H 39.2
> CH 8092 Zürich
> michael.afanasiev at erdw.ethz.ch
>
>

--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their