0% found this document useful (0 votes)
76 views29 pages

Straight Velocity Boundaries in The Lattice Boltzmann Method

This document discusses and compares five methods for implementing velocity boundary conditions in the lattice Boltzmann method for numerical solutions of the Navier-Stokes equations. It analyzes the boundary conditions theoretically using a multi-scale analysis and compares them numerically through benchmarks of 2D and 3D flows. The document finds that no single method is superior in all cases, and the best choice depends on the flow geometry and desired balance of accuracy and stability.

Uploaded by

Carl Woods
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views29 pages

Straight Velocity Boundaries in The Lattice Boltzmann Method

This document discusses and compares five methods for implementing velocity boundary conditions in the lattice Boltzmann method for numerical solutions of the Navier-Stokes equations. It analyzes the boundary conditions theoretically using a multi-scale analysis and compares them numerically through benchmarks of 2D and 3D flows. The document finds that no single method is superior in all cases, and the best choice depends on the flow geometry and desired balance of accuracy and stability.

Uploaded by

Carl Woods
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Straight velocity boundaries in the lattice Boltzmann method

Jonas Latt∗ and Bastien Chopard†


University of Geneva,
Geneva, Switzerland

Orestis Malaspinas, Michel Deville, and Andreas Michler‡


Ecole Polytechnique Fédérale de Lausanne,
Lausanne, Switzerland
(Dated: April 8, 2008)
Various ways of implementing boundary conditions for the numerical solution of the Navier-Stokes
equations by a lattice Boltzmann method are discussed. Five commonly adopted approaches are re-
viewed, analyzed and compared, including local and non-local methods. The discussion is restricted
to velocity Dirichlet boundary conditions, and to straight on-lattice boundaries which are aligned
with the horizontal and vertical lattice directions. The boundary conditions are first inspected an-
alytically by applying systematically the results of a multi-scale analysis to boundary nodes. This
procedure makes it possible to compare boundary conditions on an equal footing, although they
were originally derived from very different principles. It is concluded that all five boundary condi-
tions exhibit second-order accuracy, consistent with the accuracy of the lattice Boltzmann method.
The five methods are then compared numerically for accuracy and stability through benchmarks of
two-dimensional and three-dimensional flows. None of the methods is found to be throughout supe-
rior to the others. Instead, the choice of a best boundary condition depends on the flow geometry,
and on the desired trade-off between accuracy and stability. From the findings of the benchmarks,
the boundary conditions can be classified into two major groups. The first group comprehends
boundary conditions that preserve the information streaming from the bulk into boundary nodes
and complete the missing information through closure relations. Boundary conditions in this group
are found to be exceptionally accurate at low Reynolds number. Boundary conditions of the second
group replace all variables on boundary nodes by new values. They exhibit generally much better
numerical stability and are therefore dedicated for use in high Reynolds number flows.

PACS numbers: 47.11.-j, 05.20.Dd

I. INTRODUCTION only straight boundaries are considered that traverse the


nodes of the numerical grid, and which are aligned with
the main directions of the grid.
The lattice Boltzmann (LB) method has established Lattice Boltzmann models do not directly simulate the
itself as a a tool with growing acceptance for the numeri- evolution of the flow velocity. Instead, they calculate
cal simulation of fluid flows. However, in spite of several the dynamics of particle populations which stem from a
important breakthroughs in the past decades, many as- microscopic description of the fluid. While the macro-
pects of the method have been analyzed only recently. A scopic pressure and velocity fields are easily calculated
variety of radically different approaches is consequently from the particle populations, the reverse procedure is
found in the literature, and a general consensus on spe- more contrived. Thus, implementing a velocity condi-
cific implementation issues is often lacking. Even such a tion on straight boundaries boils down to finding a way
common topic as the implementation of boundary con- to translate from macroscopic flow variables to particle
ditions is not treated in a unified manner. This state of populations. This problem has been approached by au-
affairs raises numerous difficulties, from the choice of an thors from different viewpoints, some of them based on
appropriate boundary condition to the evaluation of the the kinetic theory of gases, and some of them on a hy-
numerical error. A selection of commonly used boundary drodynamic description of fluids.
conditions is therefore reviewed under a common light
Although the numerical scheme of the LB method is
and compared in the present paper. The review concen-
derived from microscopic physics, it is able to recover ac-
trates on the implementation of Dirichlet velocity bound-
curate solutions of the macroscopic Navier-Stokes equa-
ary conditions, which prescribe a given velocity profile
tions. This can be shown in various ways through an
along boundaries of the numerical domain. Furthermore,
asymptotic analysis, in which particle populations are
formally related to macroscopic flow variables. An anal-
ysis of this type is however not always conducted in
∗ Currently the literature for boundary conditions, and only little is
at Mathematics Department, Tufts University (USA).
† Electronic address: [email protected] known about their hydrodynamic limit. In the present
‡ Currently at Institute of Aerodynamics and Flow Technology, Ger- article, the boundary conditions are therefore inspected
man Aerospace Center, Braunschweig (Germany). with help of a Chapman-Enskog multi-scale analysis (see
2

e.g. Refs. [1–3]), which relates the lattice Boltzmann


y
model to the equations of a weakly compressible fluid.
The results of this analysis are reproduced in Section
II B. Other approaches could however also be consid-
ered for this study. The reader is for example pointed
to the asymptotic analysis presented in Ref. [4], in which c1 c8 c7
the LB model is directly related to the incompressible
Navier-Stokes equations.
The article starts with an overview of the widely c2 c6
used lattice Boltzmann Bhatnagar-Gross-Krook (BGK) x
method [1, 2, 5], which is abbreviated as LBGK. Af-
ter this, the article introduces five different boundary
c3 c4 c5
conditions that can be found in the literature. Some
well-known properties of the LB method are repeated
to make this presentation accessible even to an audience FIG. 1: Lattice vectors for D2Q9. An additional vector with
zero components c0 = (0, 0) is defined, which denotes a rest
less familiar with this model. A set of two-dimensional
particle population.
(2D) and three-dimensional (3D) benchmarks is finally
described, which challenge the LBGK method with each
of these boundary conditions as a numerical solver for
the incompressible Navier–Stokes equations. moment of order 3 the tensor R:
Aiming at a succinct comparison between different
boundary conditions, the review purposely avoids to ad- q−1
X
dress advanced topics, such as the implementation of off- Π = ci ci fi and (3)
lattice boundaries, or the treatment of complex fluids. In i=0
particular, fluid compressibility effects are not analyzed q−1
X
in the benchmark section, although the LBGK method R = ci ci ci fi . (4)
is able to simulate weakly compressible isothermal flows i=0
[2, 3, 16]. Terms related to fluid compressibility are how-
ever accounted for in the theoretical discussion of the These moments can be related to hydrodynamic flow
boundary conditions. variables through a multi-scale analysis. In particular,
the tensor Π is proportional to the strain rate (see Sec-
tion II B). Equations (3) and (4) use a tensor notation
without explicit space indexes. In a d-dimensional space,
II. THEORETICAL BACKGROUND
Eq. (3) denotes for example d2 scalar equations, which in
Pq−1
full index notation are written as Παβ = i=0 ciα ciβ fi ,
A. The LBGK method for α, β = 1 · · · d.
These vectors and tensors, as well as all other expres-
Lattice Boltzmann simulations are executed on a reg- sions in this article, are written in a system of lattice
ular grid. The state of the system consists of q variables units. In this system, the time interval between two iter-
fi , i = 0 · · · q − 1 on each grid node, called particle pop- ation steps and the lateral or horizontal spacing between
ulations. The topology of a lattice is defined by q lattice two grid nodes are unity. The speed of sound cs in in-
vectors ci , i = 0 · · · q − 1. Thus, a node attributed to compressible fluids is a constant depending on the lattice.
the space location r finds its neighbors at the location An important corollary of this is that the Mach number
r + ci . Figure 1 displays these vectors for the D2Q9 lat- Ma = U/cs of a fluid is proportional to a characteristic
tice, a common candidate for the implementation of 2D fluid velocity U , expressed in lattice units. LB models
simulations [3, 6]. can be used in a low Mach-number regime to simulate
The hydrodynamic variables on each node are defined incompressible flows. In that case, the pressure p of the
as moments of the particle populations. The particle fluid is related to the particle density through the equa-
density ρ stands for the moment of order 0, and the fluid tion of state for an ideal gas:
momentum ρu for the moment of order 1:
p = c2s ρ. (5)
q−1
X
ρ = fi and (1) A LB iteration takes the system from a discrete time
i=0 step t to t + 1 and consists of two steps. The collision
q−1
X step evaluates first a collision operator Ω on each lattice
ρu = ci fi . (2) node, and takes the particle populations fi to their post-
i=0 collision value fi′ . This operator is local to each node:

The moment of order 2 yields the tensor Π, and the fi′ (r, t) = Ωi (f0 (r, t), f1 (r, t), · · · fq−1 (r, t)). (6)
3

The collision is followed by a streaming step, which takes populations for the conserved variables ρ and ρu:
the post-collision variables to a neighbor node deter-
q−1
mined by the corresponding lattice vector:
fieq
X
ρ = and (13)
i=0
fi (r + ci , t + 1) = fi′ (r, t). (7)
q−1
ci fieq .
X
LB models possess exact mass and momentum conserva- ρu = (14)
i=0
tion laws which are not subject to numerical approxima-
tion. This is expressed by the fact that the pre-collision
populations fi and their post-collision counterparts fi′ B. Multi-scale analysis
yield the same mass and momentum. Thus,
X Through a multi-scale Chapman-Enskog analysis of
Ωi = 0 and (8) the LBGK model, it can be shown that the macroscopic
i variables defined in Eqs. (1) and (2) obey the Navier–
X
ci Ωi = 0. (9) Stokes equation for a weakly compressible fluid. Only the
i results of this analysis are shown here, and the reader is
referred to Refs. [1–3] for more details. In this analysis,
The common LBGK model [1, 2, 5] approximates the the LB dynamics is developed into a truncated Taylor
collision operator as a relaxation of the particle popula- series in space and time, up to second order accuracy.
tions to a local equilibrium distribution fieq , which de- Furthermore, to separate physical phenomena happening
pends only on the value of ρ and u: at different scales, the particle populations are expanded
into a power-law
P∞series with respect to a small parameter
Ωi = −ω(fi − fieq (ρ, u)). (10) ε ≪ 1: fi = k=0 εk fik . The two first terms, of order
O(ε0 ) and order O(ε1 ), are sufficient to recover asymptot-
The parameter ω determines the inverse time scale of the ically the dynamics of the Navier–Stokes equation. Thus,
relaxation process. Through the multi-scale analysis in the approximation
the next section, this parameter can be formally related (0) (1)
to the kinematic shear viscosity ν of the fluid: fi = fi + εfi + O(ε2 ) (15)
  is made. The same approximation is applied to develop
1 1
ν= c2s − . (11) the time derivative over two scales:
ω 2
∂t = ε∂t1 + ε2 ∂t2 + O(ε3 ). (16)
The local equilibrium depends only on the macroscopic
variables ρ and u. It can be viewed as a truncated ex- Space derivatives are analyzed at a single scale:
pansion of the Maxwell-Boltzmann distribution and is
written as ∇ = ε∇1 + O(ε2 ). (17)

The parameter ε is used in analytical developments to


 
1 1
fieq (ρ, u) = ρti 1 + 2 ci · u + 4 Qi : uu . (12) formally separate time scales, but it is skipped in the
cs 2cs
remaining of this article to enhance readability. The
The scalar product between two vectors is denoted by a asymptotic and scale separated form of the mass and
single dot (·), and the contraction between two tensors by momentum conservation laws in Eqs. (9) and (8) can be
a colon (:). The tensors Qi are defined as Qi = ci ci −c2s I written as follows:
for i = 0 · · · q − 1, where I is the identity. The scalars ti
∂t ρ + ∇ · (ρu) = 0 and (18a)
are lattice weights that account for the varying lengths
of the lattice vectors ci . Thus, a lattice is fully defined
by means of the lattice vectors ci , the lattice weights
∂t (ρu)+
ti , and the speed of sound cs . The benchmarks in this 
1 
paper make use of the 2D lattice D2Q9 and the 3D (0)
∇· Π +Π +(1) (0)
∂t Π + ∇ · R(0)
= 0,
lattice D3Q19. On the D2Q9 lattice, with the order- 2
ing of indexes used in Fig. 1, the lattice weights are (18b)
t0 = 4/9, ti = 1/9 for i ∈ {2, 4, 6, 8} and ti = 1/36
for i ∈ {1, 3, 5, 7}. The speed of sound on this lattice is where the operator ∇· denotes a divergence on the last
defined as c2s = 1/3. The lattice-specific constants for the index of the involved tensors. The tensors Π(0) , Π(1) ,
D3Q19 lattice can be found for example in Refs. [3, 6]. and R(0) are velocity moments equivalent to those de-
A remarkable property of the equilibrium distribution fined by Eqs. (3) and (4), but evaluated on the com-
(0) (1)
is that it possesses the same momenta as the particle ponents fi and fi of the particle populations. The
4

nature of the physics described by the momentum equa- As terms with non-linear velocity components do not con-
tion, Eq. (18b), depends on the form of these tensors. In (1)
tribute to Π(1) , it is reasonable to approximate fi by
(0)
the case of the LBGK model, the component fi of the its linear term only:
particle populations is equal to the equilibrium distribu- ti
(1)
tion: fi ≈− Qi : ρ∇u. (23)
c2s ω
(0)
fi = fieq (ρ, u). (19)
(1)
Indeed, both values of fi in Eq. (20) and Eq. (23) yield
Assuming a low Mach-number regime, Eqs. (18a) and
the same stress tensor. They are therefore equivalent
(18b) are then equivalent to the Navier–Stokes equations
in view of their effect on fluid flow, as the asymptotic
for a weakly compressible fluid with fixed bulk viscosity.
dynamics in Eq. (9) only depends on Π(1) , and not on
The terms in the multi-scale analysis are approximated (1)
with finite series of second order, which leads to the con- the details of the first-order particle populations fi .
clusion that the LB method is second-order accurate in In summary, the particle populations can be split into
space and time for the numerical simulation of weakly two main components which fully determine the hydro-
compressible fluids. dynamic behavior of the model. The term of order O(ε0 )
Although this is not the point of view adopted in the yields the equilibrium distribution, which depends on the
present paper, we also point the reader to an alternative macroscopic variables ρ and u via Eq. (12). The term of
theoretical framework in which the LB model is viewed order O(ε1 ) depends additionally on the velocity gradi-
as a discrete analogue of the continuum Boltzmann equa- ents. For the implementation of a boundary condition it
tion with a BGK collision term [7]. This discretization is therefore necessary to possess knowledge of both the
is again second-order accurate, even though the explicit macroscopic variables and their gradients.
time stepping scheme of Eq. (7) seems to indicate first- By introducing the results of the multi-scale expansion
order accuracy in time. As it is shown in Ref. [8], the into Eqs. (18a) and (18b), and by taking the limit of
streaming operator of the Boltzmann equation can be ap- small Mach-number, the Navier–Stokes equations for an
proximated by a second-order accurate trapezoidal rule, incompressible fluid are recovered:
after which the resulting implicit scheme is recast into ∇ · u = 0, (24)
the explicit LBGK model by an appropriate change of
variables. ∂t u + (u · ∇)u = −∇p + ν∇2 u.
It is interesting to point out that the terms of order These equations are used as a reference in the bench-
O(ε0 ) in Eq. (18b) yield the Euler equation, and that the marks of Section V, to verify the quality of the boundary
viscous contributions to the dynamics are determined by conditions.
the O(ε1 ) tensor Π(1) . During the implementation of a
boundary condition, it is not only central that boundary
nodes implement an appropriate value of ρ and u, which III. IMPLEMENTATION OF BOUNDARY
determines the form of the equilibrium distribution, and CONDITIONS
thus the O(ε0 ) Euler components of the dynamics. As
has been pointed out previously among others in Ref. Prior to the collision step, some particle populations
[9], it is also crucial that the first-order tensor Π(1) is are unknown on boundary nodes, as they are lacking cor-
implemented correctly to ensure a proper representation responding neighbors. This is illustrated in Fig. 2 for an
of fluid viscosity. The multi-scale analysis is helpful to upper boundary on a D2Q9 lattice. The particle popu-
understand the relation between the O(ε1 ) terms compo- lations on the boundary node are represented schemati-
nents of LB models and the macroscopic variables. For cally by a lattice vector pointing into the direction along
(1)
the LBGK model, the value of fi reads which they were propagated during the previous stream-
(1) ti  ing step. Three particle populations, indicated by dashed
fi = − 2 Qi : ρ∇u − ci ∇ : ρuu vectors, are unknown. The role of a boundary condition
cs ω
is to find a substitution for the three missing popula-
1 
+ 2 (ci · ∇)(Qi : ρuu) . (20) tions, and potentially also for the remaining six, in a way
2cs which is consistent with the dynamics of the model and
It contains a dominating term proportional to u and two which leads to the desired macroscopic behavior on the
terms scaling as the square of u which are less important domain boundary. When only the unknown populations
at low Mach numbers. They cancel for symmetry reasons are substituted, the action of a boundary condition can
during the evaluation of the tensor Π(1) : be viewed as the effect of a fictitious fluid portion located
outside the numerical grid. This fluid portion streams the
2c2s results from an imaginary LB operation into the bound-
Π(1) = − ρS, (21)
ω ary node and attributes a value to the unknown particle
where S is the strain rate tensor: populations. In other types of boundary conditions, the
1  vision of a fictitious LB dynamics is abandoned, and all
S= ∇u + (∇u)T . (22) particle populations are replaced on the boundary node.
2
5

A. Evaluation of the density on boundaries

With a Dirichlet velocity boundary condition, the


incompressible Navier–Stokes equations always yield a
unique solution. No additional boundary condition for
the pressure is required. With traditional numerical
solvers for the Navier–Stokes equations, this fact is obvi-
ous, because the pressure is not treated as an independent
variable. Instead, it is viewed as a functional of the ve-
locity field, and may be determined by solving a Poisson
equation.
The lattice Boltzmann approach on the other hand
FIG. 2: Boundary node on the top row of a grid. The hatched
region, located outside the grid, does not participate in the uses a quasi-compressible method to solve the Navier–
simulation. Particle populations on the boundary node are Stokes equations. The fluid density ρ is simulated as an
represented by their lattice vectors; dashed vectors stand for independent variable in a regime close to fluid incom-
unknown populations. pressibility and related to the pressure through Eq. (5).
As it is shown in this section, the value of the density can
however be determined on straight walls from the known
particle populations (indicated by solid arrows in Fig. 2)
Once the substitutions have been made, all boundary and the value of the velocity. This method works on any
conditions described in this paper execute a conventional 2D and 3D grid and is used by practically all authors
LBGK collision and streaming step. Boundary nodes of velocity boundary conditions. It is therefore applied
implement therefore the same dynamics as bulk nodes, throughout in this article, for all boundary conditions
and they are also analyzed in the same theoretical terms. and for all benchmark problems in Section V.
In particular, the results from the multi-scale analysis The density of a boundary node can be split into three
displayed in Section II B also apply to boundary nodes. components. The first, ρ− , is the sum of the unknown
Thus, particle populations on boundaries can be split particle populations. The second, ρ+ , is the sum of the
into an equilibrium component fieq and an off-equilibrium particle populations opposite to the unknown ones, and
(1) the third, ρ0 , sums up the particle populations whose
contribution fi according to Eqs. (15) and (19).
An important constraint in determining these values is lattice vector is tangential to the boundary or zero. Let
given by the conservation laws in Eqs. (8) and (9). Exact u⊥ be the projection of the velocity onto the boundary
local mass and momentum conservation are pillars of the normal pointing outside of the numerical grid. Then, the
LB method, as they ensure among others an exceptional particle density of the boundary node is
numerical stability. It is therefore desirable that they are
ρ = ρ− + ρ+ + ρ0 , (25)
respected on boundary nodes as well. This is achieved
by making sure that mass and momentum, as computed and the normal momentum
from Eqs. (1) and (2), yield exactly the desired value.
In that case, conservation laws are automatically veri- ρu⊥ = ρ+ − ρ− . (26)
fied, as it is seen by inserting Eq. (10) into Eqs. (8) and
(9), and using the properties of Eqs. (13) and (14). The These equations are combined to obtain
following sections do therefore not refer to conservation
laws, but instead insist on an accurate implementation 1
ρ= (2 ρ+ + ρ0 ), (27)
of Eqs. (1) and (2), without numerical approximation. It 1 + u⊥
should be pointed out for clarity that even though these
conservation laws guarantee equal mass in the pre- and which is independent of the unknown quantity ρ− . On
post-collision state of a cell, they do not guarantee global the D2Q9 lattice of Fig. 1, and on a top grid node shown
mass conservation in the system. It has been shown in in Fig. 2, the variables above are defined as follows. The
Ref. [10] that a simulation may gain or loose mass during partial densities are ρ− = f3 + f4 + f5 , ρ+ = f7 + f8 + f1
time evolution, even with no-slip boundaries. An inter- and ρ0 = f2 + f6 + f0 . The normal velocity is given by
pretation of this fact is that the actual mass balance is the y-component of the boundary velocity, and Eq. (27)
influenced by how the density is evaluated on boundaries becomes
(see Section III A). 1
The first step toward the implementation of a bound- ρ= (2 (f3 + f4 + f5 ) + f2 + f6 + f0 ). (28)
1 + uy
ary condition is the construction of the equilibrium distri-
bution, defined in Eq. (12), from ρ and u. The velocity u This method can obviously only be applied to straight
is known by definition on velocity boundaries. The value boundaries. On other types of boundaries, for example
of the particle density ρ is however missing and needs to on corner nodes, the locally available information on a
be computed by a method described in the next section. cell may be insufficient for the evaluation of the density.
6

In that case, it is common to extrapolate the density from


1
neighboring bulk cells. For the benchmark problems in
Section V, second-order accurate extrapolation is used
to evaluate the pressure in the 4 corners in 2D problems, 0.8
and in the 8 corners and the 12 edges in 3D problems.

0.6

ux
B. Preserving the known particle populations 0.4

The two boundary conditions BC1 and BC2, which are 0.2 Poiseuille profile
introduced in Section IV and listed in Table I, compute Equilibrium on boundary
Regularized boundary condition BC3
values for the unknown particle populations only, and 0
leave the others untouched. By doing so, they exploit all 0 0.2 0.4 0.6 0.8 1
y−position in channel
the information available from the LB dynamics in the
bulk of the simulation. As it is shown in Section V, they
are rewarded by achieving more accurate results in 2D FIG. 3: 2D channel flow, simulated once with an equilibrium
flows, but lose this advantage in a 3D problem. distribution on boundaries, and once with the Regularized
boundary condition BC3. The solid line plots the analytic
As it is pointed out in the introduction to Section III, Poiseuille profile. Although only 11 data points are used to
it is important that the values for the density and the resolve the channel width, the result obtained with BC3 is
velocity are recovered accurately from Eqs. (1) and (2) visually indistinguishable from the Poiseuille profile. With
on boundary nodes. It is clear from Section III A that equilibrium boundaries on the other hand, the velocity gra-
the particle density of a boundary node depends on the dients are ill represented on boundary nodes, which impairs
known populations and on the value of uy , but not on the accuracy of the whole simulation.
the detail of the unknown populations. Therefore, in
situations where only the unknown particle populations
are replaced, the value of ρ needs not (and cannot) be
enforced explicitly. Enforcing the value of the velocity C. Replacing all particle populations
via Eq. (2) on the other hand yields two equations in 2D
and three equations in 3D. Additional closure relations The boundary conditions BC3, BC4 and BC5 in Ta-
are therefore required to match the number of unknown ble I use the known particle populations only to compute
particle populations, which amount to 3 on the D2Q9 the particle density ρ and, in the case of BC3, the stress
lattice, and to 9 (for D3Q27) or 5 (for D3Q19 and D3Q15) tensor Π(1) . After this, they disregard all particle pop-
on 3D lattices. ulations and replace their value by new ones, based on
the velocity and the computed macroscopic variables. As
It was argued in Section II B that the hydrodynamic
limit of the lattice Boltzmann equation is expressed in they treat all particle populations in the same way, they
can be formulated generically and are easily implemented
terms of the quantities ρ, u and Π(1) . To help understand
the boundary conditions from a hydrodynamic point of on various 2D and 3D lattices. Furthermore, they turn
out to be more stable than BC1 and BC2, and can there-
view, it is therefore good to reinterpret the closure rela-
tions suggested by the authors of boundary conditions as fore be used at substantially higher Reynolds numbers.
closure relations for the values of the stress tensor Π(1) . A tempting approach to setting up such velocity
As Π(1) is symmetric, this introduces a set of 3 equations boundaries might be to initialize all particle populations,
in 2D, and 6 equations in 3D, which are enforced by Eq. the known and the unknown ones, to their equilibrium
(3). Some of the equation for Π(1) (Eq. (3)) are however distribution with the imposed velocity and the density
linearly dependent on those for u (Eq. (2)). In the 2D computed from Eq. (28). It is however clear from the dis-
(1) cussion in Section II B that this method is inappropriate,
example illustrated in Fig. 2, the equation for Πxy de- as it respects the O(ε0 ) contributions to the dynamics,
pends linearly on the equation for ux , and the equation but neglects the hydrodynamically relevant O(ε1 ) terms.
(1)
for Πyy depends on the one for uy . Generally speaking, As a result, the quality of the simulation is spoiled, not
(1)
a total of d equations for the tensor components Πnα , for only close to boundaries, but in the full simulated do-
α = 0 · · · d−1, are linearly dependent on the equations of main. The expected second-order accuracy can conse-
uα . Here, the index n labels the direction of the bound- quently not be reached. To illustrate this issue, Figure
ary normal (in the above example, this is the y-index). 3 displays the velocity profile obtained for the steady-
In 2D in particular, the two equations for u and the re- state solution of a 2D channel flow. The no-slip (zero
maining equation for Π(1) yield three closure relations, in velocity) walls are implemented once via this equilib-
the same amount as when a closure relation is introduced rium approach, and once with the obviously more ac-
for each of the missing particle populations. curate boundary condition BC3. An exact visual match
7

method. Boundary condition BC3, formulated by J. Latt


TABLE I: The boundary conditions reviewed in this article
and B. Chopard [3], replaces all particle populations by
Method Replaces all fi ’s Local Explicit in 3D a new value. It is local and extends naturally to any
BC1 (Inamuro) No Yes No 3D lattice. Boundary conditions BC4 and BC5 are non-
BC2 (Zou/He) No Yes Yes local, as they use finite-difference (FD) approximations
BC3 (Regularized) Yes Yes Yes to evaluate the velocity gradients in Eqs. (20) and (23).
BC4 (FD) Yes No Yes They are based on the work from 1993 by P. A. Skordos
BC5 (Nonlinear FD) Yes No Yes [13], with two minor modifications that are discussed in
Section IV D and IV E.
In the remaining part of this section, the five reviewed
between the exact analytical solution and the numerical boundary conditions are introduced within a common
result is obtained with the accurate boundary condition. framework. A formalism is used in which all particle
With the equilibrium boundary condition on the other populations fi on a boundary node are replaced by alter-
hand, the numerical values are far from the analytical native populations gi resulting from the boundary condi-
curve. Although the velocity has a correct no-slip value tion algorithm. It is stated explicitly when some of the
on the boundary, the velocity gradient starts out erro- original fi ’s are kept. It is then assumed that a LBGK
neously. This confirms the theoretical considerations of collision is applied to the populations gi , followed by a
the previous section, in which the O(ε0 ) components of streaming step. Explicit formulas are given for the D2Q9
the particle populations are shown to represent macro- lattice of Fig. 1 and for a top grid node as in Fig. 2.
scopic variables, and the O(ε1 ) components their gradi- Furthermore, it is explained how the algorithms can be
ents. extended to 3D lattices.
It is finally noted that one may avoid rewriting the All presented boundary conditions are shown to re-
values of all particle populations in an actual implemen- cover the desired hydrodynamic behavior. According to
tation to increase numerical efficiency. Once the density the discussion in Section II B, this amounts to showing
and velocity on a boundary node are computed, parti- that the expected value for the boundary velocity is ob-
cle populations which leave the numerical domain (corre- tained from Eq. (2), and that the stress tensor calculated
sponding to the three upward pointing arrows on Fig. 2) from Eq. (3) is consistent with its hydrodynamic value
have no more influence on the future evolution of the sys- predicted by Eq. (21). These requirements are enforced
tem. This is due to the fact that BGK collision in Eq. (10) by construction in the boundary conditions BC3, BC4
does not introduce a coupling between lattice directions, and BC5, and are therefore valid for obvious reasons. For
except during the evaluation of macroscopic variables. the boundary conditions BC1 and BC2 however, only
The value carried by particle populations that leave the the value of the velocity is explicitly enforced. In this
domain is therefore irrelevant in the LBGK model, but review article, the value of the stress tensor is therefore
may still be important if another type of collision is used. evaluated separately for the D2Q9 lattice, as a proof of
validity. For this, the six known particle populations are
assumed to obey the value predicted by the multi-scale
IV. PRESENTATION OF THE REVIEWED analysis in Eq. (23), and thus, to depend on ρ, u and
BOUNDARY CONDITIONS the gradients of u. Based on this assumption, the miss-
ing particle populations are evaluated from the algorithm
The five boundary conditions listed in Table I are ana- of the boundary condition, and the stress tensor Π(1) is
lyzed in this review paper. The table specifies whether a computed from Eq. (3).
boundary condition replaces all particle populations by
a new value, or only the unknown ones. It also states
whether they are local to a given boundary node, or if A. Inamuro method (BC1 )
they need to access neighboring nodes in order to execute
their algorithm. The original papers of boundary con- The boundary condition BC1 by T. Inamuro et al.
ditions most often concentrate on 2D implementations. uses a reasoning based on the kinetic theory of gases to
Table I specifies whether there exists a straightforward find an appropriate value for the missing particle popu-
way to extend them to 3D, or if this requires the solution lations. It assumes that the missing populations are at
of an implicit equation. a local thermohydrodynamic equilibrium and thus yield
Boundary condition BC1 is described in an article by the discrete analog of a Maxwell-Boltzmann distribution.
T. Inamuro et al. [11] from 1995. Boundary condition This distribution is however centered around a fictitious
BC2 was published subsequently in 1997 by Q. Zou and density ρ′ and velocity u′ , both of which are different
X. He [12]. Both methods modify only the value of un- from the macroscopic fluid variables ρ and u. While ρ′
known particle populations, and both are local. While is a free variable, u′ is assumed to differ from u only
BC2 extends naturally to any 3D lattice, 3D formula- by a “slip velocity” s, which is tangential to the wall:
tions of BC1 are more contrived and require the solu- u′ = u + s. These assumptions introduce a set of 2
tion of an implicit equation at each iteration step of the unknowns in 2D, and 3 unknowns in 3D. For an upper
8

boundary on a D2Q9 lattice, they read enlightening, and we present therefore two limit values.
The first represents the case of a no-slip wall, with van-
gi = fieq (ρ′ , ux + sx , uy ) for i = 3, 4, 5, (29) ishing values of u:
where fieq is the equilibrium distribution described by Eq. −5Sxx + ω2 (3Sxy
2
+ 5Sxx Syy )
(12). As has been emphasized in Section III B, the value Π(1)
xx = ρ when u = 0.
9ω − 18Syy
of the velocity u needs to be enforced on the boundary
(34)
via Eq. (2). This system of two equations can be solved (1)
for the two unknowns ρ′ and sx , with the following result: For the second limit case, Πxx is expanded into a finite
Taylor series for small values of the components Sxx , Syy
−ρuy + f1 + f7 + f8 and Sxy . It is assumed that, in the limit of fluid incom-
ρ′ = 6 , (30)
1 + 3u2y − 3uy pressibility, the Mach number Ma, and thus the velocity
ρux + f1 + f2 − f6 − f7 u in lattice units, scales like the small parameter ε [15].
sx = −ux + 6 . (31) The components of the strain rate tensor S exhibit there-
ρ′ (1 − 3uy ) fore order ε2 scaling. From the above Taylor series, only
In these relations, the lattice constants have been re- terms of order ε2 are retained, and terms of the form
placed by their numerical value for the D2Q9 lattice. The Sαβ Sγδ or Sαβ uγ are neglected. This leads to the follow-
missing populations are now evaluated with the help of ing approximation of Eq. (33a):
Eq. (29), and the other populations are left unchanged: 5
Π(1)
xx = − ρSxy + O(ε3 ). (35)
gi = fi for i = 0, 1, 2, 6, 7, 8. (32) 9ω

In 3D, the slip velocity s has two independent compo- This expression is identical to the hydrodynamic tensor
nents. The unknowns thus amount to 3, which matches value in Eq. (21), with exception of the factor 5/9, which
the number of closure relations introduced by Eq. (2). differs from the expected factor 2/3 by 20%. This er-
This system of equations is more difficult to solve than ror has however no important effect in practice, as the
in the 2D case, and to our knowledge, no analytic solution Inamuro method is found to be equally or even more
is presently known. For the 3D benchmarks in Section accurate than the other approaches in low-Reynolds ap-
V, the lattice Boltzmann code solves these equations nu- plications (see Section V). One may however point out
merically on each boundary cell and at every time step that as a consequence of Eq. (35), the trace of Π(1) is
with the help of a multivariate Newton-Raphson solver non-zero with BC1. This is a violation of the continuity
[14]. equation, because Eqs. (21) and (22) show that the trace
The velocity u is explicitly enforced by this boundary of Π(1) is proportional to ∇·u in the hydrodynamic limit.
condition, but nothing is known a priori about the value
of the stress tensor. The method described in the intro-
duction of Section IV is now applied to evaluate Π(1) for B. Zou/He method (BC2 )
the D2Q9 lattice, by making use of a computer algebra
system. The following values are found: The boundary condition BC2 by Q. Zou and X. He
is based on an idea referred to by its authors as “apply-
ρ
Π(1)
xx = · (33a) ing the bounce-back rule to off-equilibrium parts”. This
9ω(1 − 3uy )2 (ω − 2Syy − 3ωuy + 3ωu2y ) expression can be understood as a reference to a symme-
 (1)
10Sxx Syy (1 − 3uy )2 + 6Sxy
2
(1 − 3uy + 3u2y ) try property of the variables fi that follows from Eq.
(23). Let the opposite opp(i) of a lattice direction i be
−ω(3uy − 1) 5Sxx (−1 + 6uy − 12u2y + 9u3y ) defined by the relation copp(i) = −ci . Then, Eq. (23)
1  is symmetric under the operation of taking the opposite
+Syy u2x (3 − 9uy ) + 18uxSxy ( − uy + u2y ) , direction:
3
2
Π(1)
yy = − ρSyy , and (33b) fi
(1) (1)
= fopp(i) . (36)

2
Π(1)
xy = − ρSxy . (33c) This relation can be used to copy data from known par-

ticle populations to the opposite, unknown ones. It may
The tensor components Πyy and Πxy yield an exact however not be applied blindly to all unknown particle
match with the value expected from Eq. (21). As has populations, because this would conflict with Eq. (2) for
been pointed out in Section III B, this is a direct corol- the velocity. On a D2Q9 lattice for example, there is re-
lary of the fact that the equation for the velocity, Eq. (2), ally only one degree of freedom left on which the bound-
is satisfied. The component Πxx is the only free parame- ary condition may have an influence. The choice made in
ter on a D2Q9 lattice, and can be viewed as a signature the case of BC2 was to apply Eq. (36) to the unknown
of how the boundary condition influences the dynamics particle population whose lattice vector is parallel to the
of the fluid. In its present form, Eq. (33a) is not very boundary normal. Thus, for an upper boundary on a
9

D2Q9 lattice, the following relation is applied: C. Regularized method (BC3 )

(1) (1)
g4 = f8 . (37) The method [3] by J. Latt and B. Chopard replaces all
particle populations on a boundary node. It first eval-
(1) (1)
The remaining two unknown populations g3 and g5 are uates the value of Π(1) , based on the knowledge of the
computed by enforcing the values of the velocity through known particle populations. Then, the equations of the
Eq. (2). On a D2Q9 lattice, the obtained values are multi-scale analysis in Section II B are reversed to recon-
struct all particle populations from ρ, u and Π(1) in a
(1) (1) 1 (1) (1) way consistent with the hydrodynamic limit of the model.
g3 = f7 + (f6 − f2 ) and (38)
2 With the use of Eq. (21), and by exploiting the symmetry
(1) (1) 1 (1) (1) of tensors Qi and of tensor Π(1) , Eq. (23) is rewritten as
g5 = f1 + (f2 − f6 ). (39) follows:
2
(1) ρti ti
The value of the unknown particle populations is con- fi ≈− 2
Qi : S = 4 Qi : Π(1) . (44)
structed by adding equilibrium and off-equilibrium parts: cs ω 2cs

(1)
With this relation, the off-equilibrium part of the particle
gi = fieq (ρ, u) + gi for i = 3, 4, 5. (40) populations can be reconstructed from the tensor Π(1) .
This procedure is called a regularization of the particle
All other populations are kept as they are: (1)
populations, because it compels the fi to respect ex-
actly (without numerical error) the symmetry properties
gi = fi for i = 0, 1, 2, 6, 7, 8. (41) of Eq. (21), such as the symmetry explicited in Eq. (36).
The tensor Π(1) is evaluated as follows. First, all un-
Like the Inamuro method BC1, the Zou/He method known particle populations are assumed to take the value
BC2 enforces the value of the velocity explicitly, but does obtained by a “bounce-back of off-equilibrium parts”,
not specify anything about the stress tensor. The values as in Eq. (36). Thus, their value is described as fi =
of Π(1) can again be computed for the D2Q9 lattice, us- fieq (ρ, u) + fopp(i) − fopp(i)
eq
. It was emphasized in Sec-
ing the procedure described in the introduction of Section tion IV B that this relation may not be used to define
IV. The resulting expressions match exactly the hydro- a boundary condition, because it prohibits an exact im-
dynamic values of Π(1) claimed in Eq. (21). This con- plementation of Eq. (2). It it therefore used temporarily
firms analytically the validity of the Zou/He boundary only, to evaluate the value of Π(1) by means of Eq. (3).
condition for 2D simulations. After this, Eq. (44) is used to construct all particle
This algorithm cannot be used as it stands in 3D. In populations:
that case, Eq. (2) yields three independent equations,
but the number of unknowns is larger (5 or 9). In that ti
gi = fieq (ρ, u) + Qi : Π(1) for i = 0 · · · q − 1. (45)
case, the authors of Ref. [12] suggest to proceed as fol- 2c4s
lows. To begin with, the “off-equilibrium bounce-back”
rule, Eq. (36), is applied to assign a value to all missing It is obvious that not only ρ and u, but also the ten-
particle populations. By doing this, the exact value of sor Π(1) are recovered appropriately by this boundary
the component uα is recovered for the index α in direc- condition.
tion of the boundary normal. To keep this relation valid,
the sum over the value of the unknown particle popula-
tions is kept invariant during subsequent operations. The D. Finite-difference velocity gradient method
(BC4 )
excess of momentum is then evaluated in the remaining
directions:
In the regularized approach of BC3, the stress tensor
Π(1) is evaluated on the boundary from information lo-
fineq ciβ cally available on the cell. The boundary condition BC4
X
δβ ≡ for β 6= α. (42)
i computes Π(1) from Eq. (21) instead, by relating it to
the strain rate tensor S. The components of S are eval-
Finally, the values δβ are redistributed over the unknown uated by a second-order accurate finite-difference scheme,
particle populations, in order to find an exact match for which accesses the value of the velocity on neighboring
Eq. (2): grid cells. The algorithm of BC4 is summarized by the
following equation:
X 1
gineq = fineq − ciβ δβ for all unknown fi ’s, (43) ρti
nβ gi = fieq (ρ, u) − Qi : S for i = 0 · · · q − 1, (46)
β6=α c2s ω
where nβ is the number of unknown particle populations where the strain rate tensor S is defined as in Eq. (22).
for which ciβ is non-zero. The velocity gradients of S that run along directions
10

parallel to the boundary are evaluated by a symmetric uses the same principles as BC4, but also includes the
finite difference scheme. This presumes the knowledge non-linear velocity contributions to the particle popula-
of the velocity on nearest-neighbor cells. Velocity gra- tions. This approach has not been published previously
dients along the boundary normal use non-symmetric in the literature, and serves only as a toy model to exper-
finite differences, which access the velocity on nearest iment with the limits of BC4. It is explicited as follows:
and next-to-nearest neighbors. Please note that, instead
of evaluating the symmetric tensor S, one may alter- ti 
gi = fieq (ρ, u) − Qi : ρ∇u − ci ∇ : ρuu
natively compute all components of the non-symmetric c2s ω
tensor ∇u and calculate the population functions from 1 
Eq. (23). These two ways of constructing the boundary + (c i · ∇)(Qi : ρuu)
2c2s
condition are algebraically equivalent. for i = 0 · · · q − 1. (48)
This boundary condition was published in 1993 in a
pioneering article by P. A. Skordos [13]. It should be For the implementation of this method, the gradients of
mentioned that Ref. [13] makes a slightly different as- the components of the tensor uu need to be evaluated via
sumption on the asymptotic value of Π(1) , as it uses the a finite difference scheme, additionally to the gradients
following expression in lieu of Eq. (21), in which the den- of u.
sity ρ resides inside the spatial derivative:
c2s  
Π(1) = − ∇(ρu) + (∇(ρu))T . (47) V. BENCHMARKS
ω
It has however been shown that Eq. (21), which pre- This section produces the results of lattice Boltzmann
dicts the proper deviatoric strain rate for a compressible simulations, based on the five reviewed boundary con-
fluid, can be recovered in a multi-scale analysis by tak- ditions. For some of the simulated problems, analytical
ing into account derivatives of non-linear velocity terms solutions are known which describe the steady state of
[3, 16, 17]. The difference between Eqs. (21) and (47), the flow. In that case, the simulation is iterated until
however subtle, may have a noticeable effect in compress- a steady state is reached. Then, the numerical result is
ible fluids. We decided therefore to depart from the origi- validated against the analytical solution on every grid
nal article on this point, but emphasize that the credit for point, and the mean discrepancy between these two val-
this boundary condition should be attributed to Skordos ues is evaluated as a measure of quality for the imple-
[13]. It should also be mentioned that Ref. [13] discusses mented boundary condition. Other benchmarks focus on
both first- and second-order accurate finite difference ap- the time evolution of the flow. They keep track of the
proximations to velocity gradients, but only second-order time-evolution of a scalar quantity (such as the average
schemes are presented here. energy in Section V C), or the occurrence of a partic-
An interesting discussion of boundary conditions with ular event (as the maximum value of the enstrophy in
finite-difference approximation to velocity gradients is Section V D). Several 2D benchmarks are presented, im-
presented in Ref. [9]. This paper points out that other plemented on a D2Q9 lattice, and one 3D benchmark on
choices than Eq. (46) also lead to the expected value a D3Q19 lattice.
of the stress tensor, and it proposes different closure The simulated domains of all presented problems have
schemes that are compatible with the hydrodynamic a rectangular shape. This raises the issue of how to im-
limit of the model. plement corner nodes and, in 3D, edge nodes that lie on
the connexion between two plane walls. Although some
authors of boundary conditions make suggestions on how
E. Nonlinear finite-difference method (BC5 ) to treat these cases, some authors do not. To guaran-
tee an equal treatment, the present article treats cor-
It is shown by multi-scale analysis that Eq. (23) is a ners and edges always in the same way, independently of
valid approximation to Eq. (20) within the hydrodynamic the boundary condition that is being tested. The finite-
scales of the model. It is therefore clear that bound- difference algorithm of BC5 was selected to implement
ary conditions BC3 and BC4, which are based on this these special boundary nodes. This approach is straight-
approximation, yield accuracy of second order, consis- forward, because the velocity gradients referred to in Eq.
tent with the overall accuracy of the lattice Boltzmann (45) can be evaluated on corners and edges just like ev-
scheme. Beyond this asymptotic estimate, the accuracy erywhere else. It must furthermore be pointed out that
may however vary in actual simulations, due to higher- Eq. (28) for the particle density cannot be evaluated on
order effects that are not visible in the finite expansion of corners and edges. In those cases, the density is extrapo-
Section II B. For this reason, it is sometimes argued that lated with second-order accuracy from neighboring cells.
the full term of Eq. (20) should be implemented on the In all benchmark problems, a velocity U and a length
boundary, to gain accuracy and numerical stability. In L are selected that are characteristic for the flow. The
order to test this conjecture numerically, a corresponding dynamics of the flow is then described in a system of di-
boundary condition BC5 is presented in the following. It mensionless variables, independent of the numerical grid,
11

in which U = 1 and L = 1. The equations of motion A. Steady plane channel flow (2D)
depend only on the dimensionless Reynolds number, de-
fined as a function of the kinematic fluid viscosity ν: This 2D stationary flow evolves in a straight channel,
UL which extends in x-direction between x = 0 and x = lx .
Re = . (49) The walls of the channel are parallel to the x-axis, and
ν defined by the equations y = 0 for the lower wall, and
The parameters used for the numerical implementation y = ly for the upper wall. A no-slip condition for the
are described by the number N , which is the number of velocity is enforced on these walls. The flow is character-
grid nodes used to resolve the length L, and the veloc- ized by a constant pressure drop along the channel. This
ity Ulb , representing the velocity U in a system of lat- pressure drop can be obtained by using pressure bound-
tice units. This is a common choice in LB simulations, ary conditions on the inlet and the outlet. An alternative
because Ulb is proportional to the Mach number of the approach, which is used in this benchmark, is to enforce
fluid. It can therefore be fine-tuned to make sure the flow the velocity profile from the analytical solution of the
is close enough to the limit of incompressibility. For the flow on the inlet and on the outlet. The velocity is par-
numerical implementation of the benchmarks, the pre- allel to the walls, and the only non-zero component ux is
scribed velocity field for the initial and/or boundary con- independent of x: ux = ux (y). The height ly of the chan-
dition needs to be converted from dimensionless variables nel is taken to represent the characteristic length L. The
to lattice units. This is simply done by multiplying the maximum value of the velocity, which is measured in the
dimensionless velocity by Ulb . From these definitions, the middle of the channel, is selected for the characteristic
discrete parameters of the simulation are characterized as velocity U . The analytic solution to this flow is given by
follows. The grid interval δx is given by the parabolic Poiseuille profile, which, in dimensionless
variables, reads
1
δx = . (50)
N −1 ux (y) = 4(y − y 2 ). (53)
The time lapse of an iteration δt is defined through
The pressure drop amounts to ∂p/∂x = −8/Re.
the relation U = δx /δt Ulb , which recovers the lattice-
The two-dimensional channel flow is for many reasons
independent form of the velocity. Given our choice of
an inappropriate benchmark, and it is presented here in a
U = 1, this leads to
historical spirit, to conform with some authors of bound-
δt = δx Ulb . (51) ary conditions that use it as a basic test case for their
algorithm. One shortcoming of this flow as a benchmark
At a given time step, the numerical error is evalu- case is that the components Sxx and Syy of the strain
ated by computing a l2 -norm of the difference between rate tensor S vanish in the analytical solution. Bound-
the simulated velocities ulb (rk ) on grid nodes located ary conditions that replace only unknown particle popu-
at position rk , and the dimensionless analytical solution lations (BC1 and BC2 in this article) are therefore au-
uanalytic (rk ): tomatically exempt from numerical errors. This follows
from the discussion in Section III B, where the compo-
nents Πxx (on horizontal boundaries) and Πyy (on verti-
v
u P −1 2
u 1 X ulb (rk )
cal boundaries) of the stress tensor are shown to be the

ǫ= t − uanalytic (rk )
, (52)
P Ulb only degrees of freedom for which the boundary condition
k=0
could possibly be wrong. If the corner nodes are imple-
where the sum runs over all P nodes of the numerical mented in an appropriate way, these two methods are
grid. shown in Refs. [11] and [12] to solve the 2D channel flow
The parameters of the simulation for a varying res- with a precision close to machine accuracy (the best accu-
olution N are adapted in order to keep the value of racy one can expect to obtain, given the limited precision
the Reynolds number constant, and to prevent effects of of floating point values on a computer), independent of
fluid compressibility from interfering with the accuracy the grid resolution. Machine accuracy is however not ex-
of the result. Compressibility errors ǫcompr are known hibited in the present benchmark, because we chose to
to scale like the square Mach-number and are therefore implement corner nodes in a generic way that works for
estimated by ǫcompr = O(Ulb2 ). This error is required all boundary conditions and for all types of flows.
to decrease at least as fast as the discretization error In this benchmark, the channel has quadratic shape
ǫδx = O(1/L2lb ) = O(1/N 2 ). It follows from Eq. (49) (lx = ly = 1), the grid resolution is varied from N = 25
that this is achieved by keeping the viscosity νlb constant to N = 400, and the Reynolds number is Re = 10. Com-
when the grid resolution is modified. pressibility effects are controlled by setting Ulb = 0.01 at
The benchmark codes can be retrieved from the Inter- a grid resolution N = 50. As discussed in the previous
net address [18]. The programs are based on the open paragraph, the velocity Ulb is recomputed for different
source lattice Boltzmann library OpenLB [19], which is values of N in such a way as to keep the viscosity νlb
publicly available. constant from one grid to another. Figure 4 (a) shows
12

(a) (b)
5
10
−3
Inamuro
10 Zou/He
Regularized

Maximum Reynolds number


4
10 Finite difference
−4 Nonlinear FD
10
Error

3
−5
10
10
−2 Slope
Inamuro 2
−6
10 Zou/He 10
Regularized
Finite difference
−7
Nonlinear finite difference
1
10 1 2 3
10
10 10 10 50 100 150 200
Grid resolution N Grid resolution N

FIG. 4: (a) Numerical accuracy in a 2D channel flow. (b) Numerical stability in a 2D channel flow. The maximum Reynolds
number which can be reached before numerical instabilities appear is plotted.

that all reviewed boundary conditions lead to the ex- The maximum velocity of the flow, reached in the middle
pected second-order accuracy with respect to grid reso- of the channel at time t = n2π/ω for any integer value
lution. Boundary conditions BC1 and BC2 are distinctly n, is found to be
more accurate, because their overall accuracy is only af-
fected by the error in corner nodes. It is furthermore A 2
umax = L . (56)
observed that the non-linear finite difference scheme of 8ν
BC5 is slightly more accurate than the linear approach This value umax is used to define the reference velocity
of BC4. The numerical stability of boundary conditions U , as it characterizes the flow reasonably well when os-
is explored in Figure 4 (b) by means of the maximum cillations are slow. The reference length L is described
Reynolds number which can be reached before numerical by the channel height ly . As the flow depends on time, it
instabilities occur. The most accurate boundary condi- is characterized by two dimensionless parameters, which
tions, BC1 and BC2 are also the distinctly least stable. are the Reynolds number Re defined in Eq. (49), and the
Most stable boundary conditions are those based on a Womersley number α, defined as
non-local algorithm, BC4 and BC5. r
L ω
α= . (57)
2 ν
B. Oscillating plane channel flow (2D)
In a system of dimensionless variables described by U
and L, the time-dependent solution to this flow is given
This laminar channel flow is also known as “Womersley by the Womersley profile [20, 21]:
flow” on ground of the analytical solution proposed by
J. Womersley [20]. It is defined by the same geometry ux (y, t) =
as the steady flow in Section V A. The pressure gradient   √ 1
 
is however not constant, but oscillates in time. Before iα
2
t 8 cosh 2(α + iα) y −
Re e Re 1 − √  2  ,
the reference velocity U can be defined, the equations iα2 cosh 22 (α + iα)
of the flow are written in an arbitrary system of units,
other than the dimensionless one. In this system, the (58)
amplitude of the oscillations is denoted by A, and the where i is the imaginary unit, and Re means that the
frequency by ω: real part of the formula needs to be evaluated.
The error ǫ of the numerical result with respect to the
∂p
= −A cos(ωt). (54) analytical solution of Eq. (58) is computed at each time
∂x step by evaluation of Eq. (52) over the whole computa-
In the low-frequency limit ω → 0, the solution to this tional domain. The overall error ǭ of the simulation is
flow is defined by a succession of Poiseuille profiles, with defined as an average of ǫ over one time period. Only the
oscillating amplitude: asymptotic value of ǭ, reached after a large number of
iterations, is accounted for. The initial transient regime
A of the fluid, and consequently the choice of the initial
ux (y, t) = (ly y − y 2 ) cos(ωt). (55) condition, are irrelevant.

13

(a) (b)

−3 −3
Error 10 10

Error
−4
10 −4
10
−2 Slope −2 Slope
Inamuro Inamuro
Zou/He Zou/He
Regularized Regularized
−5 Finite difference Finite difference
10
Nonlinear finite difference Nonlinear finite difference
1 2 1 2
10 10 10 10
Grid resolution N Grid resolution N

FIG. 5: Numerical accuracy in an oscillating channel. (a) α = 2 (slow oscillations), (b) α = 5 (fast oscillations).

In this simulation, the geometry is quadratic (lx = (expressed in dimensionless variables):


ly = 1). The Reynolds number is Re = 1, and the lattice
velocity is set to Ulb = 0.01 at a reference resolution of 1
Ψ0 (x, y) = √ cos(2πmx) cos(2πny), (61)
N = 10. The numerical results are plotted in Fig. 5 (a) 2π m2 + n2
for a value of α = 2 and on Fig. 5 (b) for a value of
α = 5. All other parameters are chosen to be the same where x and y are contained in the interval [0, 1] and
as in the steady channel flow. Figure 4 (a) in Section label the two space directions. The velocity field is given
V A can also be included in this discussion, as it corre- by
sponds to the limit α = 0 in which the flow does not
∂Ψ0 − cos(2πmx) sin(2πny)
oscillate. It should be pointed out that, as α increases, ux,0 (x, y) = = q (62a)
inertial effects on the flow dominate over viscous effects. ∂y m2
+1 n2
The velocity profile in the bulk becomes progressively in-
dependent of the boundary condition. As it can be seen and
from the simulations (see Fig. 5 (b)), the result is prac-
tically independent of the chosen boundary condition at ∂Ψ0 sin(2πmx) cos(2πny)
uy,0 (x, y) = − = q . (62b)
a value of α = 5. ∂x n2
m2 + 1

It is clear that ku0 (x, y)k ≤ 1 for all values of x and y,


C. Periodic array of vortices (2D) which justifies the choice of the reference velocity U . The
decay rate λ is found by solving the eigenvalue problem
The following benchmark measures the energy dissi- (59):
pation during time evolution of a laminar flow without
external energy input. The initial velocity field consists λ = −(m2 + n2 ). (63)
of an array of counter-rotating vortices [22]. The flow The initial pressure distribution of the flow is evaluated
is described by its value inside a periodic box of size by solving the Poisson equation ∇2 p = −(u · ∇)u:
L × L. The flow velocity u0 at any time t0 is derived
from its stream function Ψ0 , which is an eigenfunction of p = −(n2 cos(4πmx) + m2 cos(4πny)). (64)
the Laplacian operator with eigenvalue λ:
The dimensionless pressure p is converted as follows to
∇2 Ψ0 = λΨ0 . (59) the density ρlb , expressed in lattice units: ρlb = 1 +
pδx2 /(c2s δt2 ), where the discrete steps δx and δt are defined
The time evolution of this flow is characterized by an as in Eq. (50). This benchmark is formulated as an ini-
exponential decrease of the velocity amplitude: tial value problem. The initial condition is therefore set
up with special care, using an approach described in Ref.
u(t) = u0 eλν(t−t0 ) for t ≥ t0 . (60) [23] and based on an original suggestion in Ref. [13]. The
particle populations are first initialized at an equilibrium
Among all eigenfunctions of the Laplacian, the following distribution, based on the desired value of u and p. The
initial stream function Ψ0 was selected for the benchmark off-equilibrium parts of the particle populations are then
14

(a) N=8 (b) N=32


0
10
Inamuro Inamuro
−6
−2
Zou/he 10 Zou/he
10 Regularized Regularized
Finite difference Finite difference
−4
10 −8

Energy
10
Energy

−6
10
−10
10
−8
10

−10 −12
10 10
0 0.002 0.004 0.006 0.008 0.01 2 3 4 5 6
Time Time x 10
−3

FIG. 6: Time-evolution of the average energy in the 2D periodic array of vortices. The curves for the linear and the non-linear
finite difference methods overlap as far as one can distinguish visually. Therefore, only the linear case is presented. A boundary
condition is considered to be of good quality if the point at which the curve oscillates and departs from an exponential decay
occurs late.

instantiated with the help of Eq. (23), with numerically variables:


computed velocity gradients. Although the flow is pe- 1 2
riodic in both space directions, non-periodic boundary u0 = − kηe k (y − y1 )e−(r1 /r0 ) (65a)
2
conditions are used, and the boundary velocity is explic- 1 2
itly imposed by use of the reviewed boundary conditions. + kηe k (y − y2 )e−(r2 /r0 ) and
The velocity along the boundaries of this sub-domain is 2
1 2
set to the analytical value of Eq. (60) at every time step v0 = + kηe k (x − x1 )e−(r1 /r0 ) (65b)
with the help of the five tested boundary conditions. 2
1 2
Figure 6 displays the time-evolution of the average en- − kηe k (x − x2 )e−(r2 /r0 ) .
2
ergy with different boundary conditions at a resolution
N = 8 and a resolution N = 32. The Reynolds number Here, p
the distance to the monopole centers is defined as
is Re = 1, and the reference velocity in lattice units is ri = (x − xi )2 + (y − yi )2 . The parameter r0 labels
set to Ulb = 0.01 at a grid resolution N = 8. In an initial the diameter of a monopole and ηe its core vorticity.
regime, the energy decay is in all cases exponential, as The average kinetic energy of this system at a given
predicted by Eq. (60). After reaching a critical value of time is defined by the expression
the time t, the curve starts oscillating and deviates from
1 1 1
Z Z
the theoretical prediction. For the non-local boundary 2
Ē(t) = kuk (x, t)d2 x, (66)
conditions BC4 and BC5, this deviation occurs earlier 2 −1 −1
than for the local ones. It is therefore concluded that the
and the average enstrophy by
non-local boundary conditions are less accurate for this
problem. 1 1 1 2
Z Z
Ω̄(t) = η (x, t)d2 x, (67)
2 −1 −1
where η = ∂x v − ∂y u is the flow vorticity.
The dipole described by Eqs. (65a) and (65b) develops
D. Dipole-wall collision (2D)
a net momentum directed in the positive x-direction and
is self-propelled toward the right wall. The collision be-
This benchmark, based on Refs. [24] and [23], ana- tween the dipole and the no-slip wall is characterized by
lyzes the time evolution of a self-propelled dipole con- a turbulent dynamics where the wall acts as a source of
fined within a square box. The box is located in the ge- small-scale vortices that originate from detached bound-
ometrical domain [−L, L] × [−L, L] and implements no- ary layers. This problem is therefore particularly inter-
slip walls. The initial condition describes two counter- esting as a test for the ability of boundary conditions to
rotating monopoles, one with positive core vorticity at reproduce the dynamics of boundary layers during colli-
the position (x1 , y1 ) and one with negative core vortic- sion. For this purpose, the maximum value of the flow
ity at (x2 , y2 ). This is obtained with an initial velocity enstrophy, which is reached during the dipole-wall colli-
field u0 = (u0 , v0 ) which reads as follows in dimensionless sion, is evaluated and retained for a comparison among
15

−1 ally stable, the simulations using BC1 and BC2 were still
10
subject to numerical instabilities.
The numerical results are presented in Fig. 7. Please be
aware that a resolution of N = 300, for example, stands
for a total grid size of 600 × 600, as the size of the system
−2
10 is 2 × 2 in dimensionless variables. For a Reynolds num-
ber Re = 625, all three boundary conditions BC3, BC4,
Error

and BC5, the error decreases roughly at a second-order


rate. The local boundary condition BC3 is however an
−3
10 order of magnitude more accurate than the other can-
didates. This is striking, because BC3 is least accurate
−2 Slope
Regularized in all benchmarks of laminar flows. It is concluded that
Finite difference the local, cell-based approach of BC3 is particularly well
−4
Nonlinear finite difference adapted to reproduce the dynamics of a boundary layer.
10
300 500 800 A possible interpretation is that the finite difference ap-
Grid resolution N proximation of velocity gradients in BC4 and BC5 be-
comes inaccurate in presence of a turbulent boundary
FIG. 7: Accuracy on the value of the enstrophy peak in a 2D layer due to small-scale velocity variations.
dipole-wall collision at Re = 625. Boundary conditions BC1
and BC2 could not be tested, because they are numerically
unstable at this Reynolds number. E. Rectangular steady channel flow (3D)

This problem is a 3D generalization of the channel flow


boundary conditions. As no analytical result for this presented in Section V A. This time, the channel extends
in z-direction. At every fixed value of z, the cross sec-
flow is known, the measured values are compared against
benchmark results obtained with a spectral method in tion is rectangular, extending from x = 0 to x = L,
Ref. [24]. and from y = 0 to y = ζL, where ζ is the aspect ra-
In the benchmark, the initial core vorticity of the tio of the cross section. The pressure is independent of
the x- and the y-coordinates, and decreases linearly as a
monopoles is fixed to ηe = 299.5286, which leads to an
initial average kinetic energy of Ē(0) = 2. Furthermore, function of z. The velocity has a non-zero component in
z-direction only, and depends on x and y: uz = uz (x, y).
the Reynolds number and the monopole radius are set
to Re = 625 and r0 = 0.1. The lattice velocity is set As in the 2D case, nonlinear contributions to the Navier–
Stokes equation cancel out, and the velocity profile uz is
to Ulb = 0.01 at a reference resolution of N = 300.
The monopoles are aligned symmetrically with the box, described as a solution of the following Poisson equation:
in such a way that the dipole-wall collision is frontal ∂ 2 uz ∂ 2 uz ∂p
and takes place in the middle of the wall. The posi- ∇2 uz ≡ + = . (68)
∂x2 ∂y 2 ∂z
tion of the monopole centers is (x1 , y1 ) = (0, 0.1) and
(x2 , y2 ) = (0, −0.1). As in Section V C, the approach As this equation is non-homogeneous, the general solu-
of Ref. [23] is used to set up the initial condition. The tion is described as the sum of a particular solution up
initial pressure is evaluated numerically, by solving the and a general solution uh to the homogeneous problem
Poisson equation with a successive overrelaxation (SOR) ∇2 uz = 0. The particular solution can be taken from
scheme, using an algorithm described e.g. in Ref. [25]. the 2D flow in Section V A. In dimensionless variables,
The off-equilibrium parts of the particle populations are it reads
then instantiated with the help of Eq. (23), with numer-
ically computed velocity gradients. up (x, y) = 4(x − x2 ). (69)
The boundary conditions BC1 and BC2 could not be
used for this problem, because they experienced numer- This settles the choice for the reference velocity U as
ical instabilities at the required Reynolds number (the being the maximum velocity reached in a 2D channel.
benchmark values in the literature start at Re = 625). The pressure drop is the same in the 3D as in the 2D
These instabilities are due to an inherent limitation of case: ∂p/∂z = −8/Re. The complete analytic solution
the boundary conditions, and do not originate from the to this 3D channel flow is [26]
way the initial condition or the boundary condition in
+∞ 
corner nodes are treated. This possibility was ruled out 2 32 X (−1)n
by initializing the population functions with an equilib- uz (x, y) = 4(x − x ) + 3 (70)
π n=0 (2n + 1)3
rium distribution, and keeping the corner nodes at an  
equilibrium distribution with constant pressure through- cosh (2n + 1) πyζ

out the simulation. Although this approach to setting cos ((2n + 1)πx) .
cosh (2n + 1) π2 ζ

up initial states and boundaries tends to be exception-
16

(a) (b)
6
−3 10
10 Inamuro
5
Zou/He
10 Regularized

Maximum Reynolds number


Finite difference
4 Nonlinear FD
−4
10 10
Error

3
10

−5 −2 Slope 2
10 10
Inamuro
Zou/He
Regularized 1
10
Finite difference
−6
Nonlinear finite difference
0
10 1 2
10
10 10 0 20 40 60 80 100
Grid resolution N Grid resolution N

FIG. 8: (a) Numerical accuracy in a 3D channel flow. (b) Numerical stability in a 3D channel flow. The maximum Reynolds
number which can be reached before numerical instabilities appear is plotted. Boundary conditions based of finite difference
approximations (BC4 and BC5 ) are unconditionally stable at high grid resolution. Numerical values are therefore only reported
in the unstable regime, up to N = 25 for BC4 and up to N = 20 for BC5.

Figure 8 (a) shows results of numerical accuracy at from one boundary condition to another, depending on
Re = 10. The reference velocity is Ulb = 0.01 at N = 50, the flow geometry and the grid resolution. A way to
and the aspect ratio is ζ = 1. Numerical stability is ex- understand these differences might be to take the multi-
plored in Figure 8 (b) for a varying grid resolution. The scale analysis to a higher order O(ε2 ) and discuss the
numerical results in this 3D benchmark are similar to couplings between higher order terms and the hydrody-
those of the 2D application in Section V A. The boundary namic scales. This technique is for example employed in
condition BC1 is again much more accurate than bound- Ref. [27] to understand the asymptotic low Mach-number
ary conditions that replace all particle populations. As in behavior of a family of lattice Boltzmann models. In-
the 2D case, all but one component of the strain rate ten- stead of doing this, this review article produces bench-
sor vanish in this flow, and some potential deficiencies of mark results for the boundary conditions in many differ-
BC1, as the one shown in Eq. (35), might not be visible in ent geometries. Those results are intended to serve as a
the benchmark. An unexpected result is that boundary reference to help select the most appropriate boundary
condition BC2, which in 2D applications achieves results condition for a given lattice Boltzmann simulation. It is
very similar to those of BC3, falls in the same category emphasized once more that the results are valid only for
as the non-local boundary conditions BC4 and BC5 in straight boundaries which are aligned with the numer-
this 3D case. Another remarkable difference with respect ical grid. Different conclusions can be expected when
to 2D results is that the non-local boundary conditions off-lattice boundaries are implemented.
achieve unconditional numerical stability in 3D, as soon In 2D simulations and at low Reynolds numbers, the
as the grid resolution exceeds a certain threshold value. Inamuro and Zou/He boundary conditions BC1 and BC2
At this point, further investigations would be needed to are found to produce the most accurate results. Both
decide if this difference is due to different flow geometries of them preserve the known particle populations on a
(the analytical solutions in Eqs. (53) and (70) are qualita- boundary node, a fact which probably explains their ex-
tively different) or if 3D simulations are inherently more cellent benchmark performance. They retrieve a large
stable than 2D ones for this type of boundary conditions. amount of information from the bulk of the fluid, and
manipulate only few particle populations (3 out of 9).
It seems plausible that by doing this, they retain infor-
VI. DISCUSSION AND CONCLUSION mation on higher order terms which are not visible in
the hydrodynamic terms of the multi-scale analysis. The
Five boundary conditions for the lattice Boltzmann Inamuro method is also very accurate in the 3D bench-
method have been selected and presented in this review mark, but this performance is not reproduced by the
article. As it is concluded from applying the results of a Zou/He condition, which in this case compares to non-
multi-scale analysis to boundary nodes, all methods are local boundary conditions. The main deficiency of BC1
second-order accurate with respect to the grid resolution. and BC2 is that they are numerically unstable at (even
This implies that their error varies asymptotically at the moderately) high Reynolds numbers. They could for ex-
same rate. Beyond this asymptotic estimate, the accu- ample not be used to simulate the turbulent dipole-wall
racy experienced in numerical simulation differs however collision presented in Section V D.
17

In conclusion, BC1 and BC2 are the boundary con- they are even unconditionally stable on a sufficiently
ditions of choice for the simulation of laminar 2D flows, large grid. Their main disadvantage is the non-locality of
when high accuracy is important. The Inamuro bound- their algorithm. This violates the basic principles of the
ary condition BC1 is also a good candidate for laminar LB method, may substantially increase the complexity
3D flows, although it is not an explicit method, and thus of a code, and even be an obstacle to parallelizing the
tends to be complicated to implement. The extension of program in a straightforward way. On the other hand,
BC2 to 3D flow does not seem to make much sense, as it the boundary conditions BC4 and BC5 are very gen-
does not exhibit exceptional accuracy, and is less stable eral and may adapt well to a larger software project.
than other approaches. They are for example not bound to the lattice structure,
The Regularized boundary condition BC3 uses a hy- and can be extended to the case of off-lattice boundaries,
brid approach, as it is local like BC1 and BC2, but it like the one described in Ref. [28]. Boundary condition
replaces all particle populations like BC4 and BC5. As BC5 takes into account non-linear velocity terms in off-
such, it is less accurate than BC1 and BC2 in lami- equilibrium particle populations, which are neglected in
nar flows, but it has the ability to reach much higher BC4. Thanks to this, it is slightly more accurate and
Reynolds numbers. Furthermore, simulations of a tur- more stable. The difference is however so small that it
bulent dipole-wall collision show that it reproduces the does not seem to justify the increased complexity and
dynamics of boundary layers more accurately than all computational burden.
other boundary conditions. Because of its numerical sta-
bility, and because it is easy to implement in 2D and
3D applications, BC3 is a good general-purpose method, Acknowledgments
and seems to be the best candidate for high Reynolds
number flows. We thankfully acknowledge the support of the Swiss
The non-local boundary conditions BC4 and BC5, National Science Foundation SNF (Awards FN 200020–
which use a finite difference scheme to approximate the 1007931, PBGe2–117144, and FN 200021–107921). We
off-equilibrium part of particle populations, exhibit the also thank Andreas Malaspinas for inspiring suggestions.
best numerical stability. In the laminar 3D benchmark,

[1] S. Chen, H. Chen, D. Martinez, and W. Matthaeus, Phys. Gase und Lattice-Boltzmann-Methoden (Springer Verlag,
Rev. Lett. 67, 3776 (1991). 2004).
[2] S. Chen and G. D. Doolen, Ann. Rev. Fluid Mech. 30, [16] P. J. Dellar, Phys. Rev. E 64, 031203 (2001).
329 (1998). [17] Z. Guo, C. Zheng, and B. Shi, Phys. Rev. E 65, 046308
[3] J. Latt, PhD dissertation, University of Geneva, (2002).
Geneva, Switzerland (2007), http://www.unige.ch/ [18] LB boundary condition benchmarks. http://www.
cyberdocuments/theses2007/LattJ/meta.html. lbmethod.org/bcbench.html.
[4] M. Junk, A. Klar, and L.-S. Luo, J. Comput. Phys. 210, [19] The OpenLB project. http://www.lbmethod.org/
676 (2005). openlb/.
[5] Y. Qian, D. d’Humières, and P. Lallemand, Europhys. [20] J. R. Womersley, J. Physiol. 127, 553 (1955).
Lett. 17, 479 (1992). [21] J. A. Cosgrove, J. M. Buick, S. J. Tonge, C. G. Munro,
[6] S. Succi, The lattice Boltzmann equation for fluid dynam- C. A. Greated, and D. M. Campbell, J. Phys. A : Math.
ics and beyond (Oxford University Press, 2001). Gen. 36, 2609 (2003).
[7] X. He and L.-S. Luo, Phys. Rev. E 56, 6811 (1997). [22] O. Walsh, in The Navier-Stokes Equations II – The-
[8] X. He, X. Shan, and G. D. Doolen, Phys. Rev. E 57, R13 ory and Numerical Methods, edited by J. G. Hey-
(1998). wood, K. Masuda, R. Rautmann, and S. A. Solonnikov
[9] I. Halliday, L. A. Hammond, and C. M. Care, J. Phys. (Springer-Verlag, 1991), vol. 1530 of Lecture Notes in
A: Math. Gen. 35, L157 (2002). Mathematics, pp. 305–309.
[10] A. Dupuis and B. Chopard, Int. J. Mod. Phys. B 17, 103 [23] J. Latt and B. Chopard, Int. J. Mod. Phys. C 18, 619
(2003). (2007).
[11] T. Inamuro, M. Yoshina, and F. Ogino, Phys. Fluids 7, [24] H. J. H. Clercx and C.-H. Bruneau, Computers & Fluids
2928 (1995). 35, 245 (2006).
[12] Q. Zou and X. He, Phys. Fluids 9, 1592 (1997). [25] M. Griebel, T. Dornseifer, and T. Neunhoffer, Numerical
[13] P. A. Skordos, Phys. Rev. E 48, 4823 (1993). simulation in fluid dynamics (SIAM, 1998).
[14] W. Press, S. Teukolsky, W. Vetterling, and B. Flannery, [26] C.-S. Yih, Fluid Mechanics (McGraw-Hill, 1969).
Numerical Recipes in C++: The Art of Scientific Com- [27] P. J. Dellar, J. Comp. Phys. 190, 351 (2003).
puting (Cambridge University Press, 2002). [28] Z. Guo and C. Zheng, Phys. Fluids 14, 2007 (2002).
[15] D. Hänel, Einfuehrung in die kinetische Theorie der
y

c1 c8 c7

c2 c6
x

c3 c4 c5

Figure 1
Figure 2
1

0.8

0.6
ux

0.4

0.2 Poiseuille profile


Equilibrium on boundary
Regularized boundary condition BC3
0
0 0.2 0.4 0.6 0.8 1
y−position in channel

Figure 3
(a)

−3
10

−4
10
Error

−5
10
−2 Slope
Inamuro
−6 Zou/He
10
Regularized
Finite difference
−7
Nonlinear finite difference
10 1 2 3
10 10 10
Grid resolution N

Figure 4a
(b)
5
10
Inamuro
Zou/He
Regularized
Maximum Reynolds number

4
10 Finite difference
Nonlinear FD

3
10

2
10

1
10
50 100 150 200
Grid resolution N

Figure 4b
(a)

−3
10
Error

−4
10

−2 Slope
Inamuro
Zou/He
Regularized
−5 Finite difference
10
Nonlinear finite difference
1 2
10 10
Grid resolution N

Figure 5a
(b)

−3
10
Error

−4
10
−2 Slope
Inamuro
Zou/He
Regularized
Finite difference
Nonlinear finite difference
1 2
10 10
Grid resolution N

Figure 5b
(a) N=8
0
10
Inamuro
−2
Zou/he
10 Regularized
Finite difference
−4
10
Energy

−6
10

−8
10

−10
10
0 0.002 0.004 0.006 0.008 0.01
Time

Figure 6a
(b) N=32

Inamuro
−6
10 Zou/he
Regularized
Finite difference
−8
Energy

10

−10
10

−12
10
2 3 4 5 6
Time x 10
−3

Figure 6b
−1
10

−2
10
Error

−3
10
−2 Slope
Regularized
Finite difference
−4
Nonlinear finite difference
10
300 500 800
Grid resolution N

Figure 7
(a)
−3
10

−4
10
Error

−5 −2 Slope
10 Inamuro
Zou/He
Regularized
Finite difference
−6
Nonlinear finite difference
10 1 2
10 10
Grid resolution N

Figure 8a
(b)
6
10
Inamuro
5
Zou/He
10 Regularized
Maximum Reynolds number

Finite difference
4 Nonlinear FD
10

3
10

2
10

1
10

0
10
0 20 40 60 80 100
Grid resolution N

Figure 8b

You might also like