D2Q7 vs. D2Q9


I’m wondering what the differences are between the D2Q7 lattice and the D2Q9 lattice in LBM simulations. Both of these fulfil the conditions of lattice isotropy, and have a similar speed of sound (1/2 in D2Q7 and 1/sqrt(3) in D2Q9). Their viscosity is also similar: 1/3 (tau - 1/2) for D2Q9 and 1/4 (tau - 1/2) for D2Q7[sup]1[/sup]. (EDIT: The viscosity is naturally different as it is given by (c_s)^2 (tau - 1/2) for all lattices fulfilling the isotropy conditions.)

I’ve got a general impression that the D2Q7 lattice was used mostly in the early 90s due to the similarity to the FHP lattice gas automaton’s lattice, while D2Q9 has been more widely used in recent years. But I can’t really see any reason as to why the D2Q9 lattice is any better than D2Q7, apart from the fact that a hexagonal grid is trickier to implement in code than a square one.

What are the differences beyond convenience of implementation, a slightly different speed of sound, and different viscosity?

[sup]1[/sup] J.M. Buick et al, “Lattice BGK simulation of sound waves,” Europhys. Lett, vol. 43, no. 3, pp. 235-240, 1998.

Dear Erlend,

I am aware of two reasons:

  1. I don’t know exactly and never did calculations for it, but it seems that D2Q7 is not able to model advection-diffusion equation with anisotropic diffusion tensor, like

\partial_t s +u \partial_{\alpha} s = \sum_{\alpha \beta} D_{\alpha \beta} \partial^2_{\alpha \beta} s

That means that you can’t construct the equilibrium distribution function with D2Q7 which can capture all D_{\alpha\beta}, usually you can restore only diagonal terms of diffusion tensor.

The D2Q9 model is able to restore all anisotropic tensor.

  1. The geometry in D2Q9 is just a rectangular grid. In D2Q7 you need the hexagonal one.

Hopefully it will help,

Thanks, I didn’t know that you couldn’t do advection-diffusion with D2Q7. That’s interesting, although I probably won’t be doing advection-diffusion myself.

Sounds to me like there’s really no reason to use D2Q7 when D2Q9 is simpler and gives you more possibilities.

Erlend M


I really think that the topology of the lattice plays a huge role. The d2q9 is really intuitive, since you do not have to think about anything (boundary nodes, real position of the nodes, …) when you setup a simulation. This is not the case with d2q7 where, although the “core” of the algorithm remains unchanged, “all the rest” is way much more complicated.

I do not know for sure, but I could also imagine that the larger number of velocities in D2Q9 leads to higher stability and more accurate results.

This is not clear whether it should be more accurate and/or more stable. In 2D we have 6 degrees of freedom. When using a d2q9 we have 3 more variables than degrees of freedom and therefore much more chances of having ghost modes that may lead to numerical instabilities…

But I think I never saw a paper comparing really both lattices…

It is interesting that you should mention that the D2Q7 might be more stable, because there’s a paper at arXiv by Chopard, Luthi and Marconi which talks about the stability of different lattices in their lattice Boltzmann wave model. Their wave model essentially consists of removing the O(u^2) terms in the equilibrium distribution and using a D2Q5 lattice. They show that this model gives wave equation behaviour in the case of no viscosity, tau = 0.5. Setting tau to this value also eliminates the D2Q5 lattice’s anisotropy problems. It sounds very unusual, but I’ve tested it and it works. (PM me if you want more references for the model.)

Anyway, my point here is that they state in this article that with this equilibrium distribution and this value for tau, the D2Q5 and D2Q7 lattices are stable while the D2Q9 lattice is unstable. It got me to thinking that D2Q7 might be generally more stable for low-tau simulations than D2Q9, but I don’t know if this is the case in the standard lattice Boltzmann method.

Dear all

I know an article where the D2Q7 model is compared against the D2Q9 one.
The article is by P.A. Skordos and is named: “Initial and boundary conditions for the lattice Boltzmann method”. Physical Review E Volume 48 Number 6: 4823 (1993)
In section E of the up-mentioned article the author compares the accuracy of both models using a Taylor vortex flow as benchmark. He concludes that D2Q9 is more accurate than D2Q7 and he explains this fact by saying that “nine speeds per node provide a better discretization of the microscopic velocity than seven speeds per node do.”
I do not know if this explanation is convincing! Nevertheless, I have never read from no one the opposite conclusion, i.e. that D2Q7 is more accurate than D2Q9.