We are working on a traffic flow application, in which same two vertices are 
connected by at least two edges. I have not seen any problem yet, even in the 
case that two vertices are located in different ranks.
Hong
________________________________
From: Abhyankar, Shrirang G <shrirang.abhyan...@pnnl.gov>
Sent: Wednesday, December 1, 2021 3:37 PM
To: Barry Smith <bsm...@petsc.dev>; Knepley, Matthew G (VISIT) 
<knep...@gmail.com>; petsc-dev <petsc-dev@mcs.anl.gov>; Zhang, Hong 
<hzh...@mcs.anl.gov>; Betrie, Getnet <gbet...@anl.gov>
Subject: Re: DMPLEX cannot support two different edges for the same two 
vertices, hence DMPLEX cannot?


Barry,



“Is there anything we can do to support having multiple edges between the same 
two vertices”



Some of my power grid datasets have multiple edges between the same two 
vertices and I’ve not faced an issue with DMNetwork. However, all the data was 
read on rank 0 only (and then distributed).



Maybe the issue is with the edges being passed on different ranks?



Thanks,

Shri

From: Barry Smith <bsm...@petsc.dev>
Date: Wednesday, December 1, 2021 at 3:19 PM
To: "Knepley, Matthew G (VISIT)" <knep...@gmail.com>, PETSc Development 
<petsc-dev@mcs.anl.gov>, "Abhyankar, Shrirang G" <shrirang.abhyan...@pnnl.gov>, 
"Zhang, Hong" <hzh...@mcs.anl.gov>, Getnet Betrie <gbet...@anl.gov>
Subject: DMPLEX cannot support two different edges for the same two vertices, 
hence DMPLEX cannot?



Check twice before you click! This email originated from outside PNNL.





   Matt,



     If DMPlexBuildFromCellListParallel() is called with two edges that have 
the same two vertices what will happen? It looks like it ends up with an 
incorrect PetscSF if the two edges are passed on different ranks. Hence the 
DMPLEX is not valid and produces garbage.



     Neurons can be connected to themselves which seems to be breaking DMPLEX 
and hence DMNETWORK.



     Is there anything we can do to support having multiple edges between the 
same two vertices? If not is there a way we can have 
DMPlexBuildFromCellListParallel() generate an error automatically if there are 
such extra edges in the input data.



   Thanks



  Barry



In this work, the neurons are represented by vertices in the network and each 
synapse is a graph edge.




Reply via email to