Você está na página 1de 12

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??

, DECEMBER 2008 1

The Lattice-Boltzmann Method on Optimal


Sampling Lattices
Usman R. Alim, Alireza Entezari and Torsten Möller, Member, IEEE

Abstract—In this paper, we extend the single relaxation time the other hand, since there were no data given on the BCC
Lattice-Boltzmann Method (LBM) to the three-dimensional body- lattice, there was no need to develop signal processing tools
centered cubic (BCC) lattice. We show that the D3bQ15 lattice to process such lattices.
defined by a fifteen neighborhood connectivity of the BCC lattice
is not only capable of more accurately discretizing the velocity There has been an effort in the last several years to break
space of the continuous Boltzmann equation as compared to the this cycle. Entezari et al. have created proper reconstruction
D3Q15 Cartesian lattice, it also achieves a comparable spatial (interpolation, approximation) filters for the BCC lattice, that
discretization with 30% less samples. We validate the accuracy of are comparable to their Cartesian counterpart in numerical
our proposed lattice by investigating its performance on the 3D accuracy [12], perceptual accuracy [21], and have been shown
lid-driven cavity flow problem and show that the D3bQ15 lattice
offers significant cost savings while maintaining a comparable to be twice as fast as their Cartesian counterparts [13]. These
accuracy. We demonstrate the efficiency of our method and insights make it almost possible to break the above mentioned
the impact on graphics and visualization techniques via the cycle. The one remaining road-block for a more wide-spread
application of line-integral convolution on 2D slices as well as acceptance of the BCC lattice in graphics and visualization
the extraction of streamlines of the 3D flow. We further study has been the fact, that there are no algorithms nor devices
the benefits of our proposed lattice by applying it to the problem
of simulating smoke and show that the D3bQ15 lattice yields available that acquire sampled data directly on this lattice.
more detail and turbulence at a reduced computational cost. The main two sources of discretized volumetric data for
volume graphics are medical acquisition devices and numer-
Index Terms—Flow visualization, Visual simulation, Anima-
tion, Physically based modeling ical simulations. In this paper we focus on the numerical
simulation of fluid flow, as expressed in the Navier-Stokes
(NS) equations. The application of such algorithms cover a
I. I NTRODUCTION wide range of areas from visual effects [14], [15] to urban

I N the context of signal processing and sampling theory,


the goal is to sample a function densely enough (Nyquist),
such that all frequencies in the spectrum of the function are
security [26].
The Lattice Boltzmann method (LBM) is a promising
alternative to traditional top-down techniques for solving the
properly captured by the discrete sampling. Assuming a band- incompressible Navier-Stokes (NS) equations. It has gained
limited function with an isotropic spectrum, the densest sphere attention in the visualization community in the past few years,
packing of the spectra in the frequency domain introduces due to its easy implementation on graphics hardware. Since
the best sampling lattice in the space domain [23]. Hexagonal the purpose of this paper is to change the discretization lattice
packing of the 2D spectrum in the frequency domain leads of the continuous Lattice Boltzmann equation, we found it
to the dual hexagonal lattice being the best sampling pattern important to present an abridged derivation of these equations
for sampling a bivariate function. Similarly, densely packing in Section III. The novelty of this paper, however, is a careful
the 3D spectra in the frequency domain on the Face Centered consideration of the discretization of the velocities and its
Cubic (FCC) lattice introduces its dual, the Body Centered impact on the lattice structure (see Section IV) as well as
Cubic (BCC) lattice, as the best generic pattern for sampling their use in graphics and visualization.
trivariate functions. It is well known that the overall improve- The main contributions of this paper are:
ment of the BCC lattice over the the Cartesian lattice is 30% • This is the first paper to acquire simulation data directly
(either 30% less samples or 30% more information). on a BCC lattice without a necessary resampling step.
This advantage has been known for several decades now [9], The advantage of employing this pattern for simulation
[23], but has not yet found wide-spread acceptance in the is not only on its improved accuracy of sampling, but also
graphics and visualization community. The reasons were two- on its superior computational efficiency properties [13].
fold. On one hand, no practical reconstruction filters or other • Where as in the traditional LBM method the spatial
signal processing and analysis tools had been developed for the discretization lattice is almost always the Cartesian lat-
BCC lattice. Therefore, no devices or algorithms were build tice, velocity discretization is chosen to include extra
nor developed to acquire data directly on the BCC lattice. On directions in addition to the axis oriented directions.
Our proposed lattice for spatial discretization, naturally
U.R. Alim and T. Möller are with the School of Computing Science, Simon
Fraser University, Burnaby, B.C V5A 1S6, Canada. provides more directions for discretization of velocity
E-mail: {ualim, torsten}@cs.sfu.ca. vectors. The increased symmetries in the proposed lat-
A. Entezari is with the Department of Computing and Information Science tice complements, in the LBM, the sampling theoretical
and Engineering, University of Florida, Gainesville, FL 32611. E-mail:
entezari@cise.ufl.edu. advantages such as the efficiency of reconstruction.
Manuscript received September 15, 2008. • We demonstrate the advantages of solving the LBM
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 2

directly on a BCC lattice by improved efficiency of A formal treatment of signal processing concepts for regular
the simulations without incurring any loss in accuracy. lattices, including the Cartesian and non-separable lattices in
Furthermore, stability is significantly enhanced in our 2D can be found in the book by Dudgeon and Mersereau [9].
proposed method. We provide the explanations for the After this early work, the 2D hexagonal lattice has not received
improvements the BCC lattice brings to the LBM. We much attention until Van De Ville et al. created a family
show the impact using line-integral convolutions on 2D of B-splines to the hexagonal lattice, also known as hex-
slices of the simulation as well as 3D streamline compu- splines [31].
tations and the simulation and rendering of smoke. The design of reconstruction kernels for the BCC lattice
builds upon box splines [5], [12]. While this work had focused
II. R ELATED R ESEARCH on the numerical accuracy of the reconstruction, it is important
to evaluate these splines in terms of their perceptual behavior.
The numerical solution of complex partial differential equa-
In setting up a user study, where the users had to judge the
tions is a rich field with many challenges [22]. Modern
quality of images reconstructed on a Cartesian pipeline vs. a
sophisticated techniques often resort to multi-grid methods
BCC pipeline, it has been established that the BCC lattice is
and, in general non-regular lattices. However, the simulation of
comparable to a Cartesian lattice with only about 70% of the
natural phenomena (such as smoke, fire, or fluids) for visual
samples [21].
effects in the movie or gaming industry is often done on a
Despite the numerical accuracy and perceptual fidelity of
Cartesian lattice.
these new box splines, they were prohibitively expensive in
In the early days of Computer Graphics (CG), when the
their evaluation [12]. Looking to make these splines practical
appearance of these phenomena was more important than
for rendering applications, a surprising result was found. With
physical accuracy, researchers used procedural methods [10].
proper piecewise polynomial evaluation of the spline, the
Later, as computers became faster, top-down Computational
rendering speed of a ray-caster, based on the BCC lattice
Fluid Dynamics (CFD) techniques were used to generate
using the quintic box spline, is twice the speed of an efficient
images with high levels of visual realism. Foster et. al [15]
implementation of a ray-caster on the Cartesian lattice based
provided a finite difference solution to the Navier-Stokes (NS)
on cubic B-splines [13]. The intuition behind this result is the
equations and Fedkiw et al. [14] proposed the addition of a
fact, that the support of these (non-separable) box splines is
vorticity confinement force to address the problem of energy
much more compact than separable, tensor-product splines.
dissipation in coarse grids.
III. T HE L ATTICE -B OLTZMANN M ODEL
A. The Lattice Boltzmann Method
In contrast to the top-down Computational Fluid Dynamics
Recently, bottom-up approaches have been introduced and (CFD) models that describe macroscopic fluid properties, the
consist of the Lattice Gas Cellular Automata (LGCA) and LBM is a bottom-up approach that describes the behavior
the Lattice Boltzmann Method (LBM). The starting point of of a fluid at a mesoscopic level. At this level, fluid flow is
these approaches is a discrete mesoscopic model which by modeled by tracking the evolution of averaged distributions
construction, yields the Navier-Stokes equations of fluid flow. of microscopic particles. Such an approach avoids the com-
Both LGCA and the LBM have been used in the field of CG as plexities involved in dealing with fluid flow at a completely
an alternative to the top-down CFD based techniques. Dobashi microscopic level and yet accurately predicts the macroscopic
et al. [8] have used LGCA to produce realistic animations of behavior of the flow. As compared to top-down models, the
clouds. Wei et al. have used the LBM to compute velocity LBM has the advantage that the evolution rules that govern
fields for the purpose of fire simulation [32], create wind the distribution of particles are linear and local, thus making
fields [34] and simulate gaseous phenomena [33]. the method simpler and faster. For these reasons, the LBM
A significant advantage that the LBM has over the top- is a well-suited candidate for solving fluid flow problems in
down approaches is its simplicity. Computation of the LBM computer graphics.
consists of inexpensive addition, subtraction and multiplica- In this section, we will present a general description of the
tion operations. Furthermore, these operations are performed model that is not tied to any particular lattice structure. For a
locally which can potentially improve computation speed by careful analysis and derivation of the LBM, we refer the reader
parallelization. Different types of boundaries can also be to the excellent texts by Succi [29] and Wolf-Gladrow [35].
incorporated without the need to change the local computation
rules.
A. The Boltzmann Equation
As the name suggests, the LBM has its roots in the kinetic
B. Optimal Regular Lattices theory of gases where distribution functions such as the
All applications of the LBM use Cartesian type lattices for Maxwell-Boltzmann distribution [35] play a key role. For a
the spatial and velocity-space discretization of the Boltzmann domain Ω ⊂ Rd (d ∈ {2, 3}), a single species distribution
equation. Such a discretization is not optimal in the sense of function f (x, v, t) is a function of the form f : Ω×Rd ×R+ →
the isotropy of directions and the distribution of lattice nodes. R+ and gives the continuous time-dependent probability of
The book by Conway and Sloan has an exhaustive look at finding a fluid particle within an infinitesimal volume located
a number of different regular lattices and their properties [3]. at x and having velocity v. The kinetic theory of gases deals
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 3

with the time evolution of such distribution functions and re- This equation is still not suitable for computational use since
lates macroscopic quantities such as fluid density, velocity and it is continuous in space and time. In the LBM, Equation 3
pressure to the underlying microscopic particle distributions. is discretized spatially and temporally such that the domain
Under constant temperature conditions and when no exter- spacing ∆x and the time step ∆t are related by ∆x ∆t = ci .
nal forces are acting on the fluid, the distribution function This discretization ensures that particles located at a discrete
evolves according to the Boltzmann Equation location (or node) x move within a time step ∆t to a
neighboring node x + ci ∆t that is along the velocity vector
∂f
+ v · ∇f = Q(f, f ), (1) ci . Taking the time step ∆t to be unity, Equation 3 becomes
∂t the lattice BGK equation, given by
where v is the velocity of a particle at the location x at time
1 eq
t. The two particle collision term Q(f, f ) on the right hand fi (x + ci , t + 1) − fi (x, t) = (f (x, t) − fi (x, t)). (4)
τ i
side of Equation 1 models the way in which the distribution
changes as a result of two particles colliding with each other. A simpler interpretation of this equation over a two or three
The term v · ∇f in Equation 1 models the change in the dimensional discrete lattice is as follows:
distribution function as a result of the propagation of particles 1) Collision
owing to their motion. At time t, particles at a discrete node x collide with
The collision term in the continuous Boltzmann Equation 1, each other and in the process, change the distribution
in general, has a complex integral form. In most applications function to fi∗ (x, t), where
of Kinetic theory to fluid dynamics, the collision integral is
1 eq
approximated by simpler expressions. One such approximation fi∗ (x, t) = fi (x, t) + (f (x, t) − fi (x, t)). (5)
is the BGK approximation proposed by Bhatnagar, Gross and τ i
Krook and incorporated into the so-called Lattice BGK models 2) Propagation
by Qian et al. [25]. This approximation is motivated by the Within one time step, the post-collisional distribution
fact that the large amount of detail of the two-particle collision values fi∗ (x, t) propagate to their neighboring nodes
integral Q(f, f ) does not significantly influence the values of along the lattice velocities ci . More formally,
quantities at the macroscopic scale. Consequently, the two-
fi (x + ci , t + 1) = fi∗ (x, t). (6)
particle term Q(f, f ) is replaced by a simpler term J(f ), given
by: This step does not alter the distributions as they are prop-
1 agating. Therefore, by construction, mass is conserved.
J(f ) = [f eq (x, v, t) − f (x, v, t)] . (2)
τ
It is worth pointing out that the collision and propagation
This operator models the effect of collisions as a relax- rules are simple and linear. The collision step at a particular
ation of the distribution towards a Maxwellian equilibrium lattice node is entirely local and does not need information
f eq (x, v, t). The parameter τ has dimensions of time and from any other nodes. During the propagation step, distribution
controls the frequency with which the distribution function values propagate to the neighbors along the lattice velocities.
relaxes to equilibrium. The BGK approximation is also some- This step therefore updates the distribution function at at-most
times referred to as the single relaxation time approximation n nodes. Owing to the simplicity and locality of these rules,
and is quite popular in the LBM literature. Although there are the LBM is readily amenable to parallelization.
other forms of the collision integral in use (see e.g [6] for a
description of a multiple relaxation time collision model), our
present work employs the BGK approximation as it recovers C. Macroscopic Quantities
the NS equations in the appropriate macroscopic limits and is The variables of interest in most fluid flow applications are
also suitable for use with benchmark problems. the macroscopic fluid density and velocity. In the LBM, these
quantities are obtained by ensemble averages of the underlying
particle distribution function fi (x, t). The density of the fluid
B. LBGK Equation at a discrete node x is given by the total number of particles
The velocity space in the Boltzmann equation is continuous, that reside at the node while the fluid velocity is given by the
i.e., a particle is allowed to move about freely with any veloc- first velocity moment of the distribution function.
ity. A first step towards a discrete approximation of Equation 1 X
is the restriction of the continuous velocity space to a finite ρ(x, t) = fi (x, t), (7)
set of velocities V := {c0 , c1 , . . . , cn−1 }. This means that a i

particle located at x is now restricted to have one of the n 1X


u(x, t) = fi (x, t)ci . (8)
velocities ci . The distribution function f (x, v, t) now reduces ρ i
to the function fi (x, t) that describes distributions over a finite
lattice of velocities. The Boltzmann equation under the BGK D. Lattice Symmetry and Equilibrium Distribution
approximation becomes the discrete Boltzmann equation given
by: In order to recover the incompressible NS equations in the
∂fi 1 macroscopic limit, the discrete set of velocities used in the
+ ci · ∇fi = (fieq − fi ) (3) LBM must respect certain symmetry constraints as outlined
∂t τ
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 4

in [17], [35]. The first constraint is that the velocity set itself fluid speed is sufficiently small as compared to the sound speed
is symmetric, i.e., of the lattice ( |u|
cs ≪ 1), the collision and propagation rules
V = −V. (9) of the LBM ensure that deviations of the fluid density from
its initial value are negligible. The LBM therefore solves the
The second set of constraints is related to the isotropy of a
Navier-Stokes equations in the incompressible limit.
lattice. Let Wi be a weight associated with a lattice velocity
ci . Moreover, let us assume that the weights are the same for
lattice velocities having the same speed and that they satisfy F. Initial and Boundary Conditions
the relation X Since the variables of interest are the macroscopic quanti-
Wi = 1. (10) ties, the LBM needs to be able to handle initial and boundary
i conditions that are prescribed in terms of the fluid density and
Isotropy requirements impose the constraints that the gener- velocity. The general approach for handling initial conditions
alized lattice tensors of rank two and four must be isotropic, is to set the initial distribution function fi0 (x) equal to the
i.e., Maxwellian distribution that satisfies the initial fluid density
X ρ0 (x) and the initial fluid velocity u0 (x).
Wi ciα ciβ = c2s δαβ , (11)
i fi0 (x) = fieq (ρ0 (x), u0 (x)), x∈Ω (18)
X
Wi ciα ciβ ciγ ciδ = c4s (δαβ δγδ + δαγ δβδ + δαδ δβγ ) . Starting from an initial particle distribution over the lattice,
i
the system evolves according to the collision and propagation
(12)
rules defined by equations (5) and (6). While the collision rule
where the summation is taken over all lattice velocities. The is well-defined for all lattice sites, the propagation rule is not
Greek subscripts refer to the different Cartesian components well-defined for lattice nodes that have one or more neighbors
of a lattice velocity ci and δαβ is the Kronecker delta symbol. that either lie outside the domain Ω or are obstructed by a
The parameter cs is the sound speed of a fluid in equilibrium solid obstacle inside the fluid. In such cases, the propagation
and is a constant for a given lattice. rule needs to be redefined so that the prescribed macroscopic
The equilibrium particle distribution fieq (x, t) depends on boundary conditions are satisfied.
the local fluid density and velocity and has the implicit form A very appealing property of the LBM is the fact that
fieq (ρ(x, t), u(x, t)). It is computed by taking the velocity different types of boundary conditions can easily be incor-
moments of the Maxwell-Boltzmann distribution and equating porated into the model simply by modifying the distributions
it with the respective moments of the equilibrium distribution locally. Fluid inlets and outlets as well as slip and no-slip
fieq (ρ, u). For velocity lattices that satisfy the above con- boundary conditions can all be modeled in terms of the
straints, this procedure results in a closed form expression for distribution values alone. However, care must be taken in
the equilibrium particle distribution given by doing so since errors due to inaccurate boundary treatments
"
2
# propagate to other parts of the domain, thus affecting the
eq ci · u (ci · u) u·u
fi (ρ, u) = ρWi 1 + 2 + − . (13) solution everywhere.
cs 2c4s 2c2s
By construction, the equilibrium distribution conserves mass, IV. S PACE AND V ELOCITY D ISCRETIZATION AND
i.e., X eq S AMPLING
fi = ρ (14) In the LBM literature, the notation DdQn is usually used
i to indicate the choice of a discrete set of velocities at every
lattice point. The d implies the spatial dimension where the
E. Recovery of Navier-Stokes Equations
simulation occurs and n is the number of discrete velocities.
No special treatment is needed to obtain solutions to the The spatial and velocity discretizations are related to each
macroscopic equations of fluid flow. It has been shown [25], other in that, once a lattice has been chosen, the velocity
[35] that the fluid density and velocity obtained through the discretization is implicitly given by choosing a particular
LBM (Equation 7 and Equation 8) solve the incompressible neighborhood around a lattice point. The arrangement of the
Navier-Stokes equations velocities in the neighborhood must respect the symmetry
∇ · u = 0, (15) and isotropy requirements outlined in Section III-D so that
∂u the incompressible NS equations can be recovered in the
= −u · ∇u + ν∇2 u − ∇p, (16) macroscopic limit.
∂t
As an example, in 2D, the D2Q7 and the D2Q9 configura-
where ν is the viscosity of the fluid and p is the scalar pressure.
tions are commonly used (Figure 1). The nodes in D2Q7 are
The viscosity of the fluid is related to the sound speed and the
arranged on a hexagonal lattice and the velocity discretization
collision frequency through:
is obtained by connecting each point to itself and six of its
1 nearest neighbors. In contrast, the nodes in D2Q9 are arranged
ν = c2s (2τ − 1) (17)
2 on a Cartesian lattice and the velocity discretization is obtained
Note that the constant mass density of the fluid is taken to by connecting a node to itself, four nearest neighbors that
be unity and does not appear in the NS equations. When the are a unit distance away in the axis-aligned directions, and
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 5


four second-nearest neighbors that are at a distance of 2 in with it, give us a 15 point discretization which we refer to
the diagonal directions. The hexagonal lattice is of primary as D3bQ15 (Figure 2(b)). Out of these 14 neighbors, 8 are
importance in signal processing where it is known to achieve first-order given by offsets obtained through the combinations
the highest packing density of Fourier-transform replicas of of (±h, ±h, ±h), and 6 are second-order given by offsets
an isotropically band-limited bivariate function [9]. As can obtained through the permutations of (±2h, 0, 0), where h is
be seen in Figure 1(a), the D2Q7 configuration leads to a an arbitrary scaling parameter. In contrast to D3Q15 which
more isotropic velocity discretization where the Voronoi cells has a mix of face and vertex neighbors, D3bQ15 only has
of the 6 neighbors on the hexagonal lattice share a face with face neighbors which makes it a more isotropic structure.
the Voronoi cell of the center. On the other hand, we have
a mix of face and vertex connectivity in the Cartesian case
(Figure 1(b)). Two key questions are in order at this point;
what ramifications does the optimal sampling property have
for the LBM and, if there are any advantages, do they hold in
3D as well?

(a) The Cartesian Lattice, a 27 (b) The BCC Lattice showing


point view a 14-neighbor connectivity

Fig. 2. The 3D simulation lattices

It is easily verified that the D3bQ15 lattice indeed satisfies


(a) The D2Q7 Lattice (b) The D2Q9 Lattice the isotropy requirements needed to recover the NS equations.
Fig. 1. The 2D LBM lattices
We give the derivation of the weights and the speed of sound
cs in Appendix A. Also summarized in Appendix A are some
other important properties of the various 3D lattices that we
shall make use of.
Cartesian and BCC Lattices The lattice scaling parameter h for the D3bQ15 lattice
can be chosen in one of two ways. Either the lattice can be
In order to answer the above questions, let us proceed by
scaled so that the speed√of sound is the same as that of the
first introducing the 3D lattices. The Cartesian lattice is the
Cartesian lattices (i.e 1/ 3), or it can be scaled such that the
usual choice for discretizing the Boltzmann equation in 3D.
Voronoi cell has a unit volume resulting in a sampling density
The velocity space is then discretized by choosing an appro-
that is the same as the Cartesian lattice Z3 . Henceforth, we
priate sub-lattice of the Cartesian lattice (Figure 2(a)). With
refer to the former case as D3bQ15 and the latter case as
respect to a lattice site, we refer to the nearest neighbors as
D3bQ15∗ . Since the BCC√lattice is four times less dense as
first-order neighbors, the second-nearest neighbors as second-
compared to Z3 , h = 1/ 3 4 for D3bQ15∗ . Remarkably, √ for
order neighbors and so on.
D3bQ15, the scaling parameter turns out to be h = 1/ 2
The D3Q15 lattice consists of a central node, six first-
which is precisely the scaling factor that allows a BCC lattice
order neighbors given by the permutations of (±1, 0, 0) and
to capture the frequency information of an isotropically band-
eight third-order neighbors given by the permutations of
limited trivariate function with 30% less samples as compared
(±1, ±1, ±1). The D3Q19 lattice consists of the central node
to its Cartesian counterpart [11]. A similar result also holds for
and the six first-order neighbors as well as twelve second-
the 2D case where the D2Q7 lattice scaled to have the same
order neighbors given by the permutations of (±1, ±1, 0). The
speed of sound as D2Q9 yields a 14% saving in samples.
D3Q27 lattice consists of the central node and all the first,
a) Spatial and Velocity Discretization: The discrete prop-
second and third-order neighbors. Besides these three lattices,
agation step (Equation 6) provides a second-order accurate
another lattice that is commonly used is D3Q13 formed by
spatial discretization of the continuous Boltzmann equation
the central node and the twelve second-order neighbors. The
in a particular direction. Errors introduced as a result of this
velocity discretization of D3Q13 leads to the structure of an
step can be lowered by reducing the distance between lattice
FCC lattice. However, it is usually used in conjunction with
points. Table I gives the average distance between a lattice
a Cartesian lattice where simulations are carried out on two
de-coupled FCC lattices that form a Cartesian lattice [7]. Lattice Type Average Distance
The BCC lattice is the optimal sampling lattice in 3D. It is D3Q15 1.418
a sub-lattice of the Cartesian lattice Z3 formed by retaining all D3bQ15 1.306
D3bQ15∗ 1.163
points whose coordinates have the same parity, i.e either all D3Q19 1.276
the coordinates are odd or all of them are even. The resulting D3Q27 1.416
lattice is four times less dense giving the Voronoi cell (a Trun- TABLE I
cated Octahedron), a volume of 4 [11]. A lattice point and 14 AVERAGE DISTANCE BETWEEN A LATTICE POINT AND ITS NEIGHBORS
of its neighbors that share a face of the Truncated Octahedron
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 6

point and its neighbors for various 3D lattices. D3bQ15, being 0.03
a first-second-order configuration is better than D3Q15 which
is only a first-third-order configuration. Moreover, it achieves 0.025
a lower average distance with 30% less samples! D3bQ15∗ ,
owing to its higher sampling density provides an even better
discretization which is comparable to that of D3Q19 which is 0.02
also a first-second-order configuration. D2Q9
D2Q7
It should be noted that the accuracy of the solution at a D3bQ15
0.015
point not only depends on the spatial discretization error but D3Q15
D3Q19
also on the velocity discretization error. Configurations with D3Q27
more neighbors will generally tend to have lower velocity 0.01
discretization errors. Also, when the number of velocities
is the same, we would expect that configurations that are
0.005
more isotropic should have lower velocity discretization errors.
Thus, D3bQ15 and D3bQ15∗ should be better than D3Q15.
To formalize this notion, let us turn back to the collision 0
0 0.2 0.4 0.6 0.8 1
step of the LBM (Equation 5) which relies on the discrete Fluid speed r in units of cs
equilibrium distribution function (Equation 13). The accuracy
of the collision step therefore depends on the error introduced Fig. 3. Total approximation error △(r) for various lattices. D2Q7 refers to
by approximating the equilibrium distribution function on that has the same speed of sound as D2Q9.
the 2D scaled hexagonal lattice √
For all lattices shown, cs = 1/ 3. For each lattice velocity, a Monte-Carlo
a particular lattice. Equation 13 can be seen as a second- integration method with 100,000 samples was used to evaluate Equation 20.
order Taylor-series expansion (see [35] for details) of the 3D In 2D, the integrals are computed over the boundary of a circle of radius r.
Boltzmann distribution given by
 32
(u − ci )2
  
M 1 V. 3D C AVITY F LOW
fi (u) = exp − . (19)
2πc2s 2c2s We use the 3D lid-driven cavity flow problem to compare
the accuracy of the LBM on Cartesian and BCC lattices. This
The constant mass density is assumed to be unity and does not
problem has been extensively studied and is commonly used
appear in the above equation. Let us define the approximation
as a benchmark to compare the accuracy of incompressible NS
error in a particular lattice direction, for a fluid moving with
solvers. See e.g [1], [4], [19] for results obtained through top-
speed r as
down methods and [20] for results obtained through the LBM.
1
Z
2 In our present work, we focus on the D3Q15 and D3Q19
∆i (r) := fiM (u) − fieq (1, u) dS, (20)
2
4πr Ωr Cartesian configurations and compare them with the D3bQ15
and D3bQ15∗ BCC configurations.
where Ωr refers to the surface of the sphere of radius r. Using
this, we define the total approximation error as
X Ut
△(r) := ∆i (r). (21) L − 0.5

Figure 3 shows plots of the function △(r) for various


z

lattices and various fluid speeds. A general trend observed


for all lattices is that the error is low when the fluid speed
is small, which confirms the fact that the LBM recovers the −0.5
L − 0.5
NS equations in the low Mach number regime (r ≪ cs ). On L − 0.5
the Cartesian lattice, D3Q15 is by far the worst. With larger
neighborhoods, D3Q19 and D3Q27 provide much better y
−0.5 −0.5
x
approximations for the equilibrium distribution function. On
the BCC lattice, with the same number of velocities, D3bQ15 Fig. 4. Schematic of the lid-driven cavity
is significantly better than its Cartesian counterpart D3Q15
and only slightly worse than D3Q19. D3Q27 achieves the An incompressible viscous fluid is enclosed in a cubic cavity
lowest error in 3D which suggests that a corresponding 27 of side L (L ∈ Z) and is driven into motion by a lid moving
neighbor configuration on the BCC lattice should perform at constant speed. Since the problem is symmetric in space,
similarly. it does not matter which face of the cube is chosen as the
Thus, we observe that the sampling optimality of a lattice driving lid. In our simulations, the cavity is arranged as shown
has immediate consequences for the LBM. Not only does in Figure 4 and the top face is chosen as the lid which moves
D3bQ15 provide a much better velocity-space discretization in the positive x direction with a speed of Ut = 0.1. The other
as compared to D3Q15, it also provides a better spatial faces of the cavity are treated as solid walls that satisfy a no-
discretization with 30% less samples. slip boundary condition. The Reynolds number of the flow is
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 7

denoted as Re and is given by Re = Ut L/ν where ν is the 3D. We use a second-order Runge-Kutta integrator to perform
kinematic viscosity of the fluid. streamline integration. During streamline integration, the vec-
For the Cartesian configurations, the distribution of nodes is tor fields need to be interpolated at non-grid points. For the
straightforward. A cavity of side length L has L3 nodes that lie Cartesian simulation, we use a tri-cubic B-spline interpolation
completely inside the cavity with the boundary being 0.5 units scheme and for the BCC simulation, we use a quintic box-
away in each direction as shown in Figure 4. For the purpose spline interpolation scheme [12], [13], thus ensuring that the
of computation, the nodes can easily be stored as a 3D array. approximation order is the same.
A BCC grid can also be efficiently stored in memory as a 3D
array [30] where xy slices having an odd index are shifted
A. Results and Discussion
by (h, h, 0). Each xy slice itself is a Cartesian grid with a
spacing of 2h units in the x and y directions respectively, the We carried out cavity flow simulations at different Reynolds
distance between successive slices in the z direction being h. numbers using different lattice sizes. We only consider the
With this arrangement scheme, the resolution of the BCC grid case of Re ≤ 1000 since, in this regime, cavity flow becomes
is Nx × Ny × Nz where steady. In order to compare the velocity profiles, all our results
are normalized so that the cavity lies within the unit cube
L−h L
N x = Ny = ⌊ + 1⌋, Nz = ⌊ + 1⌋, (22) [0, 1]3 and the velocity is scaled by a factor of 1/Ut . This
2h h normalization also allows us to compare our results with the
and the nodes are arranged so that they are centered within the benchmark data of Albensoeder et al. [1] and the results of
cavity. D3bQ15 and D3bQ15∗ configurations are obtained by Mei et al. [20].
choosing h appropriately as discussed earlier. In order to gain some insight into the performance of the
The viscosity of the fluid for a given Reynolds number is different lattices, we first compare them at Re = 1000 and
computed as ν = Ut L/Re and the relaxation parameter τ L = 96. Accuracy at a high Reynolds number is a good
is then chosen according to Equation 17. Initially, all nodes indicator of the overall performance of a numerical scheme as
except the ones that lie in the top-most xy slice are initialized accuracy generally deteriorates with increasing Re. Figure 5
to an equilibrium distribution corresponding to a fluid with shows three axial profiles for the different lattices tested.
density ρ = 1 and zero velocity (Equation 13). The top nodes The results for D3Q15 do not appear on the plots since the
are initialized to an equilibrium distribution of ρ = 1 and corresponding simulation did not converge even though a high
u = (Ut , 0, 0). lattice resolution was used. Excellent agreement is obtained
One time step of the simulation then proceeds by applying between D3Q19 and the BCC configurations D3bQ15 and
the collision and propagation rules (Equation 5 and Equa- D3bQ15∗ despite the fact that D3bQ15 is 30% coarser.
tion 6) to each of the lattice nodes. At the end of a time However, we observe that our results do not agree with the
step, each node is updated to its modified density and velocity benchmark results and differ with respect to the location of
computed through the distributions that have propagated to the the velocity extrema. We consistently observe such differences
node (Equation 7 and Equation 8). across all test cases and attribute the disagreement to the fact
In order to ensure a constant driving speed of the lid, an that our boundary treatment for the driving lid is different from
inlet boundary condition is imposed at all the top nodes. This Mei et al. [20] who have used a modified bounce-back scheme
is achieved by resetting the distribution function at all the top to satisfy a Dirichlet boundary condition on the lid wall. We
nodes, at the end of each time step, to the initial equilibrium believe that a Dirichlet boundary condition on the lid wall is a
distribution. On the other walls of the cavity, we use a simple more accurate description of the problem and conforms well
bounce-back scheme in order to satisfy the no-slip boundary to the boundary conditions used by top-down methods.
condition. We note that our choice of boundary conditions is The effect of changing the Reynolds number is illustrated
similar to that used by Hou et al. [16] for the 2D lid-driven- in Figure 6. As Re increases, the flow becomes more turbulent
cavity problem but differs from those used by Mei et al. [20] and the profiles show more high frequency features. Again,
for the corresponding 3D problem. simulation results for BCC agree very well with those of
In order to compare the performance of numerical methods Cartesian. We notice that there is a comparatively greater
on this benchmark problem, the usual practice is to compare difference near the top boundary which we believe is due to
the steady state velocity profiles along the axial directions in the fact that the geometry of the Cartesian lattice is better able
the geometric center of the cavity. For this reason, we run to represent the straight boundaries of the cavity.
our simulations until a steady velocity field is obtained. We Figure 7 shows the effect that lattice resolution has on ac-
consider the velocity field to be steady if curacy at Re = 400. At this Reynolds number, the simulations
max ku(x, t + 1) − u(x, t)k < ǫ, (23) for both D3bQ15 and D3Q15 did not converge for a coarse
resolution lattice. However, D3bQ15∗ which has the same
where the convergence threshold ǫ is taken to be 10−5 . We computational burden as D3Q15 not only converges, it also
denote the x-component of the steady state velocity field as yields a velocity profile that is closer to the one obtained for
u(x), the y-component as v(x) and the z-component as w(x). D3Q19 at a higher resolution.
Visualization: We also compare the quality of the simulation Thus, we see that D3Q15 is the least stable. With the same
results by visualizing the steady state vector fields using Line number of velocities, D3bQ15 and D3bQ15∗ , owing to their
Integral Convolution (LIC) [2], [27] in 2D and streamlines in better spatial and velocity discretization, perform much better
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 8

(a) D3Q19, 44.7 s (b) D3bQ15, 37.7 s (c) D3bQ15∗ , 39.0 s

(d) D3Q19, 3.41 ms (e) D3bQ15, 2.92 ms (f) D3bQ15∗ , 2.89 ms

Fig. 8. LIC and streamline images at Re = 1000 and L = 96. The LIC images (a), (b) and (c) illustrate the flow on the xz plane in the center of the cavity.
The timing data indicates computation time averaged over ten runs. Streamline images (d) (e) and (f) show the flow around the primary vortex. As illustrated,
a line source is used to seed the streamlines. Please refer to the accompanying supplemental material for animations showing streamlines emanating from the
line source as it moves through the cavity. The timing data indicates the average streamline computation time per line.

than D3Q15. Our results suggest that D3bQ15∗ , by virtue of VI. S MOKE S IMULATION
its higher sampling density is comparable to D3Q19 both in
In order to demonstrate the advantages of the LBM on
terms of accuracy and stability. On the other hand, D3bQ15,
BCC lattices, we apply it to the problem of simulating smoke
having a lower sampling density is not as stable as D3bQ15∗ .
visually. Wei et al. [33] have used the LBM for this purpose.
However, in terms of accuracy, it performs favourably when
However, they did not incorporate the effects of an external
the parameters are well within the stability regime of the
body force into the LBM which limited the levels of turbulence
problem, thus allowing one to speed up simulations by 30%.
that they were able to achieve. For this reason, we follow the
recipe of Fedkiw et al. [14] with the modification that we use
Finally, Figure 8 shows a qualitative comparison of the flow the LBM as a NS solver.
field at L = 96 and Re = 1000. At this Reynolds number, two We model smoke as a non-reactive substance that is sus-
vortices emerge as illustrated by the LIC slices (Figures 8(a), pended in a viscous, incompressible fluid and gets advected
8(b) and 8(c)). These slices are color mapped to show the by the flow. We denote the time dependent density of smoke
strength of the flow field. Owing to the differences in the as P (x, t) and assume that it obeys the advection equation
lid boundary between CC and BCC, we observe that D3Q19
exhibits a stronger flow near the top as compared to the ∂P
= −u · ∇P, (24)
BCC lattices, D3bQ15 and D3bQ15∗ . There is also a slight ∂t
disagreement in the location of the primary and secondary
where u(x, t) is the time-dependent velocity of the fluid.
vortices. The nature of the flow around the primary vortex is
Furthermore, smoke exerts a buoyancy force on the fluid in
shown in Figures 8(d), 8(e) and 8(f). Again, the images are
the +z direction. We model this force as
virtually indistinguishable but we do note that D3bQ15∗ is
closer to D3Q19 than D3bQ15. Since it is more efficient to f buoy (x, t) = αP (x, t)k̂, (25)
perform interpolations on a BCC lattice [13], we observe that
all our BCC visualizations incur a reduced computational cost where α is a tunable parameter that controls the strength of
as compared to CC. the force.
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 9

0.6 0.3

0.2
0.4
Normalized velocity component

0.1

0.2
0

v/Ut
0 -0.1

-0.2
-0.2

-0.3

-0.4
0 0.2 0.4 0.6 0.8 1
-0.4
Distance along axis 0 0.2 0.4 0.6 0.8 1
Distance along axis
Fig. 5. Axial profiles at Re = 1000 and L = 96 through the center of
the cavity. The lattices are denoted as, D3Q19 (solid lines), D3bQ15 (⋄) Fig. 7. Velocity profile v( 12 , y, 12 ) for L = 32 (black) and L = 64 (red) at
and D3bQ15∗ (•). Colors indicate different profiles; black:u( 12 , 21 , z), Re = 400. The symbols are as given in Figure 5 and Figure 6.
blue:v( 12 , y, 12 ) and red:w(x, 12 , 21 ). The symbols (×) are the results of
Albensoeder et al. [1]. Note that the benchmark results for the blue profile
are not provided in [1]. The resolutions are, D3Q19 (96 × 96 × 96),
D3bQ15 (68 × 68 × 136) and D3bQ15∗ (76 × 76 × 153) calculated of magnitude U0 . These values are then used to initialize
using Equation 22. the packet distributions in the LBM. Before the simulation
begins, certain grid points are designated as smoke sources.
1 The density of smoke is initialized to zero at all points that
are not smoke sources and to a value P0 at the smoke sources.
0.8 Smoke is re-injected into the sources at the end of each time
step throughout the simulation. Like the cavity flow problem,
0.6 the viscosity of the fluid is determined from the Reynolds
number according to ν = U0 L/Re, where L is the vertical
0.4 height of the simulation domain. Similarly, a no-slip boundary
condition is imposed on all the boundary nodes through the use
u/Ut

0.2
of the bounce-back rule, in effect simulating smoke trapped
within a solid box.
After initialization, the simulation proceeds iteratively for
0
a user-specified number of time steps. At the end of each
time step, we use the macroscopic velocity of the fluid in a
-0.2
second-order Runge Kutta based semi-Lagrangian integration
scheme [28] to advect the smoke density. In order to avoid the
-0.4
0 0.2 0.4 0.6 0.8 1 problem of overshooting, we use trilinear interpolation on CC
Distance along axis and linear box-spline interpolation on BCC [12]. We then use
the macroscopic fluid velocity and the advected smoke density
Fig. 6. Velocity profile u( 21 , 12 , z) at Re = 100 (black) and Re = 400 (red)
with L = 64. The symbols are as given in Figure 5, D3Q15 is denoted by to calculate a vertical buoyancy force (Equation 25) as well
(). as a vorticity confinement force given by
f vort (x, t) = ǫ(N × ω), (27)
The effects of an external force can be incorporated in the where ω is the vorticity (curl) of the velocity field and N
LBM by modifying the collision step. The propagation step is the normalized gradient of the magnitude of vorticity. The
remains unaffected. We use the body-force model of Junk et parameter ǫ controls the strength of the vorticity confinement
al. [18] according to which, the collision step (Equation 5) force. We refer the reader to [14] for details on how this
changes to force addresses the problem of decaying turbulence in smoke
1 simulations. The external force acting at each grid point is
fi∗ (x, t) = fi (x, t)+ (fieq (x, t)−fi (x, t))+3Wi ci ·G(x, t), simply the sum of the buoyancy and vorticity confinement
τ
(26) forces, i.e.
where Wi are the lattice weights and G(x, t) is a time-
G(x, t) = f buoy (x, t) + f vort (x, t), (28)
dependent external force.
Smoke simulation proceeds by initially setting the fluid and is used in the subsequent collision step to drive the flow.
mass density to ρ0 and giving it a constant upward velocity Since the BCC grid has axis aligned neighbors in the three
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 10

axial directions, we use a central-difference scheme on both


CC and BCC to approximate the various partial derivatives
needed for the computation of the vorticity confinement force.
We note that this is not the optimal choice for BCC and other
more accurate strategies are possible.
Lastly, we visualize the smoke density using a single-
scattering ray-casting procedure [24]. The extinction coeffi-
cient σt is directly computed from the density of the smoke
through σt = Ct P , where Ct is the extinction cross-section
and P is the smoke density. In order to achieve better quality, (a) Re = 300 (b) Re = 400
we make use of higher order (tricubic B-spline on CC and
quintic box-spline on BCC [13]) schemes to interpolate the Fig. 10. Three frames of simulations conducted on D3bQ15 using a higher
grid resolution of 56 × 28 × 361.
smoke density.

A. Results and Discussion grid resolution yields a flow with a greater level of turbulence
Simulating smoke using the LBM is a challenging problem which in turn results in a stronger vorticity confinement force
in that the range of parameters over which the model is being applied during the collision step. Notice how in compari-
stable is quite limited as compared to traditional top-down son to Figure 9(b), Figure 10(a) shows more discernible small
solvers. The nature of the flow is also affected by the shape scale features specially near the top boundary. Figure 10(b)
of the simulation domain as the solid walls influence the flow illustrates how a more turbulent appearance can be achieved
globally. Furthermore, since the LBM is a low Mach number by increasing the Reynolds number. Notice how vorticity is
model, the magnitude of the external force must be kept low preserved throughout the course of the simulation. Please refer
in order to ensure stability. to the supplemental material for the accompanying animations.
We conducted all our simulations and renderings on a
machine with two AMD dual-core Opteron 280 processors VII. C ONCLUSION
with 8 GB of memory. Figure 9 shows how smoke emerges
from a single source placed at the bottom of a vertical column In this paper we extended the Lattice Boltzmann Method to
at Re = 300. Grid resolution as well as simulation and the BCC lattice configurations D3bQ15 and D3bQ15∗ ; and
rendering timings are indicated. Also indicated are the initial compared them to the Cartesian configurations D3Q15 and
fluid density and velocity and the parameters that control the D3Q19 using the 3D lid-driven-cavity problem. We further
magnitude of the buoyancy and vorticity confinement forces. investigated the advantage of our proposed configurations by
At this Reynolds number both D3bQ15 and D3bQ15∗ as well applying them to the problem of visually simulating smoke.
as D3Q19 are stable whereas D3Q15 is unstable. Since the We have shown that the sampling optimality of the BCC
flow changes quite gradually between each iteration, we used lattice has important ramifications for the LBM. D3bQ15
the density field after every 20 iterations for the purpose of with a 15-neighbor connectivity that is scaled to have the
producing the next animation frame. same speed of sound as the Cartesian configurations, yields
Placing the source close to the walls of the column gives comparable results at a 30% savings in samples. It is also more
rise to turbulence thereby causing the smoke to swirl as it rises. stable as compared to D3Q15. Stability is further improved
The job of the vorticity confinement force is to ensure that this on D3bQ15∗ which, owing to its higher sampling density,
swirling motion does not decay over time. We notice that the reduces the spatial discretization error. These benefits are
BCC configurations (Figure 9(b) and Figure 9(c)) preserve the clearly demonstrated in our results. Smoke simulations on a
vorticity of the flow much better than D3Q19 (Figure 9(a)) BCC lattice yield higher degrees of turbulence at a reduced
which exhibits lesser vorticity and a faster vertical flow. This computational cost as compared to their Cartesian cousins.
decaying turbulence also comes at the expense of greater The impact of the isotropy of the neighbourhood on BCC
simulation and rendering times. On the other hand, the BCC leads us to believe that a 27 neighbourhood connectivity
configurations not only exhibit greater vorticity, they do so at should further improve the accuracy and stability of the model,
a reduced computational cost. thus allowing us to simulate more turbulent flows. In future,
Increasing the Reynolds number to 400 while keeping we plan to investigate this notion further, as well as address
the other parameters constant results in decreased stability, the problem of finding a set of neutral boundary conditions
D3bQ15∗ being the only stable configuration. Interestingly, that do not favour the Cartesian lattice.
we observe that increasing the grid resolution while holding While previous research has shown that the BCC lattice is
the other parameters constant also results in reduced stability. a much preferred lattice for the representation, rendering and
Figure 10 shows simulation results for D3bQ15 using a grid reconstruction of continuous data, this is the first paper that
that has twice the resolution along each dimension. The corre- acquires such data directly on a BCC lattice. We further show
sponding simulation for D3bQ15∗ remains stable but becomes that the BCC lattice is the preferred lattice for solving the
unstable for both the Cartesian configurations D3Q15 and Navier-Stokes equation using the Lattice Boltzmann Method,
D3Q19. We attribute this instability to the fact that a higher not only because of its accuracy and stability but also because
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 11

(a) D3Q19, 40 × 20 × 128, 0.390 s, 54.3 s (b) D3bQ15, 28 × 14 × 180, 0.245 s, 34.4 s (c) D3bQ15∗ , 31 × 16 × 202, 0.356 s, 35.3 s

Fig. 9. Three frames of an animation showing smoke rising from a single source at Re = 300. Grid resolution, average simulation time per iteration and
average rendering time per frame are indicated. Other parameters are ρ0 = 2.7, U0 = 0.1, α = 1.0 × 10−4 and ǫ = 0.1. All images were rendered with a
vertical resolution of 512 pixels.

L V cs Weights
of the fact that flow data acquired on the BCC lattice can be D3Q15 1 1
√ w1 = 92 , w2 = 1
, w3 = 1
√ 3 9 72
visualized much more efficiently. D3bQ15 2 1
√ see above
3
1
D3bQ15∗ 1 √
6 √ see above
2 3
1 1 1 1
A PPENDIX D3Q19 1 √ w1 = 3
, w2 = 18 , w3 = 36
3
1 8 2 1
D3Q27 1 √ w1 = 27
, w2 = 27 , w3 = 54 ,
3
1
Derivation of Lattice Weights for BCC w4 = 216

The D3bQ15 lattice consists of three different speeds, hence


there are three different weights w1 , w2 and w3 . w1 corre-
sponds to the zero velocity (0, 0, 0), w2 corresponds to the R EFERENCES
eight first-order velocities (±h, ±h, ±h) and w3 corresponds [1] S. Albensoeder and H. C. Kuhlmann. Accurate three-dimensional lid-
to the six second-order velocities given by the permutations driven cavity flow. J. Comput. Phys., 206(2):536–558, 2005.
of (±2h, 0, 0). Let us denote the speed of sound as cs . [2] B. Cabral and L. C. Leedom. Imaging vector fields using line integral
Conservation of mass gives us the first equation convolution. In SIGGRAPH ’93: Proceedings of the 20th annual
conference on Computer graphics and interactive techniques, pages
263–270, New York, NY, USA, 1993. ACM Press.
w1 + 8w2 + 6w3 = 1. [3] J. Conway and N. Sloane. Sphere Packings, Lattices and Groups.
Springer, 3rd edition, 1999.
The lattice tensor of rank 2 (Equation 11) is isotropic and [4] A. Cortes and J. Miller. Numerical experiments with the lid driven
cavity flow problem. Computers & fluids, 23(8):1005–1027, 1994.
yields the equation [5] C. de Boor, K. Höllig, and S. Riemenschneider. Box Splines. Springer
Verlag, 1993.
8h2 (w2 + w3 ) = c2s . [6] P. Dellar. Incompressible limits of lattice Boltzmann equations us-
ing multiple relaxation times. Journal of Computational Physics,
190(2):351–370, 2003.
Lattice tensor of rank 4 (Equation 12) is isotropic and yields [7] D. d’Humières, M. Bouzidi, and P. Lallemand. Thirteen-velocity three-
the two equations dimensional lattice Boltzmann model. Physical Review E, 63(6):66702,
2001.
8h4 (w2 + 4w3 ) = 3c4s , [8] Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, and T. Nishita. A
simple, efficient method for realistic animation of clouds. Proceedings
8h4 w2 = c4s . of the 27th annual conference on Computer graphics and interactive
techniques, pages 19–28, 2000.
[9] D. E. Dudgeon and R. M. Mersereau. Multidimensional Digital Signal
The above four equations can be solved for w1 , w2 , w3 and Processing. Prentice-Hall, Inc., Englewood-Cliffs, NJ, 1st edition, 1984.
cs . The solution is: [10] D. Ebert and R. Parent. Rendering and animation of gaseous phenomena
r by combining fast volume and scanline A-buffer techniques. Proceed-
7 1 1 2 ings of the 17th annual conference on Computer graphics and interactive
w1 = , w2 = , w3 = , cs = h. techniques, pages 357–366, 1990.
18 18 36 3 [11] A. Entezari. Optimal Sampling Lattices and Trivariate Box Splines. PhD
thesis, Simon Fraser University, Vancouver, Canada, July 2007.
[12] A. Entezari, R. Dyer, and T. Möller. Linear and Cubic Box Splines
Miscellaneous Properties for the Body Centered Cubic Lattice. In Proceedings of the IEEE
Conference on Visualization, pages 11–18, Oct. 2004.
Some of the important properties of the lattices that we have [13] A. Entezari, D. Van De Ville, and T. Möller. Practical box splines for
used are summarized below. L is a particular lattice and V volume rendering on the body centered cubic lattice. IEEE Transactions
on Visualization and Computer Graphics, 14(2):313 – 328, 2008.
refers to the volume of its Voronoi cell. The weights are given [14] R. Fedkiw, J. Stam, and H. W. Jensen. Visual simulation of smoke.
in ascending order according to the order of the velocities. In SIGGRAPH ’01: Proceedings of the 28th annual conference on
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. ??, NO. ??, DECEMBER 2008 12

Computer graphics and interactive techniques, pages 15–22, New York, Usman R. Alim is a Ph.D. candidate at the School
NY, USA, 2001. ACM Press. of Computing Science at Simon Fraser University.
[15] N. Foster and D. Metaxas. Modeling the motion of a hot, turbulent gas. He received the BS and BA degrees in Physics and
Proceedings of the 24th annual conference on Computer graphics and Mathematics from University of Rochester and the
interactive techniques, pages 181–188, 1997. MS degree in Computer Science from Rochester
[16] S. Hou, Q. Zou, S. Chen, G. Doolen, and A. Cogley. Simulation of Cav- Institute of Technology. His research interests span
ity Flow by the Lattice Boltzmann Method. Journal of Computational the fields of Computer Graphics and Visualization
Physics, 118(2):329–347, 1995. and include global illumination, physically-based
[17] M. Junk, A. Klar, and L. Luo. Asymptotic analysis of the lattice modeling and the applications of optimal sampling
Boltzmann equation. Journal of Computational Physics, 210(2):676– lattices.
704, 2005.
[18] M. Junk and Z. Yang. One-point boundary condition for the lattice
Boltzmann method. Physical Review E, 72(6):66701, 2005.
[19] H. Ku, R. Hirsh, and T. Taylor. A pseudospectral method for solution of
the three-dimensional incompressible Navier-Stokes equations. Journal
of Computational Physics, 70(2):439–462, 1987.
[20] R. Mei, D. Yu, and L. Luo. Lattice Boltzmann Method for 3-D Flows
with Curved Boundary. Journal of Computational Physics, 161(2):680–
699, 2000.
[21] T. Meng, B. Smith, A. Entezari, A. E. Kirkpatrick, D. Weiskopf,
L. Kalantari, and T. Möller. On visual quality of optimal 3D sampling
and reconstruction. In Graphics Interface 2007, pages 265 – 272, May
2007. Alireza Entezari is an assistant professor at the
[22] K. Morton and D. Mayers. Numerical solution of partial differential Computer and Information Science and Engineer-
equations. Cambridge University Press New York, 1994. ing Department at University of Florida, USA. He
[23] D. P. Petersen and D. Middleton. Sampling and Reconstruction of received his PhD from the School of Computing
Wave-Number-Limited Functions in N -Dimensional Euclidean Spaces. Science at Simon Fraser University, Canada, in
Information and Control, 5(4):279–323, Dec. 1962. 2007. His research interests include reconstruction
[24] M. Pharr and G. Humphreys. Physically Based Rendering: From Theory of trivariate functions, optimal sampling lattices,
to Implementation. Morgan Kaufmann, 2004. multivariate spline approximation and interpolation
[25] Y. Qian, D. D’Humières, and P. Lallemand. Lattice BGK models for and their applications in numerical computing, visu-
Navier-Stokes equation. Europhysics Letters, 17:479, 1992. alization and computer graphics.
[26] F. Qiu, Y. Zhao, Z. Fan, X. Wei, H. Lorenz, J. Wang, S. Yoakum-Stover,
A. Kaufman, and K. Mueller. Dispersion simulation and visualization for
urban security. In Proceedings of the IEEE Conference on Visualization
2004, pages 553–560, Washington, DC, USA, 2004. IEEE Computer
Society.
[27] D. Stalling and H.-C. Hege. Fast and resolution independent line
integral convolution. In SIGGRAPH ’95: Proceedings of the 22nd
annual conference on Computer graphics and interactive techniques,
pages 249–256, New York, NY, USA, 1995. ACM Press.
[28] J. Stam. Stable fluids. In SIGGRAPH ’99: Proceedings of the 26th
annual conference on Computer graphics and interactive techniques,
pages 121–128, New York, NY, USA, 1999. ACM Press/Addison- Torsten Möller is an associate professor at the
Wesley Publishing Co. School of Computing Science at Simon Fraser Uni-
[29] S. Succi. The Lattice Boltzmann Equation for Fluid Dynamics and versity. He received his PhD in Computer and Infor-
Beyond. Oxford University Press, 2001. mation Science from Ohio State University in 1999
[30] T. Theußl, T. Möller, and E. Gröller. Optimal Regular Volume Sampling. and a Vordiplom (BSc) in mathematical computer
In Proceedings of the IEEE Conference on Visualization 2001, pages science from Humboldt University of Berlin, Ger-
91–98, Oct 2001. many. He is a member of IEEE, ACM, Eurograph-
[31] D. Van De Ville, T. Blu, M. Unser, W. Philips, I. Lemahieu, and ics, and Canadian Information Processing Society
R. Van de Walle. Hex-Splines: A Novel Spline Family for Hexagonal (CIPS). His research interests include the fields of
Lattices. IEEE Transactions on Image Processing, 13(6):758–772, June Visualization and Computer Graphics, especially the
2004. mathematical foundations thereof.
[32] X. Wei, W. Li, K. Mueller, and A. Kaufman. Simulating fire with texture He is the director of Vivarium, co-director of the Graphics, Usability and
splats. In VIS ’02: Proceedings of the conference on Visualization ’02, Visualization Lab (GrUVi) and serves on the Board of Advisors for the Centre
pages 227–235, Washington, DC, USA, 2002. IEEE Computer Society. for Scientific Computing at Simon Fraser University. He is the appointed
[33] X. Wei, W. Li, K. Mueller, and A. Kaufman. The Lattice-Boltzmann Vice Chair for Publications of the IEEE Visualization and Graphics Technical
method for simulating gaseous phenomena. Visualization and Computer Committee (VGTC). He has served on a number of program committees
Graphics, IEEE Transactions on, 10(2):164–176, Mar-Apr 2004. (including the Eurographics and IEEE Visualization conferences) and has been
[34] X. Wei, Y. Zhao, Z. Fan, W. Li, S. Yoakum-Stover, and A. Kaufman. papers cochair for EuroVis, Graphics Interface, and the Workshop on Volume
Blowing in the wind. In SCA ’03: Proceedings of the 2003 ACM SIG- Graphics as well as the Visualization track of the 2007 International Sym-
GRAPH/Eurographics symposium on Computer animation, pages 75–85, posium on Visual Computing. He has also co-organized the 2004 Workshop
Aire-la-Ville, Switzerland, Switzerland, 2003. Eurographics Association. on Mathematical Foundations of Scientific Visualization, Computer Graphics,
[35] D. A. Wolf-Gladrow. Lattice-gas cellular automata and lattice Boltz- and Massive Data Exploration at the Banff International Research Station.
mann models: An Introduction. Springer-Verlag Telos, 2000. He is currently serving on the steering committee of the Symposium on
Volume Graphics. Further, he is an associate editor for the IEEE Transactions
on Visualization and Computer Graphics (TVCG) as well as the Computer
Graphics Forum.

Você também pode gostar