[petsc-users] Creating dmplex in every rank and redistributing
Matthew Knepley
knepley at gmail.com
Mon Jul 4 07:39:02 CDT 2022
On Mon, Jul 4, 2022 at 2:29 AM Prateek Gupta <prateekgupta1709 at gmail.com>
wrote:
> Hi,
>
> Using dmplex, I am trying to create an example where I can start with a
> poor distribution of an unstructured mesh (reading from a file in parallel)
> and then use redistribution to optimize it.
>
You can call DMPlexDistribute() on any mesh, including a parallel one.
> I know that I can call ReBalanceSharedPoints on an already created
> distribution from dmplexDistribute. But is it possible to initialize a
> dmplex from each rank (each rank initializes its own chunk of the mesh) and
> then call this function?
>
Yes, this is done in
https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexCreateFromCellListParallelPetsc/
It is not trivial to do by hand, so I would look at that code first if you
want to do that.
> Most of the numbering in dmplex DAG representation is local, but while
> reading from a file in parallel, I only have access to global numbering of
> nodes. Do I need to reassign this to a local numbering? Is there a
> datastructure within petsc that can help with this?
>
>
> Thank you.
> Sincerely,
> Prateek Gupta, PhD
>
--
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/20220704/75392a19/attachment.html>
More information about the petsc-users
mailing list