Recently, I encountered this error while attempting to generate a tetrahedral (tet) mesh in ANSYS Fluent 14.5.7 Meshing Mode based on an imported NASTRAN Surface (2D mesh enclosing a volume):
Instinctively, most engineers would probably go back to the program they generated the NASTRAN Surface in and hunt down the nodes whose IDs correspond to the numbers in the above error. Unfortunately, they’d most likely discover that those nodes are actually not in the same location and therefore cannot be duplicates. So exactly what is happening here?
It turns out that Fluent Meshing Mode throws this error if the NASTRAN Surface has a free edge in the enclosure such that the enclosure is not perfectly sealed.
I’m guessing that when Fluent tries to mesh such a surface, it creates a tet node on either side of the edge gap. Since these nodes are new and belong to the volume tet mesh, their IDs don’t correspond to those of nodes in the NASTRAN Surface, even they occupy the same geometric position. Because the distance between these 2 nodes is small, an element created between them would be of poor quality. Fluent therefore tries to reposition them somehow, probably using some 3D version of rounding. However, again because of the small distance between both nodes, they both get repositioned to the same location, which gives the error.
I’ll provide 2 methods of fixing this: a general one, and one specific to Altair HyperMesh 12.*, which I use to generate NASTRAN Surfaces.
- Open the program you generated the NASTRAN Surface in.
- Use the program’s native edge finding feature on the elements corresponding to the NASTRAN Surface.
- Seal the model by equivalencing (merging) the nodes at the edge or meshing the gap (if it is sufficiently large).
Altair HyperMesh Method
- Open Altair HyperMesh and load the elements corresponding to the NASTRAN Surface into the Graphics Area.
- In the Main Menu Pages (see Figure 2), select Tool.
- Click edges.
- In the yellow drop down menu, select elems.
- Click elems again.
- Click displayed to select all the elements displayed in the Graphics Area.
- In the tolerance = field, enter a number at least 2 orders of magnitude smaller than your mesh size. Choose this number carefully as you’re telling HyperMesh to merge all nodes whose distance apart is equal to or less than it.
- Click find edges. This should reveal the offending edges in the Graphics Area.
- Repeat Steps 5 & 6 above.
- Click preview equivalence, which will show which nodes will be merged. Ensure the right ones show up in the Graphics Area.
- Click equivalence.
- Save your model.
- Re-export the NASTRAN Surface.
- Re-import the NASTRAN Surface into ANSYS Fluent Meshing Mode.
- Try generating the tet mesh again. It should work this time.
Thanks to fellow Dell engineer Mizanur Siddique, Ph.D., for pointing out that the original error was due to a free edge somewhere in the NASTRAN Surface.