<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,</p>
<p>oh, that's a great news!</p>
<p>In our case we have our home-made file-format, invariant to the
number of processes (thanks to MPI_File_set_view), that uses
collective, asynchronous MPI I/O native calls for unstructured
hybrid meshes and fields .</p>
<p>So our needs are not for reading meshes but only to fill an
hybrid DMPlex with DMPlexBuildFromCellListParallel (or something
else to come?)... to exploit petsc partitioners and parallel
overlap computation...<br>
</p>
<p>Thanks for the follow-up! :)<br>
</p>
<p>Eric<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 2021-09-22 7:20 a.m., Matthew
Knepley wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAMYG4G=mUTVCuayh4_kqfjEoNT_XEt6+FF24jF2KhLu0nWb8tw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr">On Wed, Sep 22, 2021 at 3:04 AM Karin&NiKo
<<a href="mailto:niko.karin@gmail.com"
moz-do-not-send="true">niko.karin@gmail.com</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">Dear Matthew,
<div><br>
</div>
<div>This is great news!</div>
<div>For my part, I would be mostly interested in the
parallel input interface. Sorry for that... </div>
<div>Indeed, in our application, we already have a
parallel mesh data structure that supports hybrid meshes
with parallel I/O and distribution (based on the MED
format). We would like to use a DMPlex to make parallel
mesh adaptation.</div>
<div> As a matter of fact, all our meshes are in the MED
format. We could also contribute to extend the interface
of DMPlex with MED (if you consider it could be
usefull).</div>
</div>
</blockquote>
<div><br>
</div>
<div>An MED interface does exist. I stopped using it for two
reasons:</div>
<div><br>
</div>
<div> 1) The code was not portable and the build was failing
on different architectures. I had to manually fix it.</div>
<div><br>
</div>
<div> 2) The boundary markers did not provide global
information, so that parallel reading was much harder.</div>
<div><br>
</div>
<div>Feel free to update my MED reader to a better design.</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>Best regards,</div>
<div>Nicolas</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le mar. 21 sept. 2021
à 21:56, Matthew Knepley <<a
href="mailto:knepley@gmail.com" target="_blank"
moz-do-not-send="true">knepley@gmail.com</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 dir="ltr">
<div dir="ltr">On Tue, Sep 21, 2021 at 10:31 AM
Karin&NiKo <<a
href="mailto:niko.karin@gmail.com" target="_blank"
moz-do-not-send="true">niko.karin@gmail.com</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">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>
</blockquote>
<div><br>
</div>
<div>Thanks for finding this!</div>
<div><br>
</div>
<div>Okay, I did a rewrite of the Plex internals
this summer. It should now be possible to
interpolate a mesh with any</div>
<div>number of cell types, partition it,
redistribute it, and many other manipulations.</div>
<div><br>
</div>
<div>You can read in some formats that support
hybrid meshes. If you let me know how you plan to
read it in, we can make it work.</div>
<div>Right now, I don't want to make input
interfaces that no one will ever use. We have a
project, joint with Firedrake, to finalize</div>
<div>parallel I/O. This will make parallel reading
and writing for checkpointing possible, supporting
topology, geometry, fields and</div>
<div>layouts, for many meshes in one HDF5 file. I
think we will finish in November.</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>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"
target="_blank" moz-do-not-send="true">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"
moz-do-not-send="true">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"
moz-do-not-send="true">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>
</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" moz-do-not-send="true">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</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" moz-do-not-send="true">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<pre class="moz-signature" cols="72">--
Eric Chamberland, ing., M. Ing
Professionnel de recherche
GIREF/Université Laval
(418) 656-2131 poste 41 22 42</pre>
</body>
</html>