CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Wall boundary conditions for low Re models (

callumso April 8, 2013 20:43

Wall boundary conditions for low Re models
Hi Foamers,

I want to use the low Re models in OF. But I am not sure how to set the wall boundary conditions for k and epsilon or omega. I saw some of the tutorials use wall functions, which I don't feel comfortable with.

I have seen some posts here mentioning setting k and epsilon to be really small. I would like to whether this is correct and how small is small enough? Since k should approach zero at a no-slip wall, can I just set it to fixed value = 0?

For omega, Wilcox's book said it could be set to really large or 6*nu/(beta*y^2). For the latter scenario, how should I specify it or I simply need to set up a derived boundary condition implementing this asymtotic relation?

Could anyone help me out on this? :D Thank you.


callumso April 10, 2013 14:03

I find the following thread, rather informative.

But I would like to know why setting k=0 (which I believe it should be) won't work?

and if I want to use the omega boundary condition of Menter, how shall I do it? It seems to me it's not setting the value of omega at the surface patch, but at the cell centres instead. How can I do this?

Can someone help? Thank you.


joegi.geo April 12, 2013 18:22


Well the best way to know the bcs to use is going to the original source, so take a look at the original papers.

I have been working on this issue for a while and I have been doing some validation against other cfd apps, and I found that for low RE the best way is to use small values for k, omega and nut.

It is recommended to use small values, because if you set zero, maybe somewhere you will have a division by zero (specially for k). Regarding the bc for omega, it is true that it should be a big number, but that is for the original formulation (the one by wilcox if i am not mistaken). The k-omega model have undergone several mods during the years, so you should check what is the version implemented in OF. For me it works fine using small values for low RE.

Hope this helps,


callumso April 14, 2013 17:22

Hi Joel,

Thank you for the reply. Indeed I managed to locate the source code at omegaWallFunctionFvPatchScalarField.C (sounds a bit daft taking so long to locate it, but I am a complete noob to C++ and still struggling to understand the code which is utter Greek to me).

Obviously the blending of proposed by F. Menter ( is implemented. I'm not sure about the reasoning behind this blending (looks a tad empirical to me), but I'm happy with it at the moment.


callumso April 21, 2013 12:33

Hi Joel,

I just realised that some other people ( also set omega to virtually zero at the wall.

I'm a bit uncomfortable with this approach as omega should goes to infinity with the rate of y^-2 close to the wall. This asymptotic solution is analytical and should not vary with the turbulence model used. I don't really see any physical reasoning behind setting omega to zero at wall and I am surprised that it gives acceptable results. :confused:

Do you have idea on this or can any other Foamers help clarifying or correcting me? Thanks.


joegi.geo April 22, 2013 08:20


Ok, I will give you my point of view. The idea of setting a small value is to disable the wall functions. For low-re models they are incorporated as damping functions in the turb. model, so you donít need wall functions at all. Remember, you want to resolve the viscous sub layer (y+ approx. 1). So for k and omega you need to set a small fixed value.

If you want to use wall functions (that means a turbulence model with wall functions), you will need to give the right bc values. If I am not mistaken the wall function implemented is a continuous wall-function. So omega at the wall should be something like 60*nu/(beta*y^2), but again, that depends on the model implemented. I have some references where it is recommended to use small values and some other that recommends the use of a big value.

So at this point try to do some benchmarking and see what works best for you.


immortality June 5, 2013 23:30

I have read the posts and now have two questions:
1)we should set internalField value equal to values we set on the walls?
2)How can find out the values we have set are correct(as dear Joel mentioned)?for example if the solver bounds the turbulent variables it shows that the initial values had been incorrect or it maybe due to another reason and another indicators for initial value exist?

callumso June 12, 2013 11:47

Hi Ehsan,

Indeed I would not agree to set omega to fixed value zero at the wall because it is physically not correct.

If you refer to the Menter's paper I cited, you would see the actual implementation will calculate the value of omega at the first internal node based on the wall distance (the asymptotic solution will switch between those of the log region and the sub-layer region depending on the wall distance)...:o


immortality June 12, 2013 12:01

Hi Julian.
and whats your opinion about epsilon value?you put it 10000 too?

callumso June 12, 2013 17:07

Hi Ehsan,

If you use high Re model, simply use the wall function.

For low Re models, it depends on which one you use. As far as I understand, epsilon should approach a constant at the wall. Launder-Sharma model includes this term in the modified epsilon equation, so that the boundary condition of epsilon is zero. You might want to check the source code to confirm.

I am not sure about the others. But I got some information from the following link:

It's quite informative. for a quick look, simply scroll all the way down to the section of boundary conditions. Hope this help. :eek:


immortality June 12, 2013 17:16 low-Re you said in other thread usefully that you use omega as 10000 on wall.whats your opinion about epsilon on walls?:)

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