On relationships of Re, reference velocity and viscosity in LB units

I am new for OpenLB, but find it very helpful.

I got a question, when I simulate a flow with a very low Re number, the simulation sometimes turns unstable. On the other hand if I decrease the LB reference velocity correpondingly, the solution becomes stable again. To my understanding, nu_lb=u_lb_ref/(Re*deltax_lb), therefore if I decrease both Re and delta_t_lb proportionally, it means nu_lb is the same, which leads to the same LB flow field, though the physical velocity has different interpretation since I am using a different delta_t_lb.

My question is that could I decrease delta_t_lb while keep delta_x_lb and the Reynolds number constant ? In other words, could I decrease U_ref_lb while keep Re and delta_x_lb constant?

I have read Dr. Latt’s “LB units” article but still couldn’t solve this conceptual problem. I feel somewhere my understanding is wrong but don’t know where. Any body has similar experience when simulate low Re flow? Thanks!


Hi Kevin,

there is a very useful relation between the Reynolds number, the Mach number, the lattice spacing and the relaxation parameter:
Ma / Re = (\tau - 1 / 2) * \delta_x / \sqrt{3}
This equations is equivalent to
\nu = (\tau - 1 / 2) / 3
Furthermore you have a relation between the sound speed and the time step.
Using those equations you can derive which quantities you can keep constant, while you change other variables.
Regarding your question: If you want to keep Re and \delta_x fixed, but change the velocity (which is proportional to the Mach number), you have to change the relaxation parameter \tau.
Just write down the upper equations and play around with them.

Good luck,

Thank you very much, Timm.

From equations Ma / Re = (\tau - 1 / 2) * \delta_x / \sqrt{3} and nu = (\tau - 1 / 2) / 3, I can see that \delta_x and \tau are fixed then we can change Ma and Re proportionally without affect the “LB” results.

My question is that can we change Ma at all? Is U_ref_lb = 0.02 a firm choice? The LB model is a quasi-compressible fluid solver, it seems to me that there shouldn’t be a problem to decrease Ma, which make the fluid less compressible, though we have to use a smaller \delta_t.


The Mach number is not fixed in LB simulations. But you have to be careful. The lattice Boltzmann method is only valid for small values of the Mach numbers because of two reasons.
1st: the truncated form of the equilibrium (usually cut off after second order in u)
2nd: the convergence of the solution to the LB equation to the solution to the Navier-Stokes equation in the incompressible limit
The smaller the Mach number, the better the results, but the longer the simulations. So you have to find a compromise for Ma. You can just test your code and see what happens for Ma between 0.005 and 0.2 to get a feeling. You should not exceed 0.2 or 0.3, but simulations with values much smaller than 0.01 take a lot of time, esp. for large Re.

As a remark: Ma and the reference velocity are connected via
Ma = u_ref * \sqrt{3}

Very helpful!
Thank you again, Timm!