CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

One more time: wall functions - SST

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

Like Tree35Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 29, 2016, 09:56
Default One more time: wall functions - SST
  #1
Member
 
Join Date: Apr 2016
Posts: 91
Rep Power: 10
CellZone is on a distinguished road
Hi everyone,

I struggle choosing the right wall functions. I am using SST in my simulation, since it combines the advantages of k-epsilon and k-omega. As far as I searched for wall functions and SST in this forum I found:

http://www.cfd-online.com/Forums/ope...ion-usage.html

Quote:
nutUSpaldingWallFunction (standard for SA turbulence model, called nutSpalartAllmarasWallFunction in earlier version, original reference is doi:10.1115/1.3641728):
continuous wall-function which should cover the complete y+ range from O(1) to somewhere of O(10). Might be the best choice (together with low Re kEpsilon, kOmegaSST or SA, when y+ varies for different parts of the wall.
https://www.comsol.com/blogs/which-t...d-application/

Quote:
Finally, the SST model is a combination of the k-epsilon in the free stream and the k-omega models near the walls. It does not use wall functions and tends to be most accurate when solving the flow near the wall.
http://www.cfd-online.com/Forums/ope...estigated.html

Quote:
Note that the k-omega SST model we provide is in high-Re form and does not include the wall-damping terms often included in the k-omega model for near-wall and low-Re flow. However, you can still use the k-omega SST model for low-Re and near wall flow for a range of resolutions if you use a continuous wall-function (which in OpenFOAM-1.7.x is named nutSpalartAllmarasWallFunction for historical reasons) and this should be used as the wall BC in nut. The BC of k for the continuous wall-function should be kqRWallFunction.

I am wondering now: one source says SST uses wall functions, one says: no . So one is wrong or do I confuse anything?

The range of my y+ values are for a really fine grid on some walls 0.01 and on other walls y+=45.

So when I use nutSpalartAllmarasWallFunction , what range should my y+ be?

Member vkrastev says:
Quote:
Well, the good news are that the SST model CAN actually be employed to resolve boundary layers with y+<1 (as it is supposed to), both with the omegaWallFunction BC as well as with directly imposing Menter's BC for the viscous sublayer.
So my y+ value does not play a role when using nutSpalartAllmarasWallFunction ?

Could someone bring light into the dark (dark for me).

By the way: currently I am using mutkWallFunction which makes trouble for very fine meshes with SST. So that's why I have doubts about it.

Sorry I am a rookie in CFD :-/

Thank you guys!
jherb, jbjb and YupengDuan like this.
CellZone is offline   Reply With Quote

Old   October 5, 2016, 10:58
Default
  #2
Senior Member
 
Join Date: Mar 2015
Posts: 250
Rep Power: 12
KateEisenhower is on a distinguished road
Quote:
Originally Posted by CellZone View Post
The range of my y+ values are for a really fine grid on some walls 0.01 and on other walls y+=45.
Hi, I am just wondering. Is there something like a too small y+ value?

Best regards,

Kate

Last edited by KateEisenhower; October 5, 2016 at 11:02. Reason: typo
KateEisenhower is offline   Reply With Quote

Old   October 7, 2016, 08:52
Default
  #3
Member
 
Join Date: Apr 2016
Posts: 91
Rep Power: 10
CellZone is on a distinguished road
I think yes. If the grid is too fine, the wall laws can lead to wrong results. Does anyone have some suggestions?
CellZone is offline   Reply With Quote

Old   February 3, 2017, 07:07
Default
  #4
New Member
 
Martin
Join Date: Oct 2013
Location: Newcastle
Posts: 21
Rep Power: 13
mahtin360 is on a distinguished road
Hi There,

did you manage to clarify the above?
I'm looking for some more information regarding yplus levels in combination with KomegaSST and the nutUSpaldingWallFunction.

I'm running simulations at the moment with yplus ranging from <1 to <100. If someone can clarify or suggest limits on yplus in this approach would be very helpful as i'm trying to work with automatically generated meshes in Openfoam which makes mesh manipulation quite hard to find good yplus.


Thanks
mahtin360 is offline   Reply With Quote

Old   February 3, 2017, 11:34
Default
  #5
Senior Member
 
Join Date: Mar 2014
Posts: 112
Rep Power: 12
mzzmrt is on a distinguished road
I have done a test to understand the same issue about 2 years ago with 2.3.1.

The set up was a 2D external case with naca0012 profile. The kwSST model in combination with nutUSpladingWallFunction run on 11 different meshes (structured O-grid / Re 1,8e06) which have following average yPlus values: 1, 5, 15, 30, 50, 70, 100, 150, 300, 500 and 1000.

The first two have diverged and/or produced unphysical results and all others worked and produced acceptable results. If I remember correctly average yPlus 30 was the best against the wind tunnel data.

The same setup worked well with SA model on all mesh range since the SA implementation on OpenFOAM can work on low and high Re modes but kwSST can not. There are also some lowRe implementations of kwSST for OpenFOAM around though and I guess you can find it in this forum...
Clément_G and R.Tanaka like this.
mzzmrt is offline   Reply With Quote

Old   February 3, 2017, 13:34
Default
  #6
Senior Member
 
Mikko
Join Date: Jul 2014
Location: The Hague, The Netherlands
Posts: 243
Rep Power: 13
Flowkersma is on a distinguished road
I have simulated NACA0012 with recent foundation and foam-extend versions and my results are close to NASA's. I used k-omega SST turbulence model without wall functions (y+<1) and following boundary condition for the wall:
nut=0, k=0 and omega=omegaWallFunction.
Clément_G, pgh, kuprat and 1 others like this.
Flowkersma is offline   Reply With Quote

Old   February 8, 2017, 07:29
Default
  #7
Member
 
jey
Join Date: Nov 2016
Location: Greece
Posts: 30
Rep Power: 9
jeytsav is on a distinguished road
Quote:
Originally Posted by Flowkersma View Post
I have simulated NACA0012 with recent foundation and foam-extend versions and my results are close to NASA's. I used k-omega SST turbulence model without wall functions (y+<1) and following boundary condition for the wall:
nut=0, k=0 and omega=omegaWallFunction.

Dear Flowkersma

I can understand that since y+~1, you don't have to use wall functions (as you already did for nut and k). But why did you still use wall functions for omega? Is there a specific reason for that?

Thanks in advance for your help!

Kind regards
AMR96 likes this.
jeytsav is offline   Reply With Quote

Old   February 8, 2017, 08:59
Default
  #8
Senior Member
 
Mikko
Join Date: Jul 2014
Location: The Hague, The Netherlands
Posts: 243
Rep Power: 13
Flowkersma is on a distinguished road
Note that omega is not zero at the wall and therefore you cannot use fixedValue boundary condition. See more from Menter's original paper or from here .
Flowkersma is offline   Reply With Quote

Old   February 9, 2017, 09:00
Default
  #9
Senior Member
 
Join Date: Mar 2014
Posts: 112
Rep Power: 12
mzzmrt is on a distinguished road
I was not aware that the standart kOmegaSST model in OpneFOAM is capable to work on on low-Re grids and had given up after the failed results with the continious wall function (nutUSplading) on this model as decribed my above post.

I have just tested the standart kOmegaSST without wall functions on y+ ~1 meshed cases and got good results with that approcach so thanks for the information to Flowkersma.
kuprat and AMR96 like this.
mzzmrt is offline   Reply With Quote

Old   February 9, 2017, 09:50
Default
  #10
Member
 
jey
Join Date: Nov 2016
Location: Greece
Posts: 30
Rep Power: 9
jeytsav is on a distinguished road
Dear Flowkersma and mzzmrt

I am using the conditions that Flowkersma suggested (post#6) for a y+~1 case, but I can not make it work (it crashes after some time)

But.. I tried using a fixedValue for omega at wall (as suggested by Menter - see attached picture) and the simulations works fine until now.

omegaAtWall.PNG


I am really frustrated that I can not make it work with omegaWallFunction while you people can do it. I am probably missing something?

Please find here my /0 and /system folder, in case you can help with any suggestions.

p.s.1: The value I am calculating at y=0 according to Menter, is of the same order of magnitude as the one that omegaWallFunction sets at wall.

p.s.2:
This is the way I implement the omegaWallFunction type. I noticed that the function is completely independent of the "value" entry. So, the "value" entry is just a placeholder. Is it correct?
Code:
<patchName>
    {
        type            omegaWallFunction;
        value           $internalField;
    }
p.s.3: I have already tested my case with SA model and it works. Now I am trying to switch to kwSST.

Thank you in advance!

Kind regards
jeytsav is offline   Reply With Quote

Old   February 9, 2017, 17:42
Default
  #11
Senior Member
 
Mikko
Join Date: Jul 2014
Location: The Hague, The Netherlands
Posts: 243
Rep Power: 13
Flowkersma is on a distinguished road
The value field is the initial condition. Generally, a good initial value results in faster convergence. Bad initial value may result in divergence. In this case it probably does not play a big/any role.

I use first order upwind scheme for divergence for the turbulence quantities. Give it a try.
jeytsav likes this.
Flowkersma is offline   Reply With Quote

Old   February 14, 2017, 03:18
Default
  #12
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Dear everybody,

I just want to give you some information about the usage of the wallFunctions. It might be, that I am not correct in all details but as I got it out of a few literatures it is like the following; I refer to [1], given at my webpage. The flow close to a wall has a viscose sublayer which depends on different parameters like the roughness and the velocity components. You can imagine -- and it is easy to understand -- that with higher velocity (or Re-Number), the viscose sublayer decrease. It means that the layer thickness gets smaller. Okay, so far so good, right? (Check). Now, there occur several problems which I will not talk about in detail (I think turbulence guys are much more advanced and experienced in that topic and they might say that we do everything wrong). You should keep in mind that the standard models that we use are based on isotropy which is not really valid in a lot of cases but however, ... The main disadvantage now is related to these viscose sublayer because it is obvious that the damping of the velocity normal to the wall is much higher than tangential to the wall, which makes the isotropic assumption even worse (check). Okay, now you can imagine that if you have high Re flows, the sublayer decreases extremely. In order to resolve the velocity change in the sublayer you have two options:
  • Resolving the sublayer
  • Model the sublayer
In the literature [1, 18] you will find that based on measurements it was found that the velocity behavior in the sublayer follows an logarithmic law. Thats why we can use wallFunctions which - in fact - are log functions (just check the source files). However, the log law is only valid in the range between [ 0 < y+ < 16.8] (I do not remember the exact maximum value; I refer to [1]). What can we get out of that information? The main point is the following: If you are using wall functions, you model the sublayer with the log law equation and therefore the first cell center should be somehow close to the maximum y+ range. If your first cell is too small, you apply the log law in a range of, lets say, [0 < y+ < 5] and therefore you will estimate wrong quantities because the second cell would be still in the log law but here we do not apply it. On the contrary, it is the same. However, if you have y+ << 1 there is no need to use log functions because you already resolve the viscose sublayer. It is obvious that using wall functions reduces the mesh resolution and therefore the calculation time extremely especially if we have high Re flow.


Keep in mind that the sublayer is important for mass / heat-transfer at the boundaries and will influence the result dramatically. However, we also should keep in mind that RANS is an averaging method. Using compressible -- density based -- flows it's getting even worse because of the FAVRE averaging method which is only correct in a mathematical point of view. In addition, if you ever derived the Reynolds-Stress equation and out of that the turbulence equations like k, epsilon etc. you will see that there are so many terms we just model and it is just an approximation which is good or bad based on the case we are looking at etc.

In addition: We will never get a mesh where the y+ is always correct. Just think about flow separation.



At last, I am not an expert and the stuff above might be wrong or not complete. It is just my opinion about the problem based on the literature I read. As I already stated above, the people who really deal with turbulence flow might tell us that we are doing everything wrong :P


CFD in RANS is just modeling - keep that in mind. If you want to see the modeled terms in the k and epsilon equations, check out my book.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   December 16, 2017, 06:39
Default no wall function
  #13
gu1
Senior Member
 
Guilherme
Join Date: Apr 2017
Posts: 232
Rep Power: 10
gu1 is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Dear everybody,

I just want to give you some information about the usage of the wallFunctions. It might be, that I am not correct in all details but as I got it out of a few literatures it is like the following; I refer to [1], given at my webpage. The flow close to a wall has a viscose sublayer which depends on different parameters like the roughness and the velocity components. You can imagine -- and it is easy to understand -- that with higher velocity (or Re-Number), the viscose sublayer decrease. It means that the layer thickness gets smaller. Okay, so far so good, right? (Check). Now, there occur several problems which I will not talk about in detail (I think turbulence guys are much more advanced and experienced in that topic and they might say that we do everything wrong). You should keep in mind that the standard models that we use are based on isotropy which is not really valid in a lot of cases but however, ... The main disadvantage now is related to these viscose sublayer because it is obvious that the damping of the velocity normal to the wall is much higher than tangential to the wall, which makes the isotropic assumption even worse (check). Okay, now you can imagine that if you have high Re flows, the sublayer decreases extremely. In order to resolve the velocity change in the sublayer you have two options:
  • Resolving the sublayer
  • Model the sublayer
In the literature [1, 18] you will find that based on measurements it was found that the velocity behavior in the sublayer follows an logarithmic law. Thats why we can use wallFunctions which - in fact - are log functions (just check the source files). However, the log law is only valid in the range between [ 0 < y+ < 16.8] (I do not remember the exact maximum value; I refer to [1]). What can we get out of that information? The main point is the following: If you are using wall functions, you model the sublayer with the log law equation and therefore the first cell center should be somehow close to the maximum y+ range. If your first cell is too small, you apply the log law in a range of, lets say, [0 < y+ < 5] and therefore you will estimate wrong quantities because the second cell would be still in the log law but here we do not apply it. On the contrary, it is the same. However, if you have y+ << 1 there is no need to use log functions because you already resolve the viscose sublayer. It is obvious that using wall functions reduces the mesh resolution and therefore the calculation time extremely especially if we have high Re flow.


Keep in mind that the sublayer is important for mass / heat-transfer at the boundaries and will influence the result dramatically. However, we also should keep in mind that RANS is an averaging method. Using compressible -- density based -- flows it's getting even worse because of the FAVRE averaging method which is only correct in a mathematical point of view. In addition, if you ever derived the Reynolds-Stress equation and out of that the turbulence equations like k, epsilon etc. you will see that there are so many terms we just model and it is just an approximation which is good or bad based on the case we are looking at etc.

In addition: We will never get a mesh where the y+ is always correct. Just think about flow separation.



At last, I am not an expert and the stuff above might be wrong or not complete. It is just my opinion about the problem based on the literature I read. As I already stated above, the people who really deal with turbulence flow might tell us that we are doing everything wrong :P


CFD in RANS is just modeling - keep that in mind. If you want to see the modeled terms in the k and epsilon equations, check out my book.
Tobi, would you mind teaching us how I do not put wall functions? Many files within the CFDOnline forum mention the komegaSST model and some wall functions for y+ ~1. As you have very clearly stated your point of view, I would like more information on how to '' model '' my problem.
gu1 is offline   Reply With Quote

Old   December 17, 2017, 06:01
Default
  #14
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hi,

actually I am not familiar with turbulence modeling. As far as I understand the problem --- which should be stated in my last post --- in a numerical/mathematical way, if you have y+~1, then you should not apply wall functions (sure, the subsequent cells should resolve the viscous sub layer). Therefore, I do not know which value one has to set. ZeroGradient? I read somewhere that you fix k to very small value such as 0.001. But please don't ask me about that. There are much more advanced users here who should give a fundamental and clear statement.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   April 19, 2018, 17:42
Default
  #15
Senior Member
 
Join Date: Mar 2018
Posts: 115
Rep Power: 8
anon_q is on a distinguished road
Hello Tobias
How can I disable wall functions in OpenFOAM if I have y+ << 1 ?
anon_q is offline   Reply With Quote

Old   June 29, 2018, 00:00
Smile
  #16
New Member
 
Juan Felipe Monsalvo Salazar
Join Date: Apr 2013
Location: Medellín / Colombia
Posts: 4
Rep Power: 13
jmonsa13 is on a distinguished road
Dear Tobias

Just to be sure, reviewing the following link https://en.wikipedia.org/wiki/Law_of_the_wall I saw that the log law is only valid in the range between [ 30 < y+ < 200 or 300] and not at [ 0 < y+ < 16.8] as you state.

Neverthless I'm not sure if you was referring to the wall of law when talking about log law

Sincerely,
Juan Felipe Monsalvo
jmonsa13 is offline   Reply With Quote

Old   June 29, 2018, 16:44
Default
  #17
New Member
 
Juan Felipe Monsalvo Salazar
Join Date: Apr 2013
Location: Medellín / Colombia
Posts: 4
Rep Power: 13
jmonsa13 is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Hi,

actually I am not familiar with turbulence modeling. As far as I understand the problem --- which should be stated in my last post --- in a numerical/mathematical way, if you have y+~1, then you should not apply wall functions (sure, the subsequent cells should resolve the viscous sub layer). Therefore, I do not know which value one has to set. ZeroGradient? I read somewhere that you fix k to very small value such as 0.001. But please don't ask me about that. There are much more advanced users here who should give a fundamental and clear statement.
Dear Tobias

Just to be sure, reviewing the following link https://en.wikipedia.org/wiki/Law_of_the_wall I saw that the log law is only valid in the range between [ 30 < y+ < 200 or 300] and not at [ 0 < y+ < 16.8] as you state.

Neverthless I'm not sure if you was referring to the wall of law when talking about log law

Sincerely,
Juan Felipe Monsalvo
stamufa likes this.
jmonsa13 is offline   Reply With Quote

Old   January 20, 2020, 02:49
Default
  #18
Senior Member
 
Mehdi Babamehdi
Join Date: Jan 2011
Posts: 158
Rep Power: 15
mb.pejvak is on a distinguished road
A good reference for why we need wall function near wall is this link
Tobi and Raphael_Santos like this.
mb.pejvak is offline   Reply With Quote

Old   September 21, 2020, 07:25
Default
  #19
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Nice summary but a small review would increase its qulaity significantly in terms of readablity, typo and others.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   March 30, 2021, 19:53
Default
  #20
Senior Member
 
Join Date: Jun 2011
Posts: 206
Rep Power: 16
CFDfan is on a distinguished road
also it would be very helpful (and practical) if one knows and lists the Y+ values of the grid needed (i.e. providing the highest theoretical accuracy) when using different turbulent models (the most popular ones).
The information in the links above is too difficult to digest to a simple conclusion especially by not CFD professionals.
As Tobias said a short summary on this important subject would be very helpful to a lot of users.
CFDfan is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Natural convection in a closed domain STILL NEEDING help! Yr0gErG FLUENT 4 December 2, 2019 00:04
Hardware-Configuration for Fluent HPC-Pack (8x) JohHaas Hardware 9 March 3, 2015 13:25
Low Mixing time Problem Mavier CFX 5 April 29, 2013 00:00
Boundary Field and Wall Functions, time 0 & time >0 NJG OpenFOAM Running, Solving & CFD 1 April 5, 2013 10:48
Multicomponent fluid Andrea CFX 2 October 11, 2004 05:12


All times are GMT -4. The time now is 02:00.