Dear Matt,
I guess you're right: thresholding by rank==0 and rank==1 in paraview reveals that it is indeed the overlap cells that are appear twice in the output.
The attached file is not exactly minimal but hopefully short enough. If I run it in serial, all is ok, but with
mpirun -np 2 ./saveDemo
it creates a 10x10 grid, but I get "output.vtu" with a total of 120 cells. However the pointSF of the DMPlex seems correct.
Thanks
Matteo
On Mon, Oct 21, 2024 at 12:22 PM Matteo Semplice via petsc-users <petsc-users@mcs.anl.gov> wrote:
Dear petsc-users,
I am having issues with output of parallel data attached to a DMPlex (or maybe more fundamental ones about DMPlex...).
So I currently
- create a DMPlex (DMPlexCreateGmshFromFile or DMPlexCreateBoxMesh)
- partition it
- and create a section for my data layout with DMPlexCreateSection(ctx.dmMesh, NULL, numComp, numDof, numBC, NULL, NULL, NULL, NULL, &sUavg)
- DMSetLocalSection(ctx.dmMesh, sUavg)
- create solLoc and solGlob vectors with DMCreateGlobalVector and DMCreateLocalVector
- solve ....
- VecView(ctx.solGlob, vtkViewer) on a .vtu file
but when I load data in ParaView I get more cells than expected and it is as if the cells in the halo are put twice in output. (I could create a MWE if the above is not clear)
I think we need an MWE here, because from the explanation above, it should work.
However, I can try to guess the problem. When you partition the mesh, I am guessing that you have cells in the overlap. These cellsmust be in the point SF in order for the global section to give them a unique owner. Perhaps something has gone wrong here.
Thanks,
MattI guess that the culprit is point (4), but if I replace it with DMSetGlobalSection then I cannot create the local vector at point (5).
How should I handle this properly? In my code I need to create both local and global vectors, to perform at least GlobalToLocal and to save the global data.
(On a side note, I tried also HDF5 but then it complains about the DM not having a DS...; really, any working solution that allows data to be explored with Paraview is fine)
Thanks for any advice!
Matteo Semplice
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
-- --- Professore Associato in Analisi Numerica Dipartimento di Scienza e Alta Tecnologia Università degli Studi dell'Insubria Via Valleggio, 11 - Como