Page 226 - gas transport in porous media
P. 226
Stockman
222
lattice unit, the fundamental unit of distance in the automaton (the distance between
adjacent nodes is one lu); ts refers to one time step in the automaton. Mass is allowed
e
to move about the grid, but via a fixed set of n velocity vectors i (n is typically 15
or 19 for 3D LB). At each node, there is set of n floating-point (non-integral) particle
distribution functions f i , corresponding to each ith velocity. The mass density at each
6 n−1
f
node is ρ = i=0 i . The evolution of the particle distribution function f i with time
t,is calculated according to
eq
f i ( r + e i , t + 1) = f i ( r, t) − ω · (f i ( r, t) − f ( r, t)) (13.1)
i
eq
where is a node position (x, y, z) in the lattice, f is the Boltzmann equilibrium
r
i
distribution, and ω is the collision operator, which determines the viscosity and dif-
eq
fusion coefficients. With a carefully chosen form for f , the ρ(x, y, z) will obey the
i
incompressible Navier-Stokes equation for fluid flow. There are several ways to add
momentum “kicks” with each step, so the fluid will accelerate, perhaps reaching a
viscous equilibrium. In this chapter, it is assumed that all LB calculations use some
variant of the BGK (Bhatnagar-Gross-Krook) method, where the collision operator is
simply a constant 1/τ (Qian et al., 1992). It is important to understand that LB does
not presume to be a model of molecular behavior; while one refers to distribution
functions, and there are allusions to translations of particles, the distributions are
merely convenient artifices for tracking the movement of mass and momentum.
In typical LB computer programs, a translation or streaming function performs
the left side of Eq. (13.1), and a collision function performs the right side. Thus,
Eq. (13.1) is really carried out in two steps:
eq
1. At each node, an equilibrium distribution f is calculated for each vector direc-
i
tion. The distribution of f i at that node is then replaced with a new distribution
eq
f i − ( f i − f )/τ.
i
2. The new f i are then translated, or “streamed,” along the vector directions to the
adjacent nodes. This process is handled by the computer in such a way that none
of the new values are accidentally overwritten.
A velocity field is calculated at each x, y, z site as
n−1
e
u = (u x , u y , u z ) = f i · i (13.2)
i=0
2
u = u · u (a scalar) (13.3)
In this chapter, we use the 19-vector D3Q19 lattice (Qian et al., 1992). This lattice has
one “rest” particle with a velocity vector e 0 = (0, 0, 0), six velocity vectors along the
Cartesian axes (permutations of (±1, 0, 0)) and twelve vectors that are permutations
of (±1, ±1, 0). For this lattice, the equilibrium distribution is calculated as (Martys

