[petsc-users] Creating a DMNetwork from a DMPlex

Smith, Barry F. bsmith at mcs.anl.gov
Mon May 20 03:03:03 CDT 2019


  Maybe try building by hand in a DMNetwork using a handrawn mesh with just a few vertices and endless and see if what you want to do makes sense


> On May 20, 2019, at 2:04 AM, Swarnava Ghosh <swarnava89 at gmail.com> wrote:
> 
> 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.
> 
> Thanks,
> SG
> 
> 
> 
> 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
> > 
> 



More information about the petsc-users mailing list