Chapman Enskog expansion - trouble with epsilons!

Hi. I’ve been using LBM for a while, and I finally got around to trying a Chapman-Enskog expansion. I’ve been following Chen and Doolen’s paper, but I can’t make the epsilons match up. At first I wondered whether it was a typo, but this procedure is repeated in many other places. Here are the details:

  1. Taylor expanding the LB equation, we obtain an expression with first and second order space and time derivative on the LHS and a BGK term with a 1/e on the right.

  2. We then let d_t = e d_t1 + e^2 d_t2 and d_x = e d_x1

  3. We then let f = f_eq + e f_1 + e^2 f_2 + O(e^3)

  4. The LHS becomes (f - f_eq) / e = f_1 + e f_2 + O(e^2)

  5. Now here’s the problem. Because of the epsilons on the time and space derivatives, the lowest-order term that exists on the LHS is O(e), while the lowest-order term that exists on the RHS is O(1). Yet, these two terms are equated and declared to both be O(1) in Chen and Doolen and in many other places!

  6. I must be missing something, but what? I do note that you get the claimed result if you let d_t = d_t1 + e d_t2 and don’t rescale the space derivative. This makes more sense to me anyway (some of the e’s in d_t and d_x seem redundant). Yet, everyone does it Chen and Doolen’s way, and I’m confused.

  7. Thank you all. I’d appreciate any help anyone can give me.

Dear 11bolts,

While both terms f and f_eq are of order O(1), their difference (f-f_eq) is of order O(epsilon).


Thanks Jonas. Yes - that’s true, but there are there’s some trickery that I think I’m not seeing. Going by equation number in Chen and Doolen, I follow everything up to Equation 13, in which there’s a 1/e on the RHS which cancels the leading order e in f-f^(eq), and my problem exists.

Then in Equation 14, he writes down the LBGK equation again, and seems to lose some factors of epsilon (that I don’t know where they go is probably my problem). If you start again from Eq. 14 with your Taylor and multiscale expansions, then suddenly the orders start to match - the leading order on the LHS is O(e), and on the RHS we have (f - f^(eq)) / tau = e f^(neq)/tau + O(e^2).

Now we get the correct order-by-order equations. We still have the strange problem that they (and everyone else) call the O(e) equations O(1), the O(e^2) equations O(e), etc.

I am not sure at which places in Chen&Doolen you feel that the order of the equations is wrong. Eq. 14

f_i(x+e_i,t+1)-f_i(x,t) = -1/tau(f_i-f_i^eq)

expresses a relationship between two quantities that are of order O(epsilon), namely f_i(x+e_i,t+1)-f_i(x,t) on one side, and -1/tau(f_i-f_i^eq) on the other side. The equation is divided by epsilon, which is why epsilon does not appear explicitly. You could rephrase this relationship as

Omega_i/epsilon = -1/tau f_i^neq/epsilon

More generally, terms like f_i and f_i^eq or of order O(1), whereas terms like (f_i-f_i^eq)=epsilon f_i^neq are of order O(epsilon). Note that here I use the Chen&Doolen notation in which f_i^neq is a term of order O(1), whereas other texts use the definition f_i^neq = f_i-f_i^eq.

Hope this helps,

Hi Jonas. I think I’ve found the source of my problem - maybe you can point out the flaw in my reasoning. I understand and agree with what you say in your previous post, and if I start from Eq. 14, I get exactly the same as Chen and Doolen.

If however I start from Eq. 5, do the multiscale expansion on the LHS, and substitute in Eq. 13 for the collision term, then I do not get the correct answer. Assuming I haven’t made a stupid mistake in the substitution, then there must be some reason that I cannot proceed in the manner I’ve described, and must infact start from Eq. 14. Do you have any insight here?

As for my last point (and this really is a separate question), I would have thought that its generally true in any perturbative theory that if, at the point after substituting your small parameter expansion and before equating terms of like order, your whole equation has a common small parameter, then you’ve used your small parameter an unnecessary number of times somewhere. Am I mistaken?


I’m not sure if I completely understand your point and, as Jonas says, both the LHS and the RHS are matchable to a given order. Perhaps your confusion is related to what the expansion/scaling parameters are? In particular, note that the LBE as given in equation 14 is in lattice units, so that delta_t=delta_x=1, whereas equation 2 is not. If one was to start from the LBE in lattice units then, to be consistent, you would expand dt=epsilondt_1+epsilondt_2+…etc, where epsilon is assumed to be of the same order as delta_t. If, on the other-hand, you were to write down the LBE in more traditional (and, in my opinion, much better) numerical form (please excuse the bad terminology - I simply mean a computational scaling, showing that delta_x and t are adjustable mesh parameter) then you would just write dt=dt_1+epsilon*dt_2+… etc. Indeed, this is how the Chapman-Enskog expansion is applied to the Boltzmann equation in kinetic theory (where epsilon is a formal expansion parameter - note that in classical kinetic theory dx is not expanded when we search for Navier Stokes). In effect, a delta t (or epsilon, if you prefer) has been “scaled out” of the LBE in the units used for equation 14.

Is that any help to you? If this was your point then I certainly agree - this is an often over-looked and/or mis-quoted subtlety. It is not particularly clear in Chen and Doolen, which seems to be the most cited LB paper. As we are on the subject of misleading things in said paper; if you are working your way through Chen and Doolen then note that equation 24 is not the Navier Stokes momentum equation. In Navier-Stokes, density should NOT be inside the gradients on the RHS. The Chapman-Enskog actually tells us we get the (compressible) Navier stokes equations from the LBE, plus an error term that is of the order Mach number cubed (~Ma^3).

Hope this was of some help,
Good luck!


This is not really a reply to your specific questions, but more a comment on the derivation in the Chen & Doolen paper. I tried to follow it myself when I was new to LB, but had to give up as it omitted too much detail and included too many typos. (I see I’ve written down some corrections down on my old printout in 2009; there’s missing minus sign on the RHS of (16), the superscript in the first term in (17) should be “(0)”, and the fraction 2/tau in (17) should apparently be 1/(2 tau). I think I gave up the derivation at that point.)

Instead, I found the derivation in Jonas’ PhD thesis to be clearer and more detailed, and followed that instead. I also wrote down the Chapman-Enskog expansion in even more (probably far too much, to be honest) detail in my own Master’s thesis. Both can be found here. Maybe you’d find them to be useful complements or alternatives!

Erlend M


i am a beginner in LBM. i also had the same problem while going through CHEN and DOOLEN’s paper. May be I am also doing some stupid mistakes, but i cannot figure out how they got the order of epsilon matched, starting from eqn (5) and using eqn (13) for the collision operator, the multiscaling expansion for the time and space derivatives

I think your confusion might be due to the scaling - see the above post. I agree that the Chen and Doolen paper isn’t very clear. Perhaps have a look at He and Luo (JCP 1997) instead - they have a full derivation in the appendix.

pleb01 Wrote:

I think your confusion might be due to the scaling

  • see the above post. I agree that the Chen and
    Doolen paper isn’t very clear. Perhaps have a look
    at He and Luo (JCP 1997) instead - they have a
    full derivation in the appendix.

Hi, again!
Which paper exactly do you mean? I could only find a 1996 Paper in Journal of Computational Physics by the authors on LBM on nonuniform meshes.

Sorry, I meant 1997