<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Note there will soon be a generalization of DMPlexBuildFromCellListParallel() around, as a side product of our current collaborative efforts with Firedrake guys. It will take a PetscSection instead of relying on the blocksize [which is indeed always constant
 for the given dataset]. Stay tuned.
<div class="">
<div class=""><br class="">
</div>
<div class=""><a href="https://gitlab.com/petsc/petsc/-/merge_requests/4350" class="">https://gitlab.com/petsc/petsc/-/merge_requests/4350</a></div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class=""><br class="">
</div>
<div class="">Vaclav</div>
<div class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 23 Sep 2021, at 16:53, Eric Chamberland <<a href="mailto:Eric.Chamberland@giref.ulaval.ca" class="">Eric.Chamberland@giref.ulaval.ca</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">
<p class="">Hi,</p>
<p class="">oh, that's a great news!</p>
<p class="">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 class="">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 class="">
</p>
<p class="">Thanks for the follow-up! :)<br class="">
</p>
<p class="">Eric<br class="">
</p>
<p class=""><br class="">
</p>
<div class="moz-cite-prefix">On 2021-09-22 7:20 a.m., Matthew Knepley wrote:<br class="">
</div>
<blockquote type="cite" cite="mid:CAMYG4G=mUTVCuayh4_kqfjEoNT_XEt6+FF24jF2KhLu0nWb8tw@mail.gmail.com" class="">
<div dir="ltr" class="">
<div dir="ltr" class="">On Wed, Sep 22, 2021 at 3:04 AM Karin&NiKo <<a href="mailto:niko.karin@gmail.com" moz-do-not-send="true" class="">niko.karin@gmail.com</a>> wrote:<br class="">
</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" class="">Dear Matthew,
<div class=""><br class="">
</div>
<div class="">This is great news!</div>
<div class="">For my part, I would be mostly interested in the parallel input interface. Sorry for that... </div>
<div class="">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 class=""> 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 class=""><br class="">
</div>
<div class="">An MED interface does exist. I stopped using it for two reasons:</div>
<div class=""><br class="">
</div>
<div class="">  1) The code was not portable and the build was failing on different architectures. I had to manually fix it.</div>
<div class=""><br class="">
</div>
<div class="">  2) The boundary markers did not provide global information, so that parallel reading was much harder.</div>
<div class=""><br class="">
</div>
<div class="">Feel free to update my MED reader to a better design.</div>
<div class=""><br class="">
</div>
<div class="">  Thanks,</div>
<div class=""><br class="">
</div>
<div class="">     Matt</div>
<div class=""> </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" class="">
<div class="">Best regards,</div>
<div class="">Nicolas</div>
<div class=""><br class="">
</div>
</div>
<br class="">
<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" class="">knepley@gmail.com</a>> a écrit :<br class="">
</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" class="">
<div dir="ltr" class="">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" class="">niko.karin@gmail.com</a>> wrote:<br class="">
</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" class="">Dear Eric, dear Matthew,
<div class=""><br class="">
</div>
<div class="">I share Eric's desire to be able to manipulate meshes composed of different types of elements in a PETSc's DMPlex. </div>
<div class="">Since this discussion, is there anything new on this feature for the DMPlex object or am I missing something?</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Thanks for finding this!</div>
<div class=""><br class="">
</div>
<div class="">Okay, I did a rewrite of the Plex internals this summer. It should now be possible to interpolate a mesh with any</div>
<div class="">number of cell types, partition it, redistribute it, and many other manipulations.</div>
<div class=""><br class="">
</div>
<div class="">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 class="">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 class="">parallel I/O. This will make parallel reading and writing for checkpointing possible, supporting topology, geometry, fields and</div>
<div class="">layouts, for many meshes in one HDF5 file. I think we will finish in November.</div>
<div class=""><br class="">
</div>
<div class="">  Thanks,</div>
<div class=""><br class="">
</div>
<div class="">     Matt</div>
<div class=""> </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" class="">
<div class="">Thanks,</div>
<div class="">Nicolas</div>
</div>
<br class="">
<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" class="">Eric.Chamberland@giref.ulaval.ca</a>> a écrit :<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
                          0.8ex;border-left:1px solid
                          rgb(204,204,204);padding-left:1ex">
<div class="">
<p class="">Hi,<br class="">
</p>
<div class="">On 2021-07-14 3:14 p.m., Matthew Knepley wrote:<br class="">
</div>
<blockquote type="cite" class="">
<div dir="ltr" class="">
<div dir="ltr" class="">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" class="">Eric.Chamberland@giref.ulaval.ca</a>> wrote:<br class="">
</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 class="">
<br class="">
while playing with DMPlexBuildFromCellListParallel, I noticed we have to <br class="">
specify "numCorners" which is a fixed value, then gives a fixed number <br class="">
of nodes for a series of elements.<br class="">
<br class="">
How can I then add, for example, triangles and quadrangles into a DMPlex?<br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">You can't with that function. It would be much mich more complicated if you could, and I am not sure</div>
<div class="">it is worth it for that function. The reason is that you would need index information to offset into the</div>
<div class="">connectivity list, and that would need to be replicated to some extent so that all processes know what</div>
<div class="">the others are doing. Possible, but complicated.</div>
<div class=""><br class="">
</div>
<div class="">Maybe I can help suggest something for what you are trying to do?</div>
</div>
</div>
</blockquote>
<p class="">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 class="">When we directly use ParMETIS_V3_PartMeshKway, we give two arrays to describe the elements which allows mixed elements.</p>
<p class="">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 class="">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 class="">Thanks,</p>
<p class="">Eric<br class="">
</p>
<p class=""><br class="">
</p>
<blockquote type="cite" class="">
<div dir="ltr" class="">
<div class="gmail_quote">
<div class=""><br class="">
</div>
<div class="">  Thanks,</div>
<div class=""><br class="">
</div>
<div class="">      Matt</div>
<div class=""><br class="">
</div>
<div class=""> </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 class="">
<br class="">
Eric<br class="">
<br class="">
-- <br class="">
Eric Chamberland, ing., M. Ing<br class="">
Professionnel de recherche<br class="">
GIREF/Université Laval<br class="">
(418) 656-2131 poste 41 22 42<br class="">
<br class="">
</blockquote>
</div>
<br clear="all" class="">
<div class=""><br class="">
</div>
-- <br class="">
<div dir="ltr" class="">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br class="">
-- Norbert Wiener</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank" moz-do-not-send="true" class="">https://www.cse.buffalo.edu/~knepley/</a><br class="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<pre cols="72" class="">-- 
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" class="">
<div class=""><br class="">
</div>
-- <br class="">
<div dir="ltr" class="">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br class="">
-- Norbert Wiener</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank" moz-do-not-send="true" class="">https://www.cse.buffalo.edu/~knepley/</a><br class="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
<br clear="all" class="">
<div class=""><br class="">
</div>
-- <br class="">
<div dir="ltr" class="gmail_signature">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">
<div dir="ltr" class="">
<div class="">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br class="">
-- Norbert Wiener</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank" moz-do-not-send="true" class="">https://www.cse.buffalo.edu/~knepley/</a><br class="">
</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>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</body>
</html>