Arbitary Order Lagrange Hexahedron Element Connectivity

The new versions of ParaView(5.5 and above) supports arbitary order lagrange hexahedron elements. The ordering of the points (lagrange points facepoints+interior+corners)associated with the elements hasn’t been provided either in the ParaView reference guide or in VTK file format specification in VTK guide. (For simple hex the ordering of nodes is clockwise from inside the cell for one face and similar for the nodes in the opp face ). How do we figure such ordering or pattern for the Arbitary Order Lagrange Hexahedron ?

@tjcorona or @dcthomp should know.

I haven’t had luck messaging them, anyway I could get any leads on the topic? Anything however small is appreciated

Here is a blog post @tjcorona and @dcthomp wrote that should shed light on the ordering.

1 Like

The comments under the blogpost actually helped me find the solution, someone spotted a few mistakes in the blogpost as well. Thanks for the solution !

1 Like

@vrkssai Do you recall what the mistakes in that blog post were? The comments aren’t visible anymore. I set up my problem according to the diagrams, but it really seems like there’s a problem with the point ordering…

Yes, their node ordering was wrong. I would suggest going through the Paraview Reader/Writer code on Gitlab. It would be a C++ file which has all the logic reader/writer uses for lagrange hexahedron. From that you can use it in whatever application you need. I’ll see if I can find the file.

I found the file its this one.vtkHigherOrderHexahedron.cxx (24.6 KB)

Location: Common/DataModel/vtkHigherOrderHexahedron.cxx
Look at lines from 607, function : int vtkHigherOrderHexahedron::PointIndexFromIJK(int i, int j, int k, const int* order), this should have all the information you need.

Wonderful, thanks!

May I ask what are you working on? DG or FEM?

Spectral element methods, actually

1 Like