lattice space vs. time step

Hi dear all:

If I want to simulate the 3D air duct flow, the domain size is 0.1m0.1m1.16m.

nu_p(air)=1.59*10[sup]-5[/sup] m[sup]2[/sup]/s

Re=u_p*l_p/nu_p, we skip the part first.

we want a grid consisting of 2020200 =>dx=0.1m/20=0.005m

if I set tau=0.74(to keep the program stable, set tau around 0.8) =>nu_LB=(tau-0.5)/3=0.08


dt=(nu_LB/nu_p)dx[sup]2[/sup]=0.08/(1.5910[sup]-5[/sup]m[sup]2[/sup]/s)*(0.005m)[sup]2[/sup]=0.125786 s

To keep the lattice velocity reasonable, that is, u_LB<0.1,

u_LB=0.1=u_p*dt/dx=u_p*(0.125786s)/(0.005m) =>u_p=3.97*10[sup]-3[/sup] m/s

which means the Reynolds number Re=u_pl_p/nu_p=(3.9710[sup]-3[/sup] m/s)(0.1m)/(1.5910[sup]-5[/sup] m[sup]2[/sup]/s)=25

My question is,

it is really difficult to tune all the parameters reasonably for the case Re>100, so with LBM we wouldn’t solve the problems Re>100, would we?

actually I’ve tried to tune the parameters, but I have no ideas how to do that for Re>100, maybe I forgot or miss something.

Please give me some advices and comments.

Thank you for your time.



You have to increase the grid size. With a small cross-section of 20x20, you cannot reasonably set up large Re simulations.

Dear Timm:

Thank you very much for the so quick reply.

Would increasing the grid size mean increasing the grids (e.g. 4040) or decreasing(e.g. 1010)?

Here I repeat the procedures :
we want a grid consisting of 4040400 =>dx=0.1m/40=0.0025m

if I set tau=0.74(to keep the program stable, set tau around 0.8) =>nu_LB=(tau-0.5)/3=0.08


dt=(nu_LB/nu_p)dx[sup]2[/sup]=0.08/(1.5910-5m[sup]2[/sup]/s)*(0.0025m)[sup]2[/sup]=0.03144654 s

To keep the lattice velocity reasonable, that is, u_LB<0.1,

u_LB=0.1=u_pdt/dx=u_p(0.03144654s)/(0.0025m) =>u_p=7.95*10[sup]-3[/sup] m/s

which means the Reynolds number Re=u_pl_p/nu_p=(7.9510[sup]-3[/sup] m/s)(0.1m)/(1.5910[sup]-5[/sup] m[sup]2[/sup]/s)=50 !!!

Is it correct?

If so, the grid is reset from 2020200=80000 to 4040400=640000, and the Reynold number just doubled?

Another question here, I want to ask if the u_LB is exactly the value set at the inlet in the program coding?

Thanks again for the help. I do appreciate that!

Best regards


By increasing the number of lattice nodes along one axis by a given factor (e.g. 2, from 20 to 40 in your case) you can increase Re by the same factor, if you keep the Mach number and the viscosity. For increasing Re by a factor of c, your lattice increases by a factor of c[sup]3[/sup] in 3D and - even worse - also the number of time steps increases by a factor of c[sup]2[/sup]. Thus, you have a total scaling of c[sup]5[/sup] in 3D and c[sup]4[/sup] in 2D.
However, you can also decrease tau. You have used 0.74. Try 0.6 or 0.55 or even less. You should minimize tau as much as possible, if you want to simulate very large Re flows, except you have the luxury to wait a long time until your simulation is completed. There is always a cost for LB simulation at large Re.

being completely inexperienced myself the following is only a suggestion having very little scientific basis…

since reynold’s no. is a dimensionless quantity, i don’t think that you need to convert the required quantities into SI units before computing it, lattice units should do just fine, since they will cancel out anyway. For example

grid :4040400

for tau=0.74, nu=.08

say uLB=0.1

now Re= u_LBl_LB/nu_LB=0.140/0.08=50

all other things remaining the same, it can easily be seen that Re is linearly propourtional to l_LB, hence your result


You are absolutely right, I am doing a similar thing in my code. All relevant numbers should be the same in physical units and in lattice units, esp. the Reynolds number. The Mach number can be different, since it does not play a significant role, as long as it is small.

Dear Timm and shubh:

Thank you very much, both of you!

It is much more clear now.

So good to have you here.



Dear Timm:

May I ask one more question?

I read the paper ‘Shear Stress in Lattice Boltzmann simulations’, equation (44)
s[sub]ab[/sub]=-3/(2tau*rho)*summation(c[sub]ia[/sub]c[sub]ib[/sub]-delta[sub]ab[/sub]/3c[sub]i[/sub] dot c[sub]i[/sub])f_neq

for D2Q9

s[sub]11[/sub]=summation(c[sub]i1[/sub]c[sub]i1[/sub]-delta[sub]11[/sub]/3c[sub]i[/sub] dot c[sub]i[/sub])f_neq



of course the term -3/(2tau*rho) should be multiplied first.

Are the processes above correct?

Yes, from the first look I would say, that is correct.

I see.

Thank you veru much, Timm!

I think this is a related question, hence not a new thread

how do you figure out the no. of time steps required for convergence (steady state profile) given a lattice?

are there any papers on the subject I could be referred to, is there a well known formula, or is it that the a convergence check has to be coded in?

btw, i am also confused about the relationship between lattice units and physical units, what is for example the length of a time step in seconds given a lattice, all required physical quantities?
what is the significance, value range of tau, what does changing the value mean???

I realise that my questions are far from precise, but still would greatly appreciate help



Regarding the number of time steps:
You do not exactly know at the beginning, but there are rules of thumb. The momentum diffusion time is t[sub]m[/sub] = d[sup]2[/sup] / (8 nu). d is the diameter of your simulation box (all values in lattice units). This is a typical time for the momentum to diffuse (due to viscosity). The simulation time usually scales (more or less) linearly with the momentum diffusion time. You should first compute it and multiply it by a factor of 4 or 5. This is a very first estimate of the number of time steps you need, given a steady final state. However, I would always use a convergence check for steady flow simulations.

The conversion of physical and lattice units has been discussed many times here. You should take some time and read the threads in detail. It always helps to write down the significant physical equations.

If you want to understand the role of tau better, you should start with some papers about the theory of lattice Boltzmann. Maybe you can take the book by Sukop & Thorne.