CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Strange Nut behaviour with K-OmegaSST (

nicolarre March 22, 2011 15:44

Strange Nut behaviour with K-OmegaSST

I was trying out diferent models in a simpleFoam 2-D Ahmed body case.

I ran the same case with both Kepsilon and KomegaSST and got some strange results in NUT in the KomegaSST case.

PIC 1 - Kepsilon result for Nut

PIC 2 - KomegaSST result for Nut

besides the fact that both have very diferent solutions, i noted the strange "bump" at the upper front part of the body.

I thought the solver was doing something wrong with the nut calculator so i used the calculator filter to manually calculate nut with:

nut = k / omega and this is the result

PIC 3 - KomegaSST with nut = k/omega

The "bump" is not there. that means komegaSST was not calculating nut as k/omega, at least not always.

i found on the Wiki ( ) that KomegaSST uses a selector in its calculation for nut, choosing the biggest value between a1*omega and S*F2 to calculate nut, like so:

nut = a1*K / Max(a1*omega,S*F2)

i read in this thread ( that there was an error in OPENfoam 1.7.1 with the nut calculation, so i got the fixed version from 1.7.x.

PIC 4 - KomegaSST result for Nut with 1.7.x fix

I assume the "bump" sector is where S*F2 is bigger than a1*omega.

The bump got bigger, since the correction in 1.7.x further reinforces the S*F2 part.

The thing is, i donk know what S*F2 means, nor the reason why its there. It really bugs me because this solution doesnt look right.

The change between k/omega and a1*k/S*F2 is too steep and i fear it may render my solution useless.

Maybe my Y+ is causing trouble, since its pretty horrible

PIC 5 - YPlus fixed

im using the Y+ fix from this thread (

PIC 6 - YPlus without the fix

Any ideas on why is this happening and how can i avoid it?

FelixL March 22, 2011 17:04

Hey, nicolarre,

the term max(a1*omega,F2*S) is a stress limiter to improve the model's predictive capabilities especially when shocks play a significant role in the flow. The factor F2 is a switch making sure the stress limiter is only active inside the inner regime of the boundary layer. Outside the boundary layer - where k-Omega-SST uses the k-Epsilon equations - this function's value should be 0 and thus the stress limiter should be inactive, nut is then calculated with nut=k/omega.

If we assume F2 is 1 (inner part of the boundary layer), the stress limiter is very similar to the one in WILCOX' k-Omega turbulence model, the only difference is a constant coefficient (MENTER: 3.23 ; WILCOX: 2.91). If you need further information about what the stress limiter does, please look inside WILCOX' book (Turbulence Modeling for CFD, 3rd Ed.).

In your case... I suspect it's the F2 function causing trouble. Probably it's 1 in the stagnation region in front of your body, even very far away from the wall where you observe that "bump". I observed something very similar when doing simulations on a flat plate with a small leading edge radius, but I didn't really think it strongly affected the results.

Please have a look here about how F2 is calculated, maybe you can calculate it inside paraView. A contour plot of it would give much insight.

There remains an important question: your y+ distribution is really bad, yeah. Are you using wall functions? If so what WFs are you using?
If you're not using any wall functions I wouldn't be surprised about the bad performance of the Menter-SST-Turbulence model with those poorly resolved near wall regions.


nicolarre March 22, 2011 17:49

Felix L, thank you for your reply
Yes, Y+ is horrible. im making a new mesh to fix that

im using the following wall functions on both the floor and the body


uniform 0;


uniform 0;

ill try the new mesh and see if the problem is fixed

FelixL March 23, 2011 14:12

What about nut, what are you using for that?

nicolarre March 23, 2011 14:35

i dont specify bounding and starting conditions for nut. i let OpenFoam do that by not putting nut in my 0 folder. is this a problem?

i made a new mesh with y+ rangeing from 50 to 200 but got the same result.

in all my cases with KomegaSST, i reach a point where the simulation stops evolving in what seems like a reasonable solution, yet i simplefoam keeps bounding negative values of Omega. idk what causes this nor how to fix it either

FelixL March 23, 2011 15:46

Uhm, I don't know what happens when you don't specify BCs for nut. OpenFOAM picks a BC maybe or it uses calculated, which would clearly wrong in the case of a HighRe-mesh. I suggest you also specify BCs for nut before running the simulation - it's always better to have full control over everything.

Bounding omega isn't usually a big problem, as long as the negative omega values are close to zero. If you want to get rid of this message, try a different (limited) scheme for div(phi,omega).

If your simulation converges to a reasonable solution (i.e. realistic integral values?), this weird behaviour probably isn't a bug but a feature!

I had a few thoughts about it today and now it sounds okay to me to have low values for turbulent viscosity in stagnation regions. The deceleration of the flow in these regions (-> favorable pressure gradient) tends to dampen the turbulence, lowering the turbulent kinetic energy and thus decreasing nut.
I also doubt if it's okay to compare the results to only one different turbulence model, i.e. kEpsilon. It would be easier to provide a definitive explanation when there are more results with different turbulence models (spalartAllmaras, realizable kEpsilon, ...) available.


nicolarre March 23, 2011 15:54

i've never specified nut BC before. What would be an acceptable field value for nut for air flot @ 40 m/s? i also dont know what would be a usual wall function and value for nut.

I'll run the case on SpalartAllmaras for comparison and maybe a vanilla Komega case

EDIT: i just checked the nut file simpleFoam created in time 0, it automatically sets wall functions for nut

type empty;
type empty;
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
type calculated;
value uniform 0;
type nutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
type calculated;
value uniform 0;
type calculated;
value uniform 0;

nicolarre March 31, 2011 15:47


i ran some more cases for comparison; Kepsilon, Komega, KomegaSST and SpalartAllmaras on 3 diferent cases.

These are the results.

I still dont understand what's causing that strange behaviour in nut on my KomegaSST cases, but at least its consistent. The low nut "bump" appears in all of them, in roughly the same area.

Ahmed body

(KomegaSSTv2 is KomegaSST with the corrections from version 1.7.x)

Box object

(the KomegaSST, nut =k/omega is exactly that. nut manually calculated as k/omega. Comparing this one with the other KomegaSST nut graph, the only difference between the 2 is that low-nut "bump" at the front)

Semi-circular object

Maybe im misinterpreting what nut is for the KomegaSST model, as i always supposed nut was the property for all models, even its calculation differed from model to model.

What's nut for the KomegaSST model? is it the same that nut for other models? why are the SST solutions so diferent from Ko and Ke when its supposed to be a composite of the two?

malaboss April 3, 2013 08:48

I am facing the exact same issue, I really don't understand why KOmegaSST gives values so different from kepsilon for nut.

If I had to choose, I would rather take KomegaSST as nut has to be low were we have stagnation points.

Did you find more info about that ?

Thanks for all !

Alhasan December 25, 2014 11:57

Spot the error please
4 Attachment(s)
Hey everyone,

Can some one tell me which Nut and K contour plots are wrong below !! for KWSST case.
I have used the same case file but used two different airfoils NACA 0012 and 6512-63
I do not know why there is such a drastic difference between them with Nut and K both have the same BC and inputs.


Originally Posted by FelixL (Post 300772)
I had a few thoughts about it today and now it sounds okay to me to have low values for turbulent viscosity in stagnation regions. The deceleration of the flow in these regions (-> favorable pressure gradient) tends to dampen the turbulence, lowering the turbulent kinetic energy and thus decreasing nut.

from this above quote can i conclude that 0012 nut is right !!! anybody any thoughts
If one is wrong can someone tell which one is wrong and what could be causing the error.

Thanks for your replies,
Hasan K.J

arnaud6 January 29, 2015 12:53


Do we have update about this observation of k omega SST behaviour ?
I am really surprised as well with the complete destruction of turbulence close to the leading edge of a NACA 0009 at 0 incidence angle.
The k omega sst model is insensible to the freestream turbulence imposed as inlet. It is acting as whatever the turbulence levels we impose at inlet, the turbulence is artificially destroyed and the NACA profile leading edge "sees" a laminar flow.

I have ran 3 test cases, k omega SST, RKE and and k omega.
The k omega is performing well, obtaining a 0 turbulence viscosity ratio at the walls adn without this "bump" on the leading edge.
The RKE and k omega SST exhibit the "bump" in turbulent viscosity ratio, which seems unphysical to me.

Any idea about what is going on ? I have tried to play with the Production Limiter term but it almost does not change the flow features...

All times are GMT -4. The time now is 16:48.