D2Q9 TRT Lid driven cavity flow
OpenLB – Open Source Lattice Boltzmann Code › Forums › on Lattice Boltzmann Methods › General Topics › D2Q9 TRT Lid driven cavity flow
- This topic has 2 replies, 2 voices, and was last updated 4 years, 2 months ago by Alex.
March 14, 2019 at 2:21 pm #4144AlexParticipant
I finished the solution of D2Q9 BGK Lid driven cavity flow and now start the TRT collision operator approximation. I used several papers and book of Mohamad about LBM. If i understand correctly, I need to modify only collision step. I split distribution function into symmetric and asymmetric parts. tau_symmetric is calculated as ( 3*nu_lb + 0.5 ), tau_asymmetric = 0.5*tau_s/(tau_s-0.5) [magic paramter = 0.25]. With this parameters the code is unstable. Notably, when tau_asymmetric = tau_symmetric i have BGK solution, as it should be. So i think the problem is in calculation of tau_asymmetric. The relevant part of the code is as follows:
opposite=[1 4 5 2 3 8 9 6 7]; t1 = u.*u + v.*v; for k = 1:9 t2 = cx(k)*u + cy(k)*v; feq(:,:,k) = w(k)*rho.*(1 + 3*t2 + 4.5*t2.^2 - 1.5*t1); f_s(:,:,k)=0.5*(f(:,:,k)+f(:,:,opposite(k))); f_a(:,:,k)=0.5*(f(:,:,k)-f(:,:,opposite(k))); feq_s(:,:,k)=0.5*(feq(:,:,k)+feq(:,:,opposite(k))); feq_a(:,:,k)=0.5*(feq(:,:,k)-feq(:,:,opposite(k))); f(:,:,k)=f(:,:,k)-omega_s*(f_s(:,:,k)-feq_s(:,:,k))-omega_a*(f_a(:,:,k)-feq_a(:,:,k));
Can someone suggest any guides or help me with this problem?
Thanks a lot!March 16, 2019 at 1:51 pm #4167stephanModerator
Your implementation seems to be correct. Also the fact that setting \tau_s = \tau_a yields the BGK solution is a good sign.
The specific values for the magic parameter \Lambda = (\tau_s – 0.5)*(\tau_a – 0.5) mentioned in the literature are a typical result for certain flow types and Reynolds number regimes.
If your code is supposed to run at high Reynolds numbers, I suggest you try different (smaller or much smaller) values for \Lambda, since it is connected to the Reynolds number via \tau_s. For high Reynolds numbers, the magnitude of \tau_a is way too large with a fixed \Lambda=0.25. Maybe try a few decimal digits below that, e.g. \Lambda=0.0025 and work your way up.
With the calibration of \tau_a through a smaller \Lambda, you should obtain stable results. In case this does not work, fix \tau_a=1 and try again.
If you encounter any special results (highly increased stability, or none at all), please let me know.
Anyway, good luck with your tests.
PS: A similar question was posted and answered about two month ago:
https://www.openlb.net/forum/topic/smagorinsky-turbulence-model-and-trt-collision-operator/March 20, 2019 at 5:19 am #4170AlexParticipant
Thank you! I will try it
- You must be logged in to reply to this topic.