CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Why Menter's SST model low-Re issue has not been seriously investigated? (https://www.cfd-online.com/Forums/openfoam/97520-why-menters-sst-model-low-re-issue-has-not-been-seriously-investigated.html)

sivakumar July 30, 2013 10:16

Sure, I am doing it.

I have a small doubt, for epsilon do I need to use epsilonWallFunction??

top0 (wall)
{
type epsilonWallFunction;
value uniform 0.26295;

}

Joachim July 30, 2013 10:18

If you have y+~1, you can resolve the full boundary layer, so that you don't need to use any wall function. :)

Simply put k=1e-9 and epsilon = 1e-9 at the wall and you should be good!

sivakumar July 30, 2013 10:21

the key word should be fixedValue right?

top0 (wall)

type fixedValue;
value uniform 1e-9;

Joachim July 30, 2013 10:22

yep, that's right.

Joachim July 30, 2013 13:47

Out of curiosity, I tried to use the k-omega model on some basic test cases. The version implemented in OpenFOAM is the original Wilcox 1988 model. Impossible to get a solution!

Has someone already faced this problem? I checked in the .C and .H, but could not find any mistake in the implementation so far...

Joachim July 30, 2013 14:09

Actually, it seems to work. I just needed to be more careful with the initial and boundary conditions...

sivakumar August 1, 2013 05:45

Dear All,
As Joachim and others instruction, I have tried both LaunderSharmaKE and kOmegaSST for low re calculation. but none of them working fine.

the Boundary conditions which i used are

For kEpsilon model:

0/k:

internalField uniform 0.39;

boundaryField
{
inlet
{
type fixedValue;
value uniform 0.39;
}
wall
{
type fixedValue;
value uniform 1e-12;

0/e:

internalField uniform 0.26295;

boundaryField
{
inlet
{
type fixedValue;
value uniform 0.26295;
}

wall
{
type fixedValue;
value uniform 1e-12;
}

0/nut:

internalField uniform 0;

boundaryField
{
inlet
{
type calculated;
value uniform 0;
}

wall
{
type nutLowReWallFunction;
value uniform 0;
}

for kOmegaSST:

0/k:

internalField uniform 0.39;

boundaryField
{
inlet
{
type fixedValue;
value uniform 0.39;
}
wall
{
type fixedValue;
value uniform 1e-12;


0/Omega:

internalField uniform 3.7;

boundaryField
{
inlet
{
type fixedValue;
value uniform 3.7;
}

wall
{
type omegaWallFunction;
value uniform 1441;
}

0/nut:

internalField uniform 0;

boundaryField
{
inlet
{
type calculated;
value uniform 0;
}

wall
{
type nutkWallFunction;
value uniform 0;
}

it seems for low re kepsilon the boundary conditions are fine but the simulation crashes due to floating point, the same error for kOmegaSST.

I tried different BC as well but none of them working fine.

can you guys spend few minutes to check my BCs to find what is wrong?

Thanks,
Sivakumar

andre.weiner August 1, 2013 09:48

Hello Sivakumar!

I did some low Re simulations with k-omega-SST model and it worked fine for me. Your bc's look good to me (only refering to k-omega-SST), so there may be another problem with your simulation.
For k you could also try a zero gradient bc. For nut you could try to set the value to zero (like in the nutLowReWallFunction) or just don't correct it (calculated).
Maybe your freestream bc's are not appropriate but thats hard to say without knowing the characteristics of the flow.

Regards, Andre

sivakumar August 1, 2013 11:28

Hi Andre,
Thanks for your reply, I believe that the problem could be mesh.
however checkMesh is not giving any warning and error message.

Thanks,
Sivakumar

MadsR October 22, 2013 06:18

Sivakumar, did you resolve the problem? I have the same issue. I have two meshes which, in essence, are identical but one is fine with around 2000k cells and the other is coarse with around 500k cells. The fine mesh spends most of the extra cells near the walls and so the y+ min/max/avg are significantly lower.

OpenFOAM 2.2.2 blows up on the fine mesh but solves perfectly on the coarse one. I've been changing nut/k/omega BCs to whatever is suggested here on cfd-online without luck. I will continue to investigate on the mesh distribution close to the walls since some say that smoothness is important for OF. My mesh is made from blockMesh so it is already quite smooth, but there is certainly stretching near walls. No checkMesh issues.

Mads

sivakumar October 22, 2013 08:09

Dear Mads,
Yes, I have solved that problem, the cases are running fine.
I have few questions, which turbulence model you want to use? what is the yplus value for the fine mesh? , I think KOSST will be fine with all kind of y+ values, but for LaunderSharmaKE we need be little bit careful.

my problem was yplus value, it was less than 1(people usually says y+ less than or equal to 1 will be fine, but in my experience not), that is why my case was diverging, now I changed the y+ value to in between 3 to 5 its working fine.

I hope you will be fine with BC's, if you need any info regarding that please go through the below link.

http://www.cfd-online.com/Forums/ope...ase-setup.html


Thanks,
Sivakumar

MadsR October 22, 2013 09:17

Dear Sivakumar,

thank you for your reply. My geometry is quite complex so y+ varies quite a lot from one area to another. I try to get as low on y+ as possible because I know that I need low-Re treatment in certain areas but in other areas I save cells and get a larger y+ (maybe even into the hundreds).
A code like CFX copes nicely with this using their automatic wall functions but I am not sure how this works out in OpenFOAM - it crashes for now :) It seems that it should be ok to use omegaWallFunction as it "automatically" adopts to local, sensible, y+ whereas I am more uncertain about the wall treatment for k. I am not going to use LaunderSharmaKE.

I think I will try to remesh so I don't have y+<1 anywhere which seems to have been your problem.

Mads

RodriguezFatz April 4, 2014 05:07

2 Attachment(s)
Joachim,

I ran the case in Fluent and get the following:
Attachment 29862

And also compared to Spalart-Allmaras:
Attachment 29863
http://www.cfd-online.com/Forums/dat...BJRU5ErkJggg==

RodriguezFatz May 9, 2014 10:17

Jonathan, I don't know if you still use it, but the function you call "gammaStar0" is not correct. At least not compared to Fluent.
In Fluent they don't use the "SST" beta_i but the regular "k-Omega" beta_i for the "beta_i / 3.0" calculation. So you neet to change it to

return 0.072 / 3.0;

instead of

return betai(F1) / 3.0;

RodriguezFatz May 13, 2014 03:31

Please find a working version of the incompressible sst model with low-Re wall damping functions here:
http://www.cfd-online.com/Forums/ope...ng-fluent.html

Jonathan May 14, 2014 06:10

Hi Phillip,

thanks for the post + correction. I havent had time to check the correction you made, but surely it is correct - I didnt get anyone willing to help debug first time around :)

when i get a chance i will look and see why i wrote it like i did!

cheers and regards
jonathan

RodriguezFatz May 14, 2014 06:14

It's not your fault. It's the Fluent manual that is misleading.
There is also a second typo in the Fluent manual in the omega production term, that I corrected in my code.

MaLa June 12, 2014 21:21

Problems with validating kOmegaSST for channel flow
 
Hi Vesselin and Joachim

While using OpenFOAM 2.2x to implement two dimensional developed, channel flow with kOmegaSST, I have encountered the same results as Joachim and have found it quite difficult to figure out the issue.

Here's a post where I talk about it.

http://www.cfd-online.com/Forums/ope...nnel-flow.html

Maybe I should try the same on OF 1.7x as suggested by Vesselin.

randolph January 8, 2018 15:20

Quote:

Originally Posted by Jonathan (Post 439235)
Hi V,

Ok, I have done all the homework on this and thought perhaps i should jot them down for anyone else wanting to know this stuff :)

1) Regarding the implicit "low Re" nature of the k-omega models + variants - yes, you are spot on. I knew they were able to be integrated to the wall w/out any modifications, but thought that damping functions were needed for the production terms etc and to extract the proper / full low Re behaviour. So - as you said, they are not and seems they were added specifically by Wilcox for trying to model laminar-to-turbulent BL transition (Wilcox 1994), so even the Fluent terminology is misleading on this.

One point of interest thought, Menter 1994 says "one criticism of the k-omega model [is that it] ... does not correctly predict the asymptotic behaviour of the turbulence as it approaches the wall. However ... even if the turbulence model is not asymptotically consistent, the mean flow profile and the wall skin friction are still predicted correctly. A second point [is that] ... the k-omega model does not accurately represent the k and epsilon distribution in agreement with DNS data ... In cases where the agreement with DNS data is considered important, the damping functions developed by Wilcox can be applied to the present [k-omega SST] model."
Menter, F 1994 "Two-equation eddy-viscosity turbulence models for engineering applications", AIAA Journal, 32(8) 1994.

However, as per Menter's comments, I think this is a relatively 'minor' detail unless you are actually wanting the turbulence profiles exactly from your simulation.

2) Correct BC's - As you say, the correct BC's for the k-omega model are:
i)k=0 or some small value
ii)omega=omegaWallFunction or Menter's omega BC
iii)nut=calculated

3) Regarding adding the damping functions - I am still deciding whether this will be worthwhile, but I’ll put the model up if i do. I think it might be a nice addition to have anyway ... :)

Again, thanks for the discussion,
best regards
jonathan

PS) Finally, I was just wondering whether you could explain what you think EXACTLY Henry was trying to do but suggesting the use of nutUSpaldingWallFunction for nut in the 'fix' for kOmegaSST. The nut values are calculated from the value of the turbulence properties - what exactly would using nutUSpaldingWallFunction do - override the way in which nut was calculated at the walls? or something else. I am a little lost as to exactly the point of specifying nut (for any of the t-models i guess), apart from an initial guess for the first solver iteration.

___________________________________________

Regarding the (1) question, Menter probably is not the best source of answer. Please check the original paper by Wilcox (1991).

Even for standard K-omega (wilcox), simple modifications (this is not what people usually called low-re correction) are still needed in order to integrate through viscous sub layer. By doing so, satisfactory prediction for ski friction and mean flow profile (But not the turbulence characteristic) can be obtain with standard K-omega formula. (This is not the case for Epsilon based model. Epsilon based model require extensive modification for just getting the mean flow profile right).

While, in some applications where the correct prediction of turbulence characteristic (such as TKE peak near the wall)
are needed in addition to just the mean flow profile, standard k-omega (simply modified) will require additional low-Reynolds modification (people usually call this low-Re correction for SST and K-omega) in order to get the right turbulence characteristic.

If your simulation does not require detailed information over turbulence (TKE ,Omega ...), standard k-omega SST will do it. If you need to predict TKE peak or something, you need to include the low-Reynolds corrections.


All times are GMT -4. The time now is 09:34.