dt calculation questions [from jonas latt how to]

Hi there

I´m totally new to Lattice Boltzmann, and as many people (I have read multiple posts) I ´m very confused about units

My first questions is based on Mr. Latt units document.

On section 2.4.3 he picks dt = 2x10^(-4) he mentions that it comes from dx^2

but in this same phorum I read that dt could be calculated this way:

dt = (dx^2 * Nu_lb) / (Nu_p)

making the calculations for Latt´s examples I get: (using tau = 1)

dt = (0.01^2 * 1.6666) / ( 5) = 3.33x10^(-6)

so this confuses me a lot because 2x10^(-4) is very different from 3.33x10^(-6)

I tried different values for tau, but I never get close to 2x10^(-4)

thanks in advance

Hi jmazo,

I think jlatt chooses dt = 2x10^(-4) and thus dt ~ dx^2 to keep the model numerically stable. With this, you can compute the viscosity in lattice units Nu_lb by the equation you mentioned…

dt = (dx^2 * Nu_lb) / Nu_p <=> Nu_lb = dt/dx^2 * Nu_p

and thus compute tau by

tau = Nu_lb / c_s^2 + 0,5

If you compute tau this way, I think you will see that tau doesn’t equal one (like you set it in your case).

I know it’s quite confusing when you start… and so far it still confuses me at times, since I’m, too, relatively new to the LBM. What you choose, and how you choose it depends very much on the values given and what you want to do with them. In this scenario, when all the physical values are given, I think there are only two free variables that you can set. You can do this by either setting a value for dx and dt (like jlatt does it) or dx and tau (like you did it). Generally I think it is more common to set tau (and with this to set the viscostiy in lattice units) to a value to get a stable computation and then compute dt from the relation

dt = (dx^2 * Nu_lb) / Nu_p

Now let’s compute tau the way I suggested it above… we have:

Nu_p = 5 cm^2 / min
u_p = 2 cm / min
l_p = 3 cm
t_p = l_p / u_p = 1,5 min

if we choose 100 grid points per dimension dx in physical units would be
dx_p = 3/100 cm = 0.03 cm

do the same for the physical time step. if we choose dt = 0,0002 we would have 5000 steps per reference time, yielding
dt_p = 2*10^(-4) * t_p = t_p / 5000 = 1,5 min / 5000 = 0.0003 min

now, the viscosity in lb units can be computed as

Nu_lb = dt_p * Nu_p / dx_p^2 = 0.0003 min * 5 cm^2/min / (0.03 cm)^2 = 1,67


tau = Nu_lb / c_s^2 + 0,5 = 1,67 * 3 + 1/2 = 5,5

I’m kind of confused here because tau is that big, but I don’t see an error… Thus if this isn’t true I’d like a more experienced reader to correct me… thanks!

hi there tbochtl

you point something very important, What is the meaning of such a big tau?