Meshing, Turbulence Model Choice, andy+
Producing a mesh for RANS CFD involves taking a representation of the solid geometry (and any nearby solid boundaries) and constructing a discretization of the surrounding fluid domain. There are many tools that can be used to do this. In this section, we will show the results for meshes produced with ICEM, Harpoon, and dedicated codes produced at NASA for CFD turbulence model validation. Other popular meshing tools include Tgrid, Boxer, Gridgen, and Centaur. All meshing tools have their strengths and weaknesses and often the final choice will rest on familiarity and ready availability.
Here meshes are considered at several levels of resolution, aimed at two different types of results: first, lift and drag at low AoAs in the absence of separation, and, second, highly nonlinear flows with stall and separation. We always aim to adopt meshing approaches that give reasonable results with limited effort, even if this results in slightly larger meshes and therefore longer solver run times. For example, the fast hex-core mesher Harpoon can generally create a CFD mesh around an aircraft containing some 5 million cells in a minute or so, including the generation of a tightly controlled boundary layer mesh. Refinement zones around the lifting surface edges and wing tips can easily be added if desired, but these will rapidly cause the cell count to rise. We tend to use five or more expansion layers in our main mesh plus a boundary layer mesh (possibly extended into the wake) for more accurate work. If possible, we exploit symmetry and run half models. We find that, when trying to recover test results for airfoil sections, the far-field boundaries being used must be at least 20 chord lengths from the foil but, for dealing with whole airframes, these can be reduced somewhat (for airfoils alone, the drags are so low that very careful meshing is required, while for complete airframes with induced parasitic and interference drag, a less conservative approaches can suffice). Once a basic solution is in place, we sometimes add the effects of propellers by using actuator disk models.
We typically start with a coarser mesh and the simple Spalart-Allmaras turbulence model where a full airframe model can typically be built with perhaps 2 000 000 cells while a refined boundary layer model will typically have 10-20 times as many cells, although these can still be solved in affordable times if a reasonably powerful multicore computer with sufficient memory is available. Whether the cost is justified will depend on the sophistication of the overall project. As already noted, simple meshes will allow reasonable estimates of lift to be produced; good estimates of drag will require more expense, while attempts at prediction of separation and stall will need very finely controlled boundary layer and trailing-edge meshes.
The number of cells in the boundary layer area depends on both the results required and the type of turbulence model to be used: when studying stall and drag at higher angles of attack, we use the k - m SST method, while for simpler work we use the Spalart-Allmaras approach and opt for a rather coarser mesh that draws on wall functions. The fineness of boundary layer meshes is characterized by the nondimensional cell height parameter y+. The desired first cell height in the boundary layer can be estimated from the target y+ using chord-based Reynold’s number (Re), free-stream velocity (V), air density (p), and air viscosity (p), together with a flat-plate approximation as follows :
Cf = (2log(Re) - 0.65)-2 3,
TWall = °.5 pV2Cf,
u* = TWall /p,
FirstCellHeight = y+desiredP/(pu*).
For the best results, which require viscous sublayer models, y+ should ideally be below 1. Some references suggest that keeping y+ below 5 is sufficient, but Fluent advises that average values of 0.8 should be aimed for, with finer meshes being preferable. To achieve a fine y+, a boundary layer mesh will be needed together with a series of expansion stages moving away from the boundary, typically with expansion ratios varying from 1.15 to 1.4, while for coarser meshes using wall functions, a main domain mesh plus a few well-positioned refinement zones are all that may be needed. Very fine expansion ratios are needed if flow separation is to be correctly predicted (Fluent recommends 1.15 or less). For approximate results, the wall function approach can be used by adopting mean values of y+ of 60, and mostly lying in the range 30-150 (it is in fact very difficult to get an ideal distribution of y+ without detailed intervention in the meshing stage; so a compromise between accuracy and effort must be made unless significant expertise is available).
The y+ parameter is reported by the solver after convergence, and it is good practice to always plot this quantity out for the surface of the aircraft, both as a histogram and surface contours, before studying lift and drag data. Some CFD solvers (including Ansys Fluent) allow mesh adaptation to try and match the y+ values to those desired once the solution has begun. Note also that y+ changes with the flight speed, height, and AoA. According to Ansys Fluent, the main choice in boundary layer modeling is between resolving the viscous sublayer where
- • the first grid cell needs to yield y+ less than 1 but
- • this adds significantly to the mesh count although it allows models such as k - m SST to be used to resolve transition and separation so that
- • generally speaking, if the forces on the wall are key to the simulation (aerodynamic drag, turbomachinery blade performance), this is the approach to take
and using a wall function where
- • the first grid cell needs to be 30 < y+ < 300 (too low, and model is invalid; too high and the wall is not properly resolved) together with
- • a wall function, and high Reynold’s number turbulence model such as Spalart-Allmaras, and
- • generally speaking, this is the approach to take when one is more interested in the mixing in the middle of the domain, rather than the forces on the wall.
In all cases, meshes with y+ between 5 and 30 should be avoided, the range known as the buffer layer, because of the large variation of various turbulence source terms in this layer where existing models cannot handle the wall treatment well when the first grids lie there.
Figure 13.6 shows a typical Harpoon mesh cross-section, while Figure 13.7 shows a plot of y+ for this mesh at a Reynold’s number of 4.4 million and designed to work with a Spalart-Allmaras approach. Note the mean value is around 60 as desired, but there is a spread from 40 to 80. Reducing this range further would take significant effort with the meshing tool and this is rarely warranted during the earliest stages of design. Note also that the octree mesh is deliberately stretched in the direction of flow; here an aspect ratio of 2 is set for far-field cells and this significantly reduces the total cell count needed in the model. Figure 13.8 shows a plot of y+ for a refined mesh designed to work with the k - m SST approach. Note the mean value is now around unity as desired with very few cells above two. In all cases, the first layer
Figure 13.6 Section through a coarse-grained 3D Harpoon mesh for typical Spalart-Allmaras UAV wing model and close-up showing a boundary layer mesh.
Figure 13.7 Histogram of y+ parameter for typical boundary layer mesh using the Spalart-Allmaras one-parameter turbulence model.
Figure 13.8 Histogram of y+ parameter for typical boundary layer mesh using the k — a SST turbulence model.
cell height is estimated using air speed, Reynold’s number, density, and viscosity and then revised after a short initial CFD run (for an aircraft with a wing planform area of 1 m2, and flying at 20 m/s in standard air at ground level, a first cell height of 0.03 mm will lead to an average y+ of around unity).
-  http://resource.ansys.com/Products/Other+Products/ANSYS+ICEM+CFD.
-  http://www.sharc.co.uk/.
-  http://turbmodels.larc.nasa.gov/naca0012_grids.html.
-  http://resource.ansys.com/Products/Other+Products/ANSYS+TGrid.
-  http://www.cambridgeflowsolutions.com/en/products/boxer-mesh/.
-  http://www.pointwise.com/gridgen/.
-  https://www.centaursoft.com/.
-  Note, however, that since most finite volume CFD codes give velocities at the cell centers, using this estimate forcell height will give a y+ value that is somewhat less than the desired value (for Fluent, a simple flat-plate simulationusing a cell height calculated from the formula for y+ = 1, results in actual values of 0.54). There are a number ofonline calculators that offer to work out cell heights for given y+ values and they mostly ignore this aspect of finitevolume codes. The actual y+ values achieved should always be checked at the end of the CFD run. At the time ofwriting, the calculator at http://www.cfdyna.com/CFDHT/Y_Plus.html correctly allows for such aspects.