<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
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.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hong</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Abhyankar, Shrirang G <shrirang.abhyankar@pnnl.gov><br>
<b>Sent:</b> Wednesday, December 1, 2021 3:37 PM<br>
<b>To:</b> Barry Smith <bsmith@petsc.dev>; Knepley, Matthew G (VISIT) <knepley@gmail.com>; petsc-dev <petsc-dev@mcs.anl.gov>; Zhang, Hong <hzhang@mcs.anl.gov>; Betrie, Getnet <gbetrie@anl.gov><br>
<b>Subject:</b> Re: DMPLEX cannot support two different edges for the same two vertices, hence DMPLEX cannot?</font>
<div> </div>
</div>
<style>
<!--
@font-face
        {font-family:"Cambria Math"}
@font-face
        {font-family:Calibri}
@font-face
        {}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
span.x_EmailStyle18
        {font-family:"Times New Roman",serif;
        color:windowtext}
.x_MsoChpDefault
        {font-size:10.0pt}
@page WordSection1
        {margin:1.0in 1.0in 1.0in 1.0in}
div.x_WordSection1
        {}
-->
</style>
<div lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="x_WordSection1">
<p class="x_MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif">Barry,</span></p>
<p class="x_MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
<p class="x_MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif">“</span>Is there anything we can do to support having multiple edges between the same two vertices”</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">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).
</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Maybe the issue is with the edges being passed on different ranks?<span style="font-size:12.0pt; font-family:"Times New Roman",serif"></span></p>
<p class="x_MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
<div>
<p class="x_MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif">Thanks,</span></p>
<p class="x_MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif">Shri </span></p>
</div>
<div style="border:none; border-top:solid #B5C4DF 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal" style="margin-left:.5in"><b><span style="font-size:12.0pt; color:black">From:
</span></b><span style="font-size:12.0pt; color:black">Barry Smith <bsmith@petsc.dev><br>
<b>Date: </b>Wednesday, December 1, 2021 at 3:19 PM<br>
<b>To: </b>"Knepley, Matthew G (VISIT)" <knepley@gmail.com>, PETSc Development <petsc-dev@mcs.anl.gov>, "Abhyankar, Shrirang G" <shrirang.abhyankar@pnnl.gov>, "Zhang, Hong" <hzhang@mcs.anl.gov>, Getnet Betrie <gbetrie@anl.gov><br>
<b>Subject: </b>DMPLEX cannot support two different edges for the same two vertices, hence DMPLEX cannot?</span></p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">Check twice before you click! This email originated from outside PNNL.</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">   Matt,</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">     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.</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">     Neurons can be connected to themselves which seems to be breaking DMPLEX and hence DMNETWORK.</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">     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.</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">   Thanks</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">  Barry</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in">In this work, the neurons are represented by vertices in the network and each synapse is a graph edge.</p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"> </p>
</div>
</div>
</div>
</body>
</html>