nu and tau

Since nu=(tau-1/2)*dx[sup]2[/sup]/dt/3 at tau=1/2 we receive that nu=0. How to explain this fact from the physical point of view? Thanks.

Hi Kaff,

what exactly do you want to know?
nu = 0 means Reynolds number = infinity or that the fluid is ideal. As you know, there are no absolutely ideal fluids. So in reality you always find a finite value of nu for any fluid, meaning tau should always be larger than 0.5.
If I understand you correctly, you want to know why tau does not vanish when nu does. The reason is that by discretizing space into a lattice you create finite size artifacts. This results in an effective viscosity due to the discretization, it is also called numerical viscosity. This is a usual finding whenever you deal with lattices, not only in LBM. There are also some articles in the literature, but I don’t know any by heart. Maybe someone else can tell you more.


I want to know why nu vanish exactly at tau=1/2 ?
As I have understood the reason of it is completely mathematical (discretization). Where to read about this moment?
And the physical reasons for this of course does not exist?

Yes, there is no physical reason, it’s purely mathematical.
Have a look at Ladd’s paper “Numerical Simulations of Particulate Suspensions… Part I” (1993) at p. 12 and the following. If this is not sufficient, you have to look for more suitable literature.

Timm, thanks for a useful reference.

There exist (at least) two approaches by which lattice Boltzmann schemes can be constructed in a theoretically consistent way, and in both cases, there is a natural explanation for this additional 1/2 term appearing in the viscosity.

The first approach is an a posteriori construction. Basically, you write a “generic” lattice Boltzmann scheme with many free variables, apply a Chapman-Enskog expansion to this numeric scheme and then attribute values to the free variables by comparing the asymptotic equation from the expansion with the Navier-Stokes or whatever other macroscopic equations you want to have. In this case, the relaxation time tau is observed to be proportional to the viscosity in the terms which ensure first-order accuracy of the scheme, but an additional 1/2 correction appears in the second-order terms. As Timm points out, the correction to the viscosity is therefore interpreted as a discrete lattice effect appearing to ensure second-order accuracy. A good reference on the a posteriori construction of lattice Boltzmann is for example the book by Chopard and Droz .

The second approach, maybe more illuminating for the case in point of this discussion, uses an a priori construction. A continuum Boltzmann equation is written down and then discretized. In this case, tau is proportional to the viscosity, both in the continuum and discrete equation. The problem is, the time-stepping scheme is implicit because the streaming operator (and thus, the time derivative) is resolved with second-order accuracy. By an appropriate change of variables, this implicit scheme can be cast into an explicit one, the commonly known lattice Boltzmann scheme. During this change of variables, the particle populations f_i are replaced by slightly different variables, which are again called f_i by analogy, but are not directly equivalent to a discrete version of the particle distribution function in the continuum Boltzmann equation. It is also during this change of variables that the 1/2 term in the viscosity appears. I think that the importance of this change of variables in the a priori lattice Boltzmann construction was first pointed out in [[He e.a., 1998[/url]]. I also like the explanations given in [url=]Dellar, 2003]. The change of variables is introduced in Section 4 for multiple-relaxation-time schemes, but it’s really the same as for BGK.

thank you for reply. I’ve got already this three papers. Only instead of Chopard, Droz I have found a similar book: Chopard, Luthi, Masselot “Cellular automata and lattice Boltzmann techniques: An approach to model and simulate complex systems review” (1998).


I have a question about the relation of Nou and Tau, which I suspect it a bit,

Consider a LBM problem with dt=dx=1 and c=1. If I put Tau=0.53, then due to the relation nu=(tau-1/2)*dx2/dt/3 I have Nou=0.01 ,

the question is that whether Nou=0.01 is the reall viscosity of the fluid or is in LBM units and differs from the real viscosity of the fluid which is going to be simulated? I ask it because when we put Tau=20 such as the work of Inamuro, Nou becomes larger than expected for fluids.

Thanks for your help

Hello Casy,

since nu = 0.01 is just a number without dimension it cannot be the physical value of the viscosity. You have to multiply it by dx^2 / dt in order to get the physical result, but: for dx and dt you have to put the physical values, e. g. dx = 1e-5 m and dt = 1e-7 s.
Maybe you should read the related thread here.
By the way, I think that it is crazy to put tau = 20. It should not be much larger than 1. But this is only my opinion.


in fact having tau=20 does not mean anything by itself. As long as the Knudsen number (the mean free path over the characteristic length of your simulation) is small enough everything should be fine. In fact the Knudsen number is the small parameter that enters the Chapman-Enskog expansion, and therefore as long as it is small enough the correct hydrodynamics are recovered.

Hi Orestis,

this is not entirly correct, because the LB scheme itself is sensitive to the value of tau. In the interesting paper which I have already mentioned in this thread it is stated that values of tau larger than 1 result in a large error. The reason is that some error terms cancel each other for tau smaller 1, but they dot not for tau larger 1. I think it is worth to have a quick look at this paper.


I don’t think that this conclusion holds for all grid sizes since this factor that depends on the relaxation time also depends on the resolution. Therefore the “optimal” value of the relaxation time is closely related the resolution. Of course when fixing some resolution and starting to increase the relaxation time, you will certainly reach a regime where your accuracy decreases. But in any case having tau=20 can be ok if your resolution is compatible.

Hi and thanks for your guids,

Lets refer to the relation below,


Consider that I use the cylinder.m with the domain of 250*51 grids and delta(t)=delta(x)=1.
I also want to compare my results with FEA.

my question is that when I set Tau=20 in this code which regarding to the equation above corresponds to nu=39/6, what value of nou should be used in FEA? should I change dx and dt to obtain the correct physical Nou? or Is nu(Phys)=39/6 correct in this case?

Since in FEA I also use rho=1 and nou=39/6 in this case and set the reynolds number equal in both methods, is this comparison right?


Are you sure that delta_x=delta_t=1? I mean is your physical domain of 250x51meters?

I would guess it’s not the case.

You should have a look at this page which may clarify some things…

Hi Orestis,

No my Lattice domain is 250*51.
and I mean that dx=dt in my LBM
In FEA, I model this domain with a scale of 1/100 and also rho=1,

So whats now?

Or let me change my question,

If I set Tau=20 in Cylinder.m, what will be the physical value of Nou?


First of all, using a 250x51 lattice with tau=20 does not sound very good to me. As Timm pointed out you should better use a value closer to 1 (but not too close to 1/2 neither).

Then when you want to translate your units from LB world to the real world you have three degrees of freedom. This means that you can chose 3 parameters to adjust your units. First you have to chose the spatial resolution (dx). In your case you say that dx = 1/100. Then you have to fix either the value of the characteristic velocity of your lattice (which must be smaller than 0.02 in order for your simulation to be in the small mach number regime) and this will fix your timestep (remember that u_lb=u_phys*dt/dx). Finally you can choose to fix the viscosity, the relaxation time or the reynolds number. Since you have dx and dt it is completely equal if you fix the viscosity in lattie or in physical units since you can “travel” from one to the other easily.

What is very important when you comparing your simulations is to have the same reynolds number. You can have the same viscosity in both fluids but if your reynolds number is different then you will not be able to compare a thing because the physics involved will be different.

Let us do an example.

Let’s consider the poiseuille flow.

We define the reynolds number as


with N being the width of the channel and u the maximum velocity. In LB units let’s say that we have N=10, and u=0.01, and that in physical units N=1, u=1. this will mean that dx=0.1 and dt=0.001. Then we impose Re=1. This will mean that nu_lb=0.1 and nu_p=1. Finally you just need to get tau which is given by nu=(tau-0.5)/3 => tau = 0.8.

Is it clear?