[petsc-users] DMPlex examples in parallel/3D?

Matthew Knepley knepley at gmail.com
Tue May 19 10:24:16 CDT 2015


On Tue, May 19, 2015 at 10:14 AM, Mark Lohry <mlohry at princeton.edu> wrote:

> I'm interested in trying DMPlex for a parallel 3D unstructured DG solver.
> Is it appropriate for this, and is it considerably more work than for the
> simple DMDACreate3D examples? The manual example seems fairly clear on how
> to set up a mesh in serial, but does this play nicely with METIS for
> partitioning, and DMDA for parallel arrays/communication? I'm typically
> using CGNS files, so is DMPlexCreateCGNS working in parallel and
> appropriate for this?
>

Plex can certainly handle 3D unstructured meshes, read from CGNS, and can
partition them and repartition them.

You can easily get started by just calling DMPlexDistribute() on a serial
mesh.

To use it to handle fields, you construct a PetscSection that models your
data layout for the DG field. This just means
tell it how many dofs sit on each cell, face, edge, and vertex. Then it can
handle all the parallel communication for you.
Note that you need to specify what kind of adjacency you have for it to
automatically construct the comm pattern:


http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexSetAdjacencyUseClosure.html

http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexSetAdjacencyUseCone.html#DMPlexSetAdjacencyUseCone



> Any examples/guidance related to this would be appreciated.


I do cG FEM in SNES ex12 and ex62.

  Thanks,

     Matt

>
> -Mark
>



-- 
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-users/attachments/20150519/7e989bd9/attachment.html>


More information about the petsc-users mailing list