LES of turbulent channel flows

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

November 20, 2016, 21:48
#181
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by cedric_duprat Elham, What is U in your yPlus calculation ? instanteneous or averaged velocity ? Have you try to calculated utau from the averaged velocity profiles you send us ? I mean from the mean velocity profile you can calculate tauw from tauw you get utau. Is this value coherent with the one you already have ? Cedric
I suppose U in yPlus is instantaneous but I use the time averaged one for calculating utau.
How can I have tauw from mean velocity?

 November 21, 2016, 15:58 Hairpin Vortices in turbulent channel flow using DNS #182 New Member   Nitin Join Date: Mar 2012 Location: Bombay Posts: 16 Rep Power: 14 Hello Foamers I am performing DNS of turbulent channel flow to understand the relationship b/w hairpin vortices and heat transfer associated with it. In the literature, the formation of hairpin vortices is explained as follows: First of all, vortices formation in spanwise (z) direction due to gradient of streamwise velocity (du/dy) in wall normal (y) direction. Stretching and lifting of spanwise (z) vortices results in two counter-rotating vortices in streamwise (x) direction. These vortices elongate further in x direction and eventually connect at y+=15 and results in formation of hairpin. I am not able to understand the driving force behind stretching and lifting? Please share your experience and understanding.

November 21, 2016, 20:27
#183
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by Elham Dear Mahdi, I calculated utau by means of wallGradU and wallShearStress utility but the big gap between mine and DNS exists. Actually, the utau in all of the methods are nearly the same. You can have a look at my calculation process. I will appreciate if you can correct me: yPlus=dist()/nu*sqrt((nu+nuSgs)*mag(snGrad(U))) %in controlDict (Timofey code)) yPlus1=time_averaged of yPlus Y1=dist() % in controlDict utau=yPlus1(:,2)*nu/Y1; Cheers, Elham

Dear all,

I am wondering in yPlus calculation if it is correct to have the gradient of U, mag(snGrad(U))? or it must be something like mag(snGrad(flowDirection & U)))? Although I have tested it and the solver stopped. Since we need the gradient of velocity in streamwise direction not in the whole directions.

Cheers,

Elham

 November 25, 2016, 13:11 Implicit and Explicit SGS Stress #184 Senior Member   Ehsan Asgari Join Date: Apr 2010 Posts: 473 Rep Power: 18 Hi, I think this is a quite important subject. I have tried to simulate channel395 through both dynamic Smagorinsky (local) and an explicit SGS stress tensor adding to momentum equations. The first approach is a well-known eddy-viscosity method which calculates nuSgs and adds it to nu to constitute nuEff and finally calculates divDevReff from something like: fvm::laplacian(nuEff, U) The second approach does not calculate nuSgs directly, but instead calculates SGS stress tensor B from the following relation: B = -2 * nu_t * S_ij where nu_t is equal to nuSgs and S_ij is the resolved strain rate tensor. The only difference from the first approach is that divDevReff is now an explicit source term which is added to momentum equation as the following term: fvc:: div(B) - fvm::laplacian(nu, U) Well, I would expect to get the same results in term of viscous stress (u_tau) in the case of channel395 with default grid spacing, but it is not as thought. The first approach (currently used in OF) yields a reasonable Re_tau=370 but the second approach strongly over-predicts viscous stress, yielding a Re_tau=500!! Does anyone have some sort of experience with this type of SGS stress modeling?! I would highly appreciate if someone could give me insight. I wonder if this big difference should be expected when modelling SGS stress explicitly ??! Syavash

November 26, 2016, 06:22
#185
Senior Member

Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 119
Rep Power: 14
Quote:
 Originally Posted by Elham Dear all, I am wondering in yPlus calculation if it is correct to have the gradient of U, mag(snGrad(U))? or it must be something like mag(snGrad(flowDirection & U)))? Although I have tested it and the solver stopped. Since we need the gradient of velocity in streamwise direction not in the whole directions. Cheers, Elham
Yes, that would be more accurate. But this expression is just a rough approximation anyway. You should use the mean value of U and then the wall-normal component is pretty much zero.

December 6, 2016, 02:44
#186
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by Elham Dear all, My results for Re_tau=330, target Re_tau=395, with 5 cells in y+<5 and the first y+=0.73 and Re_b=13350 has been attached. As you see the profile in global coordinate is near to DNS results but in wall coordinate is so far from DNS. I suppose I am doing something wrong in drawing the plots. I let the flow to pass around 90 flow throughs and then averaged just for 8 flow throughs. I know the averaging time is not enough but the difference between DNS results and mine is so big that I think the problem will exist after passing more and more time. I would appreciate if anyone can give me some clues. PS: The problem may be come from the spatial averaging as I just do time averaging in a specified plane and no spatial averaging. If I want to use fieldAverage function in ControlDict, I need to keep data of every time step which demands high storage capacity. Cheers, Elham

I finally could get rid of the scale difference from my results and DNS ones in wall coordinate by calculating u_tau as following:

u_tau=sqrt(wallShearStressLES)

and wallShearStressLES is a utility. Then I calculate y+.

December 6, 2016, 04:09
#187
Senior Member

Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18
Quote:
 Originally Posted by syavash Hi, I think this is a quite important subject. I have tried to simulate channel395 through both dynamic Smagorinsky (local) and an explicit SGS stress tensor adding to momentum equations. The first approach is a well-known eddy-viscosity method which calculates nuSgs and adds it to nu to constitute nuEff and finally calculates divDevReff from something like: fvm::laplacian(nuEff, U) The second approach does not calculate nuSgs directly, but instead calculates SGS stress tensor B from the following relation: B = -2 * nu_t * S_ij where nu_t is equal to nuSgs and S_ij is the resolved strain rate tensor. The only difference from the first approach is that divDevReff is now an explicit source term which is added to momentum equation as the following term: fvc:: div(B) - fvm::laplacian(nu, U) Well, I would expect to get the same results in term of viscous stress (u_tau) in the case of channel395 with default grid spacing, but it is not as thought. The first approach (currently used in OF) yields a reasonable Re_tau=370 but the second approach strongly over-predicts viscous stress, yielding a Re_tau=500!! Does anyone have some sort of experience with this type of SGS stress modeling?! I would highly appreciate if someone could give me insight. I wonder if this big difference should be expected when modelling SGS stress explicitly ??! Syavash
Well, the issue was resolved. The problem was in using yPlusLES in calculating wall friction velocity.

For whoever that might be interested, to calculate friction velocity and y+ one must use wallShearStressLES instead of yPlusLES. The latter only accounts for eddy-viscosity models while the former suits both approaches.

Syavash

 December 25, 2016, 00:22 problem with perturbU #188 New Member   Bo Kong Join Date: Oct 2016 Location: China Posts: 22 Rep Power: 9 Hi, I am trying to run the channel395 case and using perturbU to initial. But when I run for 100 flow cross time, it is still in laminar flow. can anybody give me some advice? Thanks! Bo Kong

 December 27, 2016, 06:44 #189 Senior Member   Elham Join Date: Oct 2009 Posts: 184 Rep Power: 16 Can you see any perturbation after using perturbU utility? Any small perturbation is enough. Then you need to have enough time to get turbulent.

December 27, 2016, 22:00
#190
New Member

Bo Kong
Join Date: Oct 2016
Location: China
Posts: 22
Rep Power: 9
Yes，I can see perturbation in x and z directions like the picture shown. Does it right?
Attached Images
 perturbField.png (19.7 KB, 48 views)

 December 27, 2016, 22:02 #191 New Member   Bo Kong Join Date: Oct 2016 Location: China Posts: 22 Rep Power: 9 Yes，I can see perturbation in x and z directions, and keep run for 200 flow cross time, I think it is long enough.

December 28, 2016, 21:39
#192
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by huangfei Yes，I can see perturbation in x and z directions, and keep run for 200 flow cross time, I think it is long enough.
Is the fvOption dictionary in your system directory and active? It forces the pressure difference through the channel. All of the boundary conditions should be cyclic as well.

 December 30, 2016, 02:33 #193 New Member   Bo Kong Join Date: Oct 2016 Location: China Posts: 22 Rep Power: 9 Yes，these files are copied from channel395 case in tutorials without any change.

December 30, 2016, 02:59
#194
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by huangfei Yes，these files are copied from channel395 case in tutorials without any change.
Would you please send the velocity contour after 200 flow through?

 January 2, 2017, 16:03 #195 Member   Join Date: Apr 2016 Posts: 34 Rep Power: 10 Hello everybody, I am trying to generate turbulent inlet boundary condition for my LES simulation using mapped boundary condition. So, I start with a uniform inlet for my velocity and I map the velocity profile further downstream back to the inlet plane. The problem is that the turbulence decays over time and I end up with a laminar velocity profile with no disturbances. Can anyone please suggest what the problem could be? Many thanks in advance.

January 2, 2017, 20:22
#196
New Member

Bo Kong
Join Date: Oct 2016
Location: China
Posts: 22
Rep Power: 9
Quote:
 Originally Posted by Elham Would you please send the velocity contour after 200 flow through?
Happy new year!
Here is the contour.
Attached Images
 9000counter.png (26.4 KB, 43 views)

January 2, 2017, 22:22
#197
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by Eman. Hello everybody, I am trying to generate turbulent inlet boundary condition for my LES simulation using mapped boundary condition. So, I start with a uniform inlet for my velocity and I map the velocity profile further downstream back to the inlet plane. The problem is that the turbulence decays over time and I end up with a laminar velocity profile with no disturbances. Can anyone please suggest what the problem could be? Many thanks in advance.
Which solver are you using? Do you have a kind of source term to push the pressure difference or a cyclic BC. I myself have lots of problem for producing turbulent flow in the channel while the channel is surrounded by walls and are not cyclic and not having fvOptionDict to enforce the source term but I am trying to use turbulentIntensityKineticEnergyInlet BC for k and seems to work.

January 2, 2017, 22:25
#198
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by huangfei Happy new year! Here is the contour.
Happy new year too.
It is quite laminar. The problem is not the number of flow throughs. You may missed something in the BCs definition. All of BCs except the walls has to be cyclic and fvOptionDict has to be on. Check them all with channel395 tutorial please.

January 3, 2017, 00:57
#199
Member

Join Date: Apr 2016
Posts: 34
Rep Power: 10
Quote:
 Originally Posted by Elham Which solver are you using? Do you have a kind of source term to push the pressure difference or a cyclic BC. I myself have lots of problem for producing turbulent flow in the channel while the channel is surrounded by walls and are not cyclic and not having fvOptionDict to enforce the source term but I am trying to use turbulentIntensityKineticEnergyInlet BC for k and seems to work.
Thanks for the reply. In both cases I use pisoFoam. In the first one, I use cyclic b.c on pressure, velocity and nuSGS and I drive the flow with pressure gradient (fvOptionDic is active). In a few time steps, I get a turbulent velocity profile and everything is just fine. However, in the second case I tried to use mapped boundary condition. Everything else is the same as the previous case except I don't use fvOptionDict, instead I am using averaging (the setAverage option in the mapped boundary condition) to drive the flow. The flow rate does not drop or anything and the pressure decreases almost linearly but the initial disturbances start to decay and finally there will be no turbulence in the domain

January 4, 2017, 07:31
#200
Senior Member

Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Quote:
 Originally Posted by Eman. Thanks for the reply. In both cases I use pisoFoam. In the first one, I use cyclic b.c on pressure, velocity and nuSGS and I drive the flow with pressure gradient (fvOptionDic is active). In a few time steps, I get a turbulent velocity profile and everything is just fine. However, in the second case I tried to use mapped boundary condition. Everything else is the same as the previous case except I don't use fvOptionDict, instead I am using averaging (the setAverage option in the mapped boundary condition) to drive the flow. The flow rate does not drop or anything and the pressure decreases almost linearly but the initial disturbances start to decay and finally there will be no turbulence in the domain
I don't know if the setAverage does push the pressure difference like fvOption. Why you did not use fvOption in this case?