data representation seems wrong when load .vtu written from the model with hexahedral mesh

My problem seems like a data representation issue when import .vtu file generated from Abaqus .odb with hexahedral mesh (C3D8R). My script works okay to create .vtu with tetrahedral mesh though.


This is what’s shown in Paraview, where the model (with hexa mesh) is represented as a group of flat surfaces. I don’t know why it shows like this.
This is the screenshot when uses tetra mesh (C3D4), where .vtu conversion works good.

Does anyone knows how to resolve this issue?
Thanks in advance.
Please refer to the attached script. vtuwriter_12142020.py (6.5 KB)

Patrick,

I guess there is something wrong in the way you specify the points for your hexahedrons.
Here is an extract of the VTK documentation for this cell type:
The hexahedron is defined by the eight points (0-7) where (0,1,2,3) is the base of the hexahedron which, using the right hand rule, forms a quadrilaterial whose normal points in the direction of the opposite face (4,5,6,7).
Please make sure that you correctly specify those point ids as they might not directly map to what ODB provide for C3D8R cells.

Hope this helps,
J.

Oh and by the way, the cell type for hexahedron is 12 while it is 10 for tets (your script seems to print 10 in any case which might be the issue here).

Hi Joachim,

I figured it out with your invaluable comments!
The cell type number,10, causes the flat surfaces.
12 works good for hexa mesh.
Thank you for your help!