Body force (F) units system conversion

Hi everyone,

Although I have read very good explanations about unit conversion from Physical system to LB system, specially the paper by Jonas Latt posted in this forum, I have still some doubts about converting the body force Fx.
I just want to summarize the information from the simulation I am trying to carry out:
Channel flow with some cavities driven by a constant body force included in the equilibrium.
The physical values (subscript p):

Re= 100
Pr= 0.72 (air at 0°C)
nu_p= 1.3324 x10-5 [m^2/s]
h_p= 0.005 [m] ------> height of the cavity
Dh_p= 6*h_p [m] ------> hydraulic diameter
l_p= 0.22 [m] ------> length of the channel

From the Reynolds number, which is approximated as Re= (u_p * Dh_p)/nu_p , one gets the velocity u_p= 0.0444 [m/s].
With these parameters I can already do the conversion as follows:

I want to have a resolution of -----> h_p (0.005 m) / # of cells (20)= 0.00025 [m], which is actually dx= 0.00025 [m].

Now I calculate the LB viscosity (nu_LB) from the following equation, imposing a fixed relaxation time 1/tau= 1.98:

nu_LB= (tau - 0.5)/3 = 0.001683

with dx, nu_LB and nu_p, it is possible to calculate the time (dt) using the equation:

dt= (nu_LB/nu_p)dx^2= (0.001683/1.3324 x10-5)(0.00025)^2 ----> dt= 7.89694x10-6 [s]. This means that I require around Niter= 1/dt= 126631 iterations for simulating 1 s. (I hope this last is correct).

Now one can calculate the lattice velocity u_LB using:

u_LB= u_p * (dt/dx)= 0.0444 * (7.89694x10-6 / 0.00025) ------> u_LB= 0.0014

Now the question is how to know the body force required in this problem in order to get a Re=100 under the conditions explained above.
Does anybody know how to relate the body force or pressure drop with the Reynolds number? It think if this possibility exists, then I can know both the physical and LB body forces by means of dx, dt, nu_LB, etc.

I followed a paper (Guo et al. 2002, Physical Review E 65 046308) where the pressure gradient was expressed as

dp/dx= -rho*G_p = Fx_p [kg/m^2 s^2],

where rho is density and G_p is the acceleration due to the body force density Fx_p. The equation for the maximum velocity in a Poiseuille flow is given as

uo= (G_pL_p^2) / 2nu_p —> with L_p being half width of the channel

If we consider u_p as uo we could relate the Re to G_p as follows:

Re= (uoDh_p)/nu_p= (G_p Dh_p^3)/(2*nu_p^2) or in terms of the body force:

Re= (Fx_pDh_p^3)/(2rho*nu_p^2) !!!

Is this last possible?, I am a bit skeptical

I will be very very grateful for your help.

Thank you!!!

Hello anuhar

I had a similar problem!
To define the body force magnitude, and in order to have a given Reynolds number, I had to do some assumptions.
I assumed a fully developed flow so that the velocity profile is given by the Hagen-Poiseuille profile, i.e.


This is for a 2D geometry where y is the spanwise direction and LY the channel width along this same direction.

In the centerline we have:


Taking into account the Re definition and :


The relation between mean and maximum velocity for a Hagen-Poiseuille flow:
one obtains the relation between the pressure gradient and the desired Re:

Since, as you correctly wrote, dp/dx=rhoG it is straightforward:

This is how I did it.
For 3D and in case of circular geometry the procedure is similar. If the Hagen-Poiseuille flow cannot be taken into consideration the magnitude of the body force given by this procedure is only approximate.

Hope it helps!



Hi Goncalo,

Thank you very much for your explanation, it helped me a lot. The relation between Umean and Umax was missing in my calculations, that’s why I couldn’t reach the final expression.

Best regards


Hi everyone again,

regarding this topic, I just want to be sure that the conversion of the physical body force to the LB body force is correct.
I found the following conversion:

p_LB= p_p*(dx_p^2 / dt_p^2)

where p is the pressure (or perhaps the pressure difference) with LB and p being the subscripts for the lattice and physical units, respectively.
what about the body force? is it also possible to use the same conversion?

Finally, using the explanation by Goncalo, the Reynolds number and body force are related as follows:

Re=( h_p^3 * G_p ) / ( 12 * nu_p^2 )

now, if I want to calculate the body force in LB units to get Re=100, is it possible to make use of the same relation, so to say:

Re=( h_LB^3 * G_LB ) / ( 12 * nu_LB^2 ) --------------> solving for G_LB:

G_LB= (12Renu_LB ) / (h_LB^3)

from the last equation, I think h_LB must be one!!!

Please, do you know whether these calculations are correct?

Thanks for the help


Hello Anuhar

Just one remark! h_LB is not one! .
If I say, as it is usual, that my lattice spacing Delta_x is one, i.e. the distance from adjacent nodes is one. And say that my channel width is discretized by N nodes. Then the channel width is h_LB=(N-1)*Delta_x. Hence, in lattice units the width h_LB changes with the mesh resolution.



Hi Goncalo,

Yes, yes yes, you are right!!! I see now my mistake:
dx_LB= 1 but (for the problem I wrote above) dx_p= 0.00025 [m], since h_p (0.005 m) / # of cells N-1(20).
Therefore I have:

h_LB= (N-1)dx_LB= 201= 20

Thanks again Goncalo



May I ask why the relaxation time is set 1/tau= 1.98 ?

Thank you.