# Verifying LES assumption in OpenFOAM

 Register Blogs Members List Search Today's Posts Mark Forums Read

 July 27, 2014, 18:47 Verifying LES assumption in OpenFOAM #1 New Member   David H. Join Date: Oct 2013 Posts: 25 Rep Power: 12 Hi all, I'm wondering - is there an "easy" way in OpenFOAM / ParaView to validate your LES model? That is, the assumption that 80% of your field is resolved, and 20% of the turbulence is being modeled. I'm trying to construct the total residual stress tensor from the resolved, and SGS components. But I don't think I have enough inputs to calculate the SGS contribution to the residual stress tensor. While working with the data, and going through different derivations and investigating models - I came across an idea. Since nuSgs is provided, and this is calculated by the turbulence model, is it reasonable to say the average nuEff = nuSgs + nu should provide this desired ratio? That is, nuSgs / nuEff ~= 20%? In my cases, this is not true. However it was more around 75% but I can't imagine with the cell refinement that this is true. Perhaps I'm making a poor assumption, however my idea is based on this, from the Smagorinsky documentation; Code: ```B = 2/3*k*I - 2*nuSgs*dev(D) Beff = 2/3*k*I - 2*nuEff*dev(D) where D = symm(grad(U)); k = (2*ck/ce)*delta^2*||D||^2 nuSgs = ck*sqrt(k)*delta nuEff = nuSgs + nu``` Any thoughts? I thought about a turbulent energy spectrum, except I don't have DNS data to compare to.

 July 28, 2014, 04:28 #2 Member   cosimo bianchini Join Date: Mar 2009 Location: Florence, Tuscany, Italy Posts: 88 Rep Power: 17 You should actually compare directly resolved turbulent kinetic energy with subgrid modelled kinetic energy. You can compute the latter from the subgrid Reynolds stress tensor available from turbulenceModel class through the method B and the former time averaging instantaneous velocity field activating the functionObject fieldAverage with option prime2Mean on. Hope this helped, Cosimo __________________ Cosimo Bianchini Ergon Research s.r.l. Via Panciatichi, 92 50127 Florence - ITALY Tel: +39 055 0763716 Mob: +39 320 9460153 e-mail: cosimo.bianchini@ergonresearch.it URL: www.ergonresearch.it

 July 28, 2014, 06:39 #3 New Member   David H. Join Date: Oct 2013 Posts: 25 Rep Power: 12 After posting this, I did some more work on this subject, and it appears that UPrime2Mean calculates the resolved portion of this. This is also supported by my results. I modified the solver to output UU as sqr(U), and also use the functionObject to time-average this at runtime (UUMean). From this, I have the time averaged field, as well as the time averaged and (via UPrime2Mean). Plotting (time averaged) : () - ()*() This construction appears close to UPrime2Mean, but I believe it is just a matter of statistical convergence, since this should be equivalent to UPrime2Mean as t->(sufficiently long) Last edited by djh2; August 1, 2014 at 08:55. Reason: corrections

May 25, 2020, 10:19
#4
Member

Sereff
Join Date: Jan 2019
Posts: 49
Rep Power: 7
Hi Cosimo,

Sorry I restart the thread. I have a simliar issue where I ran the channel flow tutorial case and found that UMean2Prime results do NOT match DNS validations (attachment: without_Rsgs.png). I also tried with including turbulenceProperties:R, which is from line "#includeFunc R;" in controlDict. But result is still off (attachment: with_Rsgs.png).

> Is turbulenceProperties:R the same with what you meantioned in you previous post " turbulenceModel class through the method B"?
> Since turbulenceProperties:R provides only instantaneous fields whereas UMean2Prime is a time averaged field, do you know any way to find a time averaged turbulenceProperties:R?

kind regards,
Attached Images
 without_Rsgs.png (65.4 KB, 21 views) with_Rsgs.png (64.9 KB, 11 views)

May 25, 2020, 13:05
V vs V
#5
Senior Member

Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 15
Quote:
 Originally Posted by djh2 Hi all, I'm wondering - is there an "easy" way in OpenFOAM / ParaView to validate your LES model? That is, the assumption that 80% of your field is resolved, and 20% of the turbulence is being modeled. I'm trying to construct the total residual stress tensor from the resolved, and SGS components. But I don't think I have enough inputs to calculate the SGS contribution to the residual stress tensor. While working with the data, and going through different derivations and investigating models - I came across an idea. Since nuSgs is provided, and this is calculated by the turbulence model, is it reasonable to say the average nuEff = nuSgs + nu should provide this desired ratio? That is, nuSgs / nuEff ~= 20%? In my cases, this is not true. However it was more around 75% but I can't imagine with the cell refinement that this is true. Perhaps I'm making a poor assumption, however my idea is based on this, from the Smagorinsky documentation; Code: ```B = 2/3*k*I - 2*nuSgs*dev(D) Beff = 2/3*k*I - 2*nuEff*dev(D) where D = symm(grad(U)); k = (2*ck/ce)*delta^2*||D||^2 nuSgs = ck*sqrt(k)*delta nuEff = nuSgs + nu``` Any thoughts? I thought about a turbulent energy spectrum, except I don't have DNS data to compare to.
It seems you have a confusion on what validation means. You ask how to validate an LES model, but then proceed to assess whether the solution you obtain from the SIMULATION (NS solver + grid + turb. Model) is valid. You mean to verify whether the LES formulation is correct, or to validate a numerical experiment with correlated data.

The validation of a turbulence model starts at the consistency of the formulation (i.e. filters, coefficients, invariants). If the implementation is consistent with the theoretical aspects of the model, then you can move to verifying that for a particular scenario a solution obtained with your code (including said model) is reasonable.

Classic trap in most OpenFOAM papers: to "validate" their turbulence model using a channel flow at re_tau=180. Yes, is turbulent, but the scales in a resolved simulation are almost always of a dissipative nature, and little backscattering is present. Part of this you can see it by plotting the spectrum: the inertial range is almost absent at those scales, and the integral scale is constant (unless the channel length is long enough). Anyway, this means that with a channel flow ANY DISSIPATION (under certain limits, of course) can be valid, be it numerical or otherwise. Catching errors there is unlikely. Even an under-resolved DNS performs well at those scales.

So, yeah, you are up to a high road...

 May 25, 2020, 15:52 #6 New Member   David H. Join Date: Oct 2013 Posts: 25 Rep Power: 12 I realize the title text said verify but the body said validate. Your response will be helpful for those who do not understand the difference. My thesis was accepted 6 years ago, unfortunately I have not been using OpenFOAM since. I hope Sereff can find some help.

May 25, 2020, 18:23
#7
Senior Member

Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 15
Quote:
 Originally Posted by djh2 I realize the title text said verify but the body said validate. Your response will be helpful for those who do not understand the difference. My thesis was accepted 6 years ago, unfortunately I have not been using OpenFOAM since. I hope Sereff can find some help.
Sorry for the late response, I guess