Status of Higher Order element support in Paraview/VTK

Hi.

Can someone please give me the status of support for the VTK_HIGHER_ORDER_TETRAHEDRON and VTK_HIGHER_ORDER_WEDGE cell types in Paraview.
I have an application that uses a mix of VTK_TRI_QUADRATIC_HEXAHEDRON (27 node hex)
and the 15 node tet and 21 node wedge that map to VTK_HIGHER_ORDER_TETRAHEDRON and
VTK_HIGHER_ORDER_WEDGE. I’ve verified by looking at vtkHigherOrderTetra.cxx and vtkHigherOrderWedgd.cxx that these elements are the same (in terms of node ordering and interpolants) as what I’m using. They only previous Support posts I can find that touched on
these elements was from 2012 and mentioned something about only being supported as vtkGenericDataSet meshes. I tried setting the appropriate cell types (29, 64, and 65) in a VTK legacy unstructured grid file but got errors about 3D cells not defined or something like that).

So questions.

  1. are the HIGHER_ORDER_TETRA and HIGHER_ORDER_WEDGE cells supported by default in
    the most recent Paraview
  2. are these only supported by the XML file format
  3. are they supported in unstructured grid files (ie. .vtu etc) or is this still something that must
    be done with vtkGenericDataSet. If so, can someone give me a small XML example of
    what the file should look like

Thanks
RW

  1. Yes they are supported
  2. I think so. I really think that one should avoid the legacy VTK format and uniquely rely on generating XML files
  3. They are supported in vtkUnstructuredGrid. You can use ParaView’s source UnstructuredCellTypes to generate a mesh using the high order elements of your interest. You can then export this file in ascii vtu XML formart using Save Data.

You can also search in the VTK code base for your high-order cells types to understand how to deal with those elements (the initialization of these elements is a bit tricky…).

You can also take a look at other codes such as FireDrake to better understand the treatment of high-order cells. For example: