Dear friends;

I know that speed of sound (cs) in lattice units is constant: cs(L) ^2=1/3.
I can rewrite this equation in physical units: cs§^2=1/3*delta x^2/delta t^2.
So when I want to simulate a fluid flow problem by LBM, I specify the required delta x (based on volume of the domain) and also the speed of sound in that fluid (for example 1500 m/s for water in normal temperature). Then considering the above equation which provide a relationship between delta x and delta t, I can calculate the required delta t. Finally, the relaxation parameter should be obtained based on delta x, delta t and viscosity of the fluid (of course it should be in the range of 0.5 to 2.5.

Is the mentioned approach correct?

Well, in a way. But if you are using LB on very small length scales (e.g. scales which you typically find in porous media), you will usually operate with a Mach-number which is much larger than the real Mach number, while the viscosity is scaled up to preserve the same Reynold’s number. If you don’t do that, you will find the relaxation parameter very close to 0.5, and the time step and velocity to be unacceptably tiny.

Succi’s textbook “The Lattice Boltzmann Equation for Fluid Dynamics and Beyond”, in particular section 8.3 has a good coverage of this issue, and I think it’s worth a read.


Thank you sigvat. it is very helpful for me.