<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>