OpenLB – Open Source Lattice Boltzmann Code › Forums › on Lattice Boltzmann Methods › General Topics › Smagorinsky Turbulence Model and TRT collision operator
This topic contains 7 replies, has 2 voices, and was last updated by Marc 2 months, 1 week ago.

AuthorPosts

January 26, 2019 at 7:47 pm #2017
Hey everybody!
In order to boost the stability of my LBM algorithms I tried to incorporate Smagorinsky turbulence models into both my BGK and TRT collision operators that increase the viscosity locally. While the BGK Smagorinsky algorithm seems to work fine across a broad range of Reynolds numbers, my results with the TRT collision operator and the turbulence model are significantly different for very high Reynolds numbers.
As I could not find a detailed derivation of TRT in population space I tried to include it similarly to the BGK model. My reasoning is as follows (C is the Smagorinsky constant whereas c_s is the lattice speed of sound):
– As the symmetric relaxation time tau_p in TRT is linked to the viscosity nu = nu_0 + (C Delta)^2 = (tau_p – 0.5)*c_s^2 = (tau – 0.5)*c_s^2 = (tau_p0 – 0.5)*c_s^2 + tau_T*c_s^2 the relaxation can be split up into an additional turbulent contribution.
– The strain rate tensor S may be calculated from the approximating the first order contribution of the momentum flux by the nonequilibrium momentum flux (In BGK this can be seen from the ChapmanEnskog expansion but I have also seen papers that use this approach for MRT models. As TRT could be seen as a special form of MRT I suppose this should still hold for TRT as well).
– Thus the overall strain rate tensor is given by S = 1/(2 rho c_s^2 tau) sqrt( 2 Pi_ij^(1) Pi_ij^(1) ) with Pi_ij^(1) approx Pi_ij^(neq) = sum_alpha e_{alpha i} e_{alpha j} ( f_alpha^(eq) – f_alpha ).
– The turbulent relaxation time can be calculated from these two equations to tau_T = 1/2 { sqrt[tau_p0^2 + 2 sqrt(2) (C Delta)^2/(rho c_s^4) sqrt( Pi_ij^(neq) Pi_ij^(neq) ) ] – tau_p0 }, so just like with the BGK operator.
– Now i simply add the turbulent relaxation time to the positive relaxation time of TRT tau_p = tau_p0 + tau_T while calculating the negative relaxation parameter from the magic parameter lambda and the positive relaxation time tau_p0 without the turbulent part rearranging the equation lambda = (tau_p0 – 0.5) (tau_m – 0.5).I could not find a paper that features a detailed derivation (CE expansion) of TRT in population space (all I know are in momentum space which I have no experience yet) or a paper combining these two models. Does somebody know a paper featuring the two or has anyone an idea where my mistake is?
Thanks a lot!January 29, 2019 at 10:15 am #2997Hey tobit,
this is a good question! I think you are familar with the TRT papers and you know the common TRT magic parameters (lambda=0,25 or lambda=0,375). These values are proposed as universal values. They are calibrated for poiseuille flow or laminar shear flows. In the case of turbulence you have to go magnitudes lower to reach the same stability as BGK and lamda gets a function of your Reynolds number. What you have to do is a lambda recalibration for your cannonical flow type. Your derivation for Smagorinsky TRT seems to be correct, but don’t expect an advantage in comparison for Smagorinsky BGK. If you get other results or see an increased stability, please let me know. I am interested in this topic.
Best Marc
January 31, 2019 at 7:47 pm #2998Thanks Marc for your detailed reply!
I am familiar with the TRT papers and the derivation of the optimal parameters but I did not consider this. Your argument makes perfectly sense: Setting the antisymmetric relaxation parameter using the magic parameter lambda (with 1/4 as I did) and a very high Reynolds number and thus a very low positive relaxation time (tau+ very close to 0.5) will result in a very high value for tau (a very small omega) and therefore the influence of the antisymmetric part will be (almost) neglectable. Fixing tau+ and tau to similar values makes TRT though lose its advantages over BGK as you have pointed out.
I think turbulence modelling in LBM in general is quite appealing indeed due to its simplicity and computational efficiency. Some time ago i benchmarked it and I think my performance dropped by around 1/3 (compared to the simple BGK operator) to 75 Mlups with a D3Q19 lattice on an octacore processor.
I will let you know if I stumble across something. In the meanwhile thanks again for your kind reply!
TobitApril 8, 2019 at 3:24 pm #4191Hey Marc,
another question. As it seems you have more experience with LES simulation with LBM: Which in and outlet boundary conditions would you recommend for turbulent flow (in particular on a D3Q19 lattice with BGK and MRT Smagorinsky collision operators)? This reply was modified 2 months, 2 weeks ago by tobit.
April 9, 2019 at 7:19 pm #4211Hey Tobit,
I can recommend you either the interpolated Boundaries or the offLattice Bounadries (aka Bouzidi) for turbulent flows. Every local boundary formulation will get instable. For the outlet (pressure) boundary, we don’t have a working offLattice Boundary. (I never get anti bounce back stable for higher Reynolds numbers). So I would recommend you to use the Interpolation boundary for the outlet and the offLattice boundary for the inlet.
Best Marc
April 15, 2019 at 4:38 pm #4234Hey Marc!
Sorry for the late reply and thanks for your advice!
So far I have used the simple Zou/He boundaries with my D2Q9lattice and Hecht/Harting with the D3Q19lattice for pressure and velocity boundaries as well as antibounceback for pressure and Ladd’s boundary condition for velocity inlets. When coupling them with turbulence models all of them but Ladd’s boundary condition yield nodes of unphysically high velocity near the boundary and become instable when underresolved which makes them very little attractive. Thus so far I have a stable velocity inlet but no stable pressure outlet.
Bouzidi for the case of q=1/2 seems just to be a special case of Ladd’s method where the density of the model is assumed 1, isn’t it? Haserta et al. (ICCS 2011) mention that they use a Bouzidi pressure outlet as well but all I could find is a velocity inlet.
And by interpolated boundaries you intend extrapolated boundaries like Guo’s nonequilibrium extrapolation method?
Thanks a lot
tobitApril 16, 2019 at 11:38 am #4235Now I have the combination of Ladd’s method as an inlet and Guo’s nonequilibrium extrapolation method as an outlet and it works like a charm. Finally I can push my model to unrealistically high Reynolds numbers without a loss of stability.
Thank you very much and have a nice week!
tobitApril 17, 2019 at 2:30 pm #4244Hey tobit,
it is nice to hear that you achieve stable boundaries for high Reynolds numbers. The term interpolated I mentioned before was related to the boundary naming that we have in OpenLB. Our implementation of the interpolated boundary is described in Latt et al. “Straight velocity boundaries in the lattice Boltzmann method” (BC4). Guo’s neq Extrapolation is also a good choice!
Best Marc

AuthorPosts
You must be logged in to reply to this topic.