<div dir="ltr"><div dir="ltr">On Wed, Jan 12, 2022 at 7:55 PM Ferrand, Jesus A. <<a href="mailto:FERRANJ2@my.erau.edu">FERRANJ2@my.erau.edu</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Dear PETSc Team:<br>
<br>
Hi! I'm working on a parallel version of a PETSc script that I wrote in serial using DMPlex. After calling DMPlexDistribute() each rank is assigned its own DAG where the points are numbered locally. For example, If I split a 100-cell mesh over 4 processors,
 each process numbers their cells 0-24 as oppossed to something like 0-24, 25-49, 50-74, and 74-99 on ranks 0,1,2, and 3 respectively. The same happens for Face, Edge, and Vertex points in that the local DAG's renumber the ID's starting with 0 instead of using
 global numbering.</div></div></blockquote><div><br></div><div>A parallel Plex is a collection of local Plexes connected by a PetscSF, which tells us which pieces of the mesh are replicated on other processes. Each Plex is locally numbered. This allows us to expand to any number of processes without running out of numbers.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
How can I distribute a mesh such that the global numbering is reflected in the local DAG's?</div></div></blockquote><div><br></div><div>You can always create a global numbering of points using</div><div><br></div><div>  <a href="https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexCreatePointNumbering.html">https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexCreatePointNumbering.html</a></div><div><br></div><div>but you should not need to do this.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)"> If not, what would be the right way to retrieve the global numbering? I've seen the term "StarForest" in some [petsc-users] discussion threads discussing a similar issue
 but have little clue as how to use them.<br>
<br>
I've looked at the following functions:<br>
</div>
<div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
<ul>
<li><span>DMPlexCreatePointNumbering() - Sounds like what I need, but I don't think it will work because I am relying on DMPlexGetDepthStratum() which returns bounds in local numbering.<br>
</span></li><li><span>DMPlexGetCellNumbering() - Only converts Cells<br>
</span></li><li><span>DMPlexGetVertexNumbering() - Only converts Vertices<br>
</span></li></ul>
</div>
<div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Basically, what I want to do is to have a global matrix and have my MPI ranks call MatSetValues() on it (with ADD_VALUES as the mode). In my serial code I was relying on the global point numbering to build the matrix. Without it, I can't do it my way : (. I'm
 manually assembling a global stiffness matrix out of element stiffness matrices to run FEA.</div></div></blockquote><div><br></div><div>You can do this at least two ways:</div><div><br></div><div>  1) Right before you call MatSetValues(), use the IS from CreatePointNumbering() to translate your local numbers to global numbers/rows.</div><div><br></div><div>  2) Call</div><div><br></div><div>    <a href="https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexMatSetClosure.html">https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexMatSetClosure.html</a></div><div><br></div><div>      This is how I set FEM element matrices in the PETSc examples.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div>
<div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0)">
Any help is much appreciated.<br>
</div>
<div id="gmail-m_-2973522464469658178Signature">
<div>
<div style="font-family:"Times New Roman",Times,serif;font-size:12pt;color:rgb(0,0,0)">
</div>
<div></div>
<div></div>
<div id="gmail-m_-2973522464469658178divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif">
<p style="margin-top:0px;margin-bottom:0px"></p>
<div>
<p style="margin:0px 0px 10.66px"></p>
<div>
<p style="background:none 0% 0% repeat scroll white;margin:0px 0px 11px;line-height:normal">
<span style="margin:0px;color:black;font-family:"Times New Roman",Times,serif;font-size:12pt">Sincerely:</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:red;font-family:"Courier New",monospace;font-size:14pt"><b><span style="font-family:"Courier New",monospace">J.A. Ferrand</span></b></span><u><span style="margin:0px;color:red;font-family:"Swis721 BlkCn BT",sans-serif;font-size:12pt"></span></u></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt">Embry-Riddle Aeronautical University - Daytona Beach FL</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt">M.Sc. Aerospace Engineering | May 2022</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt">B.Sc. Aerospace Engineering</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt">B.Sc. Computational Mathematics</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:rgb(0,0,0);font-family:Courant;font-size:12pt"> </span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt"><span style="color:rgb(0,0,0);font-family:Courant;font-size:12pt;background-color:rgb(255,255,255);display:inline">Sigma Gamma Tau</span><span style="color:rgb(0,0,0);font-family:Courant;font-size:12pt;background-color:rgb(255,255,255);display:inline"> </span><br>
</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:rgb(0,0,0);font-family:Courant;font-size:12pt">Tau Beta Pi</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt"><span style="margin:0px;color:rgb(0,0,0);font-family:Courant;font-size:12pt">Honors Program</span></span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt"> </span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<u><span style="margin:0px;color:black;font-family:Courant;font-size:12pt">Phone:</span></u><span style="margin:0px;color:black;font-family:Courant;font-size:12pt"> (386)-843-1829</span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal">
<u><span style="margin:0px;color:black;font-family:Courant;font-size:12pt">Email(s):</span></u><span style="margin:0px;color:black;font-family:Courant;font-size:12pt"> <a href="mailto:ferranj2@my.erau.edu" target="_blank">ferranj2@my.erau.edu</a></span></p>
<p style="background:none 0% 0% repeat scroll white;margin:0px;line-height:normal;text-indent:0.5in">
<span style="margin:0px;color:black;font-family:Courant;font-size:12pt"><span style="margin:0px">   
</span><a href="mailto:jesus.ferrand@gmail.com" target="_blank">jesus.ferrand@gmail.com</a></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>