CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Running, Solving & CFD

Wall functions and turbulence models implementations

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

LinkBack Thread Tools Display Modes
Old   November 11, 2008, 01:39
Default Hi All, This is my first po
New Member
John O\'Sullivan
Join Date: Mar 2009
Location: Auckland, New Zealand
Posts: 7
Rep Power: 8
jposunz is on a distinguished road
Hi All,

This is my first post so I hope its in the right place. I've also searched thoroughly without any luck but I'm sorry if I've missed something obvious and this questions been answered.

I'm going to write some new wall functions to use with turbFoam and simpleFoam. At first it's just a change to include a roughness length and then something a little more sophisticated.

Before doing that I'm trying to understand exactly how the turbulence model and wall functions are implemented. I'm new to OpenFoam and have only been back in CFD for a year so I'm a bit rusty and I'm having some problems even understanding the k-epsilon implementation.

For example, what exactly is DivDevRef and why is it calculated by:

- fvm::laplacian(nuEff(), U)
- fvc::div(nuEff()*dev(fvc::grad(U)().T()))

I can't seem to reconcile this with the theoretical equations for the k-epsilon model.

Also why is G accumulated then averaged in WallFunctionsI.H using:

G[faceCelli] +=
(nutw[facei] + nuw[facei])

Where is nuEff set?

I guess I have a general query which is where can I find notes or references for the implementations of the various methods?

Thanks very much in advance!
jposunz is offline   Reply With Quote

Old   November 24, 2008, 05:17
Default Hi John, I'll try to answer
New Member
Join Date: Mar 2009
Posts: 16
Rep Power: 8
kbr is on a distinguished road
Hi John,

I'll try to answer one of your questions:

G is accumulated then averaged due to cells which belong to more than one face. Being precise, "faceCelli" is the cell belonging to the face "facei". If there's a corner there a two or more faces belonging to the same cell. In case of just taking the value without averaging it is not clear which face's value of muw and mutw is been taken. Therefore, the values are summed and then averaged by the number "cellBoundaryFaceCount" of faces belonging to a single cell.

"nuEff" is set in "turbulenceModel.H".

I hope my answer is helpful for you.

kbr is offline   Reply With Quote

Old   October 23, 2009, 04:02
David Hora
Join Date: Mar 2009
Location: Zürich, Switzerland
Posts: 63
Rep Power: 8
david is on a distinguished road
Hi all,

I know that this thread is already a year old but my questions fits to this topic. My question is the following:

The division by cellBoundaryFaceCount is done more than once for a corner cell. Why that? Wouldn't it be better to set cellBoundaryFaceCount=1 after the averaging was performed the first time for a corner cell? Or has it another reason?

Best regards
david is offline   Reply With Quote


Thread Tools
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 On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Compressible Turbulence Model Implementations shaun OpenFOAM Running, Solving & CFD 4 October 21, 2009 11:55
mixing length models and wall functions tiz Main CFD Forum 1 April 2, 2007 16:38
WheelSeperation--viscous models and wall functions Mark G FLUENT 0 March 17, 2006 09:26
abt near wall turbulence wall functions amv Main CFD Forum 0 May 12, 2003 03:38
Wall functions or low-Re models? J. P. Main CFD Forum 7 July 9, 1998 11:11

All times are GMT -4. The time now is 12:57.