CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   LES of turbulent channel flows (

cedric_duprat July 29, 2008 12:06

Hi OpenFOAM, in particular LES
Hi OpenFOAM, in particular LES players,

I want to start a new thread about LES channel flow. There is already one but in OpenFOAM-Bugs and here there are no bugs.

The problem here is that I can't get "good" results for a channel flow with OpenFOAM. statistics are not so good and the same for the mean flow.

configuration : I want to validate OpenFOAM from Moser DNS (Retau = 395). This test case was used prveviously by Eugene in his Ph'D and Henry and Gavin in the conference (LES of turbulent channel flows). OpenFOAM "has been" validated in LES with this litterature.
the size of my channel is 2Pi*2*Pi with 96*196*69 node (which is huge).
I'm using the one transport equation for the turbulent kinetic energy (like Eugene's calculation) and it's refered to the B1 models in the paper from Gavin and Henry.

Here are the plots, the mean flow in normal scale then in log scale and then rms values:

You can see from the second picture the mesh which is correct (y+ = 0.11) and I've more than 10 nodes in the viscous area.
So in normal scale, I thing I've the same as the paper (for statistic also) but, in log scale there is a "big" difference when we compared to the DNS calculation.
The rms value are also not realy efficient.
Are these differences due to second order scheme ?
Are these differences due to SGS model ? (I didn't find in the litterature validations for this model in channel flow)

In Gavin and Henry's paper, dynamic models do not improve the results. So my question are:

- Can I have better results in LES with OpenFOAM ?
- Someone has results for a such case?

Thank you for giving your point of view about these calculations.


fugu July 29, 2008 17:11

Not sure about the symbols in
Not sure about the symbols in your plots Uf_0, Uf_2 etc.

If you calculate the Reynolds stresses from the resolved field you are missing the sgs part so my guess would be that you are not going to match DNS values even if everything works fine.

Could you give more details on the B1 model?

kumar2 July 29, 2008 18:02

Hi Cedric, The difference b
Hi Cedric,

The difference between the DNS and OpenFOAM result is "big" in the near wall region or the region where the viscosity plays an important role. (y+ < 10). I also got similar results in this region.

But in the region where it matters (y+ 100 - 1000), your results are very good. your slope is (1/0.41) and your constant appears to be very close to what you would get from the DNS calculation.

I see that you have indeed used a large number of cells , 1.3 million. how many cells have Moser used ? for example kim et al used 3.2 million cells in their 1987 smooth wall computation for a Re_tau of 180! . so i think your result is different in the laminar region because it is still unresolved.

what is the time that you take for one flow time in your openfoam LES calculation. ( if flow time is [half of depth of channel/u_tau ] )?

I also did the smooth wall case with my LES solver. if you want i can post it.



cedric_duprat July 30, 2008 03:07

Thank you for your answers,
Thank you for your answers,

@Luca : the only difference between Uf_0 and Uf_2 is the mesh repartition normal to the wall. one is linear and the other is a tanh. But, because in the plots only Uf_2 is symboled (by cross) you won't see the mesh. And in fact, as you can see, the results is the same. then, you have the classic log law and the linear law close to the wall. These last 2 law are the "asymptotic solution" in visous and inertial layer.

for B1 model, I can write you here all the theory but, I think it's better for you to find the reference LES paper in OpenFOAM. For exemple, "Large Eddy Simulation of Turbulent Channel Flows" from C. Fureby, A.D. Grosman, G. Tabor, H.G.Weller . You can find it for free from google. Eugene Ph'D is also very well written and explained the SGS models very clearly. Then you can have a look about Tabor (Gavin) and Fureby who did lot's of work on LES model (in particular OF's LES model).

About your comments, I calculated Re stresses from the resolved field but, the SGS model play as a viscosity in this field (and in the NS equations) so I'm suppose to see it there. don't I ?

@Kumar: I can't find Moser's paper now but, you are right, he probably used more cells but .... he did a DNS :-).
And I wall normal direction, plots show us (from y+) that ... it's resolved at the wall, doesn't it ? Then, conference paper (where the results are "better") obtained good results if
delta x+ = 35
delta z+ = 20
delta y+ between (2,20) without any wall model ...

In my case, utau = 0.0079
yes, I'll be gratefull if you can post here or send by mail your LES results with some description.

Thanks for giving idea, I'll keep looking for .... something :o)


fugu July 30, 2008 04:18

Cedric, I see now you are und
I see now you are underpredicting U mean in the viscous and transition layer and on the other hand overpredicting Urms.
If you calculate the Urms on a resolved LES field
it should be less than the corresponding DNS value
since you are missing the small scale motions whose dissipation is taken into account by the SGS model.
However this is not your case since you are actually overpredicting Urms.
I'll try to look at the paper to get more info on the SGS model.
One thing you can try is to run a different geometry and compare to more data.
I would try the Lid Driven cavity flow.


eugene July 30, 2008 04:52

I assume all your configuratio
I assume all your configuration settings are identical to those in the channel395 channelOodles tutorial case?

cedric_duprat July 30, 2008 05:17

Hi Eugene, euh ....not real
Hi Eugene,

euh ....not really :o)

As I told, the geometry and the grid are different. it's the same geometry as the DNS calculation. So streaks are shorter than the box and there is (should be) no effect from the outlet on the inlet.

the time discretisation is Crank-Nicholson. (I think it's backward in the tutorial).
For the numerical scheme I using only central diffential scheme (to keep second order accurate).
so there is no limitedLinear 1 for these terms (div(phi,k), div(phi,B))
Then, the time step is different to keep Co number less than 0.4.
For the solver, I'm using ICCG to solve the pressure (and the same PISO as the tutorial) and BICCG for the other quantities, which is quite different from the tutorial also.

Can these settings bring me some over diffusive terms, because, it should not, contrary to the tutorial (convective scheme view).

Thank you for giving advise,... I hope it's not a stupid question. But, because the results are not so "bad" (but also not so good :o) ), I think it's just a small things.


eugene July 30, 2008 05:30

The settings you reported are
The settings you reported are ok.
What are your turbulenceProperties settings?

cedric_duprat July 30, 2008 05:55

@Luca: I don't agree with you,
@Luca: I don't agree with you, I think for both Umean and rms I underpredicted the value. In the rms, I overpredicted the pic of rms and, the maximum is shift to bigger y+ .... which is not good also.

@Eugene: Here are the turbulentProperties:

I'm now running a dynOneEqEddy channel flow to check if the result is really not better if we compare to a non-dynamic procedure ( like the paper ).

But the plot I put was from a oneEqEddy model.
I didn't change the constant value in the properties and I'm using the cubeRootVol for delta.

Thanks for your interrest.


eugene July 30, 2008 06:23

Try vanDriest for delta with o
Try vanDriest for delta with oneEqEddy. Check the channel395 tutorial turbulenceProperties.

marhamat July 30, 2008 07:02

Hi I did LES of Turbulent Ch
I did LES of Turbulent Channel Flow using with OpenFOAM.Unlike my imagination the result for rms component isn't good.I attached the file that containes my results and computational details.What's your idea about it?

With Kind Regards

cedric_duprat July 30, 2008 07:57

@Eugene Thank you for you com
@Eugene Thank you for you comment, I'll try that.
I thought about that point before and that is the reason why I'm doing a calculation with the dynamic procedure. I'm not supposed to need Van Driest damping function for this run so I'll try both and compare the calculation.
I'll upload my resluts after because I'm sure I'm not the only one who tryed such calculation in LES.


marhamat July 30, 2008 08:42

Hi I did LES of Turbulent Ch
I did LES of Turbulent Channel Flow using with OpenFOAM.Unlike my imagination the result for rms component isn't good.I attached the file that containes my results and computational details.What's your idea about it? Fully developed turbulent channel flow11_Page_1.tif Fully developed turbulent channel flow1_Page_2.rar
With Kind Regards

marhamat July 30, 2008 09:07

Sorry alot The attached file
Sorry alot
The attached file was very big )-:

philippebv July 30, 2008 11:37

Cedric, your experiments and c
Cedric, your experiments and concerns are of great interest so please keep us posted with your results. I haven't look at the test case "LES of turbulent channel flows" yet, but I'm running DES in the ERCOFTAC conical diffuser and I saw that you presented on the subject in Milan. Unfortunatly I wasn't there.

We could start another thread on the subject of LES in the diffuser, but for now I have some general questions I hope you can help me with.

-I guess you use the solver channelOodles for the LES of turbulent channel flow, but do you use oodles or channelOodles for the diffuser? What fundamental difference there is between the two?
-I see, in your presentation, that you perturbed the Poiseuille flow for turbulent inlet boundary conditions, but how do you initialize the diffuser? Do you start from a perturbed RANS solution? While I'm at it, do add initial perturbation to your LES of turbulent channel flow to initiate the turbulence cycle?

Well, that would be it for today. I hope you can take the time to answer.
As I said before, we could start a thread on LES in the ERCOFTAC diffuser. I have some results that suggest separation and recirculation and I will be very interested in your time averaged solutions.

Best regards and merci!


marhamat August 2, 2008 02:28

Hi FOAMers I require to obtio
Hi FOAMers
I require to obtion a solution for fully developed turbulent channel flow with inlet B.C!.
I want to study the effect of adding a particular source term to N.S equation,in one section of domain.(with periodic B.C the source term effect on inlet flow.).
Can i ask your idea?
Can i get good result If i use the obtioned result, in one section of a channel with periodic B.C as a inlet condition for a long channel(L2/L1=10) with inlet B.C?
@ Eugene and Cedric : What's your idea about my obtioned result in Turbulent Channel Flow?

Best Regards

cedric_duprat August 29, 2008 03:39

Hi LES FOAMers Sorry for th

Sorry for the delay but, the august month is very quiet and vacation was there ..... well, I came back :-)

I'm running 3 jobs now with the same mesh :
- static oneEqEddy
- static oneEqEddy + Van Driest
- dynamic oneEqEddy
and .... it working better for the mean flow (picture below) (thank you Eugene)

here is a premilinary conclusion, with the help of a paper (JCP 2008 Desjardin et al. "High order conservative finite difference scheme for
3 variable density low Mach number turbulent flows")

"with a second order accurate code, we can't get the same mean flow in log scale as a DNS. Plot should be below (like the previous plot)" I think it answers also to Marhamat previous message.

In the article they plot result in a periodic pipe mean velocity in log scale from second and higher order scheme.
The question now is what is the minimum error we can get. And I feel my runs can be better .... let's check.

Any comments ?



PS: Hi Philippe, nice to meet you. please feel free to open a new thread on this topic or to send me a mail about your work. I'll be happy to discuss with you as much as I can.

philippebv December 1, 2008 13:17

Good morning everyone, I ha
Good morning everyone,

I have a technical question about the turbulent channel flow :
How exactly do you get the drinving pressure gradient to calculate utau?

Thank you


cedric_duprat December 1, 2008 14:45

Hi Philippe, the pressure g
Hi Philippe,

the pressure gradient is calculated eatch time step from these lines (in channelOodles.C):

// Extract the velocity in the flow direction
dimensionedScalar magUbarStar =
(flowDirection & U)().weightedAverage(mesh.V());

// Calculate the pressure gradient increment needed to
// adjust the average flow-rate to the correct value
dimensionedScalar gradPplus =
(magUbar - magUbarStar)/rUA.weightedAverage(mesh.V());

first, you get the volume average of the streamwise velocity sum(mesh.V()*Ustreamwise)/sum(mesh.V())
then, you calculate a "streamwise body force" by the difference of magUbar (you imposed in transportProperties files) and the average you just calculated.

In OpenFOAM, you don't calculate both utau and mass flow rate but, the mean velocity "Ubulk" you imposed.

I hope it helps,


philippebv December 2, 2008 12:09

Hi Cedric, thank you for yo
Hi Cedric,

thank you for your answer. I get the idea for the adjustment of gradP at each timestep in channelOodle. So correct me if I'm wrong, but to plot U+ vs y+, you use the final pressure gradient in the channel to get Tau_w and then U_tau?


All times are GMT -4. The time now is 20:32.