Freepaper.me 10.1016 0370,n, 1573(92)90090 M the Lattice Boltzmann Equation Theory and Applications

53
THE LATTICE BOLTZMANN EQUATION: THEORY AND APPLICATIONS R. BENZIa, S. SUCCIb and M. VERGASSOLAC aDipartimento di Fisica, Università “Tor Vergata”, Via E. Carnevale, 1-00173 Rome, italy hiBM European Center for Scientific and Engineering Computing, Via Giorgione 159, 1-00147 Rome, Italy CCNRS Observatoire de Nice, B. P. 229, F-06304 Nice Cedex, France NORTH-HOLLAND

description

mn ,n ,

Transcript of Freepaper.me 10.1016 0370,n, 1573(92)90090 M the Lattice Boltzmann Equation Theory and Applications

  • THE LATTICE BOLTZMANN EQUATION:THEORY AND APPLICATIONS

    R. BENZIa, S. SUCCIb and M. VERGASSOLACaDipartimento di Fisica, Universit Tor Vergata, Via E. Carnevale, 1-00173 Rome, italy

    hiBM European Center for Scientific and Engineering Computing, Via Giorgione 159, 1-00147 Rome,Italy

    CCNRS Observatoire de Nice, B. P. 229, F-06304 Nice Cedex, France

    NORTH-HOLLAND

  • PHYSICS REPORTS (Review Section of Physics Letters) 222, No. 3(1992)145197. North-Holland PHYSICS REPORTS

    The lattke Boltzmann .equation: theory and applications

    R. Benzia, S. Succi and M. Vergassolac~Diparcimentodi Fisica, Universit Tor Vergata, Via E. Carnevale, 1-00173 Rome, ItalybJBM European Center for Scientific and Engineering Computing, Via Giorgione 159, 1-00147 Rome, ItalyCCNRS Observatoire de Nice, B.P. 229, F-06304 Nice Cedex, France

    Received May 1992; editor: I. Procaccia

    Contents:

    1. Introduction 147 4.5. The limit of zero viscosity 1722. Lattice gas dynamics and the Boltzmann approximation 148 4.6. Numerical efficiency 173

    2.1. Lattice symmetries and collision rules 148 5. Applications 1772.2. The equilibrium distribution 150 5.1. Two-dimensional homogeneous turbulence 1772.3. Hydrodynamic equations 152 5.2. Flows in complex geometries 1792.4. The Boltzmann approximation 153 6. Generalizations of the method 183

    3. Some rigorous results 155 6.1. Multiphase flows 1833.1. Introduction 155 6.2. Magnetohydrodynamics 1843.2. A model with stochastic stirring 156 6.3. Subgnd scale modelling 1863.3. Spurious invariants 161 6.4. Boltzmann equation in non-uniform lattices 190

    4. The lattice Boltzmann equation 162 7. Conclusions 1944.1. From the boolean microdynamics to the Boltzmann Appendix A 194

    equation 162 Appendix B 1954.2. Lattice Boltzmann equation with enhanced collisions 164 References 1964.3. Macrodynamic equations 1664.4. Hydrodynamic behaviour of the lattice Boltzmann

    equation 169

    Abstract:The basic elements of the theory of the lattice Boltzmann equation, a special lattice gas kinetic model for hydrodynamics, are reviewed.

    Applications are also presented together with some generalizations which allow one to extend the range of applicability of the method to a numberof fluid dynamics related problems.

    Elsevier Science Publishers B.V.

  • 1. Introduction

    Over the last decades, there has been a growing consensus on the fact that grand challenges can beencountered in classical areas of macroscopic physics, even if the basic equations have been known for along time. Fluid mechanics is one such area. The main reason is that hydrodynamic flows can exhibit anextremely rich variety of complex phenomena; so rich that, in many respects, fluid flows can still beconsidered a paradigm of complexity in natural systems. Such a complexity can be associated to a set ofnon-linear partial differential equations, the NavierStokes equations, which are, ultimately, nothingbut a statement of mass and momentum conservation. The NavierStokes equations are universal in thesense that their structure is fairly independent of the details of the underlying microscopic dynamics,which only affect the numerical values of the transport coefficients. This universality of the equationsplays an invaluable role in trying to devise stylized microdynamical models which, while giving up asmuch irrelevant details as possible, still retain the basic ingredients of the physics of fluids. Lattice gasmodels belong precisely to such a class of models. The common aim of lattice gas models consists in thedefinition of a fictitious simplified microworld which allows one to recover, in the macroscopic limit, theequations of fluid dynamics. By macroscopic limit, one means that the equations describing theevolution of the large scales differ from NavierStokes equations by spurious terms, become vanishing-ly small as the ratio between the mean free path and the scale length is decreased.

    Hystorically, the first step in the direction was performed by Broadwell [9, 30], with the discretevelocity models where the velocity is discrete, but space and time are still continuous. Subsequently, amaster equation with a continuous time, and leading to sound waves, was introduced by Kadanoff andSwift [46]. In 1973, Hardy, de Pazzis and Pomeau [32, 33] defined a fully discrete model (HPP) on asquare lattice allowing the observation of typical features of fluid flows, such as sound waves. However,due to a lack of isotropy of the lattice, the HPP model reproduces neither the non-linear term nor thedissipative term of the NavierStokes equations. This difficulty was first removed for the two-dimensional case by Frisch, Hasslacher and Pomeau [27]and then for the three-dimensional case bydHumires, Lallemand and Frisch [42]. Once the correct symmetries of the lattice are obtained, onehas to define the evolution rules. Here, two possibilities can be chosen: lattice gas automata and thelattice Boltzmann equation.

    In lattice gas automata, the variables are the boolean populations, indicating the presence or theabsence of particles in the link of the lattice- The evolution is essentially defined by a set of collisionrules, possessing suitable conservation laws. The passage to the macroscopic world is performedthrough an average over space and!or time. Since their evolution only involves logical operations,lattice gas automata have disclosed a markedly innovative simulation strategy, whereby floating-pointcomputing is replaced by boolean computing. Moreover, due to the locality of the updating rules, theyare ideal candidates for massively parallel processing. Lattice gas automata have been used for thesimulation of NavierStokes equations and other related problems, such as two-dimensional magneto-hydrodynamics, three-dimensional complex flows, multispecies and multiphase systems, and Burgersmodel (see refs. [5,28] and references therein).

    Besides their relevance to hydrodynamics, lattice gas automata are suitable to analyze fundamentalissues in statistical mechanics, such as the long-time-tail problem [23,25]. In particular, one can

    147

  • 148 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    consider the Boltzmann approximation of the dynamics, by making the same assumption leading to theBoltzmann equation in continuous kinetic theory: particles entering a collision have no correlations.The latter assumption can be rigorously justified in the case of a lattice gas automaton with stochasticstirring [19].With respect to the dynamics without stirring (which is the one used in practice), bycomparing the measured value of the viscosity with the theoretical predictions, McNamara and Zanetti[53] remarked that hydrodynamic behaviour is recovered even with very small lattices. In theBoltzmann equation, the evolution is defined directly in terms of the ensemble averaged populationswhich, being real variables, do not lend themselves to the possibility of boolean computing. On theother hand, the advantage is the elimination of statistical noise usually affecting lattice gas automatasimulations, while retaining the same ideal amenability to parallel computing. Actually, in ref. [37],it isshown that one can further simplify the model by using the linearized form of the collision operator.Finally in ref. [39],starting from this linearized form, it is proved that one can define a Boltzmannequation, called lattice Boltzmann equatioi~with enhanced collisions, independently of any underlyingboolean microdynamics. The collisions are defined by a matrix, whose structure is essentially dictatedby symmetry arguments. The resulting numerical free parameters govern the value of the transportcoefficients, which can be easily tuned. It can be shown that the macrodynamics of the model, undersuitable conditions, converges to NavierStokes equations [26,69]. The scheme has proven itsnumerical efficiency in the simulation of two-dimensional hydrodynamics [2]. Moreover, it lends itselfto some interesting generalizations, such as magnetohydrodynamics [661,two-phase flows [31], theanticipated vorticity scheme for the subgrid scales parameterization of two-dimensional turbulence [3]and Burgers model.

    2. Lattice gas dynamics and the Boitzmann approximation

    2.1. Lattice symmetries and collision rules

    Let us begin with the description of the model (FHP) introduced by Frisch, Hasslacher and Pomeau[27]for two-dimensional fluid dynamics. Consider a triangular lattice with unit lattice spacing, as shownin fig. 1. In each node there are six links (denoted by c~{i = 1,. .. , 6)) to its nearest neighbours.Particles of unit mass and velocity move along these links in such a way that they reside in the nodes atinteger times. An exclusion principle governs the occupation ofthe links: no more than one particle canoccupy at a given time a given link. The state of a node is then a six-bit boolean variablen = {n1, i = 1,. . . , 6), where the bit n1 indicates the presence or the absence of a particle in the ith link.The evolution of the system from time t to time t + 1 (the natural time of the lattice is taken as unity)can be decomposed in two phases: propagation and collision.

    The propagation is very simple. Each particle is displaced in the direction of its velocity:n~(r)~n1(r + c1), where r denotes the sites of the lattice.

    The collisions represent the most delicate part of the evolution. In order to reproduce NavierStokesequations on the macroscopic scales, it is essential to impose mass and momentum conservation,characteristic of a real fluid (in one-speed models, which are the only ones considered here, energyconservation is obviously coinciding with mass conservation). At the same time, it is necessary to avoidthe presence of spurious invariants. Consider, for example, binary head-on collisions (see fig. 2). If(i, + 3) denotes the couple of links occupied, mass and momentum conservation restrict the possiblefinal states to (i + 1, i + 4) and (i 1, i + 2). One can decide either to choose always one possibility or

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 149

    Fig. 1. Elementary cells of the FHP lattice. Fig. 2. A binary collision in the FHP lattice.

    to make a random or pseudo-random choice, e.g. dependent on the parity of time. Despite mass andmomentum conservation, a model with only binary collisions has a macroscopic dynamics completelydifferent from the one described by NavierStokes equations. This is due to the presence of a spuriousinvariant: the difference of particle numbers in any pair of opposite directions. The simplest remedy tothis problem is the introduction of triple collisions and/or rest particles, as discussed in ref. [28].

    Let us now consider the three-dimensional problem. In this case, the difficulty is that no Bravaislattice, having enough symmetries to reproduce hydrodynamics, exists. The way out of this problem isto move to a higher-dimensional lattice. A suitable four-dimensional lattice, the face-centered hy-percubic (FCHC), was in fact found in ref. [42].The nodes (x1, x2, x3, x4) of the lattice satisfy thecondition: x1 + + x3 + x4 even, where the x.s are integer numbers. In each node there are 24 links toits nearest neighbours (indicated as c. {i = 1,... , 24)) of length V~.Propagation and collisions aredefined in the same spirit as in FHP.

    In the applications to three- (two-)dimensional hydrodynamics, periodic boundary conditions areimposed along the x4 direction in a layer of thickness 2 (and along the x3 direction). The resulting latticeis shown in fig. 3. The thick black lines have a different weight in the sense that two particles canpropagate along these directions, according to the two values of the fourth component of the velocity

    V4=OV4 =+l

    Fig. 3. Three-dimensional projection of the elementary cell of the FCHC lattice. The solid lines carry two particles, having speed v4 = 1along thefourth dimension.

  • 150 R. Benzi et a!., The lattice Bo!tzmann equation: theory and applications

    (c,)~= 1. It can be shown that the conserved fourth component of momentum behaves as a passivescalar not influencing the other three [28].For subtle effects associated with the presence of spuriousinvariants generated by the periodicity imposed on the fourth direction, see refs. [6,7].

    A general class of lattices suitable for lattice gas models, including FHP and FCHC, can be defined.We do not list the definition of this class and the resulting properties discussed in ref. [28],which will bereferred to whenever needed. One of the main hypotheses to be recalled is semi-detailed balance. Lets = {s~,i = 1,. . . , b } and s = {s ~, i = 1,. . . ,b } denote the state of a node before and after thecollisions respectively, with b the number of links per node, and let

    A(s+ s) (1)

    denote the site-independent transition probability from s to s. An obvious condition ofnormalization is~ A(ss. s) = 1, Vs. The semi-detailed balance condition reads as

    ~.A(s~.s)=1, Vs. (2)

    This equality implies that the situation where all the states have the same probability is stationary withrespect to collisions. Recently, a new class of lattice gas automata, where (2) is not satisfied [21],hasbeen introduced. As it will become apparent in the following, (2) is essential for the results we aregoing to summarize and, in particular, for the arguments developed to prove the convergence of themicrodynamics to NavierStokes equations. Nevertheless, the new models defined in ref. [21]show agood empirical agreement with hydrodynamics. The elimination of the semi-detailed balance conditionleads to the interesting consequence that the viscosity is no longer forced to be positive [34],but canassume also negative values [35].

    2.2. The equilibrium distribution

    As in statistical mechanics, it is convenient to take a probabilistic point of view. The classicalprocedure is: (i) definition of the phase space, (ii) introduction within this set of a statistical ensembleof initial conditions with a given probability distribution, (iii) evolution of the probability distributionfrom the Liouville equation, (iv) calculation of the average values using the evolved probabilitydistribution. Specifically, let ~?be a finite lattice. The phase space F is defined by all the possible statess(.) = {s1(r)}, where i = {1,. . . , b) and r denotes the nodes of the lattice. An initial probabilitydistribution P(O, s(.)) is assigned in F. The evolution of the probability distribution P is governed by theprobabilistic equivalent of the Liouville equation in statistical mechanics

    P(t+1, Efs())= ~ P(t,s(.)) LI A(s(r)-*s(r)). (3)rESt

    Here, A(s * s) has been defined in (1) and & is the streaming operator whose action is.~:n1(r)i*n1(r+ c1). The average values of an observable f(s(~))can be calculated as (f(t)~=~s(~) f(s(-))P(t, s(.)). In particular, one can consider the quantities

    N1(t,r)= (n1(t,r)) , p=~N~, J(t,r)anpv(t,r)=~N,.c~, (4)

    which correspond to the average population, the density and the mass current.

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 151

    It is remarkable that the general class of models mentioned in section~2.1 admits the equivalent ofthe Maxwell states in statistical mechanics and that a H-theorem can be proved. Indeed, as shown byHnon in appendix F of ref. [28], from the semi-detailed balance condition it follows that the localentropy function

    S(r) ~ P(t, s(r)) log P(t, s(r)) (5)s(r)

    can be defined. The function never decreases under the effect of collisions. The entropy is constant ifand only if the probability distribution is a Boltzmnn distribution, i.e. if P is completely factorized overthe links of the site,

    b N~(1N~)~. (6)

    Here, N1 is the average population defined in (4).By definition, the equilibrium distribution peq is a time-independent solution of eq. (3). The spatial

    homogeneity and the H-theorem suggest to look at p~in a fully factorized form, i.e. peq(5(.)) =Hr P(s(r)), with P(s(r)) given by (6). Indeed, it can be proved that such a solution exists and that thecorresponding ~ has the FermiDirac expression

    N~=[1+exp(h+q.c~)]1. (7)

    The positive sign in front of the exponential reflects the fermionic nature of the particles due to theexclusion principle. The quantities h and q are the Lagrange multipliers associated with the conservedquantities. In principle, they can be obtained from the definition of the density and the mass current. Inthe case of small Mach numbers (I v 4 c,, where c~is the speed of sound), one can exDlicitlv compute hand q perturbatively in v. Thanks to the mirror symmetry of the lattice, ~ is invariant under thetransformation v -~ v and c

    1 ~ c,. The scalar function h contains only even powers of v and thevector function q only odd powers of v, i.e. h = h0 + h2(v . v) +... and q = q1v +.... Let us nowsubstitute this last expression into (7). For the general class of models defined in ref. [28]the followingrelations hold:

    C. 0, ~ Cj~Cjp= (bc2ID)as . (8)

    Here, b is the number of links per site, c = c. and D is the dimension of the lattice. Using (8), onefinally obtains

    = p/b + (PD/bC2)VaCja + pG( p)Qj~pv~vp+ 0(v3), (9)

    where

    G(p) = (D212bc4)(b 2p)/(b P) Qiap = CiaCip (c2/D)ap . (10)Let us remark that in the case of the FCHC lattice, for the calculation of three dimensionalcomponents, D has to be taken equal to 4.

  • 152 R. Benzi et al, The lattice Boltzmann equation: theory and applications

    2.3. Hydrodynamic equations

    In this section, the macrodynamic equations and the assumptions necessary to recover the NavierStokes equations will be discussed. For this purpose, it is convenient to introduce a multiscaleformalism where space and time derivatives are expressed in terms of multiscale variables,

    = ear, , a1 = + + . (11)Here, e is a small parameter which may be identified with a local Knudsen number: e IVFIF, where 1is the particle mean free path and F a generic macroscopic field. The physical meaning of (11) is thatvarious phenomena (e.g., inertial propagation, dissipation) take place at different time scales.

    Since our aim is to describe transport phenomena triggered by weak departures from localequilibrium, it is convenient to decompose the average population N1 as

    N, = N~(p, v) + N~(Op, Ov), (12)where N~ is the local equilibrium population, while N~ is the non-equilibrium contribution, which issupposed to be 0(s). In particular, one is interested in the first term of the expansion linearlydependent on the gradients of the equilibrium fields, p and J. By using the symmetry properties of thegeneral class of lattices defined in ref. [281,it is possible to show that, at the first order in e, the gradientlip does not contribute to N~ and the only contribution by a comes from the product with thesymmetric tensor Qjap~ Thus ~ne~ = ifr(p)Q.~aJ+ O(s2), where ~1i(p)is still to be determined.

    Mass and momentum conservation can be expressed in the following form:

    ~N~(x+c1,t+1)~N,(x,t)=0, (13)

    ~N,(x+c~,t+1)c~~N,(x,t)e1=0. (14)

    In the limit of small Knudsen numbers, one can express the differences by a series of time and spacederivatives. By using the expansion (11) and equating terms of the same order in s and ~2, one finallyobtains the partial differential equations

    a,p+li.J=o, (15)

    tJa+dp(pG(p)Tapy~vyv&~ a7(pv8)]_0, (16)

    where

    Tap.y~= ~ ctacjpQj~a. (17)

    Note that in (16) we have used the expression (9) for the equilibrium population. It follows thathereafter we shall restrict to the small Mach number region.

    Equation (15) is the continuity equation. As usual, in the limit of small Mach numbers the density

  • R. Benzi et al., The lattice Boltzmann equation: theory and applications 153

    can be considered constant except for the fluctuations in the pressure term. Under these conditions, eq.(15) reduces to the divergence free condition (li. v) = 0.

    Let us now consider eq. (16). In order to recover Euler and NavierStokes equations, the isotropy ofthe fourth-order tensor Tapy& is crucial. From the symmetry properties of the class of lattices defined inref. [28],it follows that the most general form of an isotropic fourth-order tensor is

    bc4 / 2Tap.,,8 = D(D + 2) ~ + ~a~P7 D ~ap

    6y8). (18)

    The tensor has indeed this expression in the case of FHP and FCHC lattices. In the case of the squarelattice, Tapy

    8 has not the form (18) and this explains why the lattice is not suitable to simulatehydrodynamic phenomena. Substituting (18) in (16), one obtains:

    atJa + pPap = apSap , (19)where

    = p(c2ID)(1 g(p)v2Ic2)e5~p+ pg(p)v~vp

    (20)Sap = ~[aJp + (2/D)(t3yJy)t5ap].

    One thus obtains the NavierStokes equations, apart from the presence of a factor in the advectiveterm

    g(p) = [D/(D + 2)](b 2p)/(b p). (21)This difficulty can be overcome because in the limit of small Mach numbers the factor g(p) reduces to aconstant. This factor can be easily rescaled out by the transformation

    t*tg(p), vtv/g(p). (22)The viscosity ii is equal to

    p = [bc4/D(D + 2)]~fr(p) c212(D + 2). (23)

    The first contribution, ~ p), is positive and depends on the collision details through the function i/i,while the second, v~,is negative and is essentially due to the discreteness of the lattice [34].2.4. The Boltzmann approximation

    Let n.(x, t) be the boolean variable denoting the number of particles in x at time t for the state i (for

    rest particles, c1 = 0). The evolution equation for n. is

    n~(x+ c1, t + 1) n1(x, t) = 41(n) , (24)

  • 154 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    where 4(n) is the contribution of collisions involving products ofthe n.s. Let us now consider N1(x, t),obtained as the ensemble average of the boolean n.(x, t). When the evolution equation (24) isaveraged, a hierarchy of non-closed equations is generated.. With respect to the usual BBGKYhierarchy obtained in the continuous case with two-body collisions [12],the following differences arise:the discrete case is simpler because there are only b degrees of freedom per point but, at the same time,the analysis of the collisions is complicated by the fact that, in the most general case, b particles areinvolved. Whatever order one goes to, there are always higher-order correlations appearing and thesystem remains unsolvable (for more details on the effects of correlations see ref. [67]).In order towrite an evolution equation for the N,s, one has to close this hierarchy by some kind of statisticalassumption on the high-order correlations. The simplest way to obtain a kinetic equation (a closedequation for the N~s)is to use the Boltzmann approximation of molecular chaos: neglect correlationsbetween the particles entering a collision. This, assumption implies that all the expectation valuesfactorize. The resulting Boltzmann equation is

    N,(x + c~,t + 1) N,(x, t) = 4(N) . (25)

    Due to the factorization of the expectation values, the collision operator 4(N) is obtained from theboolean collision operator 4(n) by simply replacing the boolean populations with the correspondingaverage populations. The expression of 4(N) in terms of the transition probabilities A(s ~s) is

    4(N) = ~ (s~ s1)A(s ~s) Ill N~(1 N)~1~~. (26)There are two main consequences of the Boltzmann approximation.

    The first is the irreversible approach to equilibrium which immediately follows from the H-theoremdiscussed in section 2.2.

    The second is an explicit derivation of the value of the viscosity. One has to determine the functionli( p) used in section 2.3 in the expression N~ = ~ P)Qiap a J,

    9. This can be done by expanding at thefirst order in s and v the finite differences in the lhs of (25) and using the explicit Boltzmann form forthe collisions in the rhs. By using the equations for the conserved quantities to express time derivativesin terms of space derivatives one finally obtains

    (DIbC2)Qiap 4!1(P) ~ S4

    11Q ja~= 0. (27)

    Here, the matrix is the linearized collision matrix a4(N)!aN~,,evaluated at the zero velocityequilibrium state N1 = p/b. The explicit expression of the matrix in terms of the transitiQn probabilitiesof the automaton was found in ref. [34].

    From (27), assuming the isotropy of the fourth-order tensors, one can obtain a closed expression forthe contribution v~to the viscosity,

    2 ~c ian ~ia~= D + 2 ~ijap Qtap~4jQjap

    Once the viscosity is known, the Reynolds number R associated to a given flow can be easilyestimated. The Reynolds number is by definition the ratio between the characteristic scale 1~times the

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 155

    characteristic velocity v0 of the flow and the kinematic viscosity. Taking care of the rescaling (22)necessary to recover NavierStokes equations from (19), one obtains R = l0v0g(p)/v(p). Introducingthe Mach number M = v0/c,, one finally gets

    R=M10R*(p), (29)where R*(p) = c,g(p) Iv( p) contains all the information on the lattice dynamics.

    In the limit of large Reynolds numbers, a huge range of scales is excited by the nonlinear energytransfer. Let

    1d denote the dissipative length, i.e. the length where viscous effects become comparableto nonlinear effects. In a spectral simulation all the modes at least up to the inverse of 1d have to beresolved. In the case of lattice gas, one has to check that the wavelength of all relevant scales is muchlarger than the lattice spacing. According to the 1941 Kolmogorov [48]and the BatchelorKraichnan[1,49] theories of three- and two-dimensional turbulence *), in the limit of large Reynolds numbers, thescale d is related to the inertial scale l~as = CI

    0Rm (m = 1/2 in D =2 and m =3/4 in D =3). By

    using (29), one obtains

    ld = C(MR*)~Ri2 in2D, ld = C(MR*)~R~~4in 3D. (30)In both cases, in the limit of R~ ~, the condition of scale separation between 1d and the lattice spacing

    is satisfied. The validity of lattice gas models for high-Reynolds number simulations is then ensured.

    3. Some rigorous results

    3.1. Introduction

    In this section, we review some rigorous results. The reader not interested can skip this section,without compromising further reading of the paper.

    A discrete kinetic equation of the form

    N,(x+c1, t+ 1)N,(x,t)=4(N), (31)

    can be rigorously investigated from various points of view. First of all, one can examine the validity of(31) in describing ensemble averages of the underlying lattice gas dynamics. The corresponding issue incontinuous space is the classical problem of the validity of kinetic equations. On the other hand, moreclosely to the spirit of this report, one could take (31) as the starting equation and study itsconvergence, on suitable space-time scales, to the incompressible NavierStokes limit. The correspond-ing problem in the case of a real fluid has a long tradition in the literature dating back to the papers byHilbert [40]and Enskog [22].

    Recently, De Masi et al. [19]have investigated both problems in the case of the Hardy, de Pazzisand Pomeau (HPP) square lattice [32,33]. Concerning the first issue, a new feature appears in thedynamics of the model with respect to the original formulation: the stochastic stirring. This operation

    *) We omit any discussion on the possible corrections due to intermittency (29,561 because we are just interested in estimating orders ofmagnitude.

  • 156 R. Benzi et al., The lattice Boltzmann equation: theory and applications

    consists of random exchanges between neighbouring cells, with the constraint of momentum conserva-tion. The stochastic stirring has been designed to prevent the build-up of correlations due tointeractions, which could destroy the validity of the Boltzinann approximation. The need to enhancestochasticity in order to rigorously prove the limit to the Boltzmann equation is not limited to the HPPmodel, but it seems a general requirement for all lattice gas automata. The stirring process, while usefulfrom a theoretical point of view, has the practical drawback of increasing the kinematic viscosity. Byintroducing the stochastic stirring operation, it is possible. to prove that the kinetic equation (31), in thecontinuous version, correctly captures the long-time and large-scale behaviour of the automaton.Concerning the second problem, the authors of ref. [19]prove that, under suitable limits, the kineticequations converge initially, for suitable space-time scales, to Euler equations, while for longer timesone can observe incompressible NavierStokes equations. The aim of section 3.2 is to summarize allthese results, giving in particular a sketch of the HilbertChapmanEnskog expansion used to derivehydrodynamic equations. In section 3.3, we discuss the issue of spurious invariants, arising from thediscretization of a partial differential equation.

    3.2. A model with stochastic stirring

    Let us now discuss in some detail the main results obtained in ref. [19]for the HPP model. Particlesmove on a square lattice L x L with unit vectors c~(i = 1,. . . , 4). There are four copies of the latticelabelled with cr E (1,. . . , 4). The couple (x, o) denotes a point x of integer coordinates (x, y) on thelattice cr. The standard exclusion principle of LGA is extended to the new coordinate a-: at most oneparticle can live on each point (x, c1, a-) in the phase space. The streaming and collision updating areperformed as usual (cf. section 2.1). The novel feature is the presence of the stirring updating. Itconsists of the following two-step process. At each point x, one chooses with equal probability anumber p(x) in the set {1,2,3, 4}. The index a- is then changed to a- = a- p(x) {modulo 4). Next,each particle located in (x, a-, c1) moves into (x + c~,a-, c,). In order to get a better understanding ofthe dynamics induced by this process, let us consider the case where there is just one particle in thewhole space. The stirring process makes the particle jump from one plane to the other. If one looks atthe x position, the resulting motion is of the Brownian type. Note that the stirring updating describedhere is the two-dimensional version of the process introduced by Boghosian and Levermore [4].Theidea of parallel lattices has also been used in ref. [35].An interesting phenomenon is the presence ofstrong correlations between the various copies as the viscosity approaches zero.

    The full evolution of the automaton is a Markov chain: at each time step and for each site (x, a-) thecollision updating is applied with probability P(L), while with probability 1 P(L) nothing happens.Next, regardless whether the collision updating has been applied or not, the stirring and the streamingupdating are applied. The probability P(L) is chosen such that P(L) = i/vT. In the limit L ~ ~, theprobability P(L ) ~0, i.e. the stirring updating is acting much more often than collisions. We shall show(cf. theorem 1 below) that this is enough to ensure the validity of the Boltzmann approximation in asuitable window of space-time.

    Let us now consider an ensemble of initial conditions and define the average number N,(x, a-, t) ofparticles in (x, ci) in the direction c, at time t. If correlations were absent, the evolution of the meanpopulations would be governed by the lattice Boltzmann equation

    N1(x, a-, t + 1) = ~ N,(x c1 , a-, t) + (1I\.[L)4(N(x, a-, t)) , (32)

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 157

    where 4(N) is the collision operator of the HPP dynamics (cf. section 2.1),

    4(N) = N~+1N1~3(1 N~)(1 ~+2) N~2(1 N1~1)(1 ~ (33)

    Since the molecular chaos assumption is not exactly true, eq. (32) will not describe exactly the evolutionof the average populations for all times and for all scales. One can however show that the kineticequations correctly capture the macrodynamic behaviour of the stochastic automaton. In particular, it ispossible to show that the system is governed, in different time regimes, by various partial differentialequations: for t L ~,with f3 < 1/2, a diffusive equation due to stirring; for t L h/2, the space-timecontinuous Boltzmann equation and finally, for longer times, the HPP hydrodynamic equatiotis (whichare neither the Euler nor the NavierStokes equations, because of the lack of isotropy of the lattice).Note that 4(N) appears in (32) with a multiplication factor P(L) = itlL which is the expectednumber of times the collision updating is applied in the model. In the limit L ~ ~, this multiplicationfactor implies that the negative contribution to the viscosity due to the lattice disappears.

    Let us now give the precise statements of the theorems. In the following section E will denote theexpectation with respect to the Markov chain describing the time evolution of the automaton.

    Theorem 1. Let us choose m points in the phase space y~,= (x, c1, a-)1 and denote by n(y1, t) thepopulation in the point y~at time t. For suitably smooth initial conditions,

    lim {sup{7} E([T n(y1, \/L t) LI N,(x/VL, t)) } = 0, (34)where N~(x,t). satisfies the equation

    ,JV~(x,t) + (c1 . O)N,(x, t) = 4(N). (35)

    By suitably smooth initial conditions, one means essentially that the probability density function ofthe ensemble at time t = 0 does not depend on a- (this fact explains why in the notation of the N~stheindex a- is dropped) and that the initial velocity and density profile varies on the average on a distanceof the order of VL. In the proof of the theorem, the role of the stirring process is essential.

    Theorem 2. Let N~(h(x),a(x)) = 1 /{1 + exp[h(x) + a(x). C1]) be the solution of the equation4(N~) = 0 and let A(L) = 1/log~(vT),with 0< ~

  • 158 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    Moreover, the fields

    p0 an A(L)...~o~ N~(h0,A(L)a(x)), p0v an A~).O ~ N~(h0,A(L)a(x))c1tA(L) (38)

    solve the incompressible HPP NavierStokes equations.

    A brief discussion of the physical meaning of the three theorems is now in order. The first theoremimplies that, on a spatial scale of the order V~L,corresponding to time scale VL, the lattice gasdynamics is described by the Boltzmann equation (35). Then theorem 2 states that, for time scales oforder vT log ~vT,with 0< ~ < 1, and a corresponding spatial scale of the same order, the lattice gasdynamics is described by the Euler equation. Note that for theorems 1 and 2 both space and time arerescaled in the same way. The difference between the two theorems lies in the different value of theKnudsen number (the ratio between the mean free path in the automaton and the typical distance DLover which macroscopic fields vary). According to theorem 1, the typical distance DL = ~VL,while inthe second theorem DL = VIIA(L). Thus the Knudsen number is order one for theorem 1 and orderA(L) 1/log~\/L4 1 for theorem 2. Note that the Euler equations are invariant under the scaling

    xE~yx, t~-+yt, v~~yv. (39)Theorem 2 makes use of this property with h = 0. The scaling law invariance (39) does not hold for theNavierStokes equations which satisfy the diffusive scaling, i.e. the scaling (39) with h = 1. By settingy = ~s/Llog~\/L,one recovers the scaling assumption used in theorem 3. The diffusive scaling is alsoconsistent with the ChapmanEnskog expansion of the Boltzmann equation: at the second order in theexpansion one recovers the NavierStokes equation.

    From a numerical point of view, theorem 3 implies that if we solve eq. (31) on a grid of dimension L,this is equivalent to solving the incompressible NavierStokes equations on a grid of dimension A(L )L,i.e. the smallest hydrodynamic scale is of order 1I(A(L)L). For L E (100, 1000), A(L) E (0.66,0.53).This is not far from what has been observed in numerical simulations of the lattice Boltzmann equationwithout the stirring process.

    Let us now sketch the proof of theorem 3 (for details, see ref. [19]).Let us remark that the presenceof the stirring has no relevance in the proof.

    The starting point is eq. (35). As before, one can define

    N~(x,t) = N1(A(L)x, A(L)2t), N~(h, a) 1/(1 + exp(h + a~ce)]. (40)For simplicity, we will skip the argument L of A. Inserting (40) into (35), one obtains

    + A(c1 . O)N~= A24(NA). (41)

    Because we expect the system to be in the neighbourhood of the equilibrium state, it is convenient to

    write the populations asN~(x,t) = N7~(h, Aa) + A2g

    21(x, t) + A3g

    31(x, t) + A3f~1(x,t). (42)The theorem is proved once one is able to determine uniquely g21 and g3~,the functions h(x, t) and

  • R. Benzi et at., The lattice Boitzmann equation: theory and applications 159

    a(x, t) and finally show that f~1(x,t) 0(A) for A ~ 0. This result is accomplished by inserting (42) into(41) and then imposing that each order in A, not containing f~,,vanishes.

    To follow this idea, it is necessary to develop both N~(h,Aa) and 4(N~) in power series of A. Theresult is

    dNeq d2Neq

    N~(h,Aa)=N~+A-~--+~A2dA~+A3RAI, (43)where the functions are calculated at A = 0 and RAE includes the remainder of the expansion. From eq.

    (40), it follows (hereafter the x and t dependence of h and a are relaxed for the sake of conciseness):

    N~(x,t) = 11(1 + eh) (44)

    (dN~/dA)(x,t) = e(a c1)/(l + e)

    2, (45)

    d2N~IdA2= (e21 e)(a . c~)2I(l+ e~)3. (46)One can now define

    p(x, t)=4/(l+e), (47)

    p(x, t)v(x, t) = [2 eh/(1 + e)2]a (48)whence it follows

    dN~ 1 ~ f2~P\ 2

    =

    2pvc,, dA2 =2pt,,-~-----

    1(vc1) . (49)The same power expansion in A has to be performed for ~(N~). One can use the fact that~(N~(h,Aa)) = 0 for any A. Let us then define the linear operator LA by the identity

    L5N, = (d/d6)4(N~(h,Aa) + 6N~.)I00, (50)depending on A through N~(h, Aa). The expression for the collision operator is then

    = L~(A2g

    21)+ L~(A3g

    31)+ LA(A3f~t)+

    = A2L0g2~+ A

    3L0g3,, + A

    3L1g21 + A

    3LA(f~~)+ RAe, (51)

    where L0 = LA~AQ,L1 = dLAIdAIA,o and RAE is at least 0(A3). The operator L0 can be computed from

    the above definition of 4(N1),L0N1 = A(--N, + N~~5 N~~2+ N1~3), (52)

    where A is a negative quantity. It turns out that L0 has three zero eigenvalues, with eigenvectors

  • 160 R. Benzi et at., The lattice Boltzmann equation: theory and applications

    P~= (1, 1, 1, 1), P~= (1,0, 1,0), P2 = (0, 1,0, 1) and a negative eigenvalue with eigenvector P3 =(1, 1, 1, 1). Inserting (43) and (51) into (41) and equating the terms having the same order in A andnot containing f ~, one has:

    (c1.li)p =0, ~a,p + ~(c1.O)(pv.c1) L0g21

    ~a1(pv. c~)+ (c1 .a)[g21 + p(~-=_P)(v.c1)2] = L0g31 + L1g2~, (53)

    + (c, O)f~= -~ LAf~,+ R,,~1+ SAl.

    Here, SAL is at least 0(1). The final step consists in proving that eq. (53) corresponds to theincompressible NavierStokes equations. First of all, it is easy to show that the first equationcorresponds to Op = 0.

    Let us now consider the second equation. The right-hand side contains the operator L0. In order tosolve the equation for g21, the left-hand side should be orthogonal to ~ P~and P2. The orthogonalityrequirement leads to the following equation

    a1p--O.(pv)=0. (54)

    This equation, together with Op = 0, are the continuity equations for an incompressible fluid. By

    inverting the operator L0 on the complement of the null space, one immediately gets:

    g2~= L~[~p(c1. O)(v . c1)] + ~(x~ t)Pkl. (55)

    This equation should be understood in the following way. The only component of (c, . O)(v c,) whichenters in the determination of g21 is proportional to P3,1 i.e. g21 = a(x, t)P31 + ~ f3~~t)Pk~.Thefunction a is computed by applying the operator L0 to both sides of the equation, multiplying by~P3,1 andsumming over i. Because P3.1 is an eigenvector of L0 with a negative eigenvalue (let us call it a), weobtain

    a(x, t) = (p/4a)(a~v~ a~v~). (56)

    Let us consider the third equation of (53). In order to solve the equation for g31 (note that theoperator L0 is acting once again on g31) the unknown functions

    13k have to be determined. First, weremark that c~= (P11, P2,1). Next, it is easy to show that L

    1P0, = 0 and that L1P11 and L1P21 are bothproportional to P3,1. It follows that the orthogonality of the third equation of (53) with respect to P~and P2.i has to be required. This requirement is matched multiplying by c1 and summing over i. Using(56), one finally obtains the incompressible HPP NavierStokes equations,

    p,v~+ ~ ~ = app + va~pvp. (57)

    Here, v is a function of p and a and the pressure p is determined by the incompressibility equation. Theorthogonality with respect to ~ provides the expression of the functions f

    3k~

  • R. Benzi et at., The lattice Boltzcnann equation: theory and applications 161

    Once the functions g21 and g3, are obtained, it is necessary to control the remainder f~1.This last stepis performed as in the classical Boltzmann equation, where one can calculate the order of theremainder. The details of such a computation are reported in ref. [19].

    3.3. Spurious invariants

    As discussed in the previous section, under suitably smooth initial conditions, the continuousBoltzmann equation (35) converges to the incompressible NavierStokes equations. The proof oftheorem 3 is general and does not depend on the presence of the stirring stochastic process, which isonly needed to prove the validity of the Boltzmann approximation. When the continuous Boltzmannequation is considered as a model in its own, the hydrodynamic behaviour of the macroscopic scales isthen ensured. Equation (35) is a particular discretization, in space, time and momentum, ofthe classicalBoltzmann equation. The kinetic equation (31), which is the one practically used, can be considered asa particular finite-differences approximation of the continuous version (35). This discretization may leadto difficulties similar to those encountered in other numerical schemes. In particular, as we shall seebelow, one should take care in identifying the invariants of the discretized model.

    For simplicity, let us consider a three state system in one dimension, with c. (1, 1, 0) and labelthe lattice site x by the integer m. This model has also been studied in detail in ref. [57].Consider thequantities

    QE(t) = ~ [N1(2m, t) N2(2m, t)] , Q0(t) = ~ [N1(2m + 1, t) N2(2m + 1, t)] , (58)

    which correspond to the momentum evaluated at even (QE) and odd (Q0) sites of the latticerespectively. From the definition of the model, it follows

    QE(t + 1) = ~ N1(2m 1, t) + 41(2m 1) N2(2m + 1, t) 42(2m + 1) = Q0(t), (59)

    where in the latter equality we have used the conservation of mass and momentum. Similarly,Q0(t + 1) = QE(t) so that we have a new invariant of motion: (l)[QE(t) Q0(t)]. This new invariantis an artifact of the discretized version of the lattice Boltzmann equation. In fact, in the continuousversion, eq. (31) becomes

    + (c~. 8)N = 4(N). (60)Using the definition J(x, t) = ~ !V~(x, t)c,, we find that the invariant is proportional to J au i3x dx whichis trivially equal to zero.

    It has been shown [8,43, 44, 71, 72] that invariants similar to the one previously discussed can befound in both two- and three-dimensional lattice gas automata. In the case of the automata, anon-linear coupling between the densities corresponding to spurious invariants and the hydrodynamicdensities can produce major drawbacks in the continuous limit. Such a coupling is in fact able to changethe equations of motion in the hydrodynamic limit. Instead of the incompressible NavierStokesequations, one finds some other partial differential equations. For the FHP lattice, the spuriousdensities also introduce anisotropic effects in the evolution equation for the hydrodynamic variables.However the spurious fields do not self-generate: if they are initially zero, they will stay zero for latertimes [14].

  • 162 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    From the above discussion it follows that the hydrodynamic limit for the discretized model is not asstraightforward as it might seem at a first glance. In particular the choice ofthe initial conditions and/orboundary conditions can produce macroscopic unwanted effects. In the model discussed in section 3.2,such problems do not arise, because of the stochastic stirring process added in the dynamics. Actually,for most applications, the stirring process requires too much computational effort to be chosen as apractical tool to handle spurious invariants. On the other hand, a suitable choice of the initialconditions, i.e. a choice which avoids spurious invariants, is not readily implemented, because theexplicit form of the invariants depends on the lattice symmetries and the dynamics. One could naivelyreach the conclusion that (31) and the lattice gas automata are not interesting as a numerical tool tointegrate NavierStokes equations, because they require too much care in their application. Such aconclusion would however be too pessimistic. Indeed, the spurious invariants are generally very smallquantities. This statement follows from the fact that the spurious invariants are roughly proportional tothe gradients of the hydrodynamic fields. We have seen that only for suitably smooth initial conditionsthe hydrodynamic limit can be identified with the incompressible NavierStokes equations. In the limitof small Knudsen numbers (which is the region where lattice gas automata are used), such quantitiesare then of higher order compared to the hydrodynamic fields themselves. Moreover, this implies thatthe effects of spurious invariants are of the same kind as those introduced by the other non-hydrodynamic fields (ghost fields) present in the models. We discuss these variables in the next section,where we show that their dynamics too is strongly affected by anisotropic effects. So long as the initialconditions are suitably smooth and the free parameters of the model are chosen in such a way that thescales of the order of the lattice site are not excited, we have not to worry about unwanted macroscopiceffects due to spurious invariants and/or ghost fields. A counterexample is provided by the stochastical-ly perturbed LBE,

    N,(x + c1, t + 1) N1(x, t) = 4(N) + m(x~t) , (61)

    where ~1(x,t) is an external stochastic noise. Here, the effects of spurious invariants can be relevant ifthe noise has in the average a non-zero projection on the spurious fields. This is the case, for instance, ifE[r~,(x, t)r1~(x+y, t + T)] = S11K( I v I r) and the correlation function K is a rapidly decaying function ofboth T and I yI~In this case, the anisotropic dynamics of both spurious invariants and ghost fields arelikely to produce macroscopic effects in the hydrodynamic limit.

    4. The lattice Boltzmann equation

    4.1. From the boolean microdynamics to the Boltzmann equation

    Because the dynamics of lattice gas automata (LGA) is based on boolean variables, all thesimulations performed by this technique are affected by the practical drawback of statistical noise. Inorder to get reasonably resolved macroscopic fields, it is necessary to average over a possiblecombination of large regions of the lattice, long times and a wide range of initial conditions. Thispenalty is particularly felt whenever quantities involving derivatives, such as vorticity, need to beexamined. On the other hand, considerable advantages can be gained by building dedicated machines,such as the MIT cellular automaton [54]or the RAP machine at the Ecole Normale Suprieure in Paris[17],taking advantage of the boolean character of the variables. As usual, no numerical scheme is

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 163

    perfect and the choice of the technique strongly depends on the particular phenomenon to be simulatedand on the available machine.

    We will now show how the problem of noise can be overcome by switching from the booleandynamics to the Boltzmann equation. In section 2.4, we have shown that by the assumption ofmolecular chaos it is possible to write the following kinetic equation,

    N1(x + c1, t + 1) N,(x, t) = 4(N). (62)Here, 4(N) is obtained from the boolean collision term by simply substituting the boolean populationn, with the ensemble averaged population N,.

    The problem of noise is obviously absent in eq. (62), because N, is a real variable and no average atall is needed to get the macroscopic fields. For this reason, McNamara and Zanetti [53]proposed to useeq. (62) directly for hydrodynamic simulations, with the 4 arising from the known boolean models. Inparticular, they studied the model defined by the FHP-III rules [41],by simulating the decay of shearand sound waves of definite wavelength. The comparison between the experimental values and theChapmanEnskog multiscale predictions shows that the hydrodynamic value is accurate to better than5%, even for a lattice as small as 4. Also the behaviour of sound waves is definitely in agreement withthe expectations.

    Actually, as observed by Higuera and Jimenez in ref. [37], it is possible to further simplify themodel. The reason is that macrodynamic equations in lattice gas models (and then NavierStokesequations) formally arise in the double limit of small Knudsen numbers and small Mach numbers. It isthen convenient to consider the expansion of the collision term in the rhs of (62) corresponding to theseconditions. Let us write N~as in (12),

    = N~(p, v) + N~~(Op,liv), (63)and further decompose ~eq as

    = N~~+ N~1~+ N~2~+ 0(v3), (64)

    where the upper index refers to the order in v. The explicit expression of the various terms is given in

    (9). The corresponding expansion of the collision operator is4(N) 4(N~)+ ~ N~~+ ~J(N~2~+ N~~)+ ~ aN~,aNkN~~N~~ (65)

    where all the derivatives are calculated at the state of zero velocity N~= d = p/b. We now use the

    property that, for any equilibrium distribution, the following equality holds:

    4(N~)= 0. (66)

    Specializing eq. (66) to the case of uniform equilibria (zero velocity), we have 4(N~~)= 0. For ageneric equilibrium distribution, eqs. (65) and (66) yield

    8~f N~N~0 67~ aN

    1 ~ 2aNJaNk j k

  • 164 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    Plugging (67) into (65), we finally obtain4(N) K.J(NJ Np), (68)

    where

    K11an~jj- (69)

    = ~ (s1 s~)A(s*s)d~(1 d)~P(s1 s), (70)

    and p = E,s~.Remark that, due to the symmetries of the collision matrix K,~,the rhs of eq. (68) can bewritten as K1J(N~, N~

    2~),which is more convenient for computational purposes.Despite its apparent linearity, the expression (68) accounts for second-order terms in the expansion

    of the collision operator. The passage from the complete collision operator to the form (68) is clearlyadvantageous from the point of view of simplicity and storage requirements of the numerical scheme.On the other hand, as will become clear in the following, the reduced expression (68) is exposed tonumerical instabilities.

    4.2. Lattice Boltzmann equation with enhanced collisions

    The starting point in the definition of the lattice Boltzmann equation with enhanced collisions is thelinearized kinetic equation obtained in the last section,

    N~(x+c1,t+l)N1(x,t)=.11(N1N~), i=1,...,b, (71)

    governing the evolution of the mean particle population N, in the b possible states per site. Here, C, arethe velocities, sf41 is the collision matrix (the reasons for the change of notation with respect to thepreceding section will become clear in a while), whose element a~1determines the scattering ratebetween directions i and j, and N~ is the equilibrium population. In the definition of the latticeBoltzmann equation with enhanced collisions a different point of view is taken: the choice of thequantities in (71) is no more forced by an underlying boolean microdynamics, but it is rather dictatedby the macroscopic equations to be reproduced. This possibility was used in ref. [39]in the case ofhydrodynamics and it is reviewed here. Further specializations for different hydrodynamical equationsare given in sections 4.5, 6.2 and 6.3.

    The arguments of the previous section suggest the following definitions:(i) The equilibrium population*) has the same expression as (9),

    = ~ (i + ~ vacia + Qiap1~at~p), Q,~= CiaCip (C2ID)i5ap . (72)(ii) The general element a,

    1 only depends on the angle between directions c, and c1.(iii) Collisions conserve mass and momentum, i.e.*) The constant in the nonlinear term of the equilibrium population could actually be arbitrarily chosen. By a convenient choice, one could then

    eliminate the spurious factor g(p) which arises in the hydrodynanuc equations of the model. This could be useful in multi-phase flows. As noted inref. 145] this freedom can also be used to remove the quadratic correction in the pressure term (by the addition of rest particles) or to use lessregular lattices, a rectangular one for instance 147].

  • R. Benzi et at., The lattice Bolrzmann equation: theory and applications 165

    ~ j=1,...,b. (73)

    Notice that the matrix elements a,1 are now numerical parameters which can be changed at will.Apart from this freedom, the matrix .cfIq defined by (ii) and (iii), has the same symmetries as thecollision matrix K,1 obtained in the previous section from the boolean microdynamics. In the followingwe will then skip the label with enhanced collisions whenever this does not lead to confusion.

    The possible angles between the various directions are 0, rr/3, 2ir/3, ~rfor the FHP lattice and0, ir/3, rr/2, 2ir/3, ir for the FCHC lattice. According to (ii), the number of possibly different elementsa,1 of the collision matrix is four for the 6-particle FHP and five for the 24-particle FCHC. The inclusionof a rest particle implies the introduction of two new independent parameters, to account for theinfluence of the resting particle on itself and on the other directions. In the following, for simplicity, weshall consider the case without rest particles.

    The condition (iii) imposes some additional constraints on the number of independent elements of~ Denoting by a0 the matrix elements a,1 such that c, C1 = c

    2 cos 0, it is easy to verify that eqs. (73)are equivalent to

    a0+2a60+2a120+a180=0, a0+a60a120a180=0, (74)

    for the FHP model. In the FCHC case, the corresponding equations are

    a0 + 8a60 + 6a90 + 8a120 + a180 = 0, a0 + 4a60 4a120 a180 = 0. (75)Thanks to the property that the matrix .t~ is symmetric and cyclic, the independent coefficients a0

    can be expressed [70]in terms of the non-zero eigenvalues of the matrix. For the FHP, the non-zeroeigenvalues are

    A=6(a0+a60), cr=6(a0+2a60), (76)with multiplicities 2 and 1 respectively. For the FCHC, the same calculations lead to

    A = a0 2a90 + a180, a- = ~(a~ a180), r = ~(a0 + 6a90 + a180), (77)

    with muhiplicities 9, 8 and 2. In both cases the eigenvectors are mutually orthogonal and do not dependon the matrix coefficients. In particular, the eigenvectors associated to the eigenvalue A are theD(D + 1)12 1 linearly independent elements of the set of vectors

    Let us now consider the range of the possible values of the coefficients a0. In the homogeneous case,an obvious condition for the stability of the scheme is that the non-zero eigenvalues of the collisionmatrix be negative and larger than 2. In the non-homogeneous case, the first check one has to make isthe linear stability of the scheme. In the linear approximation, one neglects in (71) the non-linear termin the equilibrium population. By Fourier transforming the resulting equation, one obtains

    {[exp(i(k. c, w)r) 1],1 N1 an G.1(w, k)N1 = 0. (78)For the sake of clarity, the time step r is explicitly reintroduced. As usual, the normal modes are

  • 166 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    determined by imposing that the determinant of the matrix G,1 is zero. By letting w = (1 + iy andrequiring y

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 167

    4.3.1. The FHP caseThanks to the symmetries imposed on the collision matrix, all the eigenvalues and five of the six

    eigenvectors (1, c~,Cj)~and the two independent components 0f Qiap) of the collision matrix arealready known. One can show that the other eigenvector is (1). The generic population N~can thenbe decomposed as

    = ~p + ~pciav + ~QIaP~ap+ ~ (82)

    Equations (81) can now be projected onto the orthogonal basis of the eigenvectors. Multiplyingsuccessively by 1, C,a~Qiap (1) and summing over i, one obtains

    3tP+aJa=0~ atJa+aa(p12)+apSap=0,(83)

    + ITIap +1?a~y~9yP~= A(Sap S~), a~+4RapyySap =

    Here

    Rap..,, ~ (~)Qiap~iy, S~= pg(p)(v~vp ~V2ap),(84)

    g(p)=(3p)I(6p), Hap=aaJp+apJa(a.yJy)oapRemark that the non-isotropy introduced by the rotational discretization of the lattice affects theexpression of the non-hydrodynamic fields, i.e. the ghost field ~ and the higher-order contributions tothe stress tensor.

    4.3.2. The FCHC caseDue to the dimension of the matrix, the calculation of the spectral properties of the FCHC collision

    matrix is much lengthier than in FHP. A significant advantage can be achieved by defining a reducedcollision matrix. For simplicity, let us consider the two-dimensional case. When the four-dimensionallattice is projected onto the xy plane, some vectors project onto the same two-dimensional vector [forinstance, the four vectors (1,0,1,0), (1,0,1,0), (1,0,0,1), (1,0,0, 1) all project onto thetwo-dimensional vector (1, 0)]. Only the sum of the four populations is relevant for the calculation oftwo-dimensional fields. Without loss of generality, it can be assumed that all the populations projectingonto the same two-dimensional vector have the same value. We are then left with only nine distinctpopulations N~,ranging from zero to one. It must however be remembered that each populationcontributes to the calculation of the fields with a weight

    [1 for diagonal directions, 85 I. 4 otherwise.

    For instance, the density p is calculated as

    p4(N1+N3+N5+N7+N9)+N2+N4+N6+N8, (86)

    where N1 propagates along the positive x-axis, N9 is the rest particle and the remaining seven

  • 168 R. Benzi et al., The lattice Boltzmann equation: theory and applications

    populations are numbered counterclockwise. It is now natural to introduce a 9 X 9 reduced collisionmatrix ~, expressing the effect of collisions on the aforementioned nine populations. The value of theelements of the matrix ~ as a function of the original a0 is reported in appendix A. The reduction in thedimension of the matrix ~ is very convenient also from a computational point of view.

    The matrix ~ is no longer symmetric and cyclic and its eigenvectors are not orthogonal. The problemcan however be solved by introducing the following weighted scalar product,

    A.Ban>..p1A~B,. (87)

    By standard calculations, one can verify that ~ has the same set of eigenvalues (0, A, a- and r) as theoriginal matrix .~1,with multiplicities 3, 3, 2 and 1. The eigenvectors constitute an orthogonal basisaccording to the scalar product defined by (87). It follows that the generic population N~can beexpressed as

    N1(x, t) = ~ A~(x, t), (88)

    where A~are the eigenvectors and ~ (n) are the corresponding fields.It is readily checked that the subspace of the conserved vectors (zero eigenvalue) is spanned by

    A~~=(1,1,1,1,1,1,1,1,1)an11, A~2~=(1,1,0,1,1,1,0,1,0)=c~~,

    (89)A~3~=(0, 1, 1, 1,0, 1,i, 1,0)=c,~

    The identification of ~ ~ with the density p and of ~ (2), ~ (3) with the xy projection of the currentI = pv is immediate. After some algebra, one finds also

    A~9~= (1, 2, 1, 2, 1, 2, 1, 2, 2) an r,(90)

    = r.c,~, = r,c,ywith eigenvalues r, a- and a- respectively. Formula (90) suggests the identification of the fields ~7) and

    (8) as the xy projection of a density current ire, whose density field is 4~(9), hereafter denoted by ~. Weshall refer to i and p~as ghost fields, for reasons which will become clear in the following. Finally, A~4~and A~5~coincide with Q,~and Q~and the vector A~6~has the following expression: A~6~=Q,,,., + ~Q1~.Hereafter, we find it more convenient to use the tensor Qiap instead of ~ A~5~and~ In this case, we loose the orthogonality of the basis but, as we shall see below, the definition of thestress tensor Sap becomes straightforward: Sap = E

    1 Pi14QiapBacked up by the list of the eigenvectors, one can project the equations (81), as in the FHP. The

    result is the following set of non-linear partial differential equations:

    ~p+ aaja =0, a~1.i.+8afla = ~ , atJa + aa(p/2) + apSap 0,

    (91)+ 0a(/~L/2)+ apTap = t7~1a, a~S

    0~+ ~ + Gap = A(SaP S~~)

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 169

    Here

    g(p) = ~(12 p)/(24. p), S~ = pg(p)(vavp ~v26ap), Tap = ~ PITINiQIaP

    1 1 (92)Hap = aafp + apJa ~13y1yap , ~ an PiTiCiaCipl~iyCj

    8 , G~,p= Rap..,~ay

    We remark the formal similarity of the lhs of the equations for the ghost fields and for thehydrodynamic fields, which will be useful in the following. In particular, it is possible to switch from oneblock to the other by changing the weights of the various directions: p, ~ p1r1. The different weightsimply the non-isotropy of the ghost stress tensor:

    ~ ~ T~~=2S~~, (93)

    where Tr denotes the trace of a matrix.Using eqs. (91), it is also possible to prove the uniqueness of the symmetries used to define the

    collision matrix in LBE. Let us start with the most general 9 x 9 matrix .s~,and let us impose thefollowing requirements: (i) the conservation of mass and momentum, (ii) ~ has the same symmetries ofthe lattice, (iii) in the macroscopic limit the LBE reproduces NavierStokes behaviour. It is possible toverify that, under the above constraints, the resulting matrix has the same structure as ~. We argue thatthis uniqueness is not peculiar to the FCLIC, but can be extended to other lattices.

    By similar but lengthier, calculations one can treat also the three-dimensional FCHC. The dimensionof the reduced collision matrix is 18 x 18. The expression of the eigenvectors is given in appendix B.The resulting macrodynamic equations have essentially the same structure as in 2D. The resultsobtained for the latter case can be transposed to 3D with only minor modifications. In the following weshall then restrict ourselves to the two-dimensional equations.

    4.4. Hydrodynamic behaviour of the lattice Boltzmann equationLet us now discuss the macrodynamic equations obtained in the last section, focusing on the

    possibility of recovering the equations of hydrodynamics.In order to obtain the incompressible NavierStokes equations from the sets of equations (83) or

    (91), it is sufficient to satisfy the following three requirements. The first is the possibility of neglectingghost fields with respect to hydrodynamic fields. The second is the usual incompressibility conditionp const. The third is the validity of the adiabatic approximation, i.e. the time derivative term in theequation of the stress tensor Sap be much smaller than the other terms in the same equation. Let us nowsubstitute the expression of the stress tensor corresponding to these assumptions in the equation for thecurrent. One can easily check that NavierStokes equations are recovered, apart from the usualconstant factor g(p), which can be easily rescaled out.

    The first condition is strictly related to the issue of higher-order terms of the multiscale expansionused in the last section. Equations (83) and (91) suggest that the various fields have generally thefollowing order:

    Sv2+ ev, ,~ ev2+ s~v, p.--.O(ei). (94)

  • 170 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    Because the corrections to (81) are at least of second order, the rates ~IS and j.~IS tend to zero ase ~ 0. Figures 4 and 5 provide a visual confirmation that the activity of ghost fields is mainly confined tosmall scales. When the adiabatic expression of the stress tensor is substituted into the equation for thecurrent, a viscous term 0(e2) is generated. It is then necessary to include the second-order contribu-tions to this equation, coming from the expansion of the streaming operator. In section 2, thesecond-order expansion of the streaming operator was performed in order to obtain the macroscopicequations for a lattice gas model. These calculations can be transposed with no modification to our case.One can thus verify that the final result is the inclusion of the propagation viscosity contribution.

    Concerning the incompressibility issue, it is well known [50]that this approximation requires that thevelocities of the fluid be much smaller than the speed of sound and has already been discussed in thegeneral context of lattice gas models.

    The physical meaning of the adiabatic approximation is that the typical hydrodynamic time scale ismuch longer than the time scale of relaxation to the local thermodynamic equilibrium. Non-equilibriumfields are then adiabatically slaved to the equilibrium fields.

    To obtain a quantitative constraint on the eigenvalues of the collision matrix, let us observe that, thespeed of sound being of the order one, the inverse time scale of propagation associated to aperturbation having a wave number k is of the order k. In the continuous version of the equations forthe stress tensor, the relaxation time is equal to 1/IA. It is then reasonable that, in order to verify theadiabatic approximation, the inequality

    IAl~k (95)must be satisfied. Condition (95) is in agreement with the experimental observation that hydrodynamicbehaviour is already attained for the modes having a wavelength of few lattice spacings.

    With respect to the dynamics of the other non-equilibrium fields, one should require that theircharacteristic time scales are smaller or at least comparable to that of the stress tensor. Denoting by ~the generic non-zero eigenvalue of the collision matrix, the condition I ~l I Al naturally arises. In thediscrete case, the maximum speed of relaxation is attained for ~= 1. The use of this value for theeigenvalues of the ghost fields was suggested in ref. [39].On the other hand, we expect that the

    ~ ~ c

    ~

    Fig. 4. Typical snapshot of the hydrodynamic vorticity field (from ref. Fig. 5. Typical snapshot of the ghost vorticity field (from ref. 169]) at169]) for a 1282 simulation with Mach number M = 0.2. the same time and with the same parameters as in fig. 4. The

    amplitudes are scaled down by six orders of magnitude with respect tothe fields in fig. 4.

  • R. Benzi et a!., The lattice Boltzmann equation: theory and applications 171

    behaviour of the system may change in the neighbourhood of A = 2, where the viscosity is very small.It is in fact well known in statistical mechanics that, when one of the kinetic coefficients tends to zero,macroscopic equations must be modified, by including higher order terms of the multiscale expansion[12].

    A simple example where the previous observations are relevant can be provided. Let us consider therelaxation of a macroscopic perturbation as a function of A in the two-dimensional FCHC model.Non-linear terms, which do not contribute to dissipation, are discarded. The dynamics is well repre-sented by the following set of equations

    a~J~=0, atJa +aa( p12)+apSap + ~apapJa =0,(96)

    aiSap + ~(aaJp + pJa) = A(Sap S~).Notice that we have included the contribution corresponding to the propagation viscosity (otherwise thevalue A = 2 would not be critical). Thanks to the isotropy, there is no lack of generality in consideringthe case k~= 0 and the substitution k~~k is sufficient to obtain the eigenvalues in full generality. Bylooking for the solution in terms of a Fourier series E k exp(ikx xkt), the following dispersion relationis easily found,

    (97)

    In the limit k ~ I Al, the square root can be developed in terms of k/I Al. At the leading order, theexpression of the eigenvalues is

    X~A+0(k2), ~~~~k2(1+2IA)+O(k4). (98)One also finds that, at the leading order, the evolution of the fields, as a function ofthe initial values, is

    J~(t)= J~(0)exp(x~t)+ ~ exp(x~t)],(99)

    S~~(t)= S~~(0)exp(x~t)+ (ik~I3A)J~(0)exp(x~t)The results are the same as those one would get by using the adiabatic approximation. In the oppositecase (IA I s k), the relaxation time is very long, the non-equilibrium field S~,is not slaved to J~,and thebehaviour is not hydrodynamic. This confirms the validity of (95).

    Let us now consider the limit where A is very close to 2. Within the scales verifying the inequality(95), there is a range of modes such that the term 0(k4) in the expression of x~has the same order ofmagnitude as the first term. These scales are in fact no longer described by eqs. (96) and higher-orderterms in e must be included. In the general case these contributions are not isotropic (at least for FHPand FCHC lattices) and the model is no longer representative of the behaviour of a real fluid in thisrange of scales.

    In summary, we have shown that the lattice Boltzmann equation is a hyperbolic approximation of theNavierStokes equations, i.e. the stress tensor is slaved to its hydrodynamic expression within a delaytime of the order 1/I Al. When the viscosity is not too small, the lattice Boltzmann equation convergesto NavierStokes equations better and better as the viscosity is decreased. When the eigenvalue A is

  • 172 R. Benzi et a!., The lattice Bo!tzmann equation: theory and applications

    very close to 2, non-isotropic and non-universal higher-order terms of the multiscale expansionbecome of relevance. This issue will be discussed in more details in the following section.

    4.5. The limit of zero viscosityThe observations made in the previous section concerning the limit of zero viscosity can be

    quantitatively clarified by the analysis of a simplified one-dimensional model. The advantage is that asolution of the model in its fully discrete form can be found, with no need of any multiscale expansion.

    The model is defined on a one-dimensional lattice with two states per node. Particles can moverightwards and leftwards with a unit speed. The equations corresponding to (71) are

    N,(x + c,, t+ 1) N,(x, t) = .s141(N3 Np). (100)

    Because our aim is to obtain a diffusive behaviour on the macroscopic scales, we impose that collisionsconserve the mass. Consequently, the collision matrix only depends on the coefficient a, governing thescattering rate between the nghtwards and leftwards directions. In particular, the matrix elements area11 = a22 = a and a12 = a21 = a. The eigenvectors are (1, 1) with zero eigenvalue and c, = (1, 1)with eigenvalue 2a. The corresponding fields are ~ = 1N1 and J = N,c,. The equilibrium popula-tion needed to obtain a diffusive behaviour*) is simply N~ = 4 /2. The same projection procedure usedpreviously can be obviously repeated in this case. The equations corresponding to (96) are

    ~a~a~=0,a1J+a~4=_2aJanAJ, (101)where J = E~N,c,. In the macroscopic limit and in the adiabatic hypothesis, the behaviour of the model

    is purely diffusive and the diffusion coefficient D( A) isD(A)=(1IA+~). (102)

    Remark that D( A) depends on the parameter A in the same way as the viscosity in hydrodynamics. Inparticular, in the limit A~ 2, the kinetic coefficient vanishes.

    Let us now consider the discrete solution. The model is linear and the solution is most convenientlysought in terms of plane waves,

    exp[ikm Xkfl], (103)where m and n are integers. It is easy to obtain the dispersion relation. One of the eigenvalues describesa pure relaxation, while the other is associated to diffusive behaviour. The frequency of the diffusivemode can be recast in the following form

    Xk = [D(A)/Q(A,0)]k2. (104)

    Here D( A) is the macroscopic value of the diffusion coefficient, 0 is the wavenumber normalized to thelattice spacing and

    *) Remark that by using N~= 4il2 + c4.214 at the leading orders we obtain the Burgers equation.

  • R. Benzi et a!., The lattice Bo!tzinann equation: theory and applications 173

    Q(A,0)~02[(2+A)IA]log{fl(2+A)cosO+\fA2(2+A)2sin20]} (105)is a function which embodies the effect of the lattice discreteness [52](the parameter appearing in ref.[52] is equal to A /2). As one can check by direct inspection Q(A, 0) = 1, in agreement with (102). It isnow of interest to examine the behaviour of this function. A series of curves for different values of A inthe interval (0, 2) are shown in fig. 6. From this figure, we see that:

    (i) The region of convergence to the macroscopic value extends as I Al grows, provided that A is nottoo close to 2. For values of A far enough from 2 and 0, the corrections to the hydrodynamic valueQ = 1 are very small for the scales of interest.

    (ii) For small values of A, the corrections tend to overdamp the modes. In the opposite limit therelaxation rate of the modes is decreased.

    (iii) In the neighbourhood of 2, for a fixed k, the corrections tend to increase when I Al grows andthe transition to non-dissipative behaviour becomes more abrupt.

    The behaviour of the system is definitely in agreement with the phenomenological predictions madein the previous section. When the kinetic coefficient approaches zero (Ap 2), there is obviously noproblems with isotropy as in the multidimensional case and the higher-order terms only reflect in thefact that the model function Q( A, 0) displays a sharper dependence on 0.

    We argue that (iii) has a certain generality. Also in hydrodynamics the value 2 is indeed thefrontier between the stable and the unstable regions. When transferred to the context of hydro-dynamics, these considerations suggest that, by pushing the viscosity too low, undamped scales areexcited and the scheme is prone to numerical instabilities, as observed in numerical experiments.

    4.6. Numerical efficiencyAlthough lattice gas models bear an intrinsic interest as fictitious ab initio models offluid flows, it is

    clear that much of the attention they have been capturing in the last few years is to be attributed totheir potential as a new computational tool for numerical fluid dynamics. The purpose of this section is

    I ________________________theta

    Fig. 6. The function Q( A, 0) expressing the effect of lattice discreteness on the value of the diffusion coefficient versus 9 for various As. Frombottom to top: A = 1.02; A = 1.2; A = 1.4 and A = 1.6.

  • 174 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    therefore to outline the main concepts which allow a semi-quantitative assessment of the numericalefficiency of the lattice Boltzmann equation.

    We begin with some definitions. Let L be the integral scale of the flow, 1d the dissipative scale;1!mfp = v/c, the particle mean free path, a the lattice spacing. According to the discussion of section 2.4,the Reynolds number R achievable with N lattice sites (L = Na) is given by:

    R=MR*N, (106)

    where R* = c,alv a/lmfp and M = v/c, is the sound Mach number. The dissipative length 1d is relatedto the integral length by the relation Id LIRtm (m = 1/2 in d = 2 and m = 3/4 in d = 3), whence weobtain

    R = (LIld)Vm = (aIld)~mNhJm. (107)From these expressions we see that the Reynolds number is basically controlled by the particle meanfree path (R* = in lattice units). As shown in section 4.4, the viscosity ii = lmfpCs is related to theleading eigenvalue of the collision matrix, A, by

    v[c2/(D+2)](1IA+ ~), (108)which shows that, by letting A come close to 2, one could hope for the possibility of reachingarbitrarily high values of the Reynolds number, even working in a finite lattice.

    It is useful to identify two main working-regimes for LBE: (a) adiabatic regime: 1mfp ~ d (b)numerically resolved: a ~ d~ Obviously, the aim is to work in the adiabatic regime (in order for LBE tobe a true picture of the NavierStokes equations) and having enough resolution to guarantee thevalidity of the multiscale expansion. Hence the right ordering is mfp ~ a ~ d For the sake of clarity, letus specialize to the two-dimensional case. The numerically resolved regime is attained for a givenReynolds number whenever the number of nodes exceeds a minimum threshold NNR, given by

    ld/a=N/R1, NNNR=R~2. (109)

    On the other hand, the adiabatic regime is characterized by the condition

    1 Ia 1 10* ~1I2iafp mfp = III~ =~__>~ (110Id Id/a N/RV2 NR*

    which identifies the adiabatic threshold NAD as

    NAD = RII2IR*. (111)

    From this equation we see that for R * > 1 (the usual lattice gas regime), once numerical resolution hasbeen ensured, adiabaticity will ensue automatically, while the reverse is not true. Differently restated,this means that, at variance with the earliest lattice gas schemes (R* 1), the limits of LBE are fixed bycomputational resolution rather than by the discreteness of velocity space.

    It is now instructive to represent the equation (106) in the RN plane. In this plane, (106) is

  • R. Benzi et a!., The lattice Boltznsann equation: theory and applications 175

    represented by a series of straight lines whose slope is given by 1 /MR*. Thus by increasing R~, for afixed R, one linearly reduces the number of computational nodes. However, in view of eq. (111),represented in fig. 7 by the solid line, we see that this reduction is really effective only as long as N doesnot fall below the threshold NNR. Otherwise 1d becomes smaller than the lattice spacing and the wholemultiscale expansion breaks down. This clarifies the reason why the limit v*0 with A * 2 is purelyformal.

    Let us now examine more closely the numerical properties of LBE.First of all, notice that, as usual for numerical schemes working at a unit Courant number yr/a (r was

    introduced in (78)), the LBE scheme is free of numerical dispersion and diffusion.The second issue concerns the numerical stability of the scheme. The linear stability discussed in

    section 4.2 applies only to quasi-uniform flows, with small departures from zero flow speed uniformequilibria, N~(v= 0) = d. The dynamics of the fluctuations around non zero-speed equilibria is moreand more exposed to the effects of non-linear modemode coupling between the various populationsNi. As is well known, non-linear modemode coupling can give rise to high-frequency modes, whosecorrect representation in the discrete grid is mandatory to preserve the positivity of the distributionfunction. Violation of this condition may result in catastrophic instabilities, because terms which arephysically stabilizing change sign and destabilize the system. This is easily seen by expliciting thedefinition of the flow current v = E 1s1

    1c1 in the expression of the non-linear term in the equilibriumpopulation. This yields

    + (c1 O)N, = ~ N~) P4Jk(N1 Nr)(Nk Np), (112)

    where

    P4jk = P(J(P)~9(4hQhapt~jaCkp , (113)which clearly reveals the non-linearity hidden in the expression of the equilibrium population. At aqualitative stage, the scenario for the development of non-linear instabilities can be devised byidentifying the rhs of eq. (112) with a restoring force which drags the system to equilibrium. When vincreases, counterfiow populations (v~c1

  • 176 R. Benzi et a!., The lattice Boltzmann equation: theory and applications

    around the corresponding equilibrium will suffice to make the restoring term negative, turning it into arepelling one and thus triggering the instability.

    Specifically, it is a common finding of the authors that whenever the viscosity becomes too small, i.e.so small that scales comparable to the lattice pitch are excited, numerical instabilities develop in theflow. These instabilities may proceed via two mechanisms: either a conspicuous flow speed sets uplocally (local violation of the low Mach number limit) or strong gradients are generated (local violationof the Knudsen limit). In both cases, a careful monitoring has evidenced that they are invariably relatedto the violation of the constraint on the distribution function: 0 Ni 1.

    These instabilities could be cured by using the full non-linear Boltzmann collision term, but thiswould considerably tax the computational efficiency of the method. This operator would indeed requireof the order of 2b flops instead of b

    2. Intermediate solutions, i.e. higher-order expansion ofthe collisionoperator might prove effective in solving this problem.

    Having discussed the stability of LBE, we can now turn to its numerical efficiency. The dynamics ofLBE is driven by the streaming operator and the collision operator. The streaming operator is local invelocity space and non-local in configuration space, while the opposite is true for the collision operator.One can arrange the distribution function in a 4D array F(I, LX, LY, LZ) with I representing thevelocity index and LX, LY and LZ the spatial indices. The streaming step involves b address-shiftings ofthe spatial indices, while the collision step requires of the order of b2 floating point operations (flop)between different Is for the same grid point. Assuming for a while that the cost of data transfer from/tomemory can be neglected, it appears that the computational kernel of LBE consists of 0(b2)flops Ispatial site. Remark that, for the FCHC lattice, b does not coincide with the number of links ofthe four-dimensional lattice. Thanks to the degeneracies discussed in section 4.2, in two dimensions 9fields are needed, while in three dimensions this number increases to 18. Actually, it is worth notingthat the storage requirements of LBE are somehow increased by the presence of the ghost fields. In 2Dwe have to solve for 9 fields, but only 6 (density, velocity and stress tensor) would be needed for theaim of a hydrodynamic analysis. In three dimensions the situation is 18 fields against 10. One could tryto avoid this waste by storing only the hydrodynamic fields and converting them to/from thecorresponding b population fields just before/after the move cycle. This choice obviously corre-sponds to the suppression of the ghost field dynamics.

    The scheme being explicit in time and local in space, one concludes that LBE is an ideal scheme forvector and parallel computing, in precisely the same way as boolean lattice gases are. When the schemeis implemented in a specific computer architecture, some caution is needed, however, in order to fullyexploit the potential of computational concurrency offered by the scheme. Of particular importance, tothis concern, is the minimization of the costs associated with data transfer from/to storage to/from theprocessing units.

    In the case of IBM 3090 vector-multiprocessor, the machine to which most of the authors experiencerefers to, data-transfer minimization is achieved by accessing data at stride one, i.e. along contiguousmemory locations (stride 2 is equally good). This allows a full bandwidth transfer from central memoryto a high-speed buffer (cache) from which operands are delivered to the processing unit at a rate of oneword per machine cycle. The collision step is particularly well behaved in this respect, in that it requiresmany ( b2) flops per each item reference. The move-step, while much less demanding in principle (noflops at all), is of course much more exposed to the negative effects of awkward data access. This isparticularly true in three dimensions, where strides are of order ofN2. Therefore some care is needed inDO loops ordering and arrangement before the computational cost becomes really negligible, as itshould be in view of the much smaller computational work required [65].To date, on a single processor

  • R. Benzi et a!., The lattice Bo!tzmann equation: theory and applications 177

    of the IBM 3090-VF, sustained rates of 3050 Mflops are currently achieved, which correspond to about1 Msite/s in two dimensions and 0.1 Msite/s in three. More recently, LBE has been timed on theIBM RISC system 6000 superscalar workstation, where processing rates of the order of0.3 Msite/ s havebeen measured in two dimensions.A detailed comparison for the case of a 1282 grid (which will be discussed in section 5.1) has proved

    LBE to be roughly as fast as a pseudo-spectral code. This comparison is however of little importance ascompared to the real advantage of LBE, which is linear scalability for parallel processing. It isremarkable that this linear scalability can already be observed on non-dedicated machines, such as theIBM 3090, where speed up factors of 5.5 have been achieved when passing from the mono to the fullsix-processor configuration. The use of massively parallel SIMD (single instruction multiple data)architectures should allow the full exploitation of the capabilities of the scheme.

    5. Applications

    5.1. Two-dimensional homogeneous turbulence

    The validity of LBE as a numerical scheme for fluid flows was first shown for the case of moderateReynolds number (R < 100) two-dimensional flows (see figs. 8a and 8b) past a cylinder [38].Thesesimulations were limited to a maximum value of R* = 7.57, for the LBE scheme was still in aone-to-one correspondence with the underlying FCHC lattice gas automaton.

    The ability of LBE to reproduce two-dimensional turbulence was investigated in detail in ref. [2]with the model in the enhanced version (cf. section 4.2). As a first insight in the capability of LBE,the scheme was compared against a pseudo-spectral simulation for the case of a homogeneous forcedturbulent flow. Three levels of resolutions were adopted: low (64 x 64), moderate (128 X 128) and high(512 x 512). In fig. 9 we show the time series of the energy E and the enstrophy LI for both LBE andpseudo-spectral (PS) simulations, in the case of low numerical resolution. From this figure we see that,apart from some spiky fluctuations in the early stage of the evolution, the two methods yield quite asimilar answer in terms of the statistical behaviour of the flow. The comparison was subsequentlypushed forth by inspecting the energy spectrum E(k) at moderate resolution. This is shown in fig. 10,which clearly displays the excellent match between the two methods (it is to be mentioned that thisspectrum pertains to the time-asymptotic regime). In particular, it is worth noting that beyond a given

    SIREAKLII[S ~ II

    0 ~ 21

    Fig. 8. (a) Streaklines representation of a typical vortex shedding instability computed with the lattice Boltzmann equation (from ref. 1381). (b) Thevorticity field corresponding to the same situation as in (a) (from ref. [38]).

  • 178 R. Beazi et a!., The lattice Boltzmann equation: theory and applications

    Energy Spectrum 64x84 grid

    ~BE II 1007

    ~~~___] 10021003-1004- . .. ... LOlE~O5 ~ SpecS,I

    ~ ~

    1072Energy 10-13

    ____________________________________________________________ 1016 ____________________________________________________________

    50 100 150 200 250 0 10 20 30 40 50 60 70time Wavenumber

    Fig. 9. Energy and enstrophy time series for a 642 lattice Boltzmann Fig. 10. Energy spectrum for a 642 simulation with the pseudospectraland spectral simulation (from ref. [2]). (solid line) and lattice Boltzmann method (dotted line) (from ref. [2]).

    maximum wavenumber a flat spectrum sets in. It is remarkable that the landmark wavenumber for thislack of dissipation is basically the same in the two cases. The last step, and the most severe one, of thisanalysis was focused on the ability of LBE to reproduce the inertial statistical properties, where theenergy spectrum has the form of a power law E(k) = k~. The universality of the exponent a is stillunder debate. The numerical parameters were chosen in such a way as to yield a nominal Reynoldsnumber of about 5000 (based on the global size of the computational box). The energy spectrum isshown in fig. 11 from which no clear evidence of a scaling regime can be deduced. This contrasts withprevious findings of k3 spectra observed in pseudo-spectral simulations with the same number of gridpoints [51]. A tentative explanation of this discrepancy can be traced back to the use in the PSsimulation of superviscosity terms proportional to 48, which reduce dissipation in the high-frequencyregion of the spectrum, and inverse dissipation terms 41 which enhance dissipation at large scales.Obviously, none of these mechanisms is active in the LBE simulation, as witnessed by the absence ofsmall-scale eddies