What is the Ideal Mesh?
There are many options to select from when choosing the appropriate meshing technique (which may precipitate decisions regarding preprocessing solutions) to discretize your domain for computer-aided engineering (CAE) applications. Some of these options include:
- Multi-block Structured
- Advancing Front
- …and many others
Choosing from among these options quickly exposes both the advantages and drawbacks of a particular meshing method, especially when comparing one against another. Users typically tailor their meshing habits based on the types of problems they encounter regularly. For example, meshes created using a multi-block structured technique benefit from having flow-aligned hexahedral elements which help provide improved solution accuracy with few cells. However, creating a topology to connect each of the structured block elements can be a challenging and time-consuming task–one which often results in either having localized regions that are insufficiently or overly resolved. This issue sometimes arises when highly resolved regions of the domain are propagated to regions that don’t necessitate resolution nearly as fine, but are maintained due to the point-matching nature of the multi-block structured approach.
Unstructured meshing techniques often provide added flexibility and time savings when creating a mesh, especially meshes involving complex geometries, but do so at the expense of including a profuse number of cells, reducing flow alignment with cell normals, and limiting control for localized mesh refinement. The state-of-the-art in meshing continues to evolve, but to the dismay of many engineers, there isn’t yet an “easy button” to generating a mesh which will provide results that accurately represent the physics involved with a minimum number of cells.
At Pointwise we have been interested in an evolution of the unstructured advancing layer technique, for which Pointwise is known, that may provide flow-aligned cell normals and reduced cell count, combined with the flexibility of generating unstructured meshes using our anisotropic advancing front technology (T-Rex). Pointwise already provides users the ability to combine prisms extruded via T-Rex into a mix of cells including hexahedra, pyramids, and tetrahedra to reduce the number of cells in a given mesh. However, another similar approach involves extruding cells directly from a quad-dominant surface mesh to provide a 3D unstructured hex-dominant grid. Starting with a quad-dominant surface mesh may potentially provide flow-aligned cell normals, particularly near wall boundaries, to help further improve solution accuracy in a similar manner as in a multi-block structured mesh. In this way, one may be able to combine the advantages from both multi-block structured and unstructured advancing front techniques.
To better understand the influence of these mesh characteristics on convergence behavior and solution accuracy, we generated three meshes around an ONERA M6 wing and compared their corresponding CFD solutions to empirical data gathered from a 1979 AGARD report published by NASA. The types of meshes we evaluated were:
- Multi-block Structured
- Unstructured with a mix of tetrahedra and prisms (triangulated surface mesh)
- Unstructured with a mix of hexahedra, pyramids, and tetrahedra (quad-dominant surface mesh)
The model used for this comparison was an ONERA M6 wing section with the following freestream flow conditions:
- M0 = 0.8395
- T0 = 518.688˚R
- Re = 11.72e+06
- α = 3.06˚
The surface meshes for each case are shown in Fig. 1., and a table comparing several characteristics of each mesh is shown in Table 1.
In all of the mesh configurations, the initial cell height from the surface was set to 6.4e-05 inches, which corresponds to a y+ value of 1.0 based on a mean aerodynamic chord of 2.1196 feet. The total number of points used in the multi-block structured mesh here is somewhat larger than the other two meshes due to propagating points used to resolve the wing’s surface to the farfield based on the multi-block topology chosen. The mixed-cell mesh provides some advantage over the unstructured prism mesh for users of cell-centered solvers with a substantial reduction in the number of cells in the mesh.
Figure 3 compares the relative cell volumes at a constant streamwise cut through the mesh for each of the three grids. Where the unstructured prism mesh includes layers of prism elements in the vicinity of the wing surface, the unstructured mixed-cell mesh has primarily hexahedra.
Steady-state RANS solutions were generated using NASA’s FUN3D flow solver (v. 12.7) with their 2003 Menter SST Two-Equation Model implementation. Because FUN3D is a node-based solver, we attempted to keep the number of points resolving the wing’s surface somewhat equitable among the three mesh configurations. A comparison of y+ contours between the three configurations is shown in Fig. 2, and the the number of points used to resolve the wing’s surface in each of the meshes is shown in Table 1.
Table 2 shows solution runtimes as well as integrated lift and drag coefficient results of the ONERA M6 wing for each of the three cases. Unfortunately, there weren’t similar empirical values in the published data to use for comparison. However, Fig. 4 shows a comparison of surface pressures plotted at various spanwise locations along the wing for the three mesh configurations. The numerical results from solutions obtained using each mesh is plotted with empirical data gathered from NASA’s ONERA M6 Wing Validation Archive. These numerical results show pretty good agreement overall with the available empirical data. Towards the wing’s tip, the structured mesh does appear to more closely match the empirical results near the shock boundary on the upper wing surface. However this is likely due to the additional mesh refinement near the wing’s tip that appears in the structured mesh. Similarly, there is an outboard region of the wing between Y/b = 0.80 and 0.95 where the prism and mixed-cell meshes track the shock boundary more closely to experimental results.
A comparison of the convergence behavior from each of the runs is shown in Fig. 5. Convergence between the two unstructured meshes is comparable. Both converged in roughly 100 iterations and reached machine zero in approximately 5,000 iterations. The only substantial difference between the two appears to be the far smoother residual convergence behavior displayed in the unstructured mixed-cell case. The multi-block structured mesh took about 800 iterations to converge and was only about halfway to machine zero in the same number of iterations. This is likely due to the increased number of points combined with smaller cells in regions near the wing’s tip which are present in the multi-block structured mesh.
In the end, all three meshes are suitable, but the smoother residual convergence criteria and reduced wall clock time for the unstructured mixed-cell case didn’t go unnoticed. Looking back on our initial quad-dominant surface mesh, there was certainly some room for improvement when considering our initial desire for flow-aligned cell normals to help compare more directly with the multi-block structured case. After some iterative improvement of the underlying unstructured quad-dominant meshing algorithm, our developers at Pointwise have made considerable progress in pursuit of the ideal mesh–something we think our users are really going to enjoy.
Hello there! Nice and very useful article. Now, one question. On “Figure 3(c): Unstructured mixed-cell cell volumes near the surface of the wing”, the quad-looking surface mesh is coming from Pointwise or …?
Thanks a lot in advance!
The quad-dominant surface mesh in Figure 3(c), as well as the surface mesh in the last picture, were created in an unreleased build of Pointwise.
Thanks for the reply. Looking forward to the official release. Is it gonna be in one of the 17. releases or a major one.
This feature is on our roadmap for release with Pointwise v18.
Thank you for the post. I liked to share some extra points about this case in particular unstructured (mixed cell) and structured meshes (multi-block). I also worked on this case already in some kind of similar way. I came to this conclusion that regardless of the way that you generate the entire mesh, multi-block, unstructured prism or unstructured mixed cell, its all about the quality of the boundary layer mesh. First of all, I used Fluent 6.3.26 solver, and had a exhausting convergence experience with T-Rex mesh, hardly converging. Therefore, I am not commenting on the anisotropic tetrahedral mesh because of the incompatibility or better to say lacks of adequate experience for judgment, but It turns out that the multi-block structured grid was the ideal mesh for me both in terms of the convergence and the quality. The structured multi-block mesh in my case showed very similar performance with the characteristics illustrated for unstructured mixed-cell mesh above.
However, the multi-block structured grid that I used was a little bit different. It includes an overset structured boundary layer block extruded around the wing roughly up to the above illustrated boundary between the hexahedral and tetrahedral cells in case of unstructured mixed-cell mesh. The rest of the structured domain manually was created by dividing into three parts.
Therefore, I think if you separate the hexahedral boundary layer in your unstructured mixed-cell case and replace the tetrahedral cells beyond the separated region with hexahedral cells and so create a structured multi-block grid with same boundary layer block, similar results to the unstructured mixed-cell grid will be obtained in terms of convergence and accuracy. In this case, then the question is this: what is the ideal grid, the multi-block structured grid that is obtained in this way or the unstructured mixed-cell grid?
Of course it includes handy operations like separation and division, and I assumed that all the above illustrated cases were generated automatically from the surface mesh; however, I think it provides a very closer and fairer comparison between the multi-block structured and the mixed-cell unstructured grids in term of being ideal. Thanks again for the blog.
Cool, I like this. One doesn’t usually see scientific/engineering approach (for lack of a better term) coming from CFD vendors in regards to what is published on the web.
A few comments. Looking at the residual of the mult-block case, it does not seem to have converged. It looks as if it locked up. I am surprised that it converged so much differently than the other cases in regards to the loads. Maybe, as you implied, there is something up with the wing tip vortex + interaction with shock. In regards to structured codes, it would be interesting to see results from OVERFLOW. It is designed to leverage structured grids. But, that is just a suggestion for down the road. Everything takes time. And it is nice to see what you have done. In regards to suggestions, another case which would be interesting to see is a canard/wing case where the vortex from the canard interacts with the wing. Granted, I’m not aware of any CFD test cases out there with this geometry. And sometimes when one doesn’t see such cases, there is a reason for it. 🙂
Oh, two more comments. Your links seem to all point to the ONERA test case. Also, the SST model tends to produce less eddy viscosity in vortex regions (which makes if more realistic) and therefore the flow tends to be more unstable than for example the SA model. If the unsteady vortex interacts with a shock, it will take time to converge, if it ever does. So one thing to look for is how many cells are being used to capture the vortex and the amount of eddy viscosity in that region.
Thanks for your comments. The links should be fixed!
Great experiment Zach. Wondering about few things about each mesh type:
1. the mesh resolution at the shock boundary layer
2. approximate time required to prepare mesh
In addition, the feature is somewhat like the “tri-to-quad” feature in Gmsh and look forward for it in the new release.
Thanks for reading. For the unstructured cases, the initial cell height from the wing surface was set to 6.5e-05 inches. Layers of prisms and/or hexahedra elements were extruded from the wing’s surface using a growth rate of 1.2. For the prism case, a total of 26 complete anisotropic right-angled tetrahedra layers were extruded, and an additional 30 layers were extruded in most regions with the exception of a few localized areas where either isotropy conditions were met or cell quality metrics signaled that extrusion should stop early. These tetrahedra layers are then combined into prisms within Pointwise.
The quad-dominant mesh used the same tetrahedra mesh as in the prism case, but cell combination went further to the combine cells all the way to the wing’s surface using a mix of prisms and hexahedra. For the structured mesh case, the initial cell height and growth rate off of the wing’s surface were the same.
The structured mesh case was probably the most time consuming. It took me approximately an hour to create in which a good portion of the time was dedicated to determining the most appropriate topology to use that would accommodate for the finite trailing edge and wing cap. The prism and quad-dominant cases were created in under 20 minutes for both.
I started with a watertight model of the wing, determined the appropriate surface cell size, and created the surface mesh with a single button click. Next I used Pointwise’s 2-D T-Rex feature to resolve the leading and trailing edges with anisotropic triangles, created symmetry and farfield boundaries, and finally used 3-D T-Rex to complete the volume mesh. Volume mesh extrusion completed in about two minutes on my laptop. Given this simple geometry this entire process could have been automated in Pointwise using Glyph. In fact, we have used Glyph to automate meshing of entire aircraft configurations. See http://blog.pointwise.com/2015/09/09/impressions-from-the-third-openvsp-workshop/ for more information about how this was accomplished.
I hope this helps answer your questions. Don’t hesitate to contact us if you have any additional questions or comments!
Is anybody having the 3D structured mesh file of oneraM6 wing (.geo) or geomtery file. please send it me @ firstname.lastname@example.org. I am working on a project I created a file, but having an error while doing a 3D mesh.
I really appreciate your help.
Masood, one of the first places I turn to when looking for validation cases is the NPARC Validation and Verification Archive. They seem to have an M-6 there. https://www.grc.nasa.gov/www/wind/valid/archive.html
A second resource is the Validation and Test Case archive at CFD Online. They too seem to have an M-6. https://www.cfd-online.com/Wiki/Validation_and_test_cases
Best of luck to you.