operations with the two allowed values taken as O and 1. From this organization scheme we see that the hexagonal lattice gas can be seen as a Boolean parallel computer. In fact, a large parallel machine can be constructed to implement part or all of the state table locally with Boolean operations alone. Our simulations were done this way and provide the first example of the programming of a cellular-automaton, or cellular-space, machine that evolves the dynamics of a many-degrees-of-freedom, nonlinear physical system. and B = 1,.,6. One never requires this much detail except to work out explicit tensor structures and scalar products particular to the hexagonal model case, but the index conventions are important to avoid disorientation. From now on the Greek indices a, ß,.·.· label lattice direction indices; î, j, k,....... are lattice unit vectors and i,j,k label space indices (X1, X2,.....); on a square lattice we have r = (X1, X2) = (x, y). ... १ The first thing we will look at is pure transport on the lattice with no collisions. Because the basic space is a discrete lattice with a fundamental lattice spacing, rather than a continuum, a shadow of the lattice is induced into the coupling constant of the theory, namely the viscosity. This lattice effect is not obvious, but we will make it so by looking at transport on the lattice in detail. As a corollary we will derive the usual Euler equations for the “macroscopic" flow of the lattice gas. To do a quick analysis on lattice models we lift the restriction of a deterministic gas and pass to a probabilistic description familiar from kinetic theory; then we can use familiar stochastic and kinetic theory tools outlined in Part I of this article. In going from a continuous to a discrete probabilistic formalism we introduce the lattice form of the single-particle distribution function by making the identifications ƒ(r‚Ã‚t) →ƒç(r,t) ,г, t)dr (8) H 9 4 To begin we write the master equation for fg in the absence of collisions. The master equation expresses conservation of probability. For simplicity we write it for a square lattice with the following conventions: ng(r+ig,t) = number of particles in the direction ẞ at the node r+ig at time t. The master equation for the system, neglecting collisions and written in a continuum notation for convenience, is fç(r+h, t + k) − f(r,t) = 0, with h = Î ̧dx, k = d1, 9 * which has the standard form of the kinetic theory transport equation in the absence of collisions. If we include collisions, the full Boltzmann transport equations schematically become Ə‹ƒ3 + Î3· Vƒ3 = C3(ƒ) where C3(f) is the collision operator on the lattice. The form of the lattice collision operator will tell us a great deal about how the model works, but for the moment we just look at the general structure of the "macroscopic" equations for the lattice gas to the lowest order in the lattice expansion parameters. Noncovariant term = (9) (10) 3 So far we have kept only the leading terms of the Taylor series expansion in the scaling factors that relate to the discreteness of the lattice. It's easy to show that keeping quadratic terms in this lattice-size expansion leaves the continuity equation invariant but alters the momentum equation by introducing a free-streaming correction to the measured viscosity. This rather elegant way of viewing this correction was first developed by D. Levermore. The correction comes from breaking the form of a Galilean covariant derivative and is a geometrical effect. Specifically, to second order in the lattice size expansion, the momentum equation does not decompose simply into factors of these covariant derivatives but instead the expansion introduces a nonvanishing covariant-breaking term: (11) (12) (13) (14) This term is of the same order as those terms that contribute to the viscosity. Later we will show how to use the Chapman-Enskog expansion to compute an explicit form for the lattice-gas viscosity. The Chapman-Enskog Expansion and the Direct Expansion. The form of II, depends on the form of f, the solution to the full lattice Boltzmann transport equation. By Hilbert's construction we know that an efficient expansion can be developed in terms of the collision invariants of the model up to powers of terms linear in the gradient of the macroscopic velocity. In whatever perturbation expansion of ƒ we choose, the coefficients in the expansion are fixed by solving for them under the Lagrange multiplier constraints of mass and momentum conservation: p = fs and (pv) = Σ33f3. In the simple hexagonal model there is no explicit mechanism provided for storing energy in internal state space, so there is no independent energy equation. For the lattice case, the Chapman-Enskog version of Hilbert's expansion reduces to an expansion in all available scalar products using the vectors i, v and the vector -> operator. The expansion is made around the global equilibrium solution for v = 0, which we will call Nv=0 and terms are kept up to those linear in a. The relevant scalar products are eq (3 -13), Ông - v), Ông - 7), v), (7 - v), (g-v), (v-v)+0(v). The systematic expansion becomes fo £à = Nx® { 1 + aåg • v + @ [dy • w)2 = { lwi3] + [d, J›d,v) = { J' ·v] + O(v)...} NV=0 eq ai - = B1 მ კ V . (15) In the usual kinetic theory approach the coefficients a and ẞ can be found by neglecting collisions and B1, the gradient term, can be determined only by an explicit solution to the full Boltzmann equation including collision terms. In this way one obtains the viscosity in terms of B. For the discrete lattice, however, both ẞ and B1 depend on the explicit form of the solution to the full Boltzmann equation with collisions. We also need that form to recover the correction to the raw viscosity that, as mentioned in the last section, comes from pure translation effects on the lattice. Given that we have to use the full solution to the Boltzmann transport equation almost immediately, we now derive its structure, find the general and equilibrium solution, and then use a direct expansion to fix both ẞ and 1. In the process we will recover the Euler equations for inviscid flow and the Navier-Stokes equations for the flow with dissipation. The Lattice Collision Operator and the Solution to the Lattice Boltzmann Transport Equation. We will write down the discrete form of the Boltzmann equation, especially noting the collision operator, for a number of reasons. First, writing the explicit form of the collision kernel builds up an intuition of how the heart of the model works; second, we can show in a few lines that the Fermi-Dirac distribution satisfies the lattice gas Boltzmann equation; third, knowing this, we can quickly compute the lattice form of the Euler equations; fourth, we can see that many properties of the lattice-gas model are independent of the types of collisions involved and come only from the form of the Fermi-Dirac distribution. Collision operators for lattice gases with continuous speeds were derived by Broadwell, Harris, and other early workers on continuum lattice-gas systems. For totally discrete lattice gases with an exclusion principle, we must be careful to apply this principle correctly. It is similar to the case of quasi-particles in quantum Fermi liquids. The construction reduces to following definitions of collision operators introduced in the section on classical kinetic theory and counting properly. Taking any hexagonal neighborhood, let i be one of the six directions and use the convention i, i + 1, i + 2, ... = ¡ß=i‚Ïß=i+1, İß=i+2,... for convenience. (Later we will return to our original notation.) First consider binary collisions alone, and assume detailed balance, which implies microscopic reversibility of a collision at each vertex. One need not use detailed balance, but other balancing schemes are algebraically tedious and conceptually similar extensions of this basic case. Given a vertex at (r,t) we compute the gain and loss of particles into a neighborhood along a fixed direction, say i. This is, by definition, the collision kernel for binary processes. First compute the number of particles thrown in a collision into a phase-space region along the direction i. Let n,(r,t) be the probability that a particle is at the node (r,t) and has a velocity in the ith direction. where n1 = (1 − n ). The ñ¡ 's impose the exclusion rule in the output channel, namely, that a particle cannot scatter there if one is already present. Loss of a particle from direction i can occur only by the binary collision (i +3, i), and this can happen for each of the two choices of gain collisions separately. So we have (−2n¡n¡ +3 Ñ¡ + 1 Ñ¡ +2Ñ¡ +4Ñ¡ +5) as the probability for loss in the i direction due to binary collisions alone. Note that these products can be compactly expressed as ñ¡î¡ + 3 π _0(1 − n;) where ñ;= n i=0 1-ni The three-body gain-loss term can be written down by inspection in the same way as the binary term. The complete two- and three-body collision term for the ith direction, in compact notation, is C2+3 = [(Â¡+1Ñ¡+4 + Ñ¡+2Ñ¡+5 − 2Â¡Ñ¡+3) + (Ñ¡+1Ñ¡+3Ñ¡+5 − Ñ¡Ñ¡+2Ñ¡+4)] IT{=0(1 − n¡). For extensive calculations more compact notations are easily devised, but this one clearly brings out the essential idea in constructing arbitrary collision schema. With some minor modifications this form for the collision operator can be reinterpreted as a master equation for a transition process, which is useful as a starting point for a detailed microkinetic analysis by stochastic methods. Given the C(f) for two- and three-body collisions in the above compact form, and given detailed balance, we show that C(f3) = 0 for the Fermi-Dirac distribution. The proof is simple and well known from quantum Fermi-liquid theory where the same functional form for the collision operator appears but with a different interpretation. If n is a Fermi-Dirac distribution, it has the form (1 + e£)−1 = n(E) where E is expanded in collision invariants, in this case particle number and momentum. Then note that = ĥ = e e-E, the form of the Maxwell-Boltzmann distribution. This is also the form of the collision kernel, and the exponential terms just contain the sum of momenta in the collision. Since this sum is conserved, each collision term (binary, n 1 |