[petsc-users] Visualizing higher order finite element output in ParaView

Matthew Knepley knepley at gmail.com
Wed Jan 29 17:38:59 CST 2025


That is all true. If you want lower level pieces to make it yourself, I
have -dm_plex_high_order_view, which activates
DMPlexCreateHighOrderSurrogate_Internal(). This is a simple function that
refines the mesh lg(p) times to try and
resolve the high order behavior.

  Thanks,

     Matt

On Wed, Jan 29, 2025 at 4:55 PM Jed Brown <jed at jedbrown.org> wrote:

> I like the CGNS workflow for this, at least with quadratic and cubic
> elements. You can use options like -snes_view_solution cgns:solution.cgns
> (configure with --download-cgns). It can also monitor transient solves with
> flexible batch sizes (geometry and connectivity are stored only once within
> a batch of output frames).
>
> Anna Dalklint via petsc-users <petsc-users at mcs.anl.gov> writes:
>
> > Hello,
> >
> > We have created a finite element code in PETSc for unstructured meshes
> using DMPlex. The first order meshes are created in gmsh and loaded into
> PETSc. To introduce higher order elements, e.g. 10 node tetrahedral
> elements, we start from scratch using PetscSection and loop over the
> relevant points it the DM to introduce additional degrees-of-freedom
> (example; for 10 node tets we have 4 vertices “nodes” and 6 edge “nodes”).
> The coordinates of the new “nodes” are obtained by interpolation using the
> finite element basis functions.
> >
> > The simulations seem to run well, but we face issues when trying to
> visualize the results in ParaView. We have tried to use both CGNS and
> HDF5+XDMF file formats for e.g. VecView. CGNS works, but the edge
> degrees-of-freedom appear to not be interpolated correctly (we observe
> oscillations in the fields, don’t know if this is a PETSc och ParaView
> issue). Also, we would prefer to use another file format than CGNS since it
> does not appear to directly allow timeseries (at least ParaView doesn’t
> recognize it). We haven’t got the HDF5+XDMF file format to work at all when
> running on more than one core (the mesh is highly distorted when saving
> using VecView and DMView + running the “petsc_gen_xdmf.py” script on the
> .h5 output file).
> >
> > VTU format works but then only the vertices’ degrees-of-freedom are
> visualized. As far as we have understood it, this is because VTU/VTK only
> supports degrees-of-freedom on vertices/cell level.
> >
> > Does anyone have any idea of how to visualize fields generated from
> higher order elements in ParaView? Or understand what we might be doing
> wrong?
> >
> > Best regards,
> > Anna
>


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

https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!bARGOByHrNW1kx6GeTEkq8OOmkrXte9cSpdwEz_FYq-Qc2FVXoBXoFOjJtKExsznxY8rJjfzPN_HpyXH_ubn$  <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!bARGOByHrNW1kx6GeTEkq8OOmkrXte9cSpdwEz_FYq-Qc2FVXoBXoFOjJtKExsznxY8rJjfzPN_Hp2vIMQvr$ >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20250129/48eb7cf1/attachment.html>


More information about the petsc-users mailing list