[petsc-users] local/global DMPlex Vec output

Matteo Semplice matteo.semplice at uninsubria.it
Mon Oct 21 11:21:19 CDT 2024


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

 1. create a DMPlex (DMPlexCreateGmshFromFile or DMPlexCreateBoxMesh)
 2. partition it
 3. and create a section for my data layout with
    DMPlexCreateSection(ctx.dmMesh, NULL, numComp, numDof, numBC, NULL,
    NULL, NULL, NULL, &sUavg)
 4. DMSetLocalSection(ctx.dmMesh, sUavg)
 5. create solLoc and solGlob vectors with DMCreateGlobalVector and
    DMCreateLocalVector
 6. solve ....
 7. 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 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20241021/85313967/attachment.html>


More information about the petsc-users mailing list