[petsc-dev] Use of DMDA to manage structured but staggered grid

Matthew Knepley knepley at gmail.com
Tue Nov 17 11:22:27 CST 2015

On Tue, Nov 17, 2015 at 11:04 AM, Chris Eldred <chris.eldred at gmail.com>

> Hey petsc-dev,
> As the title suggests, I would like to use DMDA to manage a structured
> but staggered grid (initially in 2D, but eventually in 3D). I would
> like to have dofs at cells, vertices and edges (also faces in 3D). I
> would use DMPlex for this, but I need access to larger stencils than
> closure/star, and it seems difficult get those in a consistent
> (properly numbered/ordered) way using Plex (with DMDA the
> numbering/ordering is built into the indexing, so it is trivial). If
> this is a mistaken assumption, and it is in fact easy to get
> consistent larger stencils in Plex, I am more than happy to use it
> instead.
> What is the best way to do this?
> Looking around, it seems like DMDACreateSection might be a good place
> to start, but the implementation doesn't seem to match the
> documentation- in particular there is no argument for numFields. Is
> there an example using DMDACreateSection to actually manage a
> staggered grid discretization?
> The other option seems to be using a normal DMDA and dealing with the
> multiple dofs per geometric entity myself - ie something like SNES
> example 30.
> Any insight or advice on the optimal way to do this would be appreciated!

I see two ways to do this:

  a) Imagine that you have shifted copies of the DMDA and use buffer
vertices near the boundaries.

      This is really easy in 2D, or for cells-vertices only. I have never
seen anyone do this for all pieces in 3D.

  b) Use a canonical numbering for all structured mesh pieces and
PetscSection for variable numbering/communication

       I tried to implement this (you see the remnants in the code), but no
one cared because they thought
       that a) was much easier.

You can see the canonical numbering I was using


I don't know which method makes more sense for you.



> Thanks,
> Chris Eldred
> --
> Chris Eldred
> Postdoctoral Fellow, LAGA, University of Paris 13
> PhD, Atmospheric Science, Colorado State University, 2015
> DOE Computational Science Graduate Fellow (Alumni)
> B.S. Applied Computational Physics, Carnegie Mellon University, 2009
> chris.eldred at gmail.com

What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20151117/af646e07/attachment.html>

More information about the petsc-dev mailing list