[petsc-users] DMPlexCreateFromDAG in parallel

Matthew Knepley knepley at gmail.com
Sat Sep 28 00:20:04 CDT 2019


On Wed, Sep 25, 2019 at 5:56 PM Asitav Mishra via petsc-users <
petsc-users at mcs.anl.gov> wrote:

> Hi,
>
> I have a native distributed mesh graph across multiple processors, using
> which I would want to create DMPlex mesh using DMPlexCreateFromDAG. I see
> in Petsc plex/examples that DMPlexCreateFromDAG creates DM only from master
> processor and then the DM is distributed across multiple (one-to-many)
> processors. My question is: is it possible to create DAG locally in each
> processor and then build the global DM? If yes, are there any such examples?
>

1) If you do not mind us redistributing the mesh on input, then you can
probably do what you want using


https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexCreateFromCellListParallel.html

Note that the input to this function wants a unique set of vertices from
each process, so each vertex must come from only one processes.

 2) If that does not work, you can certainly call CreateFromDAG() on
multiple processes. However, then you must manually create the PetscSF
     which describes how the mesh is connected in parallel. If this is what
you need to do, I can give you instructions but at that point we should
     probably make an example that does it.

  Thanks,

    Matt


> Best,
> Asitav
>


-- 
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190928/39d9a953/attachment.html>


More information about the petsc-users mailing list