Estimation of the turbulence resolution quality in OpenFOAM with the resolutionIndex function
Hi everybody!
In our category Tips & Tricks for CFD, I propose here to describe a new useful function in OpenFOAM, allowing to estimate the turbulence resolution quality for a DES/LES model. Let’s have a look at this! 🙂
About OpenFOAM
OpenFOAM (Open-source Field Operation And Manipulation) is an open-source CFD software licensed under the GNU General Public License Version 3, with a very large range of features concerning pre-processing, numerical and physics solvers, and post-processing. Three OpenFOAM variants currently coexist:
- OpenFOAM, released by OpenCFD Ltd.[1]
- OpenFOAM, released by OpenFOAM Foundation.[2]
- FOAM-Extend, released by Wikki Ltd.[3]
This post is based on a new feature developed in the OpenFOAM variant released by OpenCFD, and available since v2212 version.
What is the turbulence resolution quality?
Regarding turbulence modelling, and especially for LES (Large Eddy Simulation) and DES (Detached Eddy Simulations), mesh quality and refinement is a crucial point. The mesh resolution indeed determines the fraction of the turbulent kinetic energy directly resolved, so the CFD engineer has to use fine enough meshes such that required spatial and temporal scales are properly captured.
There are some empiric rules to build a relevant mesh for LES or DES (number of cells across the integral length scale, boundary layer resolution, etc.), but it remains quite difficult to make a correct assessment of the mesh requirements once a simulation is realised.
The resolutionIndex function
To get this kind of information, a new function has been implemented in OpenFOAM v2212[4], name resolutionIndex. It provides a single-mesh resolution index, based on three available submodels:
- Pope (2000)’s index using turbulent kinetic energy variables[5].
- Celik et al. (2005) using effective Kolmogorov length scale and effective viscosity[6].
- Celik et al. (2009)’s index using effective Kolmogorov length scale and effective viscosity[7].
This function has the following structure:
resolutionIndex1
{
/* Mandatory entries */
type resolutionIndex;
libs (fieldFunctionObjects);
model PopeIndex; // To adapt with the desired submodel
result PopeIndexField;
// Available submodels :
// - PopeIndex
// - CelikNuIndex
// - CelikEtaIndex
/* Optional entries */
<to complete>
/* Inherited entries */
<to complete>
}
Below is a quick example, with a LES simulation of vortex shedding with Smagorinsky model (2D approach is obviously unsuitable with LES, this is just an illustration of the presented feature). The Pope index is respectively shown with “fine” and “coarse” mesh in Figure 1 and Figure 2.
As usual in CFD, these results obtained with given hypotheses are just an indication, and have to be interpreted according to the context!
Thank you for reading this article, and for visiting our website! 🙂
References
[3] http://wikki.co.uk/index.php/foam-extend/
[4] https://www.openfoam.com/news/main-news/openfoam-v2212/post-processing
[5] Pope, S. B. (2000). Turbulent flows. Cambridge, UK: Cambridge Univ. Press
[6] Celik, I. B., Cehreli Z. N., Yavuz I. (2005). Index of resolution quality for large eddy simulations. Journal of Fluids Engineering. 127:949–958.
[7] Celik, I., Klein, M., & Janicka, J. (2009). Assessment measures for engineering LES applications. Journal of fluids engineering, 131(3)