<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi, I had the idea to try and renumber my mesh cells, as I've
      heard it's better: "neighbouring cells are stored next to one
      another, and memory access are faster".</p>
    Right now, I load the mesh then I distribute it over the processes.
    I thought I'd try to permute the numbering between those two steps :<br>
    <blockquote><tt>DMPlexCreateFromFile</tt><tt><br>
      </tt><tt>DMPlexGetOrdering</tt><tt><br>
      </tt><tt>DMPlexPermute</tt><tt><br>
      </tt><tt>DMPlexDistribute</tt></blockquote>
    <p>but that gives me an error when it runs on more than one process:</p>
    <p><tt>[0]PETSC ERROR: --------------------- Error Message
        --------------------------------------------------------------</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: No support for this operation for this
        object type</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: Number of dofs for point 0 in the local
        section should be positive</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: See <a class="moz-txt-link-freetext" href="https://petsc.org/release/faq/">https://petsc.org/release/faq/</a> for
        trouble shooting.</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: Petsc Release Version 3.16.0, unknown </tt><tt><br>
      </tt><tt>[0]PETSC ERROR: ./build/bin/yanss on a  named
        ldmpe202z.onera by pseize Tue Oct 26 16:03:33 2021</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: Configure options
        --PETSC_ARCH=arch-ld-gcc --download-metis --download-parmetis
        --prefix=~/.local --with-cgns</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: #1 PetscPartitionerDMPlexPartition() at
        /stck/pseize/softwares/petsc/src/dm/impls/plex/plexpartition.c:720</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: #2 DMPlexDistribute() at
        /stck/pseize/softwares/petsc/src/dm/impls/plex/plexdistribute.c:1630</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: #3 MeshLoadFromFile() at
        src/spatial.c:689</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: #4 main() at src/main.c:22</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: PETSc Option Table entries:</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: -draw_comp 0</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: -mesh data/box.msh</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: -mesh_view draw</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: -riemann anrs</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: -ts_max_steps 100</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: -vec_view_partition</tt><tt><br>
      </tt><tt>[0]PETSC ERROR: ----------------End of Error Message
        -------send entire error message to
        <a class="moz-txt-link-abbreviated" href="mailto:petsc-maint@mcs.anl.gov">petsc-maint@mcs.anl.gov</a>----------</tt><br>
      <br>
    </p>
    <p>I checked and before I tried to reorder the mesh, the <tt>dm-></tt><tt>localSection</tt>
      was <tt>NULL</tt> before entering <tt>DMPlexDistribute</tt>, and
      I was able to fix the error with <tt>DMSetLocalSection(dm, NULL)</tt>
      after <tt>DMPlexPermute</tt>, but it doesn't seems it's the right
      way to do what I want. Does someone have any advice ?</p>
    <p>Thanks in advance</p>
    <p>Pierre Seize<br>
    </p>
  </body>
</html>