|
[Sponsors] |
July 8, 2019, 06:56 |
Latest Developed Turbulence Models
|
#1 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi everybody,
I guess many people who are not specialists in the topic of turbulence models would like to know a bit more about the latest models available in science and FOAM. However, as I just know the theory behind the different approximations (RANS/LES), I would like to start a conversation about the turbulence models in FOAM. For example. If I am doing a industrial cfd simulation, the first model I am using is the old-well-known k-Epsilon model as it is stable. However, AFAIK, the following holds:
Nevertheless, there are much more models available and the three mentioned above are already very old ones. As we are having two unknown in the RAS model (I am not so familiar with LES), my personal opinion is to use 2-equation models rather than 1-equation models. However, I also think, that this depends on the problematic one is investigating. Assuming a compressible solver such as rhoSimpleFoam, FOAM offers 13 turbulence models: Code:
RAS models 13 ( LRR LaunderSharmaKE RNGkEpsilon SSG SpalartAllmaras buoyantKEpsilon kEpsilon kOmega kOmegaSST kOmegaSSTLM kOmegaSSTSAS realizableKE v2f ) Thanks in advance and I am looking forward for some discussion and information.
__________________
Keep foaming, Tobias Holzmann |
|
July 8, 2019, 12:47 |
|
#2 |
Senior Member
Join Date: Sep 2013
Posts: 353
Rep Power: 21 |
Just to add to this. You mentioned you'd start with kEpsilon for industrial cases. I'd disagree...everyone i know uses kOmegaSST whenever they don't know shit about what is going on. Hence I use it all the time, I did many comparisons between the kOmega and kEpsilon based models and it has always been the one providing the results that match PIV measurements etc the closest. Which is probably your best bet if you are not a turbulence guy (at least from my limited perspective). Which model is used depends on the use case. First of all numerical effort increases with the number of equations solved. Hence let's order the ones you listed. For a car simulation e.g you could just use a 1 equation model to save some computation time.
1 equation models: SpalartAllmaras k-omega based models (most of them 2 equations) kOmega kOmegaSST (mixture of kEpsilon and kOmega) kOmegaSSTLM (4 equation model to model transition) kOmegaSSTSAS (hybrid LES / RAS model ) k-epsilon based models (most of them 2 equations) kEpsilon LaunderSharmaKE RNGkEpsilon realizableKE v2f (4 equations to model anisotropic behaviour) buoyantKEpsilon (well includes buoyancy effects) Reynolds stress models (6 equations) LRR SSG So more equations = better accuracy? Like everything in turbulence...maybe Turbulence always depends on your Reynolds number. Different models perfom totally different at different Reynolds numbers. Lets take a look at an airfoil. A 1m long NACA0012 airfoil at Re=10^6 for example. The mach number is low hence we can assume this to be incompressible. There have been many posts in this forum for wrong results for this simple geometry. They always complain about the drag value. Which is about twice as high as measurements. This is partly due to y+ dependency, bad meshes, but also because of the transition from laminar to turbulent flow. The boundary layers starts laminar and turns turbulent at some point. Most turbulence models, do not capture this. You can either use a transient simulation to increase accuracy or you could try the kOmegaSSTLM model. Because it models transition. If you do not like the effort of a full LES simulation you might also use something like kOmegaSSTSAS. v2f models the anisotropic behavior of turbulent flow near the wall. The problem is however that they all fail near the stall angle. Here about 15° as stall is a fully transient effect. You might want to use a 1eqn model as it might be more stable and allows a steady state simulation that actually still converges..... Here is the case which lists the NASA sources and validation data. You can try out different models and see for yourself how they perform for this use case. https://openfoam.com/documentation/g...irfoil-2d.html There are a few more to click through. Another quick test would be a simple pipe flow. As measurements for the velocity profile are readily available. At modest reynolds numbers like e.g 40000 most of the kEpsilon models perform poorly. Especially if there is a bend. Since this is just a 1D simulation you could try that to calculate how close you can match the friction coefficient or how closely you can match the velocity profile in that case. I have done that at some point in the past and might still have a case for that to recreate the moody chart with different models. Here kOmegaSST was the best allrounder from my tests. Apart from that I think that turbulence models are like religions...But maybe some expert turbulence guy can limit where to use which of these models more closely. For me it is always testing with some measurement data etc, or fall back to kOmegaSST. |
|
July 8, 2019, 18:22 |
|
#3 | |
Senior Member
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 16 |
Quote:
And then there is the over-dissipative character of PISO. Strangely enough, pisoFoam works really badly when doing unresolved DNS. Usually 2nd order FD codes run using LES model or uDNS you see little difference in the results. |
||
July 9, 2019, 22:55 |
|
#4 |
Senior Member
Ruiyan Chen
Join Date: Jul 2016
Location: Hangzhou, China
Posts: 162
Rep Power: 10 |
Hi Santiago,
You mentioned something I'm really interested in. The Germano's dynamic Smagorinsky is not officially included in OpenFOAM, but the Meneveau's one is in it, do you have any ideas why? The reason I'm asking about this is because in my field (turbulent combustion), we have a lot of swirling flows, and people tend to (and it has become kind of standard) use Germano's dynamic model. The results are usually pretty good. I've seen people from CERFACS using WALE for swirling flows as well, but not that popular (not trying to offend anybody but that's what I found). WALE is very popular for wall-bounded flows though. Before Germano, people uses the traditional Smagorinsky, but you always have to tune the coefficient. I actually did my own survey for LES SGS models some time ago, and came to an conclusion that as the mesh refines, the different models seem to give similar results. What do you think about it? Do you have any experience in other models, e.g., kEqn? Thanks in advance. Ruiyan |
|
July 9, 2019, 23:05 |
|
#5 |
Senior Member
Ruiyan Chen
Join Date: Jul 2016
Location: Hangzhou, China
Posts: 162
Rep Power: 10 |
I'm not an expert in RANS, but based on my limited experience, the RNG and realizable kEpsilon work better than kEpsilon. The Reynolds Stress Model works the best but it's kind of hard to use it. Hope others can share more experience!
For LES, I really recommend Fumiya's blog (https://caefn.com/openfoam/turbulence), it is very clear and thorough. By the way I think he is on this forum as well. |
|
July 10, 2019, 18:19 |
|
#6 | |
Senior Member
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 16 |
Quote:
Well, Meneveau's Model is an improvement from the localized dynamic model of ghosal, and the plane averaged version of Lilly, as is more stable and it averages cs in a "generalized" way. So moving towards this model is the correct step. I dont find any particular reason why the dynamic model should be preferred over the lagrangian dynamic, except perhaps if one wants to save computational time. |
||
July 11, 2019, 06:19 |
|
#7 |
Member
Lilian Chabannes
Join Date: Apr 2017
Posts: 58
Rep Power: 9 |
Dear Tobi,
from my small experience, I would agree with Bloerb, and say kOmegaSST is the best first try, however, it can lead to bad stuff also. Example with a low specific speed pump calculation with kOmegaSST in CFX. By comparing a WF mesh (y+ ~100) and a Low Reynolds mesh (y+ ~1), the difference in the main characteristics can be up to 50% at high flow rates (see attachment, excel curve is my case, the second graphs are from this thesis : http://rosdok.uni-rostock.de/resolve...hab_0000001868) The reason is due to that, at high flow rates, some detachment causing massive losses is simply not captured by the WF mesh. But I guess at this y+, it behaves like kEpsilon, but I did not check. Here is a very nice course describing different RANS, URANS and LES models: http://www.tfd.chalmers.se/~lada/pos...trgjmrDCKskNCE I would like to extend the conversation to LES, since I just start it now with foam-extend, and it has been brought to the conversation already. foam-extend will propose also a large number of models: Code:
DeardorffDiffStress LRRDiffStress Smagorinsky SpalartAllmaras SpalartAllmarasDDES SpalartAllmarasIDDES dynMixedSmagorinsky dynOneEqEddy dynSmagorinsky kOmegaSSTSAS laminar locDynOneEqEddy mixedSmagorinsky oneEqEddy spectEddyVisc I am aware of the problems of Smagorinsky (constant coef), but dynSmagorinsky is just not implemend as in the theory as you said, the coefficient does not vary "by cell" but just changed over the whole domain, making dynSmagorinsky pretty useless. AlbertoPa did implement a proper dynSmagorinsky though (https://github.com/AlbertoPa/dynamicSmagorinsky). How to evaluate if an LES simulation is good? I saw 2 ways so far : Evaluating res_turb (How to use dynSmagorinsky model correctly ?) And plot somehow the -5/3 decay thingy. Does it mean there are some ways to see if the LES simulation is good without experimental comparison? EDIT: @cryabroad, I went through the blog and indeed it is full of information, thanks! I guess Smagorinsky problems are solved using OneEqEddy (basically is "less wrong" than Smagorinsky when using relatively coarse meshes, as I understood). dynOneEqEddy have the same problems as dynSmagorinsky but they actually also implemented a locDynOneEqEddy for local refinement. But I saw people arguing about that they obtain negative nuSgs values. Some say it is backscatter, some say it is unphysical and should be limited to 0.
__________________
Feel free to join the OpenFOAM Discord https://discord.gg/P9p9eHn, a live chat about OpenFOAM Last edited by Lookid; July 11, 2019 at 08:16. |
|
July 12, 2019, 04:54 |
|
#8 | |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi all,
a very nice discussion already started. I just want to clarify my statement: Quote:
__________________
Keep foaming, Tobias Holzmann |
||
July 12, 2019, 09:22 |
|
#9 |
Senior Member
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30 |
In my experience, the convergence behaviour between kEpsilon and SST is quite similar (this is also confirmed in the CFX Theory Manual), and there is no need to start with kEpsilon if you plan to use SST anyway.
__________________
*On twitter @akidTwit *Spend as much time formulating your questions as you expect people to spend on their answer. |
|
July 13, 2019, 03:26 |
|
#10 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
I have also tested WALE model (the one I implemented my self, the one native to OF in higher versions is not correctly implemented IMO) and it correctly predicted the near-wall asymptotic behavior of O(y^3) for nuSgs. I am currently implementing more recent functional and structural SGS models in foam. I hope to make them available soon. Best Regards, Syavash |
||
July 13, 2019, 03:47 |
|
#11 | |
Senior Member
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 16 |
Quote:
w.r.t negative nuSgs, is an error! antidissipation is NOT backscattering, physically it means that you're moving back in time (!!!). Backscatering can only be modelled by an appropriate deconvolution of the residual reynolds stress (i.e. Bardina, Stoltz, mixed models). |
||
July 13, 2019, 04:19 |
|
#12 | |
Senior Member
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 16 |
Quote:
(1) I guess the tests you've conducted are for resolved LES. An X+ of 30 is a bit low considering a streamwise lenght of 2 pi. Do you have a reference for that? (2) You say that you get decent results using the local dynamic smagorisky model. does this mean that you're able to get the y+3 growth for nuSgs? Did you implement a filter? (3) the y+3 behavior when using the WALE model, seems to me, is obtained partially because sqrt(ksgs) changes with the 3/2 power of sqr(S) (so third power). I'm not too familiar with WALE in any case. The near wall behavior of nuSgs depends on the filter used. Literature (Piomelli, Meneveau, others) reporting on y+3 for the growth of nuSgs is because they use tophat filters in the horizontal (uniform) directions only. I find it difficult to get such a behavior with the default filters in OF, unless you implement one that only filters horizontal homogeneous planes. The local dynamic needs in any case some sort of local averaging in order to avoid negative nusgs. Is that done in OpenFOAM? last I checked, it did not. but i checked some years ago. |
||
July 13, 2019, 05:09 |
|
#13 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
1) Yep. It was a resolved LES. You can find the LES mesh comparisons in the following paper: https://www.sciencedirect.com/scienc...21999117304059 2) When I stated decent, I meant in terms of first- and second-order statistics. Check the following paper: https://www.sciencedirect.com/scienc...45793019301872 3)Honestly, I did not go in deep. I just checked the local growth of nuSgs for WALE model against local dynamicSmagorinsky and I found it closer to y^3. BTW, the original WALE model developed by Nicoud et al. does not establish a relation between kSgs and nuSgs. It obtains the nuSgs by establishing an "operator" which is composed of symmetric and anti-symmetric parts of the resolved velocity gradient. A simpleFilter (box filter) was used in all my calculations with dynamic models (well, the dynamic procedure requires a filter). Regarding your statement about the behavior of nuSgs, I guess you were addressing the "dynamic" models as only they require a "test" filter in OpenFOAM. In case of WALE model, no such filter is required. The local averaging has been implemented already as mentioned in the previous posts, by Alberto Passalacqua and then upgraded for use in higher versions, see: Improved implementation of dynamic Smagorinsky However, the averaging does not eliminate the negative values of nuSgs. Another modification was done to clip the values of nuSgs such that (nuSgs + nu) >= 0. Regards, Syavash |
||
August 24, 2020, 15:04 |
Turbulent Thermal diffusivity in OpenFOAM 8
|
#14 |
New Member
Join Date: Jul 2019
Posts: 3
Rep Power: 7 |
Hi,
In OpenFoam7, I could get access to the turbulent thermal diffusion as: const compressible::turbulenceModel& turbulence(*turbulencePtr); const tmp<volScalarField>& alphat = turbulence.alphat(); NOTE: turbulencePtr is a pointer to a compressible::turbulenceModel object I have instantiated in my code. In OpenFOAM8, it seems that fluidThermophysicalTransportModel has been introduced and alphat is somehow constructed by the diffusivity class through the fluidThermophysicalTransportModel. I have not managed to access alphat in OpenFOAM8, though. Does anyone know how to get access to it in OpenFOAM8? |
|
August 24, 2020, 18:31 |
|
#15 |
Senior Member
Join Date: Apr 2020
Location: UK
Posts: 736
Rep Power: 14 |
I agree that the two front-runner RANS closure models for "industrial use" are indeed the k-omega SST and realizable k-E; standard k-epsilon generally has too many flaws (turbulence over-production for bluff body separation, round jet anomoly etc.).
The choice is probably heavily influenced by the nature of the flow being solved (is the boundary layer the purpose of the simulation, or is the real "action" elsewhere), and therefore industry it is being applied to. For atmospheric dispersion studies I always used realizable KE with commercial solvers, but I have found that this is not very stable in OpenFOAM's implementation. I.e. I almost always have to start with kEpsilon before moving to realizableKE ... but I never had to do that with commercial solvers. Does anyone have an idea why that might be? Is it just that it has cleaner numerics, and therefore less numerical (artificial) stabilising? |
|
August 26, 2020, 12:40 |
|
#16 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Comparison of turbulence models | madakaczka | STAR-CCM+ | 2 | September 26, 2017 08:27 |
Adding turbulence models to (reacting)TwoPhaseEulerFoam | lavdwall | OpenFOAM Running, Solving & CFD | 0 | February 3, 2017 04:04 |
y+ range for turbulence models | babri | FLUENT | 1 | August 30, 2016 18:39 |
in k-epsilon wall function approach high Re turbulence models: question of velocity | romant | OpenFOAM Programming & Development | 6 | May 26, 2016 10:14 |
Advice about turbulence models? | mqsim | OpenFOAM Running, Solving & CFD | 6 | April 27, 2016 08:50 |