[petsc-users] Question regarding DMPlex reordering

Pierre Seize pierre.seize at onera.fr
Tue Oct 26 09:17:04 CDT 2021


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

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 :

    DMPlexCreateFromFile
    DMPlexGetOrdering
    DMPlexPermute
    DMPlexDistribute

but that gives me an error when it runs on more than one process:

[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: No support for this operation for this object type
[0]PETSC ERROR: Number of dofs for point 0 in the local section should 
be positive
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.16.0, unknown
[0]PETSC ERROR: ./build/bin/yanss on a  named ldmpe202z.onera by pseize 
Tue Oct 26 16:03:33 2021
[0]PETSC ERROR: Configure options --PETSC_ARCH=arch-ld-gcc 
--download-metis --download-parmetis --prefix=~/.local --with-cgns
[0]PETSC ERROR: #1 PetscPartitionerDMPlexPartition() at 
/stck/pseize/softwares/petsc/src/dm/impls/plex/plexpartition.c:720
[0]PETSC ERROR: #2 DMPlexDistribute() at 
/stck/pseize/softwares/petsc/src/dm/impls/plex/plexdistribute.c:1630
[0]PETSC ERROR: #3 MeshLoadFromFile() at src/spatial.c:689
[0]PETSC ERROR: #4 main() at src/main.c:22
[0]PETSC ERROR: PETSc Option Table entries:
[0]PETSC ERROR: -draw_comp 0
[0]PETSC ERROR: -mesh data/box.msh
[0]PETSC ERROR: -mesh_view draw
[0]PETSC ERROR: -riemann anrs
[0]PETSC ERROR: -ts_max_steps 100
[0]PETSC ERROR: -vec_view_partition
[0]PETSC ERROR: ----------------End of Error Message -------send entire 
error message to petsc-maint at mcs.anl.gov----------

I checked and before I tried to reorder the mesh, the dm->localSection 
was NULL before entering DMPlexDistribute, and I was able to fix the 
error with DMSetLocalSection(dm, NULL) after DMPlexPermute, but it 
doesn't seems it's the right way to do what I want. Does someone have 
any advice ?

Thanks in advance

Pierre Seize

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211026/1d70ad4f/attachment.html>


More information about the petsc-users mailing list