First, as you are likely aware, converting tetrahedral elements to hexahedral elements is not a widely recommended hex-meshing technique - but that doesn’t mean that you shouldn’t use it! Rather, the reason it isn’t widely recommended is that often produces (very) poor hexahedral elements – especially on low-quality tetrahedra. Thus to talk about creating a quality
thex mesh, we really need to talk about how to create a high-quality tet mesh.
Consider the following “knuckle” geometry:
If we use the default
tetmesh settings we will get a pretty poor quality tetmesh (at least for nonlinear structural mechanics - where your quality is only as good as your worst element):
And as expected,
thex results in a poorer quality mesh, with some negative hexes:
The hex element in this geometry that inverts is built from one of the holes on the arms. Looking at the tetrahedra, we see that it’s an “overconstrained” tetrahedra - one that has all of its nodes on a surface.
Notice how the resulting hex-layout adds new nodes at the curve and face centers. Cubit then associates this node with the underlying geometry, snapping it to the curve, and this is what results in the inverted hex element.
There are two ways to work around this issue.
Export the initial tet-mesh to an Exodus mesh format, after you’ve made all block / sideset / nodeset assignments (essentially, that you’ve completed any setup operations and now just need to mesh and export). You will create a new Cubit file (reset) and then import the Exodus file. Then you’ll run
thex tet all and then export your hex mesh. There shouldn’t me any inverted elements.
Make a better tet mesh. Here’s how:
First, recognize that we don’t need to exactly capture every CAD curve with elements, so let’s use surface compositing to make virtual topology, letting the tetmesher know that there are certain “features” that don’t need to be strictly captured:
Also, while not strictly required, it’s a good idea to remove small features that will create small elements:
Then in the
TetMesh dialog, select the
- Minimize Over-Constrained Tets
- Minimize Overconstrained Edges
- Minimize Sliver Tets
And go with the highest
Optimization Level setting that you can afford.
The resulting tetmesh:
And what we can see is that troublesome tet element from before has been “split”:
And now we have no inverted hexes:
Let me know if this was helpful!