Then maybe I will make a very quick point about units and scaling. The important thing is the relevant nondimensional numbers must be the same in any scaling. Otherwise you’re computing different flows. Let’s stick with a simple singe phase flow of a Newtonian fluid. The most relevant number is the Reynolds number, Re=U*L/nu, where U is the characteristic velocity, L the lengthscale and nu the kinematic viscosity.

In numerical analysis and scientific computing we usually discretise the non-dimensional system. As said previously, we might divide L (which is one in the nondimensional system) into N-1 points, so that dx=L/(N-1).Thus, in the computational scaling, the length is L/dx=1/dx=N-1, and the distance between the grid points is 1. In other words, dx=1 in the computational scaling, ie in lattice units.

LB methods also have a Mach number. The value of the Ma number (Ma=U/c_s, where c_s is the sound speed) is determined by the “lattice speed” c=dx/dt, as you mentioned above (c is sometimes called the particle speed). We know that Ma has to be small (Ma<<1), as this is an assumption made in the derivation of the LB method and means we are aways close to incompressibility. So, imposing a value on Ma sets a value for c. Now we know dt, because dt=dx/c and we have already set dx. Again, dt is small, but equal to 1 in the computational scaling. Basically, if we have a non-dimesnional system with U=L=1 and scale it with c and dx (for the computer) then in this scaled system, the distance between grid points is one, the time to complete one LB stream-collide loop is one, and the velocity is small.

Now that we know dx and dt, we can scale the viscosity for our simulation. If you are doing some benchmark tests, such as Poiseuille flow or cavity flow, you may not care too much about the 'physcical parameters and just know the Re number (which is perfectly fine because flows with the same Re number in the same geometry are equivalent). In this case we simply say that the ‘lattice viscosity’ is

nu=U*L/Re=(U/c)*(L/dx)/Re,

and if L=1, as may well be the case in the non-dimensional system, then

nu=(N-1)*uscale/Re,

where uscale <<1 is the scaled velocity, uscale=U/c (which may well be equal to 1 in the nondimensional system.). If you are testing convergence then you generally keep Ma and Re fixed, so that increasing the number of grid points (ie making dx smaller) changes dt is a way that keeps the ratio dx/dt=c constant.