CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

Boundary Conditions for v2f turbulent model

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

Like Tree40Likes

LinkBack Thread Tools Search this Thread Display Modes
Old   January 19, 2016, 07:02
New Member
Karl Lindqvist
Join Date: Jul 2012
Posts: 21
Rep Power: 10
karlli is on a distinguished road
I can only refer to Sveningsson's thesis (
Hence, the two wall boundary conditions used are and that and must have the same limit as walls are approached. By forcing to take this value at the first interior computatuonal node the correct limit is enforced.
Indeed, if really was approaching a constant value it should not matter whether this value is used on the boundary or at the first interior node. In this case of approximately constant the natural boundary condition to set would be .
In my experience, the tutorial settings does not necessarily represent best practice usage but serve more as a demonstration of functionality. Besides, you are referring to a different turbulence model. But, again, the latest version of OpenFOAM should give improved results if you choose to use wall functions.

Best regards,
fumiya likes this.
karlli is offline   Reply With Quote

Old   February 20, 2016, 15:05
New Member
Ryan Tunstall
Join Date: Sep 2013
Posts: 10
Rep Power: 9
rt08 is on a distinguished road
Originally Posted by canopus View Post
"epsilon to zeroGradient" for Low Re Turbulence models?

Are you sure ?
In the tutorial folder

for walls epsilon is set to

        type            fixedValue;
        value           uniform 1e-08;
The modifications made to the standard k-epsilon by Launder-Sharma mean that you are solving for a modified dissipation rate ( = epsilon - wall value of epsilon) rather than "pure" epsilon and thus unlike in most k-epsilon models the wall boundary condition for this modified epsilon is exactly zero. That boundary condition is correct for that model but is incorrect for many others.
rt08 is offline   Reply With Quote

Old   February 22, 2016, 05:56
New Member
Ryan Tunstall
Join Date: Sep 2013
Posts: 10
Rep Power: 9
rt08 is on a distinguished road
Originally Posted by karlli View Post
Dear all,
I'd just like to add my small piece of insight in this issue, after also struggling to understand the OF wall functions.

It turns out that there was a bug in the epsilonLowReWallFunction up to and including version 2.4.x, causing erratic behavior of this wall function. Just as canopus, I got some very wierd profiles for velocity and turbulent kinetic energy for a channel flow test case despite good initialization.

Using the wall function implementation in v.3.0.0 gives much better results. The alternative approach (setting v2,f,k to machine zero, epsilon to zeroGradient as explained here) also give reasonable results (green curve).

So to conclude, it seems like the new wall functions reduce to the low-Re approach (more or less) for small y+ values.
I have very similar experiences, the original v2.3.x epsilonLowReWallFunction wall function gives erroneous results. The use of a zeroGradient BC's gives reasonable results, however they are not as good as they should be for this formulation of the model (See Lie01 results on page 102 of Flavian Billard's PhD thesis).

As others have reported there is a bug in epsilonLowReWallFunction, however I do not think that the published bug fix is fully correct. This wall function also applies a correction to the G field (corresponding to production of k). However in the published fix (here) the same correction is applied to G regardless of whether one is using a low or high y+ mesh; thus the wall-function does not fully reduce to the low-Re approach when required. Note that we only need the wall-function in a low-Re case to apply the correct value of epsilon at the wall, however it currently also modifies G leading to degraded results.

The epsilonLowReWallFunction wall-function formulation in version 3.0 is correct and in essence does not modify G when we are using a low-Re mesh. This formulation can easily be ported into earlier versions (see attached). It gives much better results, see attached plots, particularly for k.

This wall-function seems to be the most crucial factor in getting good results from this model. In terms of the BC's for k, epsilon, f, v2: seems to be minimal differences between using the suggested wall-functions and fixedValue machine zero. For nut minimal differences between suggested wall-functions and zeroGradient.
Attached Images
File Type: png v2f_395_v11_v14_U.png (14.9 KB, 79 views)
File Type: png v2f_395_v11_v14_k.png (20.2 KB, 73 views)
Attached Files
File Type: zip (4.4 KB, 29 views)
anothr_acc likes this.
rt08 is offline   Reply With Quote

Old   March 10, 2017, 09:50
Default epsilonLowReWallFunction in OFv16
Join Date: Nov 2014
Posts: 36
Rep Power: 8
Tscar is on a distinguished road
Sorry to revive an old (but still very relevant thread). I have a question regarding the missing boundary condition epsilonLowReWallFunction in OFv16. OFv16 has only the epsilonWallFunction implemented. Does that mean that the epsilonWallFunction has a switch for the case where yPlus is near 1 (i.e. the low Re switch)? Has anyone tried it?

Now i see it is not that old thread. My mistake ..

Last edited by Tscar; March 10, 2017 at 09:51. Reason: overlooked the date
Tscar is offline   Reply With Quote

Old   November 26, 2017, 06:32
Paul Palladium
Join Date: Jan 2016
Posts: 85
Rep Power: 6
Fauster is on a distinguished road
Originally Posted by Tscar View Post
Sorry to revive an old (but still very relevant thread). I have a question regarding the missing boundary condition epsilonLowReWallFunction in OFv16. OFv16 has only the epsilonWallFunction implemented. Does that mean that the epsilonWallFunction has a switch for the case where yPlus is near 1 (i.e. the low Re switch)? Has anyone tried it?

Now i see it is not that old thread. My mistake ..
From version of the code the only BC available for epsilon is epsilonWallFunction. This BC is suitable for both low and high Re flow.
Fauster is offline   Reply With Quote

Old   May 20, 2018, 08:15
New Member
Join Date: Oct 2016
Posts: 17
Rep Power: 6
KarthickRajkumar is on a distinguished road
Originally Posted by cnsidero View Post
Good to hear.

Seems kind of dubious to me to use wall functions with the v2-f. The whole purpose of adding the v2 and f equations to the k-e model was to provide better scaling of the turbulent kinetic energy near the wall. The Durbin paper I reference discusses this at length. My point is, if you're going to use a wall-function with the v2-f, which will effectively override the benefit of the v2-f model, it's seems pointless to use it.

Just my $0.02.
Hai cnsidero and others,

could you please clear my doubt? since v2f is a variant of 2 equation k epsilon model and the equations of k and epsilon in both the models are the same, is it logically right to use kLowReWallFunction and epsilonLowReWallFunction for handling of k and epsilon variables in k epsilon model.

I hope you still remember

KarthickRajkumar is offline   Reply With Quote

Old   February 2, 2019, 12:38
Senior Member
Join Date: Apr 2017
Posts: 180
Rep Power: 5
gu1 is on a distinguished road
Originally Posted by bscphil View Post
@bmikuz: I have do some simulations with the new v2f turbulence model (the incompressible version) in OpenFOAM 2.2.0 and give you my boundary conditions. I think it can help you

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (1 0 0);

        type            fixedValue;
        value           nonuniform List<vector> 
(0.111708 6.41525e-06 0)
(0.322171 -1.26309e-05 0)
(0.488089 5.5452e-06 0)
(0.601945 -1.16204e-07 0)
(0.681378 1.39714e-06 0)
(0.74007 3.13196e-06 0)
(0.785756 4.7772e-06 0)
(0.822917 6.06065e-06 0)
(0.854232 6.85654e-06 0)
(0.881348 7.05289e-06 0)
(0.905324 6.60611e-06 0)
(0.926875 5.52305e-06 0)
(0.946502 3.84961e-06 0)
(0.964567 1.65758e-06 0)
(0.98134 -9.65316e-07 0)
(0.997026 -3.92283e-06 0)
(1.01178 -7.11429e-06 0)
(1.02574 -1.04334e-05 0)
(1.03898 -1.37726e-05 0)
(1.0516 -1.70166e-05 0)
(1.0636 -2.00434e-05 0)
(1.075 -2.27193e-05 0)
(1.08579 -2.48985e-05 0)
(1.0959 -2.64265e-05 0)
(1.10529 -2.71472e-05 0)
(1.11386 -2.69128e-05 0)
(1.12153 -2.55954e-05 0)
(1.12819 -2.3057e-05 0)
(1.13373 -1.94304e-05 0)
(1.13809 -1.47821e-05 0)
(1.14115 -9.3311e-06 0)
(1.14277 -3.1689e-06 0)
(1.14277 3.30393e-06 0)
(1.14115 9.46547e-06 0)
(1.13809 1.49146e-05 0)
(1.13373 1.9562e-05 0)
(1.12819 2.31885e-05 0)
(1.12153 2.57287e-05 0)
(1.11386 2.70509e-05 0)
(1.10529 2.72948e-05 0)
(1.0959 2.65897e-05 0)
(1.08579 2.50852e-05 0)
(1.075 2.29391e-05 0)
(1.0636 2.03078e-05 0)
(1.0516 1.73391e-05 0)
(1.03899 1.41684e-05 0)
(1.02574 1.09186e-05 0)
(1.01178 7.70432e-06 0)
(0.997028 4.63039e-06 0)
(0.981344 1.79609e-06 0)
(0.964572 -7.09707e-07 0)
(0.946509 -2.80824e-06 0)
(0.926884 -4.43494e-06 0)
(0.905335 -5.54543e-06 0)
(0.88136 -6.12197e-06 0)
(0.854244 -6.18138e-06 0)
(0.822926 -5.77808e-06 0)
(0.785759 -5.0163e-06 0)
(0.740064 -4.00941e-06 0)
(0.68136 -2.93789e-06 0)
(0.601916 -1.92725e-06 0)
(0.488061 -7.47706e-06 0)
(0.322159 1.1563e-05 0)
(0.111704 -6.52362e-06 0)
        type            zeroGradient;
        type            fixedValue;
        value           uniform (0 0 0);

        type            empty;

I hope this helps you. Other assuptions for my case are:
  1. the case is a "low-Re" turbulence modeling case without any wallFunctions
  2. the walls have patch-type "wall", to use the "nutLowReWallFunction" for calculating the yPlus values
  3. the yPlus values are between 0.3 and 7 (calculated with the "nutLowReWallFunction" --> yPlus should be approx 1 !! but results are ok...
  4. for the velocity inlet condition i use a fully developed velocity profile. This is calculated befor e.g. with the "LaunderSharmaKE" turbulence model.
Hello bscphil,

I liked your post and I have applied it to my case study. I'm simulating a pitzDaily geometry using the v2f model. You started the field (U) with a velocity profile that probably originates from another study, maybe a channel (similar to what I'm trying to do). Could you teach me how you did it?
gu1 is offline   Reply With Quote

Old   July 4, 2019, 05:21
Default v2f: issues with boundary layer evolution
New Member
Gerd Fade
Join Date: Jul 2015
Posts: 7
Rep Power: 7
schiffbauer is on a distinguished road
Dear Foamers,

I am struggling with applying the basic v2f model (v1806) to simple flows, e.g. backward-facing step (low-Re) or Chow's wing testcase (high-Re). Below you can see the upper wall w/o step of the backward-facing step (BFS) and the suction side of Chow's wing both with SSTCC (Smirnov) and the v2f model.

The problem is that the boundary layer does not develop properly with v2f. I tested a lot of different combinations of the boundary conditions without success. Here you see the BCs from the pitzDaily tutorial, with epsilon.lowReCorrection=on for the BFS case.

backward-facing step:


Chow's testcase:




Did you experience similar issues? And did you find a solution for it?

Last edited by schiffbauer; July 4, 2019 at 09:48.
schiffbauer is offline   Reply With Quote

Old   November 19, 2019, 17:23
Default v2f Boundary Condition
New Member
amir mofakham
Join Date: Feb 2011
Posts: 14
Rep Power: 11
amir.mofakham is on a distinguished road
Hi Everyone,

I decided to use the v2f model of OpenFOAM since I heard the v2f model is able to correctly predict the quadratic near-wall variation of the wall-normal RMS velocity fluctuations (v). I had some difficulties to get the accurate results by this model, but fortunately in the end, I got promising results. I wanted to share my experience with others to probably help someone who wants to use the same model.
Also, I wanted to make sure that I did it correctly. So please let me know your comments.
First, I though without employing any wall functions we can get accurate results by the v2f model, but by running different simulations using different will functions for different variables, I found we need to impose the epsilonWallFunction on the wall to get accurate results for the near-wall regions, otherwise the wall-normal velocity fluctuation will be overestimated.
Below are the boundary conditions that I imposed on the walls of a duct flow for different parameters:
epsilon epsilonWallFunction;
f uniform 1e-10;
k uniform 1e-15;
nut zeroGradient;
v2 uniform 1e-10;

I appreciate if you let me know what epsilonWallFunction exactly does and it makes sense to impose the wall function on one variable? I do not understand why only epsilon needs the wall function!

amir.mofakham is offline   Reply With Quote


boundary conditions, v2f, wall functions

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
Wind turbine simulation Saturn CFX 58 July 3, 2020 02:13
mass flow in is not equal to mass flow out saii CFX 12 March 19, 2018 06:21
An error has occurred in cfx5solve: volo87 CFX 5 June 14, 2013 18:44
Water subcooled boiling Attesz CFX 7 January 5, 2013 04:32
Copying boundary conditions from model to model Lior FLUENT 3 September 23, 2004 17:10

All times are GMT -4. The time now is 14:13.