In the era of automatic tetrahedral meshing, many have lost their way. Wondering analysts simply read in their geometry, specify a few sizing controls, hit a mesh button and get a mesh. But in the end, they receive a mesh that is not ideal, especially on the surface. What these meandering meshers need is a map… a mapped mesh.
OK, that is a pretty lame introduction, but I’ve run out of Monty Python references and I don’t have Doug’s B movie knowledge.
Bad intro aside, many users are not aware of the strong capabilities available in Workbench meshing for creating really nice mapped meshes on surfaces. Once created, these mapped meshes can be used to mesh 2D and shell models as well as to extrude a mesh (sweep method) for a 3D Hex mesh or a ‘seed’ mesh for a tetrahedral mesh (patch conforming algorithm). By using a controlled mapped mesh, users can ‘find’ their way to a better mesh.
Mapped Meshing Method
The Mapped Mesh Method has been an Mesh Control that has been in ANSYS for a while. It is found in the Mesh Control menu item when you are in the Mesh part of the tree, or by RMB->Insert->Mapped Face Meshing. For simple geometry, and some not so simple, you simply slap that control on a face or faces and let ANSYS figure out the best way to make a mapped mesh.
Figure 1: Insert Mapped Face Meshing
In the past, the area had to be a pretty “square” topology – four easily identified edges. But over the last couple of releases more intelligence has been added to recognize complex geometries as mappable. Figure 2 shows several different topologies and how the mesher does a nice job of mapping them with no user modification.
Figure 2: Automatic Meshing of Complex Topologies with Mapped Meshes
Note that the last topology did not map mesh. We will come back to that. But the other five all meshed with a nice looking mapped mesh. So how does ANSYS figure out how to do this?
What they do is take geometry and break it up into 4 sided chunks. They call this making Submaps. But to do this they need to identify the outside edges in terms of squarish topology. The secret to doing this is identifying the vertices (points where edges connect) as either a corner, a side or an edge. Figure 3 (stolen from the user manual) shows an example of each:
The algorithm identifies the vertex type by looking at the inside (mesh side) angle formed by the two edges attached to the vertex using based on the following table:
Vertex Type |
Angle Range |
Number of Elements Connected |
Image |
End |
0°-135° |
1 |
|
Side |
136°-224° |
2 |
|
Corner |
225°-314° |
3 |
You can get a feel for the algorithm (but not the actual one, it is much more complex) by stepping through breaking up the geometry in Figure 3 and follow the following steps in your head:
- Mesh the edges creating nodes on the edges based on local and global meshing settings
- March around the edges making virtual edges that combine by combining any edges linked by Side vertices (the only one is F-G-A in this example).
- Go to the first corner you encountered. Shoot a line along the vector from B-C until you intersect with an edge. Find F-E.
- Count number of nodes from A-B, call it N. Then count N nodes from F toward E and make the Nth node a virtual vertex H.
- Draw a virtual edge from C-H. Note, B-C-H is now one virtual edge because in B-C-H, C is now a Side vertex.
- Keep marching around from H till you get back to A. You end up with 4 corners so now you have a sub map.
- Go back to where you broke off, C, and march around to C (remember H-C is now an edge and C looks like an End in this topology) until you get another corner. You now have the second sub map.
Pretty cool, huh. I wish I would have thought of that. The actual method is of course much more complex and has allsorts of checks and “if this, than do that” stuff in it.
Helping the Algorithm Out
Sometimes the angles just don’t work out so you need to go in and tell the mesher what is a corner, side, or end. You do this in the Details view for the Mapped Face Meshing method you attach to the face.
Figure 4: Details View for Mapped Face Meshing Method
You basically click on the cell for Sides, Corners and Ends and then identify the vertices for each. The last example in figure three has rounded corners so the algorithm identifies the vertices on the rounds as Sides because they are 180° apart. The result is the free mesh shown in Figure 5. If you want a mapped mesh, you need to specify the vertices on the rounds. Figure 6 shows the result. Well, maybe sometimes the free mesh is better.
Figure 5: Resulting Free Mesh with Automatic Identification of Vertices
Figure 6: Mapped Mesh after Manual Identification of Vertices
The other option on really nasty geometry is to take it into DesignModeler and imprint the surfaces to create your own sub maps.
Conclusions
In most cases, just putting a Mapped Face Meshing control on a surface will give you a nice mapped mesh. The mapped mesh is usually more uniform, has less distorted elements, no triangles, and usually has less nodes. But a mapped mesh is not always better, you need to use your engineering judgment to decide which is best in each application. I like to use this control on fillets and on blocky parts.
So, when you are not liking the look of the default surface mesh, even if you are not hex meshing your model, turn off the autopilot, and try a Mapped Face Meshing control.