In Pursuit of the Ideal Mesh

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
  • Overset
  • Octree
  • 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 Experiment

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.

ONERA M6 Mesh Configurations

Table 1: ONERA M6 Mesh Configurations

Multi-block structured surface mesh

Figure 1(a): Multi-block structured surface mesh

Unstructured prism surface mesh

Figure 1(b): Unstructured prism surface mesh

Unstructured mixed-cell surface mesh

Figure 1(c): Unstructured mixed-cell surface mesh

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.

yplus contours

Figure 2: A Comparison of y+ contours between the three mesh configurations shows that the number of points used to resolve the wing surface are comparable.

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.

multi-block structured cell volumes

Figure 3(a): Multi-block structured cell volumes near the surface of the wing.

unstructured prism cell volumes

Figure 3(b): Unstructured prism cell volumes near the surface of the wing.

unstructured mixed-cell cell volumes

Figure 3(c): Unstructured mixed-cell cell volumes near the surface of the wing.

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.

The Results

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.

solution results

Table 2: Solution Results

spanwise cp cuts

Figure 4: Pressure coefficient plotted at various spanwise locations along the wing for the three mesh configurations compared with empirical from a 1979 AGARD report.

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.

convergence history

Figure 5: Solution residuals as well as lift and drag convergence histories plotted for the three mesh configurations.

The Conclusions

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.

quad-dominant surface mesh

This entry was posted in Applications and tagged , , , , , , , , , , , , . Bookmark the permalink.

12 Responses to In Pursuit of the Ideal Mesh

  1. Vlad says:

    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!

    • Zach Davis says:

      Hi Vlad,

      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.

      • Vlad says:

        Thanks for the reply. Looking forward to the official release. Is it gonna be in one of the 17. releases or a major one.
        Cheers!

  2. Zach Davis says:

    This feature is on our roadmap for release with Pointwise v18.

  3. payam says:

    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.

    Regards,
    Payam

  4. Martin says:

    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. 🙂

    Wonderful work.

  5. Martin says:

    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.

  6. 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.
    Best,
    Rajib

  7. Zach Davis says:

    Hi Rajib,

    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 https://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!

  8. masood says:

    Is anybody having the 3D structured mesh file of oneraM6 wing (.geo) or geomtery file. please send it me @ mdmasood36@gmail.com. I am working on a project I created a file, but having an error while doing a 3D mesh.
    I really appreciate your help.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s