<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Nov 14, 2015 at 6:28 AM, Marco Zocca <span dir="ltr"><<a href="mailto:zocca.marco@gmail.com" target="_blank">zocca.marco@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What construct can I use to build and keep track (i.e. map over) a staggered index set, i.e. the dual (vertices, elements) meshes for a FEM application.<div><br></div><div>I am looking for the equivalent, on a regular mesh, of the `sieve` construction ( <a href="http://www.mcs.anl.gov/petsc/documentation/tutorials/sieve.pdf" target="_blank">http://www.mcs.anl.gov/petsc/documentation/tutorials/sieve.pdf</a> , which I understand to be only available for DMPLEX).</div><div><br></div><div>I could hack together my own by using DM and IS, but I'd first like to be sure about the non-existence of current implementations.</div></div></blockquote><div><br></div><div>1) Everyone who has done this in PETSc just uses another DMDA and some buffer cells</div><div><br></div><div>2) I think the right way to do this is to have a canonical numbering for the pieces of a DMDA and use PetscSection. I wrote a bunch</div><div>    of support for this, which allows arbitrary partitioning, staggered and PIC (and DG) discretizations, and FEM-style residuals. However,</div><div>    no one cared because using multiple DMDAs is so easy.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Thank you in advance,</div></div><div><br></div><div>Marco</div></div></blockquote></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>