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

and

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!