New Mesh Quality Checking Feature!

New Mesh Quality Feature!!!

So i just wanted to show some features i am discovering in the new mesh quality feature for identifying problems in the mesh. This feature should help significantly with understanding mesh settings and their connection to quality controls.

The first thing I wanted to check was non-orthogonality in my mesh.

My Quality settings for this run were:

MaxNon.Orthogonality - 75°

Setting up the mesh quality solutions field, I selected Iso volumes then set both ISO and MAP scalars to Non-Orthogonality. Then, the max iso value can be found with the slider all the way to the right. This should be the highest Non- Orthogonal cell in the mesh. The lower limit i set to 60 so that I could see a more concentrated area of cells.

Moving to the results tab, the min and max values were set to the same as the ISO and MAP scalar limit range. This gives us a nice overview of where the problems are. Generally, Values under 70 are acceptable for simulation. In the picture below, I clearly have some areas that do not meet this requirement and will cause problems later. These visuals help to show if the problem lies in CAD geometry or Mesh refinement selection. In this case, it seems that one section for improvement is where my region refinement box is intersecting with the floor. This could be a problem with the bounding box layer addition.

Zooming in we see there are quite a lot of non-orthogonal cells in the 60-86 range in the wheels as this is a fairly complex geometry. There are some local spots over 70 but this could possibly be fixed by lowering my Max Non-Orthogonal mesh control value to from 75 to 70.

The next hotspot is in my fan setup. I am using a Porous Media with an exhaust vent connected to a rotating radiator fan assembly with a MRF zone. This is a very tight area and has a very high refinement level compared to the rest of the car. Since this geometry would be very difficult to improve without going over my Total cell count limit, I would hope that this area would also benefit from the Max Non-Orthogonal mesh control value change to 70

The last area of improvement would be from the vertical tubes on either side of the porous media. Since the whole area is showing a higher value of about 75, this section could see improvements from changing the CAD geometry.

For more info on the SnappyHEX mesh process I found this a good source of information especially the following information:

During a run of snappyHexMesh the mesh quality is constantly monitored. If a mesh motion or topology change introduces a poor quality cell or face the motion or topology change is undone to revert the mesh back to a previously valid error free state The mesh quality metrics used for the checks are set in the subdictionary meshQualityControls

Please add to this post/ fix anything i have done wrong!



Awesome summary Dan and thanks for the detailed post! I will forward this to my colleagues and see if they have any comments on that :wink:

Take care,


Hi Dan, nice post! Glad that the feature has been useful to you :slightly_smiling_face:

The visualization and interpretation of the non-orthogonality is correct. To convert the value from your formula to degrees, you need to take the acos and multiply by 180/pi.


Volume ratio

The next section for observation is the volume ratio. This is defined as follows:

The minimum face volume ratio metric is calculated as the ratio of the minimum of the owner and neighbour volume divided by the maximum of the two

In this mesh, I only had 1 illegal cell with the default settings: Faces with volume ratio of neighbour cells < 0.01. This cell was located in my wheel assembly shown below.

This cell can be found at the end of the meshing log as the max volume ratio.

Mesh quality metrics:


min: 1

max: 127.30383812624176

average: 1.9344380679072968

standard deviation 2.238841743549893

median: 1.01776657513619

0-th percentile: 1
20-th percentile: 1.0007451708371224
40-th percentile: 1.0085491033167777
60-th percentile: 1.041526107217848
80-th percentile: 1.5668483744319996
100-th percentile: 127.30383812624176

Using this information I again used iso volumes and set the MIN to 120 and max to 128 just over my max volume ratio cell.

Zooming in on the cells, I outlined the small volume cell. It clearly shows a large difference in size between the two. I am currently using the Castellated mesh control setting (cells between levels = 1) in order to reduce my total cell count. I have only one illegal cell, however, I also have other convergence problems which leads me to believe that changing the levels between cells back to 2 might help with both problems.

I am not sure if a singular cell can cause any wildly inaccurate results, but i could easily believe that it could cause a simulation error or crash. Some of my failed meshing attempts have already proven that one cell can mess things up so better go safe and try to repair this.


what does it mean?