<div dir="ltr">Dear Eric, dear Matthew,<div><br></div><div>I share Eric's desire to be able to manipulate meshes composed of different types of elements in a PETSc's DMPlex. </div><div>Since this discussion, is there anything new on this feature for the DMPlex object or am I missing something?</div><div><br></div><div>Thanks,</div><div>Nicolas</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 21 juil. 2021 à 04:25, Eric Chamberland <<a href="mailto:Eric.Chamberland@giref.ulaval.ca">Eric.Chamberland@giref.ulaval.ca</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hi,<br>
</p>
<div>On 2021-07-14 3:14 p.m., Matthew
Knepley wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Wed, Jul 14, 2021 at 1:25 PM Eric Chamberland
<<a href="mailto:Eric.Chamberland@giref.ulaval.ca" target="_blank">Eric.Chamberland@giref.ulaval.ca</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">Hi,<br>
<br>
while playing with DMPlexBuildFromCellListParallel, I
noticed we have to <br>
specify "numCorners" which is a fixed value, then gives a
fixed number <br>
of nodes for a series of elements.<br>
<br>
How can I then add, for example, triangles and quadrangles
into a DMPlex?<br>
</blockquote>
<div><br>
</div>
<div>You can't with that function. It would be much mich more
complicated if you could, and I am not sure</div>
<div>it is worth it for that function. The reason is that you
would need index information to offset into the</div>
<div>connectivity list, and that would need to be replicated
to some extent so that all processes know what</div>
<div>the others are doing. Possible, but complicated.</div>
<div><br>
</div>
<div>Maybe I can help suggest something for what you are
trying to do?</div>
</div>
</div>
</blockquote>
<p>Yes: we are trying to partition our parallel mesh with PETSc
functions. The mesh has been read in parallel so each process
owns a part of it, but we have to manage mixed elements types.</p>
<p>When we directly use ParMETIS_V3_PartMeshKway, we give two arrays
to describe the elements which allows mixed elements.</p>
<p>So, how would I read my mixed mesh in parallel and give it to
PETSc DMPlex so I can use a PetscPartitioner with DMPlexDistribute
?</p>
<p>A second goal we have is to use PETSc to compute the overlap,
which is something I can't find in PARMetis (and any other
partitionning library?)</p>
<p>Thanks,</p>
<p>Eric<br>
</p>
<p><br>
</p>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div><br>
</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">
Thanks,<br>
<br>
Eric<br>
<br>
-- <br>
Eric Chamberland, ing., M. Ing<br>
Professionnel de recherche<br>
GIREF/Université Laval<br>
(418) 656-2131 poste 41 22 42<br>
<br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<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>
</blockquote>
<pre cols="72">--
Eric Chamberland, ing., M. Ing
Professionnel de recherche
GIREF/Université Laval
(418) 656-2131 poste 41 22 42</pre>
</div>
</blockquote></div>