[petsc-users] Creating a DMNetwork from a DMPlex

Swarnava Ghosh swarnava89 at gmail.com
Mon May 20 02:04:19 CDT 2019

Hi Barry,

Thank you for your email. My planned discretization is based on the fact
that I need a distributed unstructured mesh, where at each vertex point I
perform local calculations. For these calculations, I do NOT need need to
assemble any global matrix. I will have fields defined at the vertices, and
using linear interpolation, I am planing to find the values of these fields
at some spatial points with are within a ball around each vertex. Once the
values of these fields are known within the compact support around each
vertex, I do local computations to calculate my unknown field. My reason
for having the a mesh is essentially to 1) define fields at the vertices
and 2) perform linear interpolation (using finite elements) at some spatial
points. Also the local computations around at each vertex is
computationally the most expensive step. In that case, having a cell
partitioning will result in vertices being shared among processes, which
will result in redundant computations.

My idea is therefore to have DMNetwork to distribute vertices across
processes and use finite elements for the linear interpolation part.


On Sun, May 19, 2019 at 6:54 PM Smith, Barry F. <bsmith at mcs.anl.gov> wrote:

>   I am not sure you want DMNetwork, DMNetwork has no geometry; it only has
> vertices and edges. Vertices are connected to other vertices through the
> edges. For example I can't see how one would do vertex centered finite
> volume methods with DMNetwork. Maybe if you said something more about your
> planned discretization we could figure something out.
> > On May 19, 2019, at 8:32 PM, Swarnava Ghosh <swarnava89 at gmail.com>
> wrote:
> >
> > Hi Barry,
> >
> > No, the gmesh file contains a mesh and not a graph/network.
> > In that case, is it possible to create a DMNetwork first from the DMPlex
> and then distribute the DMNetwork.
> >
> > I have this case, because I want a vertex partitioning of my mesh.
> Domain decomposition of DMPlex gives me cell partitioning. Essentially what
> I want is that no two processes can share a vertex BUT that can share an
> edge. Similar to how a DMDA is distributed.
> >
> > Thanks,
> > Swarnava
> >
> > On Sun, May 19, 2019 at 4:50 PM Smith, Barry F. <bsmith at mcs.anl.gov>
> wrote:
> >
> >    This use case never occurred to us. Is the gmesh file containing a
> graph/network (as opposed to a mesh)? There seem two choices
> >
> > 1) if the gmesh file contains a graph/network one could write a gmesh
> reader for that case that reads directly for and constructs a DMNetwork or
> >
> > 2) write a converter for a DMPlex to DMNetwork.
> >
> >    I lean toward the first
> >
> >    Either way you need to understand the documentation for DMNetwork and
> how to build one up.
> >
> >
> >    Barry
> >
> >
> > > On May 19, 2019, at 6:34 PM, Swarnava Ghosh via petsc-users <
> petsc-users at mcs.anl.gov> wrote:
> > >
> > > Hi Petsc users and developers,
> > >
> > > I am trying to find a way of creating a DMNetwork from a DMPlex. I
> have read the DMPlex from a gmesh file and have it distributed.
> > >
> > > Thanks,
> > > SG
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190520/61269a41/attachment.html>

More information about the petsc-users mailing list