CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Verification & Validation (http://www.cfd-online.com/Forums/openfoam-verification-validation/)
-   -   Validation of LES models (http://www.cfd-online.com/Forums/openfoam-verification-validation/93027-validation-les-models.html)

Bernhard October 3, 2011 05:39

Validation of LES models
 
Dear all,

Let me make use of this new subforum to post a request here. I am not an OpenFOAM nor an LES expert by any means, but I am very interested in the stories of people that validated or benchmarked the LES models of OpenFOAM against DNS databases or other modelled results.

I think that it will be a waste of time when everybody does this him- or herself with the same repeated cases. I'd like to ask the people that have a ready-to-use test case somewhere on their desk to share their experiences (including case and results) with the community using this thread. I think a lot of people can benefit from all the efforts that has been put into it already.

Regards,
Bernhard

eelcovv October 4, 2011 04:53

Hi Bernard,

Good initiative! There was a quite interesting thread already

http://www.cfd-online.com/Forums/ope...nel-flows.html

But nevertheless, not all aspect have been covered yet. For instance, I would like to have some more information on LES wall functions. In the thread above, the complete boundary layer was resolved. My question is: can we get away with this by using appropriate wall functions ?

I did some tests with LES in the Moin and Kim channel (because the DNS data can be obtained from the internet), but I am really not happy with the result. I find that I can only get the pressure drop correct (I use the channelFoam trick, so I set the mass flow fixed by adjusting the pressure gradient) if I really resolve the wall boundary layer (fist grid point within one wall unit from the wall). I use the nuSgsUSpaldingWallFunction from OF 2.0.x, and in my understand it should be possible to put the first grid cell somewhere between 10 and 30 y+, but this yields a pressure drop which is too high.
Another trick I tried was to use grid refinement using snappyHex mesh. In that you you can easily double the grid resolution near the wall. However, at the transition from the refined layer to the course grid, the grid exapansion is almost a factor of 2, and this spoils the solution completely (in LES, ideally uniform grid must be used, or at least a very smoothly varying grid).

I could send in some more details, but I need to summarise my results a bit. I am curious if other users have experience in get a correct LES simulation of a channel using wall functions or grid refinement near the wall such that the total grid size remains within feasible limits (at least < 2 mlj cells).

Regards
Eelco

timo_IHS October 6, 2011 03:11

Hallo Eelco,

I also tested the wall function of Spalding (different names in different OF-versions) for a RANS pipe flow with different y+-values (1-150). I also determined a too high pressure drop for y+-values of above approx. 10. I suppose there's the same problem in LES. Perhaps you or we can check this.

There are DNS-data for pipe flow from Eggels or Fukagata:
http://www.thtlab.t.u-tokyo.ac.jp/DNS/dns_database.html
The problem here is the small Re-number, so you almost have to stay in lowRe-regions, otherwise the core flow is not well resolved.

Best,
Timo

eelcovv October 10, 2011 05:21

some LES channel flow results with two different meshes
 
3 Attachment(s)
Hi Timo,

Thanks for the link, I didn't know this one. Very interesting for validating purpose.

I just send here two small examples of attemps of a channel LxHxB=6.4x1x1.6 at Re=Um*H/nu=29,000 by setting Um=0.3306 m/s with nu=1.14e-5 m2/s. Care was taken to get a fully developped flow. backward time integration with dt=0.01 s was used, leading to Co_max=0.75. Gauss linear interpolation was used for all matrix solvers, using GAMG with the residual set at 1e-7.

The expected pressure drop I estimated by using the relation
Ref=0.09*Re**0.88 (Pope), so the Reynolds number based on the friction velocity uf is 760. Using Ref=uf*wh/nu (wh=H/2) gives me uf=0.017 m/s. Finally, the pressure drop is obtained by gradP/rho=uf**2/wh=0.00060 m/s2.

Well, tested several turbulence models (smagorinsky, 1 equation eddy, DES), all with nuSgsUSpaldingWallFunction at the wall bc of nuSgs. Not much difference between the results for the different turbulence models The grid has actually the greatest impact on the results. I compare here for instance two grids: g0 and g1.

g0:
grid info: 2.1 mlj (256x128x64) cells created with blockmesh using a simpleGrading (1 10 1) at the walls (so two blocks where formed, just like channel395 from the tutorials).
yplus : 1.70512780145771
uf : 0.0195762739049085
gradP : 0.000766461

g3
grid info: 1.6 mlj cells. Course uniform grid (no simplegrading) was formed with blockMesh (100x50x30 cells) and refinement was made using snappyhexmesh (with a block near the wall with double refinement and a block in the log layer with a single refinement)
yplus : 0.719308714802291
gradP : 0.00102801
uf : 0.022671678367514

Pictures of the grids g0 and g3 together with their mean U profiles are included to this post. As you can see, the g0 performce best in terms of the presure gradient (and therefore the velocity profile), but the gradP=0.0007 I find is still 20% too high with respect to the value based on Popes relation So the refinement using snappyhex mesh is not applicable for LES I assume? Netherless, I would hope to get a bit better result then the plot I show using 2.1 mlj cell for g0.

Unfortunately I am occupied with other stuff right now so I don't have really time to find out how to improve my LES simulation of the channel. I am sure if I resolve the full boundary layerI get better results (in other posts on the forum with LES, the first grid point was at y+=0.2), but if you try to do that LES becomes almost as expensive as DNS. I don't see the point in using a wall function if you still have to put your first grid point within y+=1. Hopefully somebody could comment on that: am I doing something wrong? Or are there any alternatives beside Spalding ? Well, if somebody has obtained better results then I am showing here, I would be very interested in the settings.

Regards
Eelco

Attachment 9489

Attachment 9490

Attachment 9491

bageshwar November 22, 2011 10:45

Validation of LES
 
I have incorporated Smagorinky subgrid scale model in my code and now I want to validate it. I am looking for a Turbulent jet case with free shear flow, preferebly square jet. 3D. Can anyone help?

atmcfd March 19, 2013 01:22

Bageshwar,

Couldn't find anything exact, but this might be a good reference. Look for other cases in this repository which might suit you.

http://qnet-ercoftac.cfms.org.uk/w/i...erexpanded_jet

Regards

Atm

vonboett April 16, 2013 15:49

Hi all,

concerning LES of turbulent channel flow with wall functions, I follow currently the approach of hybrid URANS-LES for OpenFOAM developed at LeMoS at the University of Rostock. First results are promising, especially because the domain gets decomposed into URANS region and LES region dynamically dependend on local grid resolution and flow.
The idea is that one can model the turbulent flow field with complex surface structures on the channel bed that become URANS region, with wall functions this would not work I guess. Currently I simulate a 32 m long and 2 m wide paved channel of a natural torrent with 16 mio cells and results fit the overall behavior of the channel. As soon as we can get surface velocity measurements this summer this might turn into a validation test case, then it might be redone with hLES for comparison.

The other test case is a 6 m long flume, 0.3 m wide, with fixed gravel bed that find its way into the simulation by an .stl file from surface scan and snappyHexMesh. I would like to discuss that case because of the 'Lego-Brick' kind of representation of the gravel bed and because of the jump in mesh resolution from high resolution close to the gravel bed to coarse resolution above the gravel bed. Again, this test yust started and currently we compare travel times of spheres in the flume with simulated spheres using CFDEM-LIGGGHTS

ashvinc9 July 1, 2013 11:55

Validation of SGS models
 
2 Attachment(s)
Dear all,

I have been running the Open channel flow simulation using wall function approach. I have done done several LES for open channel flow using different wall-functions, Sgs models, numerics, etc, and I would like to share my results for further suggestions and results corrections.

These all simulations are for relatively higher Re_tau, e.g. 7500 to 60000, and in most of the cases, the grid is really coarse. Earlier (in OF 2.0 and 2.1), I was using "nuSgsUSpaldingWallFunction" wall-function but now in the newer version of OF, it also possible to employ almost all the wall-function which are made for RANS. In my case, I have used
nuSgsUSpaldingWallFunction and nutUSpaldingWallFunction, and nutURoughWallFunction for smooth, and rough wall conditions, respectively.

The LES results for open channel flow using wall-functions are reasonably good as well as the velocity solutions agree reasonably well with the Log-law for both smooth and rough wall surfaces. Actually, in all the cases, LES velocity profile underestimate the Log-law in a near-wall region and produce a kink only for few cell centred values after the first one from the wall (please see the results in the attached file: Static_SGSModel.pdf ). I have been trying a lot in order to rid out of that kink near wall boundary but didn't find any reason for such a kink so far. I also discussed with other researcher those who use LES-wall-function approach, and they say that it is common to have a such a behaviour for few cell centred values where the velocity solution go away from the Log-law. Also, that velocity defect occurs only for few cells (or nodes) so it shouldn't be too serious problem in my opinion. Please correct me if I am wrong? Please share your ideas if you have had experienced such a behaviour of velocity using wall function in LES.

SGS model validation:
Since, the coarse grid has been used in almost all LES for open channel flow, the SGS models play important roles in the simulations, and thus, the results are very sensitive to the SGS model used.
From the open channel flow testing, it seems that one equation eddy viscosity (oneEqEddy) model gives good results for the coarse LES. I also tried standard Smagorinsky model but no improvement was observed in the near-wall agreement as well as poor agreement with Log-law compared to that of using oneEqEddy model. When using any Dynamic or Lagrangian SGS models on the same case (same grid, Re_tau, numerical schemes, averaging time, solver), the LES results are really bad, the velocity profile seems to be non-stable as well as the velocity profile is not even comparable to the Log-law.I do not know why any Dynamic or Lagrangian SGS models are not working as good as static SGS model, although they are suppose to produce better results because of the dynamic procedure of finding the model constant. I have tried, e.g. dynOneEqEddy, homogeneousDynOneEqEddy, homogeneousDynSmagorinsky and dynLagrangian SGS models on the same case. But the results are not acceptable. :confused:. The results using dynamic SGS models are attached in the file: Dynamic_SGSModel.pdf. Please find the attachments.

Does any one have idea behind this problem? Did I miss something to take into account when employing the dynamic SGS model? I appreciate your comments and suggestions.

Regards,
Ashvin


mxylondon July 19, 2013 09:10

It is very helpful.

mxylondon July 19, 2013 09:13

Dear Ashvin Chaudhari, I am using pisoFoam with LES for channel flow, but for many days, can not get good velocity curve....really don't know where is wrong.
If it is possible, could you please, let me know some more details about your setting?
Thank you very much!!!! Waiting for your reply.
cheers

ashvinc9 July 19, 2013 17:01

2 Attachment(s)
Dear Xiangyin,

It completely depends on what kind of flow you are simulating. In my previous post, the results were obtained for open channel flow at higher Re_tau using wall-function approach. Those results were obtained using combination of RK-4 method (for time integration ) and projection method (we have developed our own solver ). Also, I have done some LES for smaller Re_tau (e.g. 180. 395) using the ARK-3 method without using wall-function, please see the attached files for results from relatively low Re_tau. Apart from this, I am use Gauss linear (second order central diff) scheme for div and grad terms and Gauss linear corrected for laplacian terms. Also, almost all the time, I run LES by fixing a small value for Courant number (i.e. max Co =0.25). Regarding the domain size (channel's dimensions), grid resolutions and SGS models, you can get information from my results attached in in this post and in previous post.

I am not using pisoFoam at the moment. But your problem should not be dependent on the solver specific. As long as you are using pisoFoam it is completely fine solver in order to get agreement for channel flow simulation at least.

Could you please provide some more details on your case (i.e. on the domain, grid resolution, Sgs model, fvSchemes, BC)? Are you using cyclic BC? if so, what did you fix to run LES, mass flow rate or pressure gradient? and if possible also post the results (mean velocity) you have obtained so far.

Regards,
Ashvin

mxylondon July 25, 2013 03:57

Thank u so much for the details, I will do some more investigations right now and let u know more details.
Thanks again!!!

vonboett July 25, 2013 05:23

Quote:

Originally Posted by ashvinc9 (Post 437124)
Dear all,

I have been running the Open channel flow simulation using wall function approach. I have done done several LES for open channel flow using different wall-functions, Sgs models, numerics, etc, and I would like to share my results for further suggestions and results corrections.

These all simulations are for relatively higher Re_tau, e.g. 7500 to 60000, and in most of the cases, the grid is really coarse. Earlier (in OF 2.0 and 2.1), I was using "nuSgsUSpaldingWallFunction" wall-function but now in the newer version of OF, it also possible to employ almost all the wall-function which are made for RANS. In my case, I have used
nuSgsUSpaldingWallFunction and nutUSpaldingWallFunction, and nutURoughWallFunction for smooth, and rough wall conditions, respectively.

The LES results for open channel flow using wall-functions are reasonably good as well as the velocity solutions agree reasonably well with the Log-law for both smooth and rough wall surfaces. Actually, in all the cases, LES velocity profile underestimate the Log-law in a near-wall region and produce a kink only for few cell centred values after the first one from the wall (please see the results in the attached file: Static_SGSModel.pdf ). I have been trying a lot in order to rid out of that kink near wall boundary but didn't find any reason for such a kink so far. I also discussed with other researcher those who use LES-wall-function approach, and they say that it is common to have a such a behaviour for few cell centred values where the velocity solution go away from the Log-law. Also, that velocity defect occurs only for few cells (or nodes) so it shouldn't be too serious problem in my opinion. Please correct me if I am wrong? Please share your ideas if you have had experienced such a behaviour of velocity using wall function in LES.

SGS model validation:
Since, the coarse grid has been used in almost all LES for open channel flow, the SGS models play important roles in the simulations, and thus, the results are very sensitive to the SGS model used.
From the open channel flow testing, it seems that one equation eddy viscosity (oneEqEddy) model gives good results for the coarse LES. I also tried standard Smagorinsky model but no improvement was observed in the near-wall agreement as well as poor agreement with Log-law compared to that of using oneEqEddy model. When using any Dynamic or Lagrangian SGS models on the same case (same grid, Re_tau, numerical schemes, averaging time, solver), the LES results are really bad, the velocity profile seems to be non-stable as well as the velocity profile is not even comparable to the Log-law.I do not know why any Dynamic or Lagrangian SGS models are not working as good as static SGS model, although they are suppose to produce better results because of the dynamic procedure of finding the model constant. I have tried, e.g. dynOneEqEddy, homogeneousDynOneEqEddy, homogeneousDynSmagorinsky and dynLagrangian SGS models on the same case. But the results are not acceptable. :confused:. The results using dynamic SGS models are attached in the file: Dynamic_SGSModel.pdf. Please find the attachments.

Does any one have idea behind this problem? Did I miss something to take into account when employing the dynamic SGS model? I appreciate your comments and suggestions.

Regards,
Ashvin


...I guess the problem with your dynamic SGS has its origin in the wall boundary layer. Could you post at which y+ (resp. z+) position your wall-closest cell center is?
Yust being curious, could you rerun the case with dynOneEqEddy with mesh grading towards the wall such that your first cell center is at y+ of about 100? Keylock et al (2012) "The application of computational fluid dynamics to natural river channels: Eddy resolving versus mean flow approaches" suggests the first cell center to be within 30 to 300 wall units close to the wall if wall functions are used, and less than 4 wall units if no wall functions are used. I am not sure if dynamic procedure and wall functions can always be applied at the same time without conflict.

Of interest could be aswell: Notes on Numerical Fluid Mechanics and Multidisciplinary Design, Springer, Vol. 111, pp. 271-281, 2010: "Large Eddy Simulations: Wall Functions with
Forcing given by Backscatter from a
Scale-Similarity Model" in which the underprediction of resolved fluctuation of the wall shear stress in channel flow simulations with coarse wall region resolution and wall functions is adressed.

ashvinc9 July 25, 2013 10:41

1 Attachment(s)
Thank you Albrecht for the comments .

Quote:

Could you post at which y+ (resp. z+) position your wall-closest cell center is?
Earlier I also used fine grid resolution so that the first cell-centre value z+(1) is between 30 and 100, but no improvement was seen. See the attached result, the z+(1) is around 40 and using dynOneEq sgs model result is not good.

Quote:

Yust being curious, could you rerun the case with dynOneEqEddy with mesh grading towards the wall such that your first cell center is at y+ of about 100?
I will repeat the similar case with dynOneEqEddy model but for closed channel flow. I will post the results. Reason is that so far i didn't try any dynamic models for closed channel flow, basically I don't want to use symmetryPlane bc on top of my domain so the closed channel flow would be good testing.

Quote:

I am not sure if dynamic procedure and wall functions can always be applied at the same time without conflict.
Initially, I was suspecting this one, but later I saw several papers written for Atmospheric Boundary Layer flows over flat and smooth terrains. They all used wall-function and also for such a flow, the sgs model play an important role. There were some nice results using dynamic Lagrangian sgs model too. In fact, dynamic Lagrangian sgs model can be good choice for the ABL flow over the complex terrain due to its unique time-averaging approach for the model constant. This is the reason I want to use dynamic sgs model.

Thanks for the references. I will look them and try to post the results for closed channel flow simulation using dynOneEqEddy model.

raw17 October 19, 2013 13:05

1 Attachment(s)
Hello
I am to run channel flow with dynSmagorinsky(channel395), but my statistics are not in good agreement with Moser DNS(Retau=395)
Dimesion of my domain is : 4*2*2,80*50*60
I run te simulation for long time . After the initial peaks in turbulent kinetic energy the energy fluctuates around a value. After that I run a long simulation and perform average.

1. vrms , wrms are underestimated.
2. urms is overestimated .
3. Uf.xy is also not matching far from the wall.

the schemes of my channel:


ddtSchemes
{
default backward;
}

gradSchemes
{
default Gauss linear;
grad Gauss linear;
grad Gauss linear;
}

divSchemes
{
default none;
div(phi,U) Gauss linear;
div(phi,k) Gauss limitedLinear 1;
div(phi,B) Gauss limitedLinear 1;
div Gauss linear;
div(phi,nuTilda) Gauss limitedLinear 1;
div((nuEff*dev(grad .T()))) Gauss linear;
}

laplacianSchemes
{
default none;
laplacian(nuEff,U) Gauss linear corrected;
laplacian((1|A ),p) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(DBEff,B) Gauss linear corrected;
laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
}

interpolationSchemes
{
default linear;
interpolate linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p;
}

I use delta cubeRootVol; Same issue I have with static Smagorinsky model also.
Please see my results

Thankyou

vonboett October 22, 2013 04:53

How about dynOneEqEddy? Note that dynSmagorinsky only adjusts the model constant in dependency to the overall flow, so you will not get a local adjustment.

ashvinc9 October 22, 2013 07:55

Quote:

Originally Posted by raw17 (Post 457822)
Hello
I am to run channel flow with dynSmagorinsky(channel395), but my statistics are not in good agreement with Moser DNS(Retau=395)
Dimesion of my domain is : 4*2*2,80*50*60
I run te simulation for long time . After the initial peaks in turbulent kinetic energy the energy fluctuates around a value. After that I run a long simulation and perform average.

1. vrms , wrms are underestimated.
2. urms is overestimated .
3. Uf.xy is also not matching far from the wall.

the schemes of my channel:


ddtSchemes
{
default backward;
}

gradSchemes
{
default Gauss linear;
grad Gauss linear;
grad Gauss linear;
}

divSchemes
{
default none;
div(phi,U) Gauss linear;
div(phi,k) Gauss limitedLinear 1;
div(phi,B) Gauss limitedLinear 1;
div Gauss linear;
div(phi,nuTilda) Gauss limitedLinear 1;
div((nuEff*dev(grad .T()))) Gauss linear;
}

laplacianSchemes
{
default none;
laplacian(nuEff,U) Gauss linear corrected;
laplacian((1|A ),p) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(DBEff,B) Gauss linear corrected;
laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
}

interpolationSchemes
{
default linear;
interpolate linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p;
}

I use delta cubeRootVol; Same issue I have with static Smagorinsky model also.
Please see my results

Thankyou


Hi,
OneEqEddy sgs model will be fine to bring good agreement for the LES-channel flow case at least. In your case, i think the grid is too coarse. I will suggest you to use finer grid resolution where first y+ is about 0.5 in wall-normal direction for both upper and lower walls. So please use finer grid such as 80 x 160 X 80 for the domain 4x2x2 in x, y and z directions, where y is wall-normal direction.

Also, you are using limitedLinear scheme, so use only the linear scheme for the "divSchemes", i.e.

Code:

divSchemes
{
    default          Gauss linear;
    div(phi,U)      Gauss linear;
    div(phi,k)      Gauss linear;
    div(phi,B)      Gauss linear;
    div(phi,nuTilda) Gauss linear;
    div((nuEff*dev(grad .T()))) Gauss linear;
}

laplacianSchemes, gradSchemes and ddtSchemes are fine. Use pisoFoam and oneEqEddy model with delta=vanDriest. Run the simulation with low Courant number, i.e. CoMax<0.3.

Good luck !

-- Ashvin

raw17 October 23, 2013 07:56

Hello, Ashvin,
Thanks for your suggestion. I have used 40*160*40 points . But still I dont see any improvement. I will update my divergence scheme and run the simulation for higher resolution. Actually I would like to validate static Smagorinsky model. But I first started with dynamic one . Dynamic model results are much better than tha static one. Using static smag is specific to my problem else I would have used OneEqEddy sgs model :(.


All times are GMT -4. The time now is 23:01.