
[Sponsors] 
March 23, 2011, 05:08 
SST eddyviscosity assumption parameters

#1 
Senior Member
Stuart
Join Date: Jul 2009
Location: Portsmouth, England
Posts: 479
Rep Power: 15 
Hi,
In the CFXSolver Theory Guide (eq 2.60) it gives the eddyviscosity assumption for the SST model: nu_t = (a_1 * k) / max(a_1 * omega, S * F_2) sorry, don't know how to properly write equations here. What is the valve of the constant a_1? The guide says S is an invariant measure of the strain rate. What is it actually? E.g. is it the magnitude of the strain rate? I cannot find these answers in either the CFX guide or here on CFDwiki. Thanks Last edited by siw; March 23, 2011 at 06:13. Reason: Typo 

April 1, 2011, 12:01 

#2 
Member
Alessandro
Join Date: May 2009
Location: Genova
Posts: 45
Rep Power: 9 
Hi siw,
I'm actually on the same problem, but from an OpenFOAM perspective. I'm trying to modify komega SST model and in the Turbulence Modeling Resource page at Langley, I found out that this implementation is a modification from 2003 model. The first Menter SST model used vorticity magnitude rather than strain invariant. Here's what I realized. OpenFOAM computes this term in turbulent viscosity definition as: S = mag( symm( grad(U) ) ) which means that is the square root of the double inner product of the mean strain rate tensor S_ij . [For double inner product I mean: S_ij S_ij . This quantity is related to the second invariant of S_ij, which is: II_S = 1/2 (S_ij S_ij  (S_kk)^2), and to the square of the first invariant, i.e. the square of the trace. So that is the reason why it is called "invariant measure of the strain rate".] Anyway from the Langley page you can read: S = (2 S_ij S_ij)^0.5. I don't know the reason for this apparent modification. Moreover on the FLUENT manual you can read that "S is the strain rate magnitude". I am a bit confused. On Menter's papers I diddn't find any formula about it. If you obtain anything, please let me know. Thanks! 

April 3, 2011, 05:56 

#3 
Senior Member
Stuart
Join Date: Jul 2009
Location: Portsmouth, England
Posts: 479
Rep Power: 15 
I did find the answers to my questions, in case they help others, in reference [1] and not in any paper by Menter:
a_1 = 0.31 S is the magnitude of the vorticity vector [1] Bardina, J. E., Huang, P. G. and Coakley, T. J. (1997), Turbulence Modeling Validation, Testing, and Development, NASA Technical Memorandum 110446. 

April 6, 2011, 13:22 

#4 
Member
Alessandro
Join Date: May 2009
Location: Genova
Posts: 45
Rep Power: 9 
I don't think so...
In turbulence literature S usually indicates magnitude of strain rate tensor, while magnitude of vorticity tensor is Omega [1]. In the first Menter's SST model [2] turbulent viscosity was calculated using the same expression of your first post, with S replaced with Omega. (So your reference is concerned with this model). As Wilcox points out in [3] this choice resulted in unsatisfactory komega behavior in some boundary layers. The 2003 Menter's SST model [4] changed the turbulent viscosity definition simply by substituting Omega with S (and keeping the same value for a1=0.31). This model offers better perfomances and it is generally preferred over the first. Also Fluent implements this newer version. For CFX notation (essentially the same) have a look at this pdf! For general references about different versions of turbulence models have a look at Langley Resource page.  [1]. Langtry, Menter, Transition Modeling for General CFD Applications and Aeronautics, AIAA 2005522. [2]. Menter, TwoEquation EddyViscosity Turbulence Models for Engineering Applications, AIAA Journal, 32, 1994. [3]. Wilcox, Formulation of the kw Turbulence Model Revisited, AIAA Journal, 46, 2008. [4]. Menter, Kuntz, Langtry, Ten Years of Industrial Experience with the SST Turbulence Model, in "Turbulence, Heat and Mass Transfer 4", eds. Hanjalic, Nagano, Tummers, Begell House Inc., 2003. (...all are freely available on the web!) 

May 3, 2011, 08:45 

#5  
Senior Member
Anne Gerdes
Join Date: Aug 2010
Location: Hamburg
Posts: 165
Rep Power: 8 
Quote:
I am currently investigating the same issue as you. Have you read the threads concerning this issue that claim that the modification is a bug? Here are the most important links: Wrong calculation of nut in the kOmegaSST turbulence model Compressible kOmegaSST In the OpenFOAM1.7.x Version this "bug" is fixed, i.e. there is an additional factor of \sqrt(2) added. I "fixed" the bug in my version but it seemed that my results got worse after "fixing the bug". Now I am investigating if this is really a bug....therefore I read the paper from Menter about his modified SST version from the year 2003. ( Menter, Kuntz, Langtry, Ten Years of Industrial Experience with the SST Turbulence Model, in "Turbulence, Heat and Mass Transfer 4", eds. Hanjalic, Nagano, Tummers, Begell House Inc., 2003.) He mentioned the " invariant measure of the strain rate" without giving any formula. So thank you for answering this question. I will keep you up to date if I get more informations. Hope this helped a bit. 

May 3, 2011, 10:49 

#6 
Member
Alessandro
Join Date: May 2009
Location: Genova
Posts: 45
Rep Power: 9 
Hi Anne,
lately I went on this subject further and now I can give you an answer. First of all, have a look at the Turbulence Modeling Resource page by Langley team. It is a very useful resource for this kind of problems, where you can find standard and modified versions for many turbulence models, with associated references. There are some test cases if you want to check the results of your implementation. You can find many answers there! (S = sqrt(2 * S_ij * S_ij) for sure!) About this and other questions related to turbulence production terms approximations in SST komega, please note that the paper "Ten Years of Industrial Experience with the SST Turbulence Model" has a correction about the P_omega term: alpha * rho * S ^2 > alpha / nut * min( P_k , 10* betaStar * rho *k * omega ) The main differences between the NASA official SST model and the simplified model of the paper are the production terms, without the div U term for the incompressible assumption underlying (and never specified) and without the 2/3*k*delta_ij term for the "low speed" assumption (not so nice for my taste, but useful for solving turbulence equation in a staggered fashion). About the bug in the OpenFOAM implementation, please note that there are two bugs to fix in the kOmegaSST.C file: 1. line nut_ = a1_*k_/max(a1_*(omega_ + omegaSmall_), F2()*mag(symm(fvc::grad(U_))); should be replaced by nut_ = a1_*k_/max(a1_*(omega_ + omegaSmall_), F2()*sqrt(scalar(2))*mag(symm(fvc::grad(U_))); 2. line nut_ = a1_*k_/max(a1_*omega_, F2()*sqrt(S2)); should be changed to nut_ = a1_*k_/max(a1_*omega_, F2()*sqrt(scalar(2)*S2)); ...and nothing else for that mismatch on S ! In this way the implementationis is the same as in FLUENT. If you want, you can edit the P_omega as should be in the correction above. Please note that this correction is relevant for stagnation regions, where you can overestimate turbulence production if you use a quadratic dependecy on the strain rate invariant. (This was the starting point for the KatoLaunder modification, now rarely used). I changed the lines, recompiled the files and the model showed better performances in term of nut profile (lower over the recirculation zone) and convergence on the pitzDaily case. So I am pretty sure that the correction must be done on the kOmegaSST file! Another question is about the divDevReff computation. Instead of fvm::laplacian(nuEff(), U)  fvc::div(nuEff()*dev(fvc::grad(U)().T())) one shoul write fvm::laplacian(nuEff(), U)  fvc::div(nuEff()*dev2(fvc::grad(U)().T())) because divDevReff = T_ij  2/3*tr(T_ij)*delta_ij and dev operator subtracts only 1/3 of the trace! I know that anyway it is essentially zero, because we're on the incompressible case, but... it is not correct from a mathematical view of the code! So thank you for your indications and if you need any paper I'll sent you by email! Hope that suffices! Last edited by AleDR; May 3, 2011 at 11:07. 

May 5, 2011, 03:16 

#7 
Senior Member
Anne Gerdes
Join Date: Aug 2010
Location: Hamburg
Posts: 165
Rep Power: 8 
Alessandro,
thank you very much for your answer. I had already changed the lines that you mentioned, but my results seem to get worse with this change. But it might be that something else is wrong in my case. I have one question left: Which OpenFOAM version do you use? 

May 5, 2011, 04:22 

#8 
Member
Alessandro
Join Date: May 2009
Location: Genova
Posts: 45
Rep Power: 9 
Anne,
I'm using 1.7.1 version, but I'm currently installing the 1.7.x on another machine. Anyway if you want to check your SST implementation you can try the 2D Zero Pressure Gradient Flat Plate Verification Case at Turbulence Modeling Resource page or other test cases! (Would be a nice way to find out if the P_omega modification as any impact...) .A. 

May 5, 2011, 04:24 

#9 
Senior Member
Anne Gerdes
Join Date: Aug 2010
Location: Hamburg
Posts: 165
Rep Power: 8 
Thank you, Alessandro. I will check this out soon.


Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Boussinesq eddy viscosity assumption  siw  Main CFD Forum  2  February 17, 2011 13:30 
Eddy Viscosity Model Parameters  Tristan  CFX  5  January 20, 2010 16:25 
Link between eddy viscosity and subgridscale turbulent viscosity in LES  Marvin  Main CFD Forum  6  December 4, 2009 12:08 
Question about eddy viscosity ratio limit  Piti  CFX  2  January 17, 2008 17:49 
eddy viscosity  Mike  CFX  1  April 4, 2006 13:12 