Limite hydrodynamique des équations LB
Limite hydrodynamique des équations LB
`
Universite de Geneve
Dpartement dinformatique
e
Dpartement de physique
e
`
THESE
prsente ` la Facult des sciences de lUniversit de Gen`ve
e
e a
e
e
e
pour obtenir le grade de Docteur `s sciences, mention interdisciplinaire
e
par
Jonas Ltt
a
de Mhledorf (SO)
u
Th`se No 3846
e
Gen`ve
e
Atelier de reproduction de la Section de physique
2007
FACULTE DES SCIENCES
Doctorat `s Sciences
e
mention interdisciplinaire
Th`se -3846e
Le Doyen, Pierre SPIERER
This dissertation was presented on March 9, 2007, at the Faculty of Science of the
University of Geneva.
The members of the comittee were the following:
Prof. Bastien Chopard, Supervisor
Prof. Michel Droz, Supervisor
Prof. Sauro Succi, Istituto Applicazioni Calcolo, Rome
Remerciements
En prenant mod`le sur la dynamique des uides mergeante dune microscopie riche
e
e
et abondante, cette th`se est issue dun tissu dinteractions complexe avec mon
e
entourage qui ma soutenu ` un niveau scientque, technique et motionnel. Je
a
e
suis reconnaissant ` tous les gens qui mont suivi durant ma th`se et esp`re quils
a
e
e
trouveront plaisir, en lisant ce document, ` y reconnaitre une contribution, une ide
a
e
ou un biais qui leur est d.
u
Je pense en particulier ` mes directeurs de th`se Bastien Chopard et Michel Droz
a
e
qui mont suivi au long du travail, et ` Sauro Succi qui a t conseiller et jur de
a
ee
e
th`se. Des conversations stimulantes ont permis de situer plusieurs sujets dans un
e
contexte plus large, et jaimerais faire valoir entre autres les contributions de Peter
Wittwer, de Vincent Heuveline et de Michel Deville.
Jai prot dun environnement de travail inspirant grce ` Jean-Luc et Bernhard
e
a a
qui mont aid ` aronter le monde hostile de linformatique, Fokko qui a soigneuseea
ment relu ma th`se, Orestis qui a prt une oreille critique ` mes ides farfelues et
e
ee
a
e
mes autres coll`gues qui mont tous donn un soutien remarquable.
e
e
La contribution la plus prcieuse vient sans aucun doute de mon entourage
e
proche, et je remercie Roxane, ma m`re, les parents de Roxane et toute ma famille
e
pour leur patience et leur appui.
Contents
Abstract
Rsum en Franais
e
e
c
vii
Introduction
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
6
7
8
8
9
9
10
11
13
.
.
.
.
.
.
.
.
.
.
15
15
15
17
18
21
23
26
27
28
28
.
.
.
.
.
.
.
.
.
31
31
31
33
34
34
36
39
39
41
ii
Contents
. . . . . .
. . . . . .
functions
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . .
. . . . . .
. . . . . .
. . . . . .
functions
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
45
45
46
46
47
48
48
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
54
54
55
55
57
59
59
59
61
61
61
63
64
.
.
.
.
.
.
.
.
.
65
65
67
67
68
69
70
71
71
72
.
.
.
.
.
.
.
.
.
75
75
76
78
78
79
79
79
80
80
Contents
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
85
85
86
88
91
Publications
95
Bibliography
99
Abstract
An analysis of the lattice Boltzmann (LB) method is conducted, and various conclusions are drawn on how to exploit this method for the numerical resolution of
the Navier-Stokes equation. This focus contrasts with the traditional approach
to the LB method, which usually considers complex uids with extended physical
properties. The specic scope of the present thesis is motivated by current practice in the domain of computational uid dynamics. It is indeed observed that
an increasing number of scientists and engineers simply use the LB method as an
alternative to conventional numerical solvers for the Navier-Stokes equation. The
conceptual framework presently available for an application of the LB method in
this area is however still weak. This leads to a number of limitations, to which some
workarounds are presented in the thesis.
In the rst part, the LB method is reformulated such as to put the main emphasis
on macroscopically relevant variables, instead of microscopical quantities originated
from the kinetic theory of gases. From this perspective, the accuracy and the limitations of the lattice Boltzmann method are discussed in simple terms.
The second part introduces novel LB models, rst for the simulation of advectiondiusion problems, and then for the resolution of the Navier-Stokes equation. The
latter model, presented under the name of regularized lattice Boltzmann is shown
to substantially increase the stability and accuracy of LB models in numerical simulation. The model is furthermore found to be innovative due to the fact that it
possesses an accurate dimensionless formulation in terms of macroscopic variables.
The technical implications of this observation are investigated in the third part:
the regularized LB method is used to solve various problems with varying time and
space scales, ranging from the use of spatially rened grids to the coupling of the
LB method with a nite dierence method. The point of view adopted throughout
this discussion is that practically all implementation issues in the LB method can be
addressed properly by systematically applying the results from the corresponding
Chapman-Enskog analysis.
The last part of the thesis deliberately changes the focus and utilizes the original,
non-regularized LB method for the simulation of a complex uid. Based on the microscopic LB variables, a model for the simulation of uid turbulence is formulated.
This document presents a selective choice of the topics investigated during the
thesis, aiming at a succinct overview of the main ndings. It focuses on theoretical
aspects and does not reect another important part of the thesis, related to implementation issues of the numerical models. In can be pointed out in particular that
the thesis led to the creation of three independent software projects. They introduce
new programming paradigms for the implementation of parallel programs and LB
models and provide freely available and well documented open source codes. This
part of the work is summarized at the end of the present document, along with a
listing of achieved publications.
Rsum en Franais
e
e
c
Aperu de la problmatique
c
e
Introduction
La prsente th`se de doctorat propose une tude de la mthode de Boltzmann sur
e
e
e
e
rseau, dnote par lacronyme LB pour son nom anglais de lattice Boltzmann.
e
e e
Diverses conclusions sont tires sur les possibilits dexploiter cette mthode pour
e
e
e
la rsolution numrique de lquation de Navier-Stokes. Cette mani`re restrictive
e
e
e
e
dutiliser la mthode LB doit tre vue par opposition ` son utilisation traditione
e
a
nelle, se situant dans le contexte de ltude de uides complexes avec des proprits
e
ee
physiques tendues. Le choix adopt dans la th`se est motiv par ltat de lart
e
e
e
e
e
dans le domaine de la simulation de uides (CFD pour lexpression anglaise computational uid dynamics). En eet, on observe quun nombre croissant de scientiques et ingnieurs utilisent la mthode de LB comme outil alternatif aux moyens
e
e
de rsolution numrique conventionnels pour lquation de Navier-Stokes. Le cadre
e
e
e
conceptuel ` disposition actuellement pour une application du LB dans ce domaine
a
est par contre toujours faible. Il en ensuit un nombre de limitations, auxquelles
certains rem`des sont proposs dans la th`se.
e
e
e
Dans la premi`re partie, la mthode LB est reformule dune telle mani`re `
e
e
e
e a
mettre en vidence les variables de nature macroscopique, au lieu des quantits
e
e
microscopiques issues de la thorie cintique des gaz. De cette nouvelle perspective,
e
e
la prcision ainsi que les limitations de la mthode de Boltzmann sur rseau sont
e
e
e
tudis en termes simples.
e
e
La deuxi`me partie introduit de nouveaux mod`les LB, dabord pour la simulae
e
tion de probl`mes ` convection-diusion, et ensuite pour la rsolution de lquation
e
a
e
e
de Navier-Stokes. Il est dmontr que ce dernier mod`le, prsent sous le nom de
e
e
e
e
e
lattice Boltzmann rgularis, augmente de mani`re substantielle la stabilit et la
e
e
e
e
prcision des mod`les LB au cours de simulations. Un autre aspect innovant de
e
e
ce mod`le se rf`re au fait quil scrit de mani`re exacte en terme de variables
e
ee
e
e
macroscopiques.
Les implications techniques de cette observation sont tudies dans la troisi`me
e
e
e
partie: la mthode LB rgularise est utilise pour rsoudre divers probl`mes pose
e
e
e
e
e
sdant des chelles temporelles et spatiales variables. Il sagit l` par exemple de
e
e
a
grilles numriques localement ranes ou de couplages entre une mthode LB et
e
e
e
une mthode de dirences nies. Le point de vue adopt ` travers cette tude
e
e
e a
e
sappuie sur lide que pratiquement toute question dimplmentation pratique en
e
e
LB se rsoud ` travers une analyse de Chapman-Enskog correspondante.
e
a
Cette optique est dlibrment modie lors de la derni`re partie de la th`se,
e ee
e
e
e
dans laquelle la mthode LB originale, non-rgularise est utilise pour la simulation
e
e
e
e
dun uide complexe. Sur la base de variables LB microscopiques, un mod`le pour
e
la simulation de uides turbulents est formul.
e
viii
Rsum en Franais
e
e
c
Rsum en Franais
e
e
c
ix
Rsum en Franais
e
e
c
Rsum en Franais
e
e
c
xi
Conditions initiales
Applications multi-grille
Figure 1: Divers probl`mes se posent lors de limplantation dun mod`le LB, pour
e
e
lesquels une conversion entre variables macroscopiques et fonction de distribution
est requise.
p
u
+ u u + I 2S
t
0
= 0.
1
2
u+
xii
Rsum en Franais
e
e
c
1
1
1
c u + 4 (ck u)2 2 |u|2 .
2 k
cs
2cs
2cs
Rsum en Franais
e
e
c
xiii
La vitesse: u = 1/
fk .
k ck fk .
Dveloppement multi-chelle
e
e
Bien quon ait montr dans la section prcdente comment calculer les variables
e
e e
macroscopiques ` partir des fonctions de distribution, la procdure inverse na
a
e
jusqualors pas t aborde. An de connecter en dtail la dynamique LB avec
ee
e
e
une dynamique macroscopique, la limite du continu doit dabord tre value par
e
e
e
un dveloppement de Taylor du deuxi`me ordre, et une technique de sparation des
e
e
e
chelles temporelles et spatiales est utilise pour valuer la limite hydrodynamique
e
e
e
du mod`le. Le dveloppement de Taylor se rsume par lapproximation suivante:
e
e
e
fk (xij + ck , t + 1) fk (xij , t) (t +
ck ) fk +
1
2
2
t + 2t
ck +
ck
fk .
Dans le processus de sparation des chelles, les fonctions fk , ainsi que les drives
e
e
e e
spatiales et temporelles, sont dvelopps en fonction dun param`tre formel petit,
e
e
e
cest-`-dire
a
1:
(0)
(1)
fk = fk + fk + O( 2 ),
t = t1 + 2 t2 + O( 3 ) et
(1)
=
+ O( 2 ).
En rintroduisant ces approximations dans le mod`le BGK, on retrouve bien
e
e
lquation de Navier-Stokes, et on conclut que ce mod`le simule proprement la dye
e
namique dun uide. Ce rsultat est bien connu est reprsente un des piliers sur
e
e
lesquels repose la mthode. Ce nest par contre pas ce rsultat en lui-mme qui
e
e
e
nous intresse prsentement, mais plutt un rsultat intermdiaire, reliant les fonce
e
o
e
e
tions de distribution aux champs macroscopiques.
Le terme constant en est en eet quivalent ` la fonction dquilibre, et ne
e
a
e
dpend donc que de et de u:
e
(0)
eq
fk = fk (, u).
tk
(1)
fk = 2
Qk : u
cs
1
ck : u u + 2 (ck )(Qk : u u) ,
2cs
xiv
Rsum en Franais
e
e
c
(1) =
ck ck fk .
k
2c2
s
S.
Lors du calcul du deuxi`me moment des fonctions de distribution, tous les termes
e
contenus dans la fonction de distribution nentrent pas en compte. En eet, les
termes dnis au carr de la vitesse sliminent pour des raisons de symtrie. Dans
e
e
e
e
le but dobtenir le bon tenseur (1) produisant une hydrodynamique approprie,
e
il est donc susant de considrer une version rduite des fonctions fk :
e
e
tk
(1)
fk = 2
Qk : u .
cs
Cette expression relie de mani`re simple le champs macroscopique aux valeurs des
e
fonctions de distribution.
(1) = tk Q : u
fk
k
2
cs
tk
1
= 2 Qk :
( u) + ( u)T
cs
2
tk
= 2 Qk : S
cs
tk
Q : (1)
=
2c4 k
s
Rsum en Franais
e
e
c
xv
Cette relation est centrale dans pratiquement tous les sujets dvelopps dans la
e
e
th`se. Elle relie les champs macroscopiques aux valeurs des fonctions de distribution,
e
et peut donc tre exploite systmatiquement, ` chaque fois quune telle transfore
e
e
a
mation est ncessite. Pour souligner cette importance, la formule de rgularisation
e
e
e
est reproduite, en omettant cette fois-ci les calculs qui ont permis de la trouver:
tk
(1)
fk = 4 Qk : (1)
2cs
u
S
(1)
eq
fk
r
e
eq
(1)
fk egularis = fk + fk
Mod`le LB rgularis
e
e
e
La formule de rgularisation est utilise dans plusieurs domaines qui sont prsents
e
e
e
e
dans la th`se. A titre dexemple, lapplication probablement la plus importante est
e
explique dans ce qui suit: le mod`le de Boltzmann sur rseau modi, dont les
e
e
e
e
fonctions de distribution sont rgularises.
e
e
Lalgorithme pour la collision entre particules dans ce mod`le se dcompose en
e
e
trois tapes:
e
1. Calcul de , u et neq =
k ck
eq
ck (fk fk ).
r
e
2. Rgularisation fk fk egularis
e
xvi
Rsum en Franais
e
e
c
linaire est par contre sept fois plus rapide dans le cas du mod`le BGK. Dans les
e
e
dtails, on trouve
e
Pour le mod`le BGK:
e
Remax = 0.4 + 1.0 N
Pour le mod`le rgularis: Remax = 16 + 7.4 N
e e
e
Il est donc tabli que pour ce type de probl`mes, le mod`le rgularis est nete
e
e e
e
tement plus prcis et plus stable que le mod`le BGK. Cet avantage sexplique par
e
e
lorigine de la mthode rgularise. Elle a t construite en imposant une sparation
e
e
e
ee
e
des chelles au mod`le original, le mod`le BGK. Uniquement les termes hydroe
e
e
dynamiques, cest-`-dire, le termes contribuant ` la dynamique de lquation de
a
a
e
Navier-Stokes, ont t prservs, et les termes dordre suprieur sont ngligs. Il
ee e
e
e
e
e
est vrai qu` cause de cette simplication, la mthode rgularise sest apauvrie.
a
e
e
e
On sattend en particulier ` ce quelle soit moins apte ` prsenter spontanment des
a
a e
e
ingrdients physiques dun uide complexe. Dans un but particulier par contre, celui
e
de la rsolution de lquation de Navier-Stokes, elle est plus concise, plus pratique
e
e
a
` manier, plus prcise et plus stable.
e
Introduction
Computational uid dynamics
The present thesis investigates a methodology in the domain of computational uid
dynamics (CFD), that is, the numerical simulation of uid ows. The core of this
research area is represented by a partial dierential equation (PDE) widely known
as the incompressible Navier-Stokes equation, which expresses a local conservation
law for the momentum in the system. It constitutes a largely simplied model for
a viscid, single component uid in an environment without density or temperature
variations nor any other specic physical ingredients. Although this equation only
partially addresses the complexity of most uids of interest in engineering applications, it is successfully applied in dierent areas for qualitative predictions of uid
ows. A case in point are optimization problems in aerodynamics, as for example
the design of a car body, or the creation of airfoils. It is obvious that the incompressible Navier-Stokes equation only roughly approximates the nature of compressible
air. Nevertheless, this equation leads to predictions of high quality that are successfully exploited, jointly with the results of physical experiments. Solving the
Navier-Stokes equation is actually a numerically very challenging task, in spite of
the apparent simplicity of the PDE. Much eort is therefore invested in developing
numerical approaches to the resolution of this equation, rather than adding even
more complexity by additional physical terms.
On the other hand, some research branches investigate so-called complex uids that exhibit extended physical properties, and to which the basic Navier-Stokes
equation is an insucient approximation. The classical approach in CFD to the
treatment of such uids is to describe the new physical properties in terms of transport phenomena related to a new observable, macroscopic property. A new PDE is
written down for the dynamics of this property, which then is solved by an appropriate numerical technique. The interaction between the dierent transport phenomena is handled via interaction terms between the respective PDEs. In a uid with
important temperature variations for example, a new observable property, the temperature, is introduced and its dynamics is described by a heat transport equation.
Furthermore, the momentum equation is extended to comprehend compressible uids. The temperature and the velocity are then linked through a convective term in
the heat equation and a buoyancy term in the momentum equation. An additional
equation of state links the temperature to the density. One can view the traditional
eld of CFD as a top-down approach to uid modeling, starting with a simple conservation law, and adding new equations on demand, based on both theoretical and
phenomenological considerations.
Introduction
Introduction
ables. The variables of concern in CFD are the macroscopic, observable quantities.
In the incompressible Navier-Stokes equation, the degrees of freedom are dened
by the space and time dependent velocity u = u(r, t) and the pressure p = p(r, t).
Classical CFD solvers most often calculate directly a discrete representation of these
variables, that is, they store the value adopted by the variables on the nodes of a
given numerical grid. The LB method on the other hand simulates the dynamics of
a so-called particle distribution function, a quantity derived from the kinetic theory
of gases that represents a probability density for the presence of particles in phase
space. Although it is well known how the macroscopic variables are computed from
a given state of the particle distribution function, the reverse procedure is much
more contrived. It is actually not always clear how a given conguration of the
macroscopic variables can be used to initialize the distribution function. This fact
is rarely recognized as a problem by a community that is used to thinking exclusively in terms of kinetic quantities. It does however generate many complications
whenever macroscopic variables are explicitly evoked in the simulation, or when the
macroscopic length and time scales of the model need to be adapted.
Introduction
series is truncated. The remaining lower order terms, sucient to recovering the
Navier-Stokes equation, are called hydrodynamic terms. This technique is however
not so frequently used to actually develop new methods in the domain of LB. The
point of view adopted in the present thesis is that practically all implementation
issues in the LB method can be addressed properly by systematically taking into
account the results of the Chapman-Enskog analysis. In this approach, intuitive
reasoning is underlined by formal proofs, and a uniform strategy is devised to solve
dierent problems in a common framework.
Chapter 1
Computational uid dynamics and lattice
Boltzmann
1.1
Throughout this thesis, vectors in the 2D or 3D Euclidean space are noted with
an arrow on top of them as in a, and higher order tensors by a bold face notation
as in A. Their indexes are labeled by Greek letters, as in a and in A . Two
types of notation are used to express algebraic operations on vectors and tensors.
In the index notations, all indexes are explicited, but the sums are skipped: it
is implicitly understood that they must be taken whenever an index is repeated
twice in the same term. With this notation, a scalar product between a and b is
written as = a b . In a full vector notation, the indexes are skipped, and the
scalar product is written as = a b. The shorter and more readable vector/tensor
notation is generally preferred. The more explicit index notation is however still
used in complicated expressions involving higher order tensors, to make sure they
are properly interpreted. The following list shows through several examples how
operations between vectors and tensors are denoted:
Vector/tensor notation Index notation
Scalar product
=ab
= a b
Tensor contraction
=A:B
= A B
Dyadic vector product
A = ab
A = a b
Gradient
a=
a =
Divergence of vector
= a
= a
Chapter 1
expressions.
1.2
1.2.1
Macroscopic equations
Governing equations
uid density
ow velocity
pressure
energy
temperature
,
u,
p,
E and
T.
The governing equations for those variables can be derived by methods of statistical
physics from the equations of motion of the microscopic model. Alternatively, they
can be interpreted as conservation laws for the concerned variables. To reect this
fact, they are written in a divergence form:
U
+ F = Q.
t
(1.1)
momentum: t (u)
energy:
t E
+
+
+
(u)
= 0,
(1.2)
(uu + pI )
= g
and (1.3)
(E + p)u T (u )T
= (q + g u).
(1.4)
The parameter stands for the thermal conductivity, and q for internal heat sources.
The tensor represents the deviatoric stresses in the uid. For a Newtonian uid
it has, by denition, the following form:
= ( u) I + 2 S,
(1.5)
1
S = ( u + ( u)T ).
2
(1.6)
The parameters and stand for the dynamic shear and bulk viscosity respectively.
Based on a microscopic model, in which the molecules of a gas are represented by
a single rigid sphere, one can derive the following theoretical relationship between
those parameters (see e.g. [1]):
2
(1.7)
= .
3
In real gases and liquids however, the actual value of can vary substantially from
this prediction. Equation (1.3) is commonly known as the compressible NavierStokes equation.
Eqs. (1.2,1.3,1.4) represent a system of d + 2 equations for d + 4 unknowns, in a
d-dimensional space. Is must be closed by additional equations of state that relate
the pressure with the temperature and the temperature with the energy.
1.2.2
In an isothermal ow, eects of the temperature are neglected, and Eq. 1.4 is not
taken into account. In that case, an equation of state must be devised that relates
the pressure and the density in the uid. In the following, an equation for ideal
gases is used, in which the pressure scales linearly with the density:
p = c2 ,
s
(1.8)
u = 0.
(1.9)
Chapter 1
Eq. (1.9) is often used as a denition for uid incompressibility. The conservation law
for the momentum is also simplied and leads to the incompressible Navier-Stokes
equation, often called Navier-Stokes equation for short:
t u + (u
)u =
1
p+
0
u.
(1.10)
In order to nd the value of p, one takes the divergence of Eq. (1.10) and makes use
of Eq. (1.9). This yields the Poisson equation:
2
p = 0 ( u) : ( u)T .
(1.11)
This time-independent equation replaces Eq. (1.9). When the evolution of an incompressible ow is computed numerically, Eq. (1.11) needs to be solved by an iterative
procedure at every discrete time step. It adjusts the value of the pressure in such a
way that the velocity eld remains divergence-less during its time evolution.
1.2.3
Dimensionless formulation
Before the governing equations for uid motion can be solved on a computer, one
needs to get rid of the physical units of the macroscopic variables. This leads to a
set of PDEs that act on dimensionless variables, and whose properties are tuned
via generic, dimensionless parameters. For the purpose of illustration, Eqs. (1.9)
and (1.10) are now cast in a dimensionless form. For this, a length scale l0 and a
time scale t0 are introduced that are representative for the ow conguration. The
length l0 could for example stand for the size of an obstacle which is immersed in
the uid, and t0 could be the time needed by a passive scalar in the uid to travel
a distance l0 . The physical variables for time and position, t and r, are replaced
by their dimensionless counterpart t = t/t0 and r = r/l0 . In the same manner, a
2
= 1/l0 and p = 0 l0 /t2 p is
change of variables for u = l0 /t0 u , t = 1/t0 t ,
0
performed. This leads to the following dimensionless Navier-Stokes equation:
t u + (u
1
)u = p +
Re
u = 0,
and
(1.12)
(1.13)
2
where Re = l0 /(t0 ) is the dimensionless Reynolds number. Two ows that obey
the same Navier-Stokes equation and which have the same Reynolds number are
equivalent. In this way, it is possible to solve the dimensionless equations on a
computer, and to relate the results with a physical ow that possesses the same
Reynolds number and the same ow geometry.
1.2.4
Further reading
A large number of books discuss the numerical resolution of PDEs and the topic of
computational uid dynamics. Only a few are mentioned here to guide the interested
reader.
1.3
1.3.1
10
1.3.2
Chapter 1
(1.14)
This equation has been written in lattice units, in which the spacing between two
adjacent lattice nodes, as well as the time interval from one iteration to the next,
are unitary. In this way, a close relationship between the theory and the application
is kept, as it is common to write numerical implementations of LB models in lattice
units. This approach is opposed to the one of other numerical models that are most
often implemented in a system of dimensionless units introduced in Section 1.2.3).
The term i on the right hand side of Eq. 1.14 is the collision operator that describes how the q values fi dened on the same node at given time step interact.
The macroscopic variables, the density and the velocity u are dened locally as
moments of the distribution functions:
q1
fi
and
(1.15)
i=0
q1
u=
ci fi .
(1.16)
i=0
In the following, whenever a sum over all distribution functions is taken, the range
of the variable i is not explicited any more to keep the notation short: the sum over
the q elements of a variable Ei , q1 Ei , is simply written as i Ei .
i=0
The most commonly used collision operator, known under the name of BGK
collision and discussed extensively in Ref. [7], implements a relaxation dynamics
towards a local equilibrium with a relaxation parameter :
BGK = (fi fieq ).
i
(1.17)
fi
= ti 1 +
1
1
c u + 4 Qi : uu ,
2 i
cs
2cs
(1.18)
(1.19)
The constant cs is the speed of sound of the model. This parameter, as well as the
q parameters ti are lattice constants. Conceptually speaking, there is some freedom
in the choice of the constant cs . All that needs to be done is to modify the value of
11
the rest particle weight t0 correspondingly, in order to recover the lattice symmetries
described in Section 2.1. In practice, a value of c2 = 1/3 is found to be numerically
s
most stable, and this choice is therefore most commonly adopted. In conclusion,
there are two ingredients to the denition of a lattice Boltzmann model: on the one
hand the details of the collision operator i , and on the other hand the structure
of the lattice, dened by the constants q, ci , cs and ti . Some of the most commonly
used lattice structures are summarized in Section 1.3.3.
The numerical model dened by Eqs.(1.14,1.18) solves asymptotically the equations of motion for a compressible uid, when the discrete steps t and x , as well
as the relative velocity u/cs are small enough. This fact is proved with some reservations in Section 2.3. It is also shown that the relaxation parameter is directly
related to the dynamic shear viscosity of the uid via Eq. 2.73:
= c2
s
1 1
(1.20)
The formulas of the lattice Boltzmann method can be derived theoretically via
dierent approaches. One approach, advocated for example in Ref. [8], views the
LB method as a continuous version of a microscopic model known as a Cellular Automata. In another approach, described for example in Ref. [9], the dynamics of the
LB method is derived from the continuum Boltzmann equation. This equation considers the movement of molecules in a gas and describes their behavior statistically
at a continuum level (see e.g. Refs. [10, 1]). For this reason, the theory behind the
Boltzmann equation is often called kinetic theory. By extension, the LB method is
sometimes called a lattice kinetic scheme, and the quantities fi used in the method
are referred to as kinetic variables.
This concludes the presentation of the lattice Boltzmann method. An overview
of lattice structures that can be used in common with the BGK model is presented
in the next section. A discussion of how to choose the system of units and relate the
lattice variables to macroscopic ones is found in Section 2.4. For a more detailed
discussion of implementation issues related to the LB method, the reader is referred
to Refs. [11, 12].
1.3.3
Lattice structures
A lattice structure with q lattice directions, dened on a d-dimensional space, is commonly identied by the name DdQq lattice. A few 2D and 3D lattice structures
that are commonly used for isothermal ows are listed in this section. For those
ows, it is sucient to consider structures in which the lattice vectors ci point to
the neighbors included in the immediate neighborhood, so-called nearest neighbors.
The lattice weights ti are used to account for the fact that not all lattice vectors
have the same length. Each lattice structure has three types of lattice weights, the
weight t0 corresponding to the zero velocity c0 = 0, the weight ts corresponding to
the short velocities and the weight tl corresponding to the long velocities. In 2D for
example, the short velocities, parallel to the lattice edges are of length 1, and the
12
Chapter 1
D2Q9 lattice
c2 =
s
t0 =
1
3
4
9
ts =
1
9
tl =
1
36
c0 = (0, 0)
c1 = (1, 1) c2 = (1, 0) c3 = (1, 1) c4 = (0, 1)
c5 = (1, 1) c6 = (1, 0)
c7 = (1, 1)
c8 = (0, 1)
D3Q15 lattice
c2 =
s
t0 =
1
3
2
9
ts =
1
9
tl =
c0 = (0, 0, 0)
c1 = (1, 0, 0)
c4 = (1, 1, 1)
c8 = (1, 0, 0)
c11 = (1, 1, 1)
1
72
c2 = (0, 1, 0)
c5 = (1, 1, 1)
c9 = (0, 1, 0)
c12 = (1, 1, 1)
c3 = (0, 0, 1)
c6 = (1, 1, 1) c7 = (1, 1, 1)
c10 = (0, 0, 1)
c13 = (1, 1, 1) c14 = (1, 1, 1)
D3Q19 lattice
c2 =
s
t0 =
1
3
1
3
ts =
1
18
c0 = (0, 0, 0)
c1 = (1, 0, 0)
c4 = (1, 1, 0)
c7 = (1, 0, 1)
c10 = (1, 0, 0)
c13 = (1, 1, 0)
c16 = (1, 0, 1)
tl =
1
36
c2 = (0, 1, 0)
c5 = (1, 1, 0)
c8 = (0, 1, 1)
c11 = (0, 1, 0)
c14 = (1, 1, 0)
c17 = (0, 1, 1)
c3 = (0, 0, 1)
c6 = (1, 0, 1)
c9 = (0, 1, 1)
c12 = (0, 0, 1)
c15 = (1, 0, 1)
c18 = (0, 1, 1)
D3Q27 lattice
The D3Q27 lattice uses lattice vectors of three dierent lengths: the short ones,
such as (1, 0, 0) with weight ts , the medium ones like (1, 1, 0) with weight tm and
the long ones like (1, 1, 1) with weight tl .
c2 =
s
t0 =
1
3
8
27
ts =
2
27
tm =
1
54
tl =
1
216
c0 = (0, 0, 0)
c1 = (1, 0, 0)
c4 = (1, 1, 0)
c7 = (1, 0, 1)
c10 = (1, 1, 1)
c14 = (1, 0, 0)
c17 = (1, 1, 0)
c20 = (1, 0, 1)
c23 = (1, 1, 1)
1.3.4
c2 = (0, 1, 0)
c5 = (1, 1, 0)
c8 = (0, 1, 1)
c11 = (1, 1, 1)
c15 = (0, 1, 0)
c18 = (1, 1, 0)
c21 = (0, 1, 1)
c24 = (1, 1, 1)
13
c3 = (0, 0, 1)
c6 = (1, 0, 1)
c9 = (0, 1, 1)
c12 = (1, 1, 1) c13 = (1, 1, 1)
c16 = (0, 0, 1)
c19 = (1, 0, 1)
c22 = (0, 1, 1)
c25 = (1, 1, 1)
c26 = (1, 1, 1)
Further reading
Chapter 2
Multiscale Chapman-Enskog analysis
2.1
2.1.1
Lattice symmetries
Not all lattice types are adequate for the execution of a lattice Boltzmann simulation.
In order for the simulation to yield the desired asymptotic PDE, the lattice must
verify a set of symmetry conditions. The BKG model for a uid for example requires
that there exists a constant cs and a set of weights ti for the lattice velocities ci such
that the following relations are veried:
(a)
ti = 1
ti ci ci = c2
s
(c)
(e)
ci ci ci ci =
(2.1)
c4 ( + + )
s
(b)
ti ci = 0
i
(d)
ti ci ci ci = 0
i
(f )
ti ci ci ci ci ci = 0.
i
The value of cs may vary from one lattice to another. In the following, this parameter
will be shown to be equal to the speed of sound in a simulation. The symmetries
displayed in Eq. (2.1) are present in all types of lattices listed in Section 1.3.3.
Note 2.1: Extended lattice structures
16
Chapter 2
for = 0 d 1 and i = 0 q.
(2.3)
2
Finally, a set of d2 lattice vectors C is introduced that obey the relation
2
Ci, = Qi
for , = 0 d 1 and i = 0 q,
(2.4)
where the tensor Q is dened in Eq. (1.19). It is pointed out that by symmetry of
2
2
2
the tensor Q, the vectors Ci verify the relation Ci = Ci . Equation (2.4) denes
therefore only d(d + 1)/2 independent vectors, instead of d2 . A scalar product
between two vectors a and b in Rq is nally dened as follows:
a|b =
ti ai bi .
(2.5)
With this, it is easily concluded from Eq. (2.1) that the lattice vectors dened above
are orthogonal to each other, but not necessarily unitary:
1
C 0 |C = 0,
(2.6)
2
C 0 |C = 0,
(2.7)
1 2
C |C
0 0
= 0,
(2.8)
= 1,
(2.9)
C |C
C 1 |C 1 = c2 I
s
2
2
C |C
c4
s
and
( + ).
(2.10)
(2.11)
The fact that Eq. (2.11) expresses an orthogonality relation between all vectors of
the family C 2 becomes clear when the tensor resulting from a scalar product between
two of those vectors is contracted with an arbitrary tensor T :
2
2
C |C T = c4 (T + T )
s
(2.12)
17
are introduced. They are interpreted as vectors in Rq , and the index i is consequently skipped. All hydrodynamic variables in a LB model, which were previously
introduced as moments of the distribution functions, are now reinterpreted as projections of g on the lattice vectors. The mass density for example is computed as
= C 0 |g , and the momentum as u = C 1 |g . Most of the algebra shown in the
next section can be viewed as the computation of similar projections. This point of
view is useful, because vanishing terms in the computation are at once identied as
projections between orthogonal vectors.
Note 2.2: Hermite polynomials
2.1.2
Multi-scale expansion
LB models with a generic collision operator are dened by the evolution equation (1.14) on page 10. The left-hand side of this equation can be expanded in a
second-order Taylor series as follows:
i = fi (r + ci , t + 1) fi (r, t)
1 2
(t + ci ) fi + (t + 2t ci +
: ci ci ) fi .
(2.14)
2
In order to relate the LB equation with a macroscopic PDE, it is necessary to
formally separate dierent time scales. In this way, physical phenomena occurring
at dierent scales are discussed separately and contribute individually to the nal
equations of motion. To obtain this, the time derivative is expanded in terms of a
formal, small parameter :
t = t1 +
t2 + O( 3 ).
(2.15)
The idea behind this expansion is that all involved terms (t1 and t2 ) are of the
same order of magnitude, and the smallness is introduced via the parameter . The
space derivative is not expanded beyond its rst-order term:
(1)
=
+ O( 2 ).
(2.16)
The particle distribution functions are likewise expanded, starting with a zerothorder contribution f (0) :
(0)
fi = fi
(1)
+ fi
2 (2)
fi
+ O( 3 ).
(2.17)
It is concluded from Eq. (2.14) that the collision term i does not contain constant
(0)
contributions with respect to the parameter : i = 0. It is therefore expanded as
follows, starting with the O( ) term:
(1)
i = i +
(2)
i + O( 3 ).
(2.18)
18
Chapter 2
This expansion, up to a second order accuracy with respect to , appears to be sucient to nd the Navier-Stokes equation. However, higher order terms, known under
the name of Burnett terms are present in the LB dynamics and can be computed.
In the following, all developments are written down separately for the O( ) and the
O( 2 ) scales, and all terms of the order O( 3 ) or higher are neglected.
The scale separated version of Eq. (2.14) reads:
(1)
(2)
i + 2 i = ( t1 + 2 t2 +
1 ci +
1 2 2 2
+ t1
2 t2
1 ci +
1 2
(0)
(1)
1 1 : ci ci )(fi + fi ).
2
(2.19)
Note 2.3: Knudsen number The parameter is often identied as the Knudsen number, that is, the ratio f /l0 between the mean free path of a gas molecule
and a macroscopic length scale. This terminology is motivated by a dimensional
analysis of the Boltzmann equation. Indeed, when all terms of this equation are
made dimensionless with respect to microscopic scales, the collision term is left
with a trailing factor f /l0 (see e.g. Ref. [14]). As a result of the truncated
multi-scale expansion, the LB equation (as well as the Navier-Stokes equation)
is valid only for low Knudsen number ows. It does not apply well for example
to dilute gases or microuids.
2.1.3
Conservation laws
The macroscopic variables of the ow are dened as moments of the particle distribution functions, that is, as the projection of the unweighted distribution functions
gi on the base vectors C 0 , C 1 and C 2 . This leads to the denition of the zerothorder scalar moment , the rst-order vector moment j and the second order tensor
moment :
=
fi ,
(2.20)
j=
ci fi
and
(2.21)
Qi fi .
(2.22)
(2.23)
19
(0)
fi =
fi .
(2.24)
This latter condition can be understood intuitively as follows: the conserved variables are moments of f (0) only, whereas the collision operator acts on f (1) , which
leaves the conserved variables unchanged during the collision. Alternatively, Eqs. (2.23)
and (2.24) can simply be taken as technical requirements that serve the nal aim,
namely to nd a LB scheme leading to the Navier-Stokes equation. In Sections (2.2)
and (2.3), LB collision operators are explicitly such as to respect the conservation
laws.
Expanding Eq. (2.23) on two dierent scales and 2 , and using Eq. (2.19), yields
(1)
(0)
i = t1
i
fi
(0)
ci fi
= t1 +
j (0) = 0
(2.25)
and
(1)
(2)
fi
i = t1
(0)
fi
+ t2
+ t1
(1)
ci fi
i
(0)
ci fi
= t2 +
1
1 1 :
2
1 2
+ t1
2
(0)
fi
i
(0)
(Qi + c2 I)fi
s
(2.26)
1 2
1
1
(0)
(1)
+ t1 + t1 1 j (0) +
+ c2
1j
1 1 :
2
2
2 s
2
1 .
Equations (2.25) and (2.26) are combined to eliminate the second-order time deriva2
tive t1 :
t2 +
1
1
1
(0)
+ c2
j (1) + t1 1 j (0) +
1 1 :
2
2
2 s
2
1
= 0.
(2.27)
First order moment conservation. At the rst order moment, a source term
F = F (1)
(2.28)
(0)
ci fi =
i
ci fi
i
F
.
2
(2.30)
20
Chapter 2
(1)
(0)
ci i = t1
ci fi + 1
i
= t1 j
(0)
(0)
(Qi + c2 I)fi
s
(2.31)
(0)
c2 1
s
=F
(1)
Two O( 2 ) terms appearing in Eq. (2.27) can now be evaluated and inserted into
this equation:
(2.32)
t1 1 j (0) = 1 F (1) 1 1 : (0) c1 2
by (2.31), and
s 1
(1)
1
= 1F
(2.33)
by (2.30).
1j
2
Eqs. (2.27), (2.32) and (2.33) are combined to obtain
t2 = 0,
(2.34)
t + j (0) = 0.
(2.35)
It is now clear that the particular form of Eq. (2.30), including a force term, was
required to cancel erroneous force contributions to the continuity equation.
Contributions of the order O( 2 ) to Eq. (2.29) yield:
(1)
(0)
(1)
(2)
(Qi + c2 I)fi
ci fi + 1
ci fi + t2
ci i = t1
s
1 2
+ t1
2
(0)
ci fi
+ t1
(0)
(Qi + c2 I)fi
s
1
(0)
1 1 : R
2
(2.36)
1 2 (0)
= t1 j (1) + t2 j (0) + 1 (1) + t1 j + t1 1 (0)
2
1
(0)
+ c2 t1 1 +
= 0,
1 1 : R
s
2
where the tensor R with components R = i ci ci ci fi has been introduced.
The second order time derivative is canceled with the help of Eq. (2.31),
2
(2.37)
t1 j (0) = t1 F (1) 1 (0) c2 1 ,
s
i
1
1
1
(0)
(1) + t1 1 (0) + c2 t1 1 +
= 0.
(2.38)
1 1 : R
s
2
2
2
Finally, the O( ) term in Eq. (2.31) and the O( 2 ) term in Eq. (2.36) are combined
and form the full momentum conservation equation:
t j (0) +
+ c2 I +
t1 (0) + c2 I + 1 R(0)
= F . (2.39)
s
s
2
This equation is written in a divergence form, just like Eq. (1.1) on page 6. In
Section 2.3, a collision operator is developed in such a way that an exact match
between the terms in Eq. (2.39) and the macroscopic conservation equation (1.3) is
obtained. More precisely, the O( ) term (0) + c2 I is identied with uu + p I,
s
and the remaining O( 2 ) terms with .
t2 j (0) +
21
Note 2.4: Conservation laws A striking feature of LB models is the fact that
they implement conservation laws without error. Indeed, the conservation laws
prescribed by Eqs. (2.23) and (2.29) can be interpreted as follows: the conserved
variables and j yield the same value, independently on whether they are computed from the incoming distribution functions fi or the outgoing distribution
functions fi +i . This implies that the space average of those variables does not
change during the time evolution, unless a source term is introduced by the domain boundaries or by the external momentum source F . Of course, a numerical
implementation of the LB model exhibits errors in the conservation laws anyway,
due to the limited precision of oating point representations in a computer. By
exact conservation it is meant that none of the typical error terms that scale
3
3
at an order O(x ), O(t ), O( 3 ) or O(Ma 3 ) is present in the conservation laws.
2.2
(u) = d
(2.40)
where d is the diusivity constant. The scalar represents for example the density
of a component in a multi-component uid, or the temperature distribution is a
uid. It is possible to solve this equation by means of a lattice Boltzmann method.
This is actually a relatively simple task, because the governing equation is linear,
and only one quantity, , is conserved. For this reason, this problem is used as an
introductory example to explain the ideas behind the Chapman-Enskog expansion.
The collision operator for the advection-diusion LB model can be written as a
BGK term, a relaxation towards a local equilibrium distribution:
i =
1
(eq)
fi fi
+ ti ci j.
(2.41)
Here, is the relaxation time, and j = j (1) an external source term for the
non-conserved rst order moment. It is introduced formally and will be used later
to correct errors in the numerical model. The equilibrium distribution reads
fieq = ti (1 +
1
ci u).
c2
s
(2.42)
j (0) =
2
1
1
1
1
(0)
j (1) + t1 j (0) +
+ c2 1 .
1
s
2
2
2
(2.43)
22
Chapter 2
In order to nd the unknown term in this equation, a scale separation for the particle distribution function fi must be explicitly dened. In the Chapman-Enskog
approximation, the model is expanded around the local equilibrium term. That is,
the equilibrium term is identied with f (0) :
(0)
fi
= fieq .
(2.44)
It is immediately concluded, using the symmetry properties (a)-(d) in Eq. (2.1), that
j (0) = u and
(0)
(2.45)
= 0.
(2.46)
First-order terms with respect to are computed by rewriting Eq. (2.41) as follows
(the equation is divided by , by which this parameter is skipped):
(1)
fi
= i + ti ci j.
(2.47)
The collision term i is expanded in a Taylor series as in Eq. (2.19). Only rst-order
derivatives need to be retained at the O( ) scale:
(1)
fi
1
ci u + ti ci j
c2
s
= 2 ti Qi : 1 (u) ti ci 1 2 ti t1 ci (u) + ti ci j.
cs
cs
= ti (t1 +
ci ) 1 +
(2.48)
j (1) =
ci fi
1
t1
c2
s
ti ci ci u +
= t1 (u) +
ti ci ci
c2 1
s
c2
s
ci ci j
i
j.
(2.49)
Eqs. (2.49), (2.45) and (2.46) are inserted into Eq. (2.43), which nally yields the
O( 2 ) scale of the dynamics:
t +
(u) = d
+ d/c2 t
s
(u) c2
s
unwanted term
j ,
(2.50)
correction term
1
2
(2.51)
Equation (2.50) is almost equivalent to the desired PDE, Eq. (2.40), except for a
correction term on the right hand side. To the knowledge of the author, this term
has been overlooked in the literature so far. Reference [17] for example presents a
full Chapman-Enskog development of the temperature model (2.41) but somehow
fails to nd the error term. In Section 2.4, numerical evidence for the negative
23
2.3
The arguments leading to a LB model for uid ows are similar to those developed in the previous section for the advection-diusion model. The related algebra
is however more involved, because both the zeroth order moment (mass) and the
second-order moments (momentum) are conserved. The collision operator is again
represented by a BGK relaxation term with corrections:
(eq)
i = (fi fi
) + FT i + CT i .
(2.52)
The force term FT i and the correction term CT i are developed on the rst and
second order vectors C 1 and C 2 :
a
b
c F + ti 4 Qi : (F u + uF ) and
2 i
cs
2 cs
c
CT i = ti 4 Qi : .
2 cs
FT i = ti
(2.53)
(2.54)
The term multiplied by a factor a adds to the total momentum of the system and
represents the external force contribution in the momentum conservation law. The
term preceded by a factor b acts on the higher order moment and introduces a correction to numerical errors of the force term, due to the second order time derivative.
This approach has rst been described in Ref. [18]. Finally, a formal term is
introduced. It is used in Section 3.2 to correct a numerical deciency of the model.
This term is introduced, just like the correction term j in Eq. (2.41), at the level
of the rst non-conserved moment. In this way, it does not interfere with the exact conservation laws of the numerical model, which are explained in Note 2.4 on
page 21.
24
Chapter 2
The equilibrium distribution function fieq is constructed in such a way that the
collision term respects all the conservation laws listed in Section 2.1.2, and the
moments of the particle distribution functions are such that the momentum conservation equation (2.39) is equivalent to the Navier-Stokes equation. For this, the
moments of the distribution functions are expanded on the base vectors C 0 , C 1 and
C 2 , which leads to the expression dened in Eq. 1.18. Actually, the dynamics described by Eqs. (2.52), (2.54) and (1.18) can only be used to solve the Navier-Stokes
equation when the relative velocity u/cs is small. More precisely, the quantity u/cs is
said to be of the order of magnitude of the Mach number (Ma), and the model contains a numerical error that scales at the third order of the Mach number, O(Ma 3 ).
In the following development, all terms that scale at the third order of the Mach
number are therefore neglected. An additional assumption is used, stating that
the time-variations of the density are of the same order of magnitude as the Mach
number, or smaller:
t = O(Ma).
(2.55)
This assumption is compatible with results from the kinetic theory of gases close to
the isothermal limit [1]. Close to the limit of uid incompressibility, the density variations are actually even found to scale like the square Mach number (t = O(Ma 2 )
and = O(Ma 2 )). The assumption of Eq. (2.55) is less restrictive and leaves
space for the model to be pushed further away from its limit of incompressibility .
Note 2.5: Discrete Maxwellian The lattice Boltzmann equation is sometimes
derived by discretizing the continuous Boltzmann equation. In this derivation, the
equilibrium distribution corresponds to a Maxwellian distribution of the velocity,
and it is obtained by expanding this distribution for small Mach numbers, up to
a second order. This point of view is for example developed in Ref. [14].
It is obvious that the collision term in Eq. (2.52) conserves the zeroth order
moment (mass). Conservation of the rst order moment (momentum) reads
ci i = a +
i
F
2
For Eq. (2.29) to be respected, the value of the constant a must be set to
a=1 .
2
(2.56)
(2.57)
The governing equations for the LB uid model are Eqs. (2.35) and (2.39). To
obtain the missing terms in these equations, the dynamics is developed around the
equilibrium distribution function, as it was done in the previous section for the
advection-diusion model. This time, all symmetry properties listed in Eq. (2.1) are
used. The zeroth order terms read
j (0) = u,
(0) = uu and
2
T
1 R = cs
1 (u) + ( 1 (u)) +
1 (u) I .
(2.58)
(2.59)
(2.60)
25
At the rst order with respect to , it follows from Eq. (2.52) that
ti
1
1
1
= (t1 + 1 ci ) 1 + 2 ci u + 4 Qi : uu + (FT i + CT i )
cs
2cs
ti
1
1
= t1 + 2 t1 (ci u) + 4 t1 (Qi : uu)
cs
2cs
1
1
+ci 1 + 2 ci ci : 1 (u) + (ci 1 )(Qi : uu) + (FT i + CT i ).
cs
(2.61)
(1)
fi
The time-derivatives in this equation are replaced by space derivatives through the
following substitutions:
t1 = 1 u
by (2.25,2.58),
(2.62)
1
1
1
t1 (ci u) = 2 ci F (1) 2 ci 1 : uu ci 1
c2
cs
cs
s
by (2.31,2.59),
(2.63)
1
1
Qi : t1 ( uu) = 4 Qi : t1 (u)u + u t1 (u) (t1 )uu
4
2 cs
2 cs
O(Ma 3 )
1
Q : t1 (u)u
(because Q is symmetric)
c4 i
s
1
= 4 Qi : F (1) 1 (uu) c2 1 u
by (2.31)
s
cs
O(Ma 3 )
1
Q : F (1) c2 1 u.
s
4 i
cs
(2.64)
fi
ti
1
Qi : 1 u ci 1 : uu + 2 (ci 1 )(Qi : uu)
2cs
1 ti
(b 1)ti
c ti
2 ci F +
Qi : (F u + uF ) + 4 Qi : .
4
2 cs
2 cs
2 cs
c2
s
(2.65)
When this equation is projected on the vectors of C 2 , using Eq. (2.12), only two
terms are left:
(1)
(1) =
Qi fi
i
2 c2
c
b1
s
S +
(F u + uF ) + ,
(2.66)
where the symmetric tensor S is dened by Eq. (1.6) on page 7. In order to nd the
last missing term, the time derivative of the (0) tensor, the same approximations
are used as those that lead to Eq. (2.64):
(2.67)
26
Chapter 2
Equations ((2.58)-(2.60)), (2.62), (2.66), and (2.67) are now collected and inserted
into Eqs. (2.35) and (2.39). The resulting momentum equation contains among others an unwanted term that depends on the external force F , introduced by Eqs. (2.66)
and (2.67):
1
(1) + t1 (0) =
2
b1 1
+
(F u + uF )
2 c2
1
s
S + c2 (u)I.
s
(2.68)
.
2
(2.69)
For the present discussion, the correction term is left out, and thus the constant
c is set to 0. This choice of the constants leads to the following equations:
(2.70)
t + (u) = 0 and
t (u) + c2 I + uu = F ,
(2.71)
s
where the deviatoric stress tensor reads
= 2 S,
(2.72)
and the dynamic shear viscosity is related to the relaxation parameter as follows:
= c2
s
1 1
(2.73)
This set of PDEs is identical to the equations of uid motion, introduced in Section 1.2.1. The bulk viscosity can however not be chosen as a free parameter in
the LB method, and it takes the xed value = 0. In order to vary this parameter,
one needs to exploit the degree of freedom introduced by the correction term .
Section 3.2 explains how this is done.
For convenience, the force term FT i in Eq. (2.53) is nally rewritten using the
choice of the constants a and b derived in the present section:
FT i = 1
ti
2
(ci u) ci u
+ 4 ci F .
c2
cs
s
(2.74)
This form of the force term has been suggested in Ref. [18] and shown to be superior
to other commonly used terms. Section 3.2 shows that one more correction needs
to be added to the force when uids with adaptable bulk viscosity are simulated.
2.4
In the multi-scale analysis, the equivalence between the LB method and its associated macroscopic PDE is explicited via a nite development of the dierence
fi (r + ci , t + 1) fi (r, t) into a Taylor series. Because this series is truncated after
the second order term, it is common to say that lattice Boltzmann is a second order
accurate method in space and time. The present section discusses in some detail
what is meant by this statement, and why it should be appreciated with care.
2.4.1
27
Dimensionless formulation
During the implementation of a simulation, LB users are not always aware of the time
and space step t and x they are actually using. This question is therefore claried
to begin with. The approach adopted here is to relate lattice units to dimensionless
units (see Section 1.2.3) through those parameters. Another approach would be
to relate the lattice units directly with the units of a given physical system, but
this is less general and does not serve the purpose of the present discussion. It is
supposed that a reference length in the simulation has been resolved by means of
N lattice sites, and a reference laps of time is simulated by T iteration steps. The
corresponding scales are, by denition, unitary in the dimensionless system of units:
T = 1 and L = 1. This leads to the denition of the discrete time and space steps:
T
1
=
and
T
T
L
1
x =
=
.
N 1
N 1
t =
(2.75)
(2.76)
N 1
t
=
T
x
(2.77)
1 t
.
2
Re x
(2.78)
28
2.4.2
Chapter 2
Accuracy of LB methods
v(r)|)2
Nd
< k ,
(2.79)
where the sum is taken over all sites of a grid of size N d . The time accuracy can
be dened similarly for ows that are time periodic with period T . The accuracy is
then said to be of the order k in time when there exists a constant by which the
error between the numerical solution u(x) and the exact solution v(x) is constrained
as follows:
2
1
r |u(r, t) v(r, t)|
< k,
(2.80)
T t
Nd
provided the space discretization error is small enough to be negligible.
Additionally to the LB approach, there exist many numerical methods for the
resolution of PDEs in which the space derivatives are replaced by a nite Taylor
series up to the order kx , and the time derivatives by a series up to the order kt . It
can be formally shown that those methods have a space accuracy of the order kx
and a time accuracy of the order kt , in the sense of Eqs. (2.79) and (2.80). Although
no such formal proof exists for the LB methods, it is often argued on intuitive
arguments that a similar relation must hold for this method too. This is further
underlined by numerical evidence, such as the one presented in Section 3.2.
2.4.3
Some care must however be taken when the LB method is used to simulate incompressible ows. In those cases, the Mach number is chosen to be very small, and it
is concluded that the time derivative of the density scales then like the square Mach
number (t = O(Ma 2 )), by which the density is asymptotically described as a time
independent constant. In the LB method, the speed of sound is a lattice constant,
and the Mach number of the system is therefore equivalent to the reference speed
U expressed in lattice units: Ma = U/cs . Based on Eq. (2.77), it is concluded that
2
2
the error due to the compressibility eects scales like EMa = O(t /x ). There are
therefore in total three terms that contribute to the overall error E:
2
2
2
2
E = Ex + Et + EMa = O(x ) + O(t ) + O(t /x ).
(2.81)
The additional error term EMa introduces a coupling between the space and the
time discretization error. When the space step x is decreased, the time step must
2
be readapted for the overall error to decrease at a rate of O(x ). That is, the EMa
2
error term must scale as EMa = O(x ), and the time and space step are therefore
2
related through t x . This in turn means that the time discretization error really
29
behaves as in numerical methods with rst order accurate time stepping. Several
numerical case studies are conducted in Sections 5.3 and 6.2 that show that the
error term EMa has severe drawbacks on the eciency of the LB model.
Note 2.7: Keeping xed
When benchmarks are executed on several simulations with dierent grid size, a decision needs to be taken on how to adapt the
discrete time step to a given value of the space step. A choice often observed
in the literature consists in changing the scales in such a way that the Reynolds
number Re on one hand and the relaxation parameter on the other hand remain identical from one grid to another. This choice is a priori surprising,
because it is based on a microscopic property whose signicance is not simple
to interpret from a macroscopic point of view, as would be for example the time
step t , or the Mach number. With the help of the results presented in this Section, it is however possible to better understand this choice. Indeed, Eq. (2.78)
2
shows that the parameter is proportional to t /x . Keeping constant thus
2
amounts to varying t at a rate proportional to x . It has been argued in the previous paragraph that this is an appropriate way to scale the lattice parameters.
It guarantees in particular that the discretization error of a simulation decreases
at a second order rate when the grid resolution is increased.
The full power of LB methods is thus best exploited when compressible ows are
simulated at low Mach numbers. But even then, the LB method does not possess all
features one might expect from a good numerical method. First, the bulk viscosity
can not be adjusted in the basic BGK uid model. This drawback can luckily be
xed by taking into account a correction term discussed in Section 3.2. Another
problem however still subsists: the choice of the Mach number is intimately coupled
with the choice of the discrete time and space step, from which it is concluded
that those three parameters cannot be chosen independently. Indeed, in the LB
model that was introduced in this text, and which is systematically used in the
community, the speed of sound is a lattice constant. This means that it takes
a constant value (independent of x and t ) when it is expressed in lattice units.
The Mach number is thus identied with the reference speed expressed in lattice
units. From Eq. (2.77), the following relationship between the Mach number and
the discretization parameters is deduced:
Ma
t
.
x
(2.82)
30
Chapter 2
(u ) = d
t 1
+ 2 2 d t
(u ),
x cs
(2.83)
2
where d = x /t d is the dimensionless diusion parameter. Given that c2 is an
s
immutable lattice constant, this equation contains an error term ELE due to lattice
2
2
eects that scales like t /x . As in Eq (2.81), the overall error contains therefore
three contributing terms:
2
2
2
2
E = Ex + Et + ELE = O(x ) + O(t ) + O(t /x ).
(2.84)
The eect of those error terms on actual numerical simulations is discussed in Section 3.1, and a strategy is devised to eliminate the error term ELE .
Note 2.8: Summary
Chapter 3
Corrections to the BGK dynamics
In Chapter 2, two lattice Boltzmann models are analyzed, one that describes advectiondiusion phenomena, and one that simulates uid motion. In both models, a correction term is formally introduced, which oers an additional degree of freedom
for handling deciencies of the numerical models. Those degrees of freedom are
exploited in this chapter. In the advection-diusion model, the correction term j
is adjusted so as to eliminate the lattice error ELE (cf. Section 2.4). In the uid
model, an appropriate choice of the correction term leads to a numerical scheme
in which the bulk viscosity is a free parameter (it was shown in Section 2.3 that
is immutable in the basic BGK model). A strong analogy in the way those two
problems are treated becomes apparent. In particular, it is shown that the deciency
of both numerical models can be eliminated by explicitly referring to the value of
the rest-particle distribution function f0 .
3.1
3.1.1
Advection-diusion revisited
Correction term for second order accurate time stepping
1
2
t1
(u) c2
s
j = 0,
(3.1)
1
c2
s
1
2
t1 (u) =
1
c2
s
1
2
( t1 u u t1 ).
j1
(3.2)
j2
The correction term j contains two contributions. The rst, which will be named
j1 , as indicated in Eq. 3.2, depends on the time derivative of the velocity u, and the
32
Chapter 3
second, j2 , on the time derivative of the density. It is emphasized that a rst order
accurate estimate of those derivatives is sucient for the present purpose, because
the term t1 acts at a O( ) scale. In Eq. (2.19), this scale is related to the rst order
terms of the nite Taylor series.
The value of j1 can for example be found by a nite dierence approximation
to the time derivative. The dierence of the velocity between two successive time
steps is expanded in a Taylor series and scale separated as follows:
u(t + 1) u(t) = t1 u +
1 2
(t2 + t1 )u + O( 3 ),
2
(3.3)
(3.4)
Given that the correction term j scales at an order O( ), the rst-order nite
dierence suggested by Eq. (3.4) is sucient to approximate the time derivative
t1 u.
Whether this expression can easily be evaluated or not depends on the origin of
the external convective term u. A typical application area for the advection-diusion
equation is the analysis of thermal ows using the Boussinesq approximation. In that
case, the external vector eld u is obtained from a numerical solver for the NavierStokes equation. It is common for such solvers to keep in memory two successive
time steps of the velocity eld, and the nite dierence in Eq. (3.4) can be evaluated
eciently.
(1)
The value of j2 is directly found from the o-equilibrium part f0 of the restparticle distribution function. As a matter of fact, Eq. (2.48) leads to the following
relation:
1 (1)
f .
(3.5)
t1 =
t0 0
Equations (3.4) and (3.5) are nally combined with Eq. (3.2) as follows:
j =
1
c2
s
1
2
(u(t + 1) u(t))
1 (1)
f u .
t0 0
(3.6)
This correction term can of course only be implemented on lattice structures that
possess a rest particle distribution function, which rules out the D2Q4 lattice, but
works just ne with the D2Q5 lattice.
Note 3.1: Eciency
When the correction term in Eq. (3.6) is taken into account, the LB method for advection-diusion problems is unconditionally second
order accurate, both in space and time. Furthermore, it belongs to the family
of so-called explicit schemes, because the data at a time step t + 1 is obtained
from the data at a time t by an explicit calculation, and no expensive iterative
procedure needs to be undertaken. It is quite unusual for numerical methods with
second order accurate time stepping to be explicit, and the LB method is exceptional in this sense. Compared to other methods, the LB method can be said to
33
3.1.2
Numerical verication
where
(3.7)
The domain is periodically extended in both the x- and the y-direction. The diused
scalar is initially dened through a uniform Gaussian distribution:
ini (r ) =
|r c|2
1
e 2 2 ,
2
(3.8)
34
Chapter 3
(a)
(b)
10
10
BGK model
Corrected model
Slope 2
Relative error
Relative error
10
BGK model
Corrected model
Slope 1
10
10
10
10
10
10
1/t
10
10
10
Grid resolution N
Figure 3.1: Accuracy of the BGK and the corrected advection diusion models on
a chosen 2D problem. (a) Fixed diusivity d = 0.01 and grid resolution N = 100,
varying time step t. (b) Fixed diusivity d = 0.05 and time step t = 0.002,
varying grid resolution N .
3.2
3.2.1
Equation (2.81) on page 28 shows that there are three contributions to the overall
error of a simulation when an incompressible uid is being simulated: a space error
35
2
2
2
2
Ex = O(x ), a time error Et = O(t ) and a compressibility error EMa = O(t /x ).
In the present section, those theoretical considerations are rst underlined by a
numerical experiment. Then, a modied BGK model is introduced in which the
error term cancels.
The experiment, known under the name of Womersley ow, is now shortly introduced and presented in a system of dimensionless variables. Just like the Poiseuille
ow used in Section 3.1, the Womersley ow takes place in a channel whose width
determines the length scale for the dimensionless variables. A Poiseuille ow is a
ow parallel to the channel boundaries with parabolic velocity prole that is driven
either by an constant body force or by a constant pressure gradient DP . A pressure
driven Poiseuille velocity prole has the following form:
u (y ) =
x
Re
DP (y 2 y ).
2
(3.9)
The maximum value of the velocity in the middle of the channel is often taken as a
reference value to choose a time scale for the dimensionless variables. In that case,
the pressure gradient DP takes the value
8
p
= DP = .
x
Re
(3.10)
cosh 2 y 1 ( + i)
DP it
2
,
u = Real
e
1
(3.13)
x
2
i
cosh
( + i)
2
where i is the imaginary number, and the term Real indicates that the real component of the right hand side expression must be extracted.
All simulations are executed with an unmodied BGK model, dened by Eqs. (2.52,
2.54, 1.18), with = 0 on a D2Q9 lattice. The parameters are Re = 1 and = 5.
The analytical solution of the Womersley ow is actually one-dimensional, given
that Eq. (3.13) depends only on the y-direction and not the x-direction. Therefore,
the x-direction, parallel to the channel walls, is resolved by only two lattice sites (one
lattice site would be insucient for the implementation of the pressure gradient).
36
Chapter 3
0.1
0.08
t*/T = 0.2
Velocity
0.06
t /T = 0.3
t*/T = 0.1
0.04
0.02
t*/T = 0
0
0.02
0
0.2
0.4
0.6
0.8
Position y* in the channel
Figure 3.2: Womersley prole, predicted by Eq. (3.13), at four chosen time steps
within a period T = 2/ , for Re = 1 and = 5.
Figure 3.2 shows the analytical solution of the Womersley problem, obtained from
Eq. (3.13) with the mentioned parameters. It is interesting to note that the prole
is seriously attened, compared to a Poiseuille prole whose maximum value would
be 1.
The simulations are executed until a time periodic state is reached, and their
relative error to the analytical solution in Eq. (3.13) is calculated by a time average,
as in Eq. 2.80. It is argued in Section 2.4 that the time step t in the BGK method
2
must be varied like x so as to cancel compressibility eects. The results of applying
2
this procedure, with t = 2/5 x , is shown in Fig. 3.3(a). As expected, the error
decreases exactly at a second order rate with the space step x . This could however
be achieved only via a dramatic adaptation of the time step. For that reason, as it is
argued in Section 2.4, the BGK method behaves like a numerical scheme with rst
order accurate time discretization, when used for incompressible ows. Figure 3.3(b)
shows what happens when the time step is xed to a value t = 2/5 1002 = 0.004.
When the grid resolution is rened, the error, dominated by the space error Ex ,
decreases with a second order rate. At some point however, the compressibility error
2
EMa , which scales like 1/x , becomes dominant. From then on, the error increases
at a second order rate.
3.2.2
The error ELE in the advection diusion model could be eliminated by an appropriate choice of the correction term CT i in Section 3.1. It would be tempting to take
a similar approach for the uid model and to look for a correction for which
the model is fully incompressible: EMa = 0. Things are however not that easy, and
to the knowledge of the author, there exists currently no lattice Boltzmann model
that simulates incompressible ows with an adequate accuracy. Though a seemingly
incompressible uid model has been presented in Refs. [19, 20], this model has been
37
(a)
(b)
2
10
10
Relative error
Relative Error
10
on
ve
r
ge
10
nc
10
N 2
rge
nc
10
nc
Co
nv
e
e
erg
Div
10
10
Grid resolution N
10
10
20
40
60
Grid resolution N
80
100
Figure 3.3: Accuracy of the BGK scheme compared to the analytical solution of an
2
incompressible Womersley ow. (a) t = 2/5 x (b) t = const. = 2/5 1002
(3.14)
(3.15)
From Eqs. (2.66) and (2.69) on page 26 the trace of (1) is evaluated as follows:
Tr ((1) ) =
c
2 c2
Tr () s 1 u F u.,
(3.16)
1
1
c
2 c2
k 1 F u s 1 u .
(3.17)
38
Chapter 3
Equation (2.66) shows that the correction to the tensor (1) due to (1) is of
the magnitude c/ (1) . With the help of Eqs. (3.14) and (3.17) this expression
evaluates to
c
1
c
=
1 c/ d
1+
c
2 c2
k 1 F u s 1 u I.
(3.18)
1
c .
1+
(3.19)
Furthermore, by setting
c=
1
1
2 c2
s
d
(3.20)
c
(3.21)
= 1 u I.
The momentum conservation law derived from the modied model is then the same
as in Eq. (2.71), but it includes the full deviatoric stress , as in Eq. (1.5).
To explicit the nal form of the correction term, Eq. (3.14) is inserted into
Eq. (2.54). Using the identity Qi : I = |ci |2 c2 d, one obtains
s
CT i =
c ti
|ci |2 c2 d
s
2 d c4
s
Tr ((1) ) + k F u ,
(3.22)
where the constants c and k are dened by Eqs. (3.20) and (3.19). The expression
Tr ((1) ) is evaluated using the denition of in Eq. (2.22), and the value of (0)
for the BGK model in Eq. (2.59). One nds
(1) =
ci ci fi uu c2 I, and consequently,
s
(3.23)
|ci |2 fi |u|2 c2 d.
s
(3.24)
i
(1)
Tr ( ) =
i
It is interesting to note that the calculations required in Eq. (3.24) can be circumvented by referring explicitly to the rest particle distribution function f0 , as was
done in Section 3.1 for the advection-diusion model. Indeed, the following relation
is directly deduced from Eq. (2.65):
(1)
f0 = f0 t0 =
t0
Tr ((1) ).
2 c2
s
(3.25)
c ti
|ci |2 c2 d
s
2 d c4
s
2 c2 (1)
s
f +kF u .
t0 0
(3.26)
It is reminded that the adjustable bulk viscosity enters the equation via the
constant c, dened in Eq. (3.20), and that the constant d corresponds to the number
of space dimensions (2 or 3) of the system.
3.3
3.3.1
39
Alternative LB models
LB models with multiple relaxation times
The BGK model introduced in Section 1.3.2 can be extended to a more general
class of models, in which the collision operator , dened in Eq. (1.14) on page 10
takes the form of a diagonalizable matrix ij that acts as a linear operator on the
elements of the o-equilibrium particle distribution functions:
ij (fj fjeq ).
fi (x + ci , t + 1) fi (x, t) =
(3.27)
The restriction to the o-equilibrium part of the distribution functions is motivated theoretically by the multi-scale analysis in Section (2.1), in which the scale
of the collision operator is formally identied with the scale of the o-equilibrium
distribution functions. Using the denition of the vector space Rq introduced in Section 2.1.1, with the scalar product of Eq. (2.5) and the denition of the unweighted
particle distribution functions g in Eq. (2.13), Eq. (3.27) is interpreted as a MatrixVector product between the matrix and the vector g. Given that the matrix
is diagonalizable, there exists an invertible matrix M , whose lines represent the
eigenvectors of , and a diagonal matrix D, for which the following relation holds:
= M 1 D M .
(3.28)
(3.29)
out
where the short-hand notation gi g(x + ci , t + 1) for outgoing particle distribution functions has been used.
40
Chapter 3
the base is rst populated by the 1 + d + d(d + 1)/2 vectors dened by C 0 , C 1 and C 2
in Eqs. (2.2), (2.3) and (2.4) respectively. It is now clear that the rst components
of the the vector G are constituted by the moments of the distribution functions.
With this new knowledge, Eq. (3.30) can be inspected more closely. It is obvious
that in the BGK model, both and D are dened as = D = I. Equation (3.30) shows that in this model, all moments are relaxed by a factor . An
exception is made for the conserved moments and u, because they are not represented in the vector G. Indeed, the projection of g g eq on the vectors C 0 and C 1
vanishes by virtue of Eqs.(2.24, 2.30, 2.44).
The idea behind multiple relaxation time (MRT) models is that each moment can
be relaxed at a dierent rate, by modifying the corresponding value on the diagonal
of D (see Ref. [23]). This approach can be used either to modify the physics of a
model by adapting the relaxation parameter of a hydrodynamically relevant moment,
or to increase the stability of the model by adapting the relaxation time of physically
irrelevant moments. The latter aim is for example achieved in Ref. [24] via a linear
stability analysis of the model.
The moments , u and related to the base vectors introduced so far are all
relevant to the hydrodynamics of the model. To form a complete base of Rq , they
must be completed by additional, physically irrelevant base vectors known as ghost
vectors. Their corresponding variables are named ghost variables. This point is
illustrated with the simple D2Q9 lattice, in which the space of particle distribution
functions, and thus also the space of the moments, is nine-dimensional. This moment
space can be specied via 6 physically relevant base vectors (1 for the density, 2 for
the velocity and 3 for the -tensor) and 3 ghost vectors. Guided by Ref. [22], a new
set of lattice constants hi is introduced as follows:
hi = (1, 2, 2, 2, 2, 4, 4, 4, 4) for i = 0 8.
(3.31)
(3.32)
4
Ci, = hi ci .
(3.33)
1
1
ci u + 4 : Q + hi
2
cs
2 cs
3
1
N + ci J
4
8
(3.34)
where the projections on the ghost vectors have been named C 3 |f = N and
C 4 |f = J respectively. It is illuminating to split Eq. (3.34) into an equilibrium
and an o-equilibrium contribution:
fieq = ti
fineq = ti
1
1
ci u + 4 eq : Q
and
2
cs
2 cs
1
3
1 neq
: Q + hi
N + ci J
.
2 c4
4
8
s
(3.35)
(3.36)
41
1 neq
: Q + hi
2 c4
s
1
3
N + ci J
4
8
(3.37)
A MRT model has exactly the same form, except for the fact that all non-conserved
moments possess their own relaxation parameter, numbered through from 3 to 8 :
1
3 neq Qxx + 4 neq Qxy + 5 neq Qyy
xx
xy
yy
c4
s
1
3
+ hi 6 N + (7 cix Jx + 8 ciy Jy ) .
4
8
i = ti
(3.38)
Equation (3.38) is particularly illuminating, because it displays both the space and
moment representations of the dynamics at the same time. In Section 4, a new
LB model is introduced whose collision operator is linear and diagonalizable. The
MRT interpretation of this model, presented in Section 4.3, will show that the
hydrodynamic parameters 3 to 5 are the same as in the BGK model, whereas 6
to 8 are modied.
Note 3.3: Terminology
3.3.2
Entropic LB models
The family of entropic LB models has emerged over the past decade and is successively gaining importance. Two approaches were developed independently by
Karlin, Ansumali e.a., as documented in Refs. [28, 29], and by Boghosian e.a., documented in Ref. [30]. Those models exploit a discrete-space analogue of Boltzmanns
H-theorem to achieve unconditional numerical stability. Numerical stability means
that the simulated values always remain within a xed range and never exceed the
storage capacity of oating point representations in a computer. It does however
not imply that the simulated values systematically stay close to the exact solution of
the problem, nor that they even yield a physically meaningful result. Unconditional
numerical stability can be very useful when simulations are run close to a regime in
which they are underresolved. It might happen that the simulation is locally underresolved during a short time interval, which should only aect the overall quality
of the simulation to a small extent. In such a situation, numerical instabilities can
however occur in relation with the BGK model, but not with entropic models.
42
Chapter 3
Boltzmanns H-theorem states that each uid possesses a property H that never
increases during the time-evolution of a closed system (a system without energy
input). A local version of this theorem additionally states that a locally dened
property H = H(f (x, t)) never increases during particle collisions. Because of numerical errors, this theorem is only approximately true in BGK simulations. In
entropic models however, the collision operator is modied so as to obtain an exact
discrete version of the H theorem. This can be compared to the local conservation laws for mass and momentum, which are exactly respected in the discrete LB
equation.
The unconditional numerical stability is achieved by means of the three following
steps:
1. A function H = H(fi (x)) is constructed, which is dened over the space of
strictly positive particle distribution functions fi , and which is convex. The
minima of this function is given by the local equilibrium fieq .
2. The H value for the incoming distribution functions H in = H(fiin ) is evaluated,
and the set of distribution functions fi for which H(fi ) H in is evaluated.
3. The collision is modied so as to ensure that the outgoing distribution functions fiout are contained within the set of distribution functions evaluated previously. This in its turn ensures that all distribution functions remain strictly
positive. It has actually been observed empirically that numerical instabilities
only occur in the LB method when negative distribution functions appear.
This eect is technically prevented in entropic methods by the exact H theorem.
Chapter 4
Regularized lattice Boltzmann
4.1
Introduction
x
x 1
u=
t
t
fi ci .
(4.1)
44
Chapter 4
fi = fieq + fi
+ O( 2 )
1
1
c u + 4 Qi : uu
2 i
cs
2cs
1
Qi : u ci : uu + 2 (ci )(Qi : uu) + O( 2 ).
2cs
= ti 1 +
ti
c2
s
(4.2)
2
1
t Qi : u t ci : u u + 2 (ci )(Qi : u u )
x
2cs
fi = ti 1 +
ti
c2
s
.
(4.3)
It is concluded from this equation that dierent contributions to the particle distribution functions scale at a dierent rate under a change of x and t . To compare
the results from two LB simulations that are run on dierent grids, it is therefore
necessary to split the fi into their components, and to rescale each component individually. It is possible, using the values contained locally on a lattice cell, to compute
and u, and thus to compute the various components of f eq , and to separate the
equilibrium contributions from the o-equilibrium part. It is however not possible to
split the o-equilibrium part into its components, because not all velocity gradients
are known locally on a lattice cell: only the symmetric part of the Jacobian matrix
can be computed by means of Eq. (2.66). The skew symmetric part needs to be
evaluated by some other, non-local method.
It is possible to rescale the particle distribution functions by purely local means
if the O(u2 ) terms in the o-equilibrium distribution functions are neglected. In
that case, all components scale in a known way: the density is invariant, the
(1)
velocity u scales like t /x , and the o-equilibrium distributions fi scale like t .
This approach is chosen in Ref. [31] to formulate a grid-renement algorithm for
the LB method. It must be pointed out that this is one of the rare papers on a
related topic that explicitly tackles the problems of scale invariance between two
grids during a grid renement procedure.
A dierent approach is presented here that is not based on an approximation
of the distribution function. The idea behind this method is to replace the BGK
model by a new model, the regularized LB (RLB) model, which has less degrees
of freedom. This new model depends only on the value of , u and (1) . Each of
them can be rescaled individually, as the tensor (1) is related to the tensor S of
Eq. (1.6) through Eq. (2.66). The details of the regularized method are explained
45
4.2
Regularization procedure
4.2.1
fi
= Ri + Ii ,
where
1
1
c
and
Ri = ti Qi : 2 1 u 4 F u + uF + 2
cs
4 cs
2 cs
1
1 ti
ti
ci 1 : uu 2 ci 1 (Qi : uu) 2 ci F .
Ii = 2
cs
2 cs
2 cs
(4.4)
(4.5)
(4.6)
The term Ri is of the form Ri = ti Qi : T , where the tensor T stands for the whole
content of the parentheses on the right hand side of Eq. (4.5). The tensor (1) was
2
calculated in Eq. (2.66) by projecting Ri on the vectors C as follows:
(1)
ti Qi Qi T = c4 (T + T ) by Eq. (2.12).
s
(4.7)
The key to the regularization procedure is the observation that the evaluation of
(1) in Eq. (4.7) can be reversed. Once the tensor (1) is known, the tensor T can
46
Chapter 4
be evaluated in its turn. This is done by contracting (1) with the tensor Q:
Qi : (1) = c4 Qi : (T + T T ) = 2 c4 Qi : T
s
s
(1)
(1)
From this, a regularized substitute fi for fi is derived:
ti
(1)
fi = Ri = 4 Qi : (1) .
2 cs
4.2.2
(4.9)
Dimensionless formulation
(4.10)
The tensor S, dened by Eq. (1.6), is a macroscopic quantity that depends only on
the gradients of the velocity eld. To conclude this discussion, it is pointed out that
the set of lattice kinetic variables dened by the regularized particle distribution
(1)
functions fi = fieq + fi is equivalent to a set of macroscopic variables dened by
the scalar , the vector u and the tensor (1) . Those variables, and thus the state
of the simulation, can be represented in a dimensionless system of units:
= ,
t
u =
u and
x
(1) = t (1) .
4.2.3
(4.11)
Algorithm
(eq)
= fi fi
and the
(1)
3. Derive the rst order regularized distribution functions fi from (neq) through
the approximation (1) (neq) in Eq. (4.9).
fi + fi .
5. Execute the BGK collision and the streaming step.
47
In order to clarify this algorithm, the original BGK LB model (Eqs. (1.14,2.52))
is rst reformulated as follows:
(eq)
= fi
(neq)
(, u) + (1 ) fi
(, u)) + FT i + CT i
(4.12)
(r, t) + FT i + CT i .
(1)
(, u) + (1 ) fi (r, t) + FT i + CT i
(1 ) ti
(eq)
= fi (, u) +
Qi : (1) (r, t) + FT i + CT i .
2 c4
s
fi (r + ci , t + 1) = fi
4.2.4
(4.13)
Related models
It is emphasized that the regularization procedure described in this section principally applies to all LB models of the BGK family. The idea is throughout the same:
(1)
2
the rst-order term fi is projected on the vectors C corresponding to the rst
(1)
non-conserved moment, and the resulting regularized term fi is directly computed
from the value of this non-conserved moment. For the purpose of illustration, the
advection-diusion model described in Section 2.2 is now regularized. When the error and correction terms of this model cancel, for example by means of the procedure
described in Section 3.1, the rst-order contribution to the model reads
(1)
fi
t Qi : 1 (u) ti ci 1 .
2 i
cs
(4.14)
The rst non-conserved moment of this model is the momentum j, and the regularized version of Eq. (4.14) takes therefore the following form:
(1)
fi = ti ci 1 .
Indeed, the momentum computed from those two expressions is the same:
j = c2 1 ,
s
(4.15)
(4.16)
(1)
from which the regularized term fi is computed as follows:
ti
(1)
fi = 2 ci j.
cs
(4.17)
The LB model introduced here under the name of RLB has previously been
described in the literature, where it was derived from dierent principles and applied
in dierent settings. In Ref. [32], this model is used for the simulation of particle
simulations, whereas in Ref. [33], it is introduced as a model for the simulation of
high Knudsen number ows. The derivation of RLB from the Chapman-Enskog
expansion of a BGK model however is novel. Furthermore, the particular properties
of RLB, such as the enhanced stability and accuracy, as well as the adequacy of the
model to situations with varying time and space scales, have not been pointed out
before.
48
Chapter 4
4.3
The collision operator of the RLB model is linear and acts only on the o-equilibrium
parts of the particle distribution functions. This fact appears clearly when Eq. (4.13)
is formulated as follows:
(eq)
fi (r + ci , t + 1) = fi
(, u) + (1 )
j
ti
Q : cj cj fj fjeq ,
4
2 cs
(4.18)
or, to emphasize the analogy with a general collision operator as in Eq. (3.27) on
page 39:
1
fiout =
Qi : cj cj ij fj fjeq .
(4.19)
4
2 cs
j
The RLB model can thus be reinterpreted as a LB model with multiple relaxation
times, by using the theory introduced in Section 3.3.1. As an example, the D2Q9
lattice is now considered. Using the same notation as in Eq. (3.37), and after some
algebra, the collision operator of Eq. (4.19) is written as follows:
i = ti
1 neq
: Q + hi
2 c4
s
1
3
N + ci J
4
8
(4.20)
This means that all modes of neq are relaxed with a parameter , as in the BGK
model, and all other modes are relaxed with a parameter 1.
4.4
Numerical verication
u =
exp( x ) sin(2y ),
y
2
(4.21)
49
10
Slope 2
10
10
10
Slope 3
40
50
60
Figure 4.1: Relative error of the numerical result on a Kovasznay ow in the wake
region. Both traditional BGK and the regularized model are tested with two commonly used boundary conditions.
with
= Re/2
4 2 + Re2 /4.
(4.22)
50
Chapter 4
solution of Ghia e.a. [37], on a lattice size of N N with N = 129, at Re = 100 and
a Mach number, in lattice units, dened as u0 = t /x = 0.02. This time, another
commonly used boundary condition is applied, which is described by Q. Zou and
X. He in Ref. [38]. The reference solution [37] proposes a set of accurate numerical
values for some x- and some y-components of the velocity on chosen space points.
A l1 norm error with respect to these reference points is averaged over all available
points and normalized with respect to u0 . For the BGK model, this yields an error of
= 3.71103 , and for the regularized method, of = 2.40103 . Thus, both methods
solve the problem with satisfying accuracy. This fact is underlined graphically on
Fig. 4.3, on which the numerical results of the RLB simulation and the solution by
Ghia e.a. are compared. The regularized model is however found to be substantially
more stable. To make this statement more quantitative, a series of simulations is
run, on which the velocity is again xed to a value of u0 = 0.02. For several chosen
grid sizes N , the maximal Reynolds number Remax at which the simulation remains
stable (i.e. delivers nite numerical values) is determined. Figure 4.2 shows that,
although both methods exhibit a linear relationship between Remax and N , the
observed increase rate is 7.7 times higher for the regularized method than for BGK.
51
1000
Regularized: Remax = 16.3+7.36*N
800
600
400
200
100
0
60
70
(a)
(b)
0.2
u* on horizontal line
y
u* on vertical line
x
0.5
0.1
0
0.1
0.2
0.5
0
32
64
96
Position [lattice units]
128
0.3
0
32
64
96
Position [lattice units]
128
Figure 4.3: Comparison of computed RLB results with reference values from the
literature for the 2D lid-driven cavity ow at Re = 100. The solid line represents
the reference values, which have been interpolated to guide the eye, and the dots
stem from numerical results. (a) x-component of the velocity along a vertical line
passing through the center of the cavity. (b) y-component of the velocity along a
horizontal line passing through the center of the cavity.
Chapter 5
Boundary and initial conditions
5.1
Introduction
The Navier-Stokes equation possesses a unique solution when adequate initial and
boundary values for a given problem are specied. The problems of uid dynamics
are therefore initial and boundary value problems. It is common to specify the initial
value for a problem by imposing the velocity eld at the initial time t = 0. Several
approaches exist for specifying the boundaries of a ow. It is possible to implement
a so-called Dirichlet boundary condition by specifying a velocity prole along the
domain boundaries of the problem. In other commonly adopted approaches, the
value of the velocity gradient in the direction of the boundary normal is specied,
or the value of the pressure on the boundary.
Whatever approach is adopted, one major diculty needs to be addressed in
LB simulations: the conversion from macroscopic variables, which are taken from
the initial or boundary condition, to the particle distribution functions of a LB
simulation. When the regularized LB model is used, it is natural to implement this
conversion by means of the approach described in Chapter 4. In this approach,
the tensor (1) is computed additionally to the pressure p and the velocity u. By
virtue of Eq. (4.9) on page 46, this set of variables fully species the state of the LB
simulation.
During the implementation of an initial condition, the tensor (1) can be related
to the strain rate tensor S, as dened in Eq. (1.6) on page 7. The velocity gradients
contained in this tensor can in their turn be computed either analytically, when
the initial velocity prole is dened through an analytical expression, or otherwise
numerically, by applying for example a nite dierence scheme. It is actually shown
in Section 5.3 that it is more dicult to properly initialize the pressure eld in the
initial condition. In this section, a time-dependent benchmark problem is introduced
whose results depend heavily, among others, on the initial condition of the problem.
The initialization procedure described here, inspired from a macroscopic vision of
the problems of CFD, is tested numerically. It is compared with another approach
taken from the literature that rather adopts a microscopic view and is implemented
fully in terms of LB variables.
When the boundary condition is implemented, the velocity gradients cannot be
evaluated analytically, even when the velocity prole along the boundary is known
in terms of an analytical formula. Indeed, the gradients normal to the boundary
54
Chapter 5
c1
c2
c3
c4
c7
c6
c8
Boundary
c5
e1
e0
Figure 5.1: Orientation of a 2D boundary for the example developed in the text.
Dashed arrows label directions that originate from locations outside the lattice.
depend on the results of the simulation and are a priori unknown. It is possible
to evaluate those gradients by means of a nite dierence scheme, and close the
system of equations on the boundary in this way. Although this approach is feasible,
it violates partly the spirit of the LB methods, in which all operations, except for
the streaming step, tend to be purely local. In Section 5.2, another approach is
therefore shown, in which the elements of S are computed from the known particle
distribution functions on the wall.
5.2
5.2.1
Boundary condition
Overview
This section focuses on the implementation of Dirichlet boundary conditions for the
velocity eld. Following the approach discussed in the introduction, implementing
the boundary condition amounts to computing the values for the missing variables
and (1) . In this discussion, only straight boundaries are considered that are parallel
to the lattice edges and pass through lattice nodes. Other types of boundaries, such
as corner nodes, can be implemented via the same approach. The discussion of this
topic is however omitted here because it is quite technical. The interested reader
is invited to directly refer to the publicly available and well documented code of
the OpenLB project in Ref. [13]. The orientation of the boundary is taken to be
orthogonal to the unitary vector e1 . This means that for a lattice location r that
lies on the boundary, the location r + x e1 lies outside the computational domain,
and the location r x e1 lies inside, as shown on Fig. 5.1. As a consequence, all
neighbors of a boundary location r, placed at a position r ck , are unreachable when
ck1 = 1. However, particle streams parallel to the boundary, along directions cl
for which cl1 = 0 participate in the LB dynamics of the simulation. This approach
is based on a point of view advocated in Ref. [39], according to which boundary
nodes are located inside the uid, but innitesimally close to the wall. The problem
with the computation of and (1) resides in the fact that among all distribution
functions fi on the boundary those with an index i {k | ck1 > 0} are unknown and
must be evaluated on ground of some additional closure relations.
5.2.2
55
The rst step consists in computing the variable on the wall. In an incompressible
uid, Eq. (1.8) on page 7 shows that this is equivalent to computing the pressure.
A fairly standard procedure for doing so is described for example in Refs. [38, 35].
It is based on the denition of three separate contributions to the density:
1 =
fk ,
(5.1a)
{k | ck1 =1}
0 =
fk ,
and
(5.1b)
{k | ck1 =0}
1 =
fk ,
(5.1c)
{k | ck1 =1}
of which the component 1 is unknown on the boundary. From Eqs. (1.15) and (1.16)
on page 10, one nds that
= 1 + 0 + 1
and u1 = 1 1 ,
(5.2)
1
(21 + 0 ).
1 u1
(5.3)
5.2.3
Now that the density and the velocity u are known, a last closure relation for the
evaluation of the stress tensor (1) is required, before the regularized distribution
functions can be calculated via Eq. (4.9) on page 46. An alternative approach
consists in computing the macroscopic strain rate tensor S instead of (1) and by
evaluating the regularized particle distribution functions via Eq. (4.10) on page 46.
In that case, the velocity gradients of the strain rate tensor are found with an
asymmetric second-order accurate nite dierence scheme on the boundary. This
computation involves values residing on nearest and a next-to-nearest neighbors of
the boundary node. The resulting BC is similar to the one presented in Ref. [36] in
which the values of the distribution functions on the boundary are tted according to
their zeroth- and rst-order terms of the Chapman-Enskog expansion. It is however
not typical for simple LB methods to make use of non-local nite dierence schemes,
as one prefers to implement a collision step depending only on values dened locally
on a lattice site, both for conceptual and technical simplicity. A purely local means
56
Chapter 5
57
are specied in Section 1.3.3 on page 11). On a D2Q9 lattice, the following value
are obtained:
(1)
00
= f2 + f6 + 2(f1 + f7 )
u1
1
+ u2 +
,
0
3
3
(1)
= 2 (f1 + f7 + f8 ) u1 + u2 +
1
(1)
= 2 (f7 f1 )
11
01
(5.4a)
1
3
u0
+ u0 u1 .
3
(5.4b)
(5.4c)
00
(1)
11
(1)
22
(1)
01
(1)
12
(1)
02
5.2.4
= f1 + f2 + f3 + f5 + f6 + f7 + f8 +
1
u1
+ u2 +
,
2(f10 + f12 )
0
3
3
= 2(f9 + f10 + f11 + f12 + f13 )
1
,
u1 + u2 +
1
3
= f2 + f4 + f5 + f6 + f7 + f8 + 2(f11 + f13 )
u1
1
+ u2 +
,
2
3
3
u0
= 2(f10 f12 )
+ u1 u0 ,
3
u2
= 2(f11 f13 )
+ u1 u2 ,
3
= f5 f6 + f7 f8 u0 u2 .
(5.5a)
(5.5b)
(5.5c)
(5.5d)
(5.5e)
(5.5f)
Numerical verication
The quality of the regularized boundary condition is tested on a numerical implementation of the 2D Kovasznay ow described in Section 4.4. Four dierent types
of boundary conditions are implemented for this ow:
Local regularized: The regularized boundary condition, in which the tensor (1)
is computed from local values on the boundary node.
Non-local regularized: The regularized boundary condition computed from the
strain rate S, for which a nite dierence scheme on neighboring nodes is
applied.
Zou-He condition: A commonly used local boundary condition described in Ref. [38].
Inamuro condition: A commonly used local boundary condition described in Ref. [35].
The Reynolds number in all simulations is xed to a value Re = 20, and the grid
resolution is progressively rened to observe how the accuracy scales with the discrete time step x . Taking into account the observations of Section 2.4, the time step
58
Chapter 5
10
Relative error
10
10
Regularized local
Regularized nonlocal
ZouHe
Inamuro
10
10
10
10
Grid resolution N
2
t is rescaled so as to keep constant the ratio t /x = 0.42. According to Note 2.7
on page 29, this amounts to xing the relaxation parameter to = 1.7762. The
results of the benchmark are presented on Figure 5.2 on simulations with a varying
grid size. It is good to remember at this point that the value N = 1/x does not
correspond to the resolution of the complete simulated domain, but rather to the
resolution of a reference distance, corresponding to the spacing between to points
of the grid (the physical grid represented in the Kovasznay ow, not the numerical
grid). The simulations are implemented with a BGK dynamics instead of RLB in
order to respect the spirit in which the Zou-He and the Inamuro boundary conditions were initially developed. As it is expected from the discussion of the accuracy
of LB methods in Section 2.4, the accuracy of all simulations scales at a second order
rate with the grid resolution. This conrms on the one hand the choice of how to
rescale the time step t properly, and on the other hand the fact that all boundary
conditions exhibit an accuracy that is compatible with the accuracy of the LB dynamics. Although the convergence rate is the same, the Zou-He and the Inamuro
boundary conditions are somewhat more accurate than the regularized one. This
dierence can be understood by the fact that the benchmark simulations implement
a BGK dynamics, whereas the regularized boundary condition cuts o all higher
order modes of the dynamics. This dierence between the boundary conditions
vanishes when they are applied to a regularized LB simulation. It is furthermore
remarked that the Zou-He and Inamuro boundary conditions are substantially less
stable than the regularized one. Simulations using those boundary conditions are
subject to numerical instabilities, whenever the grid is too coarse or the Reynolds
number too high.
59
5.3
5.3.1
Initial condition
Introduction
5.3.2
The benchmark
60
Chapter 5
Figure 5.3: Vorticity in the initial conguration. The system is self-propelling and
is going to move towards the right wall, as it is suggested by the arrow.
E(t) =
|u| (x, t)d2 x,
(5.8)
2 1 1
and the average enstrophy by
1
(t) =
2
2 (x, t)d2 x,
1
(5.9)
61
(b)
2000
1800
1600
enstrophy
kinetic energy
1400
1.5
1200
1000
800
600
400
200
0.5
0
0.5
1
t
1.5
0
0
0.5
1
t
1.5
Figure 5.4: Time evolution of the kinetic energy (a) and the enstrophy (b)
5.4
5.4.1
Numerical results
Time evolution of the ow
Figure 5.4 displays the time evolution of the energy and the enstrophy of the system,
with the numerical parameters dened in the previous section. The rst rebound
of the dipole with the wall happens approximately at a time t = 0.37. This event
is represented by a peak in the enstrophy curve, due to the generation of numerous
small-scale vortexes. At the same time, the slope of the energy curve becomes
steeper, as the energy dissipation rate is directly dependent on the enstrophy. Two
smaller peaks in the enstrophy curve indicate successive rebounds of the dipole with
the wall. The value of those maxima, and the time at which they occur, are used as
benchmark values to test the accuracy of the simulation. A chosen number of results
have been simulated by a nite dierence and a spectral method and reported in
Ref. [40].
In order to illustrate the physical processes occurring during the rebound of the
dipole on the wall, Figure 5.5 shows a contour plot of the vorticity at four chosen
time steps. At t = 0.30, the lower monopole is observed to be approaching the wall.
At t = 0.34, small scale structures are generated in the boundary layer close to the
wall. At t = 0.38, a vortex with positive core vorticity detaches from the wall and
creates a secondary dipole with the monopole that initially collided with the wall.
At t = 0.38, this secondary dipole turns over and prepares for a second collision
with the wall.
5.4.2
Benchmark values
In order to complete the discussion of this benchmark problem, the obtained numerical results are shortly presented. The chosen approach for the implementation
of the LB simulation is summarized in the next two sections.
The choice of a suciently small grid spacing depends on the width of the boundary layer, as the smallest relevant structures are located within this layer. The
boundary layer scales like the inverse square root of the Reynolds number, and so
does consequently the size of a grid cell. The resolution required to obtain grid
62
Chapter 5
Figure 5.5: Vorticity contours at four chosen time steps for the collision of the lower
monopole with the right wall. The shown system is an extract of the full simulated
space.
63
convergence with the LB method is practically identical with the one described in
Ref. [40] on a FD scheme. At the given number of Re = 625, the system size is
for example 700 700. This is surprising, because the LB model is much more
straightforward than the FD model, which makes use of a multi-grid technique. Additionally, the LB model is based on a simple bounce-back model for the simulation
of the no-slip wall, which contrasts with the sophisticated boundary condition used
in Ref. [40]. The following table shows the computed position and value of the rst
enstrophy peak with the LB, FD and spectral methods:
Position (time)
Value (enstrophy)
5.5
Lattice Boltzmann
0.371
933.8
The initial value for the velocity eld is described by Eqs. (5.6) and (5.7). It is not
straightforward to set up such an initial condition in a LB simulation. This is because
the simulated degrees of freedom in this method are not the macroscopic variables p
and u, but rather the so-called particle distribution functions fi , with i = 0..8. The
particle distribution functions can however be related to the macroscopic elds and
their space derivatives throught the formula of the regularized LB method, Eq. 4.10:
(0)
(1)
fi = fi (p, u ) + fi (p, u ).
(5.10)
Given that the ow is considered in its incompressible limit, the pressure p and the
density are identied through the ideal gas law, Eq. (1.8) on page 7.
Two approaches to setting up an appropriate initial condition are listed in the
following. The rst approach has been cited in the literature [41] and shares the
philosophy of LB methods. It proposes to obtain the initial condition iteratively
by implementing a common LB dynamics. During those iterations, the local uid
velocity u is however not recomputed on ground of the simulated particle distribution
functions, but it is rather kept at the value one wants it to be in the initial condition.
In this way, only the pressure p and the rst-order contributions f (1) to the particle
distribution functions are free variables. They correspondingly converge to their
appropriate value for the initial condition.
The second approach, inspired from a macroscopic approach to uid dynamics,
consists in computing the pressure p and the strain rate S directly. The velocity
gradients are e.g. computed using a nite dierence scheme, and the pressure by
solving an iterative Gauss-Seidel scheme for the Poisson equation, Eq. (1.11).
Both approaches to setting up the initial condition require an iterative algorithm
to be implemented. Their eciency is compared in Fig. 5.6 (a). In this comparison, the LB approach was implemented in terms of BGK iterations, and the
macroscopic approach in terms of a successive over-relaxation (SOR) scheme. It
is obvious that the SOR scheme converges at a much faster rate, with a gain in
eciency that implies several orders of magnitude. For the sake of completeness, it
must be pointed out that the scheme suggested in the Ref. [41] is based on a MRT
approach to LB, in which some relaxation parameters are ne-tuned so as to speed
up the convergence. It is nevertheless clear that a dedicated method to solving the
64
Chapter 5
(a)
(b)
2
10
10
10
10
10
10
BGK convergence
Overrelaxed GaussSeidel
10
10
2000
4000
6000
Iteration steps
8000
10000
10
10
10
Time step t
10
Figure 5.6: (a) Comparison of two iterative schemes for the setup of the initial
condition: BGK iterations and SOR scheme (log-log plot). The rate of convergence
of the SOR scheme exceeds the one of the BGK approach by several orders of
magnitude. (b) Relative error on the value of the enstrophy at the rst enstrophy
peak. The simulated values are compared with the numerical reference data obtained
with a spectral method, and plotted for various choices of the discrete time step.
5.6
It is argued in Section 2.4 that the time step t of a LB simulation cannot be chosen
freely because it is coupled to the Mach number. This is a serious drawback of the
LB method, whose inuence is clearly visible in the present benchmark application.
In order for the LB uid to mimic an incompressible uid, the Mach number, and
consequently the time step, must be chosen very small. The actual time step required
in the LB method is typically one order of magnitude smaller than the one used in
the FD method.
Figure 5.6 (b) shows how the error on the position of the rst enstrophy-peak
decreases as a function of the discrete time step. To achieve the accuracy of three
signicant digits, a time step as small as t = 106 must be chosen. For comparison,
it can be noted that the time step adopted in Ref. [40] in a FD approach takes the
value t = 6.25 105 . One is therefore tempted to conclude that the error plotted
in Fig. 5.6 (b) is dominated by contributions due to uid compressibility.
Chapter 6
Adaptive space and time steps
6.1
Introduction
In the LB method, the discrete space and time steps x and t are constants that
can vary from one simulation to another but are xed within a simulation. The
grid spacing is for example the same in all space directions, and it does not vary
from one position of the discrete space to another. The same can be said for the
time step t , which does not change during the time evolution of the system. Those
assumption were implicitly taken for granted in the theoretical analysis of the LB
method in Chapter 2, and they must hold in order for the simulation to asymptotically solve the associated PDE. Some workarounds to this have been proposed in
the literature, where a mapping between a regular and an irregular mesh is obtained
via interpolation and extrapolation schemes. These techniques will however not be
considered further, as they represent hybrid constructs rather than pure LB models
according to the line of thought of this thesis.
Other types of CFD methods are not subject to such restrictions on the regularity
of the time and space discretization. Finite dierence methods, presented e.g. in
Ref. [4], are principally executed on regular grids with xed spacing as well. The grid
can however be anisotropic, that is, the value of the grid spacing can dier between
from a space direction to another. Furthermore, the discrete time step can change
during the evolution of the system. Finite volume methods [5] and nite element
methods [6, 5] are even more general and can be implemented on unstructured grids:
the grid points can be situated on arbitrary space positions, and it is not necessarily
possible to represent the relative position of grid points to each other by a matrix
data structure.
The use of inhomogeneous grids makes sense when a problem with an inhomogeneous geometry is being simulated. Some parts of the simulated domain require
a higher grid resolution than others in order to reach the required level of accuracy.
The grid resolution needs for example to be increased close to an obstacle with complicated shape to ensure that the discretized version of the obstacle resembles the
original one suciently well. In other cases, the resolution needs to be increased
because the uid ow exhibits small-scale patterns, such as the small vortexes generated close to the wall in the numerical experiment of Section 5.3. In simulations
with xed-sized grids, the overall resolution needs to be adapted to the maximal
required value, by which much computational eort is wasted. It should be pointed
66
Chapter 6
out that approaches to calculate a local a priori estimate of the numerical error
exist in many numerical methods, as those described in Ref. [6]. With this estimate,
the grid can be dynamically adapted during a simulation to reach the desired tradeo between accuracy and eciency. The LB approach to CFD has however been
developed quite recently, and no formal framework exists currently that would lead
to such an error estimate in LB simulations.
An adaptive time interval is likewise useful to adjust the time resolution, depending on how rapidly the ow structures vary in the simulation. In some methods
such as the one presented in Ref. [4], the time step must furthermore be chosen on
ground of well known stability criteria. Again, experimental evidence shows that LB
simulations are also numerically unstable when the discrete time step is too large,
but a theoretical framework is lacking from which exact stability criteria could be
deduced.
In Section 6.3, the RLB model with adaptive time stepping is introduced. It is
used to simulate the values of an incompressible stationary ow. A large time step is
chosen initially, so as to rapidly converge to the stationary state, and a smaller time
step in a later stage, so as to decrease the numerical error due to the compressible
nature of the uid model.
6.2
6.2.1
67
Grid renement
Introduction
The multi block grid renement technique of the regularized LB model discussed in
the previous section is now tested on a numerically challenging task: simulating a
stationary incompressible uid ow past a rigid obstacle. The uid is assumed to
ll the whole 2D space, the obstacle is placed at the origin of the coordinate system,
and the uid velocity is asymptotically constant far from the obstacle. Thus, the
problem consists in the resolution of the stationary Navier-Stokes equation for the
velocity eld u(r) with boundary condition
lim u(r) = u0 .
|r|
(6.1)
Apart from the grid renement procedure, a major diculty stems from the necessity to truncate the innite domain for numerical purposes, and to nd an articial
boundary condition for the boundaries of the truncated domain. A straightforward
approach consists in using the asymptotic condition u = u0 on the numerical domain
boundaries. Although this method is easy to implement, it appears to be quite inappropriate for the needs of numerical modeling, as it requires the use of excessively
large domains. Indeed, it will be shown in the present section that the structure of
the ow is strongly inuenced by the shape of the obstacle even far from the center.
Other approaches to this problem use extrapolation schemes on the boundaries so as
to ensure a vanishing gradient perpendicular to the boundaries, for the velocity or
other physically relevant quantities. The drawback of those approaches is that they
are unable to properly tune the asymptotic velocity u0 in the uid and can therefore not be used on all boundaries. Furthermore, they make it dicult to ensure
conservation of mass and momentum across domain boundaries.
For those reasons, an alternative technique is introduced here that has been
recently described in the literature [42, 43, 44]. In this method, an explicit vector
eld is proposed that can be used to implement a Dirichlet boundary condition for
the uid velocity in a region reasonably far from the domain center. The expression
for this vector eld is obtained from a truncated asymptotic expansion of a solution
to the stationary Navier-Stokes equation and approximates the structure of the
ow with considerably higher precision than the constant approximation u = u0 .
The drawback of this method is that it depends on the drag and lift coecients of
the obstacle which are a priori unknown. Therefore, the solution process involves
a series of iteration steps during which the formula of the boundary condition is
updated on ground of the drag coecients of the obstacle measured at this state
of the simulation. A brief overview of the method is found in the next section,
Section 6.2.2.
The RLB method, executed on a set of progressively rened grids, is used to
solve this problem. The simulations are run at very low Mach numbers in order to
approach the nature of an incompressible uid with sucient accuracy. The following sections present a case study for the numerical evaluation of a drag coecient,
and serve three main purposes. First, they present an introduction to the boundary
condition of Refs. [42, 43, 44] and demonstrate its eciency and simplicity in the
context of LB simulations. Second, it is shown that this method can be coupled
68
Chapter 6
(a)
(b)
0.02
0.025
0.018
0.016
0.02
0.014
0.012
0.015
0.01
0.008
0.01
0.006
0.004
0.005
0.002
Figure 6.1: (a) Flow prole close to the obstacle when a zeroth-order boundary
condition u = u0 is used. (b) Velocity prole with the rst-order boundary condition
introduced in this section.
with a numerical technique based on iterative grid renement. The grid renement
approach of RLB, in which all variables are cast into a dimensionless representation
according to Eq. (4.11) is observed to produce excellent results. Finally, it is argued
that although the boundary condition of Refs. [42, 43, 44] has been developed for
incompressible ows, it also proves useful for simulations of compressible ows at
low Mach numbers. For further precision, the inuence of the uid compressibility
on the computation of a drag force is analyzed.
6.2.2
In Ref. [42], the solution to the 2D incompressible Navier-Stokes equation is expanded in a nite series, as a function of formal parameters depending on the drag
and lift coecients of the obstacle. The corresponding theory for the 3D case is
presented in Ref. [43]. It is recognized that at a certain distance from the center,
the structure of the ow doesnt depend for the specic details of the obstacle geometry, but only on 2 (2D) or 3 (3D) distinct parameters. These considerations
result in the prescription of an explicit vector eld that can be used as a boundary
condition on the numerical domain boundaries. The zeroth- and rst-order terms of
the expansion for a 2D ow on the velocity eld u = (u, v) at a position r = (x, y)
read
d 1
y2
d x
b
y
+l 2
(x) l e 4lx
x2 + y 2
x + y2
x
d y
y2
y
b
x
d
l 2
(x) l 3/2 e 4lx
l 2
x + y2
x + y2
2 x
u(x, y) = u 1 + l
v(x, y) = u
,
(6.2)
where d = Fx /(2 l u2 ) and b = Fy /(2 l u2 ) are the drag and the lift coecient,
69
(b)
Interface
Figure 6.2: (a) Structure of the numerical grid close to a rectangular obstacle. One
dot on the gure represents a square of 88 grid nodes. (b) Schematic representation
of the interface between two adjacent grids. In the actual application, the grids
overlap by additionally one node to allow for accurate interpolations.
the sense that it depends on two constants, d and b that are in general unknown
before the execution of the simulation.
The computed velocity prole close to the obstacle, depending on whether the
zeroth-order boundary condition u = u0 or the boundary condition dened by
Eq. (6.2) is used, is displayed on Fig. 6.1. The zeroth-order boundary condition
on Fig. 6.1 (a) produces quite unexpected results, as it imposes an unphysical zeroux condition through the domain boundaries. The rst-order boundary condition
on Fig. 6.1 (b) is free from such unphysical eects and produces, at least graphically,
the illusion of an innitely extended domain.
6.2.3
Numerical implementation
The RLB simulation uses a grid with high resolution close to the center, given that
in this region, the uid is subject to sharp pressure and velocity variations. A grid
renement technique is therefore applied with a hierarchy of nested grids that have
a successively ner resolution as they approach the system center. This hierarchy
of nested grids is schematically represented on Fig. 6.2 (a). At each level of grid
renement, both the space step x and the time step t are divided by two. This
choice was taken for a particular reason, because one purpose of this simulation
was to analyze the eect of uid compressibility on the accuracy of the result. For
this to be possible, the Mach number, which is proportional to the ratio t /x ,
needs to be the same from one grid to another. It should be mentioned however
that the most ecient choice for the simulation of incompressible uids consists in
2
keeping the ratio x /t constant. This topic is discussed extensively in Section 2.4.
During the streaming steps, values are transferred from one grid to another on the
common interface. To do this, they are rst cast into a dimensionless representation
according to Eq. 4.11 in order to be independent of the parameters x and t . Then,
the values are interpolated in space (because one grid has twice as many nodes as
70
Chapter 6
the other) and in time (because one grid iterates twice while the other one executes
only one iteration). The procedure adopted for those interpolations follows closely
the method proposed in Ref. [31]. In this reference however, the particle distribution
functions fi are directly interpolated, while in the present work, the interpolation is
applied to the dimensionless macroscopic variables , u and (1) . As an additional
dierence, it is remarked that Ref. [31] makes use of a rst order accurate time
interpolation scheme. Although the accuracy of the time interpolation is not crucial
here, as a stationary ow is being simulated, it is generally recommended to use
second order accurate time interpolations for consistency with the accuracy of the
LB method discussed in Section 2.4. Numerous other grid renement techniques
have been suggested in the literature that mostly adopt a microscopic point of view
to justify their approach to rescaling the particle distribution functions. Some of
those techniques can be found in Refs. [45, 46, 47, 48, 49].
The nested grids are deployed progressively in such a way as to speed up the convergence of the simulation towards a stationary state. In a rst stage, the simulation
is run on a small domain close to the obstacle. Then, at chosen time intervals, the
size of the physical domain represented in the simulation is enlarged by implementing a new, coarser grid. This is a convenient way of doing to eciently converge
towards a stationary state. Another approach to reach a rapid convergence would
consist in rening the time step t as shown in Section 6.3.
As it has been presented so far, the utilized numerical approach contains two
separate iterative processes, one for the implementation of the boundary condition,
as explained in Section 6.2.2, and one for the convergence to the stationary state,
as explained in the current section. It is observed that both processes take place at
comparable time scales, and can therefore be coupled in a simple manner. In the
present simulations, the drag and lift coecients needed for the implementation of
the boundary condition are updated each time the grid is enlarged.
The no-slip boundaries of the obstacle are implemented via a so-called bounceback boundary condition, introduced e.g. in Ref. [11]. The value of the force acting
on the obstacle is evaluated by computing the momentum which is exchanged on its
surface. It is easy to evaluate this momentum exchange on bounce-back boundaries,
on which particle distribution functions entering a node from the bulk are simply
reected. The exchanged momentum amounts to twice the value of the momentum
carried by the reected distribution functions.
6.2.4
Simulation results
71
(b)
10
10
Compressibility error
10
10
10
10
10
10
10
10
10
10
10
Diameter of computational domain
10
10
0.02
0.04
t / x
0.08
Figure 6.3: (a) Drag coecient as a function of the system size. The x-axis represents the ratio between the system size and the height of the obstacle. Solid line:
asymptotic boundary condition u = u0 . Dotted line: rst-order accurate boundary
condition described by Eq. (6.2). (b) Solid line: error on the drag coecient as a
function of the Mach number. Dotted line: reference curve, representing a power
law with slope 2.
of the drag coecient converges approximately at the same rate in the presence of
either boundary condition. However, using the boundary condition described by
Eq. (6.2) gains at least an order of magnitude on the accuracy of the drag coecient,
independently of the system size.
As a conclusion, the combination of a nested grid technique with an appropriate
boundary condition results in an ecient numerical scheme. Indeed, the computation of drag forces as those shown on Fig. (6.3) (a) were performed within one day
on a common desktop computer. In comparison, the same simulation would take
about one month to be executed on a homogeneous, small sized grid. It must also be
noted that at the high level of accuracy that is applied here, compressibility eects
play an important role. This statement is quantied by a plot on Fig. 6.3 (b), which
shows the dierence between the drag force exerted by a compressible uid and a
reference solution for an incompressible uid found in Ref. [44]. As it is expected,
this dierence decreases at roughly a second order rate with respect to the Mach
number. It is however not possible to implement uids at an arbitrary small Mach
number in the LB BGK model used here, as the choice of this parameter is limited
by CPU time constraints.
6.3
6.3.1
Adaptive time
Introduction
72
Chapter 6
6.3.2
Numerical experiment
In the present section, as well as in Section 5.2, incompressible stationary ow problems are considered. Those problems
are described by a time-independent version of the Navier-Stokes equation (1.10)
on page 8, in which the term containing a time-derivative is simply skipped. To
solve such a problem with the LB method, a time-dependent system is simulated
which progressively approaches a steady state. When the macroscopic variables
of the system do not change any more from one time step to the next, the system
is considered to have reached the time-independent solution to the Navier-Stokes
equation. This is usually not an ecient way of doing. Other iterative procedures
exist that nd solutions to stationary ow problems substantially faster. In those
methods, the intermediate steps of the iteration do not necessarily represent a
physically meaningful ow, by which shortcuts can be taken to reach the desired
nal result. This limitation of the LB method can be partially overcome with
73
(b)
the help of the techniques described in this thesis. In Section 5.2, the problem is
rst solved on a domain with limited extent, surrounding the region of interest.
This gives a rst rough approximation to the solution, which in the following is
improved by progressively enhancing the extent of the simulation. In the present
section, a rst rough approximation is obtained via a simulation with a large
time step, and the accuracy is increased by a progressive decrease of the time
step.
In order to appreciate the eciency of the LB model, the ow problem is also
solved with the help of a nite dierence model which is taken from Ref. [4] and
described in more detail in Chapter 7. The FD solver has similar properties as the
LB model, as it also makes use of a xed-width regular grid. With both the LB
and the FD model, the accuracy of the solution is monitored during the evolution
of the simulation. Given that the emphasis is put on rapidly obtaining a stationary
solution, rather than analyzing the time evolution of the ow, the real wall-clock
time instead of the simulated physical time is measured. Figure 6.4 displays results
of a simulation run on a common desktop computer, with a Reynolds number of
Re = 100 and on a grid of size 129 129. When the time step t is xed, as on
Fig. 6.4 (a), both simulations converge at a comparable speed. The time step of the
FD method is xed by stability criteria, whereas in the LB method, it is chosen so
as to obtain results of equivalent accuracy in both methods. On Fig. 6.4 (b), the
RLB simulation makes use of an adaptive time interval, starting out at a value of
2
t = 25 x . This means that in the beginning of the simulation, the velocity of the
lid adopts a value of u0 = t /x 0.2. In the following, t is decreased at each
2
iteration step, until the nal value t = 5/2 x is reached. With this approach, the
convergence is accelerated by roughly an order of magnitude. Those comparisons
must of course be appreciated with some care, because the speed of a simulation
depends among others on the quality of its numerical implementation. One can
74
Chapter 6
Chapter 7
Coupling with other tools of CFD
7.1
Introduction
The topic of computational uid dynamics is introduced in Section 1.2. The overview
presented there shows that many dierent models for the numerical analysis of uid
ows exist. On the one hand there are solvers based on discrete representations of
the Navier-Stokes equation, most notably nite dierence, nite element or nite
volume methods. On the other hand, a new category of solvers has emerged over
the past decades which describe the uid at a molecular level, such as Cellular
Automata, or at an intermediate level, such as LB methods.
In this section, the possibility of solving separate spatial regions of a simulation
with a dierent solver is investigated. In this approach, a nite dierence (FD)
solver is coupled with a LB method. The motivation for developing such a type of
coupling is that, depending on the geometry of the ow, one technique can be more
ecient, less memory consuming, or physically more appropriate than the other
in some regions, whereas the converse is true for other parts of the same system.
One can also imagine that a given system solved, say by FD, can be augmented
in some spatial regions with a new physical process that is better treated by a
LB model. With the approach shown here, only the concerned region is modied,
without altering the rest of the computation.
In order to couple a LB with a FD model, it is crucial to understand how the LB
set of variables is related to the FD set and vice versa. As has often been the case in
previous chapters, the transformation from LB variables to macroscopic variables is
easy to perform, whereas the reverse transformation from macroscopic variables to
the particle distribution functions requires special attention. Also, as many times
before, it seems most natural to solve this problem via the regularized LB method,
in which the state of the LB system is expressed in terms of macroscopic variables
and their derivatives. In order to obtain the desired coupling, it only remains to
nd appropriate interpolations for the concerned variables on the interface between
a LB and a FD region.
The procedure is of course also applicable when the BGK method is used. In
that case, the formula of the regularized LB method, Eq. (4.10) on page 46, is used
to convert from macroscopic variables to the particle distribution functions, after
which the BGK collision step is executed. The numerical application presented in
Section 7.6 makes actually use of the BGK method. At the time this simulation was
76
Chapter 7
.
.
fi1,j
j
vi,j
fi,j
ui1,j
pi,j
ui,j
Figure 7.1: Choice of indexes for FD and LB variables on a chosen grid cell (i, j).
prepared, the benets of using the regularized LB on the full domain was not yet
understood, and this method was used only on boundary nodes.
7.2
The FD model used in the present section is taken from Ref. [4]. Its scheme is explicit
for the velocities and implicit for the pressure. In order to be suciently stable, the
method makes use of a staggered grid, that is, a grid on which all macroscopic
variables are dened on dierent space locations. The relative arrangement of those
variables, as well as their space position with respect to the LB set of variables, is
discussed in the following.
The full computational domain is considered a two-dimensional, rectangular region
= [0, l] [0, h] R2 ,
on which a regular grid is dened. This grid is divided into imax cells of equal size
in the x-direction and jmax cells in the y-direction, resulting in grid lines spaced at
a distance
x = l/imax and y = h/jmax .
Although the FD model is potentially anisotropic and can handle cases in which
x is dierent from y , this is not true for the LB method. Therefore, those two
parameters are always taken equal in the following and are simply labelled x .
The FD model is based on three quantities that are dened at each cell position:
the pressure (p), the x-component (u) and the y-component (v) of the velocity. They
are however placed on a staggered grid. A given index (i, j) of the cell is assigned
to the pressure at the cell center, to the x-component of the velocity at the right
edge and the y-component at the upper edge (cf. Figure 7.1). The reason for this
staggered arrangement is that it prevents possible pressure oscillations which could
occur had all three variables u, v and p be evaluated at the same grid points.
77
.
LB
FD
u
v
u p u
v
v
u p u
v
v
u p u
v
u
u
v
p u
v
p u
v
p u
v
u
v
p u
v
v
p u
v
v
p u
v
j=4
j=3
j=2
j=1
j=0
FD bulk node
FD boundary node
LB bulk node
LB boundary node
The LB model uses 9 variables fk , k = 0 8 which are all evaluated at the same
location of a cell. In the present coupling model, the LB variables are situated in
the upper right corner. This choice is of course arbitrary. It is however reasonable
to situate the f s on cell corners, to ensure that the LB and the FD model have
a compatible interpretation of the location of the domain boundary . Indeed,
this boundary is dened on a cell edge in the FD model. Considering that most
implementations of LB boundary conditions set the domain boundary on top of a
LB node, this leads to placing the LB node on the intersection of two cell edges.
The situation is depicted on Figure 7.2 for a system of extent imax = jmax = 3.
It shows also that as a result of the staggered arrangement, not all extremal grid
points of the FD set of variables come to lie on the domain boundary. For this
reason, an extra boundary strip of grid cells is introduced, so that the boundary
conditions may be found by linear interpolations between the nearest grid points on
either side.
The FD model is based on a discretization of the incompressible Navier-Stokes
equation (1.10) and the continuity equation (1.9). The computation of successive
iterations u(t) , v (t) , p(t) u(t+1) , v (t+1) , p(t+1) contains two distinct steps:
1. Resolution of the Poisson equation (Eq. (1.11) on page 8) to obtain the new
pressure eld. This computation utilizes the values of the pressure and the
velocity at the time t: u(t) , v (t) , p(t) p(t+1) . In presence of Dirichlet
boundary conditions, this procedure has a unique solution (except for an integration constant). In particular, there is no need to know the value of the
pressure on the boundary.
78
Chapter 7
7.3
Choice of units
The LB method as presented so far makes use of a system of lattice units, in which
the distance between two adjacent grid points, as well as the time interval between
two successive iteration steps, is unitary. The FD method on the other hand uses the
dimensionless system introduced in Section 1.2.3, in which the simulated variables
are independent of x and t . In order to easily formulate the coupling between the
two methods, the variables of the LB method are also cast into dimensionless units.
The spacing between adjacent grid points thus takes the value x , and the interval
between successive iterations the value t . The lattice constants ci are replaced by
the lattice velocities vi = x /t ci , and the LB dynamics in Eq. (1.14) on page 10 is
reformulated as follows:
fi (r + t vi , t + t ) fi (r, t) = i .
(7.1)
Whenever some data is transferred from one grid to another, the dimensionless form
, u and (1) of the variables in the RLB model is used. The stars are however
omitted to simplify the notation.
7.4
The full domain is now split into two subdomains 1 and 2 such that =
1 2 . In domain 1 the FD method is active and in 2 the LB method is used.
For simplicity, the subdomains are taken to be rectangular, 1 occupying the left
hand side and 2 the right hand side of the domain. This procedure can however
be extended with few changes to a general boundary.
Figure 7.2 displays the position of extremal grid points, drawn as white circles
and squares, on which a boundary condition needs to be implemented to achieve a
coupling between the two grids. On the interface between 1 and 2 , those boundary
values are taken from the boundaries of the opposite domain. As a consequence of
the staggered arrangement of the LB values with respect to the FD values, there is
need for an overlap between 1 and 2 . There are several ways the coupling can
be implemented. In the approach chosen here, the two grids overlap by roughly one
lattice site. The position of this site is indexed by i = iint (see Figure 7.3).
As a conclusion, the FD domain requires knowledge of the values of ui,j for i = iint
and j = 1 jmax , and the values of vi,j for i = iint + 1 and j = 0 jmax . Those
values are easily obtained from the LB eld, on which the macroscopic variables are
computed by means of Eqs. (1.15) and (1.16) on page 10.
The LB domain on the other hand requires the knowledge of the 9 values fk;i,j
at i = iint 1 and j = 0 jmax . To obtain those, the regularization formula from
Eq. (4.10) on page 46 is used, which connects the pressure, the velocity and the the
velocity derivatives to the value of the particle distribution functions.
79
.
i = iint
FD
v
v
v
v
u p u p u p u
v
v
v
v
p u p u p u
u
v
v
v
v
FD bulk node
FD boundary node
LB
LB bulk node
LB boundary node.
7.5
7.5.1
Before turning to the velocity eld, the treatment of the pressure in the FD simulation and the density in the LB simulation is discussed. It is useful to remember that
the LB simulation is presently considered in an incompressible regime, in which the
density is connected to the pressure via the ideal gas law in Eq. (1.8) on page 7.
The pressure eld of an incompressible ow is not uniquely dened. It contains
a constant oset which can be chosen arbitrarily. In the FD method used here,
the value of the oset depends on how fast the numerical method converges, and it
varies from one time step to another. It is therefore dicult to couple the pressure
eld of the FD and LB simulations together. To do so would require a calibration of
the pressure elds by computing the average pressure on each side of the simulation.
It is fortunately possible to consistently compute the value of the pressure on each
computational subdomain, without transferring values from 1 to 2 . As a matter
of fact, the value of the pressure in an incompressible ow can be directly deduced
from the value of the velocity eld through the Poisson equation (1.11). Practically
speaking, on the side of the FD simulation, the FD-LB interface is simply considered
as a domain boundary, as far as the pressure is concerned, and the Poisson equation
is solved on the subdomain 1 . Similarly, the pressure of the LB simulation is
computed by applying a usual boundary condition on the FD-LB interface as it is
described in Section 5.2.2.
7.5.2
Obtaining values for the velocity in the FD eld from the LB eld is a simple
exercise. The two components of the velocity are computed in a straightforward
80
Chapter 7
manner from Eqs. (1.15) and (1.16) on page 10. Because the FD and the LB variables
are not dened at the same point of a lattice cell, we need to adjust the values by
an interpolation which, for consistency with the accuracy of the overall numerical
scheme, is second order accurate. This leads to the following relations:
uFD,j = 1/2 uLB ,j + uLB ,j1
iint
iint
iint
FD
LB
LB
viint +1,j = 1/2 viint +1,j + viint ,j
(7.2)
(7.3)
A similar procedure is used to translate the values of the velocity from the FD
eld to the LB eld:
uLB 1,j = 1/2(uFD1,j + uFD1,j+1 )
iint
iint
iint
LB
FD
FD
viint 1,j = 1/2(viint 1,j + viint i,j )
7.5.3
(7.4)
(7.5)
(7.6)
The regularization formula (4.9) refers to the tensor S which, in Eq. (1.6) on page 7,
is dened in terms of velocity gradients. Figure 7.2 shows that two of those gradients
can be approximated by a centered dierence of half the mesh width:
y uLB 1,j = 1/x (uFD1,j+1 uFD1,j )
iint
iint
iint
(7.7)
LB
x viint 1,j
(7.8)
FD
1/x (viint ,j
FD
viint ,j1 )
1 FD
FD
FD
FD
(v
+ viint 1,j+1 (viint ,j1 + viint 1,j1 )).
4x iint ,j+1
(7.9)
There are not enough grid points at hand for computing the fourth gradient at the
same level of precision. Luckily enough, this value can be computed with the help
of the continuity equation (1.9) on page 7:
LB
x uLB 1,j = y viint 1,j
iint
7.5.4
(7.10)
Summary
Now that all missing variables have been computed, it is useful to take a step back
and discuss the overall algorithm of a LB iteration step. For the purpose of this
discussion, the BGK dynamics is split into two steps. The rst, the collision step,
handles the computation of the equilibrium distribution and maps the incoming
(in)
(out)
particle stream fi onto the outgoing particle stream fi . It is followed by
a streaming step that transports the particles by a value of t in time and vk t in
space. The details of an iteration step are as follows:
1. On bulk nodes, (t) and u(t) are computed from the incoming particle densities
(in)
(in)
fk (t). On boundary nodes, all the values (t), u(t) and fk (t) are obtained
from the variables of the FD eld at time t.
81
(out)
(r, t) = (1
(out)
(r, t),
Alternatively, it is possible to extend the streaming step to boundary nodes for those
(in)
values of fk that are incoming from the bulk of the LB simulation. They are kept
(in)
unchanged, unlike the remaining set of fk and the macroscopic variables and u
that are provided by the FD eld. In the simulations, this procedure appears to
produce results equivalent to those of the proposed algorithm.
7.6
Numerical validation
82
Chapter 7
.
3 (FD)
u
2 (LB)
(3)
jmax = 3
(2)
jmax = 46
L=1
jmax = 50
y
1 (FD)
(1)
jmax = 3
x.
Figure 7.4: The computational grid for the simulation of a Poiseuille ow is partitioned into three subdomains 1 , 2 and 3 . The FD scheme is used on the
boundary domains 1 and 3 , and the LB scheme on the bulk domain 2 .
precision of the boundary condition. The hybrid simulation shows the expected
convergence speed of the LB model and an error due to the limited precision of
the coupling. However, the error is two orders of magnitude smaller than the one
due to the bounce-back boundaries of the LB-only simulation. The results of the
simulations are shown on Figure 7.5.
The order of precision of the coupling can be estimated by varying the grid
resolution (jmax ) while keeping the physical quantities(L, Fx ) constant. Figure 7.6
plots the error of the stationary velocity eld as a function of the grid resolution.
It appears clearly that the coupling acts like a second-order boundary condition for
the velocity eld. No conclusion can be taken concerning the implementation of the
pressure eld, because the latter is constant in a Poiseuille ow.
7.7
Conclusion
83
10
LB with bounceback
FD
FDLB coupled
1
error
10
10
10
10
20
40
60
80
100
(iteration step)* t
120
140
160
10
error
10
10
10
Numerical result
Slope 2
10
10
10
10
10
84
Chapter 7
work presented here to other methods in CFD, such as the nite element method.
One key issue in this procedure would be to relate the values from the irregular
grid of typical nite element methods to the regular grid of the LB method. Such
questions are at the heart of the OpenLB project in Ref. [13], in which this topic is
approached from a software engineering point of view. The developed LB code is
encapsulated in object-oriented data structures that are very similar to those used
in a related nite element package, which encourages the use of those two tools on
common problems.
Chapter 8
A model for uid turbulence based on
kinetic variables
8.1
8.1.1
Turbulence modeling
Overview
In all numerical experiments conducted in the previous chapters, the simulated ows
have a laminar structure. At all time steps, it is possible to describe the velocity
eld exhaustively via a restricted number of streamlines. Those lines are dened
as integral curves to the ow eld: on every point of the curve, the ow velocity is
tangential to the curve. In a laminar ow, the streamlines vary smoothly in space and
time, and they are often used to illustrate the ow visually. In high Reynolds number
ows, a turbulent regime is observed to take place in which such a description is not
useful any more. Turbulent ows are characterized by the formation of structures
at many length scales. A description that focuses on a specic length scale, such as
a ow visualization through streamlines, captures only a partial aspect of its nature
and neglects other, physically relevant components to an exhaustive description of
its state.
The number of degrees of freedom required for the numerical simulation of ows is
substantially higher in presence of turbulent ows than with laminar ows. In order
to obtain an accurate representation of the ow evolution, all structures down to
the smallest ones must be representable on the computational grid. With currently
available computing resources, it is actually impossible to reach any of the Reynolds
numbers that are of interest in most engineering applications. To face this problem,
simulations are often simply run on an underresolved grid. They are known as large
eddy simulations, because they simulate the eect of the large eddies in the ow but
do not take into account the small ones. The eect of the small eddies is however
not neglected. Instead, a new, modied dynamics is executed on the computational
grid, which in the following is called the coarse grid. This dynamics replaces the
eect of the small eddies, had the simulation been executed on a fully resolved ne
grid, by an analytical or numerical prediction. This prediction is made on ground of
variables simulated on the coarse grid and is of course only an approximation to the
exact, fully resolved dynamics. The most common of those subgrid models include
the notion of an eective viscosity: they predict that the adapted dynamics on the
coarse grid implements the Navier-Stokes equation with a time and space dependent
86
Chapter 8
8.1.2
87
For this reason, the emphasis in turbulent simulations is put on the macroscopically observed mean values rather than the microscopic detail. The physics of the
smaller, subgrid scales is no longer simulated, but replaced by an appropriate model.
Along this line of thought the velocity eld u is split into a mean part U = u and
the small variations u known as turbulent uctuations, such that
u=U +u.
(8.1)
The mean part is, for example, a componentwise statistical, temporal or spatial
average. The operator is often called a lter.
The lter can be applied to the Navier-Stokes equation, Eq. (1.10) on page 8.
The corresponding averaged equation is known under as the Reynolds equation for
the averaged velocity U :
U+ U
U =
P +
t
0
U+
uu ,
(8.2)
where P = p is the averaged pressure. The continuity equation, Eq. (1.9) becomes
U = 0.
(8.3)
(8.4)
A turbulence model expresses the Reynolds stress tensor in terms of the resolved
mean quantities and potentially some new variables described by a set of additional
equations. Widely used and easy to apply is the Smagorinsky approach [52], in
which the Reynolds stress tensor is dependent only on the local strain rate. This
model is extremely convenient in numerical simulations as it does not introduce
new degrees of freedom and does not require the resolution of additional PDEs. It
shows however good results only in two dimensions and for very ne mesh widths.
An improved version is the very popular k model [53, 54] that describes the
Reynolds stress in terms of the strain rate, the turbulent kinetic energy k and the
dissipation rate :
1
|u |2
and
2
=
| u + u |2 .
2
k=
(8.5)
(8.6)
2
k2
k I 2 c S.
3
(8.7)
This expression for the Reynolds stresses is substituted into Eq. (8.2), and a renormalized viscosity is introduced:
= + T = + 2c
k2
(8.8)
88
Chapter 8
(8.9)
1
U+ U
U =
P + ( S) .
t
0
(8.10)
This equation, as well as the continuity equation and the closure equations for
k and can now be simulated on a coarse grid with reasonable requirements for
computational resources. The constant c , as well as some additional constants
appearing in the closure equations, cannot be found from theoretical arguments and
must be calibrated on numerical experiments. The k model has also successfully
been used together with the LB scheme, as has been reported in Ref. [55].
Appropriate turbulence models are dicult to implement in practice. A major
diculty stems from the treatment of the domain boundaries, along which boundary
layers are observed, which dont obey the universal laws of the Kolmogorov theory
and need to be treated separately. An overview on the basics of turbulence modeling,
and the key issues for the simulation of turbulent ows, is found in Ref. [56].
8.2
Averaged LB equation
The basic idea developed in this section consists in applying the averaging procedure
described in Section 8.1.2 directly to the variables of a lattice Boltzmann simulation, the particle distribution functions fi . The following calculations are restricted
to the BGK model and the the 3-dimensional D3Q19 lattice (see Section 1.3.3).
The concepts are extended to other lattices in a straightforward manner. The LB
dynamics can be viewed as a map that applies the family of particle distribution
functions dened on the computational grid at the initial stage t0 on their state at
a time t = t0 + T :
DT : f (t0 ) f (t0 + T ).
(8.11)
The dynamics of the BGK model is governed by a relaxation towards an equilibrium
term, described by Eqs. (1.14) and (1.17) in Section 1.3.2. It is described as a
relaxation
fi (r + vci , t + t) fi (r, t) = (fi (r, t) fieq (u(r, t), (r, t)))
(8.12)
The equilibrium term is explicited in Eq. (1.18), and it is useful to repeat it here:
fieq (u(r, t), (r, t)) = ti (1 + 3 ci u +
9
Q : uu).
2 i
(8.13)
In this equation, the generic lattice constants have been replaced by their value on
the D3Q19 lattice. The velocity u, specied by Eq. (1.16), depends linearly on the
particle ow densities fi . Furthermore, the ow is considered incompressible, which
is the case at low Mach numbers (see Section 2.4). In that case, the non-linearity
of dynamics is entirely captured in the last term of equation 8.13. In this term, the
89
2
velocities are projected on the second order base vectors C , dened by means of
the tensors Qi specied in Eq. (1.19).
In order to formulate a turbulence model for the LB dynamics, a lter
is
introduced which acts as a linear map on the distribution functions f :
: f (t) F (t).
(8.14)
DT : F (r, t) F (r, t + T )
(8.15)
DT
DT .
(8.16)
Equation (8.16) has already been used in Ref. [57] with the hope that a turbulence
model can be formulated from the obtained expression. An interpretation of this
procedure from the point of view of kinetic theory is presented in [58], and previous
work on subgrid models in the framework of kinetic theory is found in Refs. [59, 60].
The main inconvenience of an approach in which the lter is applied individually
to each of the particle distribution functions stems from the fact that the obtained
model depends on the index i and introduces an unwanted coupling between the
distribution functions. A novel approach is therefore used here, in which the ltered
2
equations are projected on the vectors C . The resulting quantities are dened as
tensor in the physical space, and they replace the q-dimensional vectors in the space
of particle distribution functions. This point of view is more favorable to a physical
interpretation of the obtained laws. For this, a map S is introduced which, from a
given conguration of the lattice kinetic variables f , yields the strain rate tensor,
dened in Eq. (1.6) on page 7, at each space position:
S : f (t) S(t).
(8.17)
S DT
=S
DT ,
(8.18)
(8.19)
This expression is especially useful in the context of LB, as in this case, the rate of
strain can be expressed to the rst order in terms of local variables on every lattice
site.
(8.20)
90
Chapter 8
Although this model seems natural, there is no a priori reason to support it. There
are other models, such as the k model presented in the previous section, that make
use of an additional pressure term. For the sake of completeness, it would further
be useful to view turbulence models under the light of the multiple relaxation time
approaches introduced in Section 3.3.1. It is indeed natural to expect that the
value of the renormalized relaxation parameter is dierent for each of the relaxed
models. For the time being, the discussion is however restricted to the case of a
single relaxation time, and a numerical verication of assumption (8.20) is proposed
in the next section.
It is useful to remember that the strain rate tensor is formally related to the
o-equilibrium part of the tensor . The ndings of Eq. (2.66) on page 25 are
reproduced by the following equation:
S
3 neq
;
neq [f ] =
ci ci (fi fieq [f ]) .
(8.21)
(8.22)
which gives an estimate for the value of the renormalized relaxation parameter:
neq [f ]
= neq
[F ]
, 0, 1, 2.
(8.23)
neq [f ] =
ci ci fieq ,
(8.24)
where the correction fieq to the equilibrium term has been dened as
fieq
fieq [f ] fieq [F ]
9
9
ti Qi : uu U U = ti Qi : ( u u )
=
2
2
9
= ti Qi : .
2
(8.25)
(8.26)
(8.27)
2
,
9
(8.28)
1
Qi fieq +
3
fieq =
(8.29)
This yields
neq [f ] = neq [F ] + ,
(8.30)
91
Figure 8.1: 2D cut through the vorticity eld of the homogeneous isotropic turbulent
ow.
= 1 + neq
= 1 3
,
[F ]
S
(8.31)
In Eq. 8.31, the eective viscosity is expressed in terms of a ratio between the
Reynolds and the strain rate tensor. It is assumed that the various components
of the stress tensor share the same eective relaxation time. This is only true for
homogeneous isotropic ows, but is nonetheless consistent with the point of view
taken by turbulent viscosity models (e.g. Smagorinsky and k ).
8.3
In this section, Eq. (8.31) is veried numerically with the data of a DNS. The simulation represents a statistically homogeneous and isotropic ow. The system consists
of a cubic lattice of system size 128 128 128 with periodic boundary conditions.
The Reynolds number, dened with respect to the RMS value of the velocity and
the side length of the full cubic system, is Re = 1513. From this, the Kolmogorov
length is found to be = 0.5 in lattice units. Although the Reynolds number is quite
low, it is sucient for obtaining a weakly turbulent ow. The type of forcing needs
however to be chosen very carefully. The method used here is known under the name
of spectral forcing and has been introduced in Ref. [61]. In this method, the force
eld is constructed in the wavenumber space. The force is constructed in such a way
that it is non-zero only at the two lowest wavenumbers, in the low frequency limit.
In this way, the energy is introduced at large wavelengths, and the Kolmogorov
energy cascade can freely develop on the intermediate wavelengths. To obtain a
statistically homogeneous and isotropic eld, all components of the force eld in the
wavenumber space are subject to a random shift of the phase. A pseudo-random
number generator of good quality is used to generate fully decorrelated values for
those shifts. To end with, the force eld is transformed into real space by a Fourier
92
Chapter 8
transform. The method described in Ref. [61] guarantees that the obtained force
eld is divergenceless. In such a way, the simulation stays close to the limit of uid
incompressibility at each iteration step.
Figure 8.1 shows a two-dimensional cut through the uid vorticity during a simulation. This picture is typical for the data observed in turbulent ows. In particular,
eddies are observed at all length scales, from the size of the system down to the size
of a grid cell. The average kinetic energy contained at dierent wavenumbers is
displayed in Fig. 8.2. The curve is irregular at low wavenumbers, where the energy
is injected by the method described in the previous paragraph. After that, the energy scales down along the universal range, and it is nally dissipated in the low
wavelengths, close to the Kolmogorov length. As it is seen on the gure, the intermediate range agrees only partially with the prediction of the Kolmogorov theory.
This is however usual for simulations at such low Reynolds numbers, in which the
turbulence is not fully developed.
The model proposed in Eq. 8.31 is nally cross-checked with the data of the
DNS. The lter introduced in (8.14) is interpreted as a local spatial average over
a cube of size h3 . On every lattice site, is computed from (8.14). Figure 8.3
plots the measured average value for / = / on o-diagonal parts of the strain
rate over all lattice nodes at a given time step. The variance of the value, which
is also plotted on the graph, is unfortunately larger than the average. Therefore,
no denite conclusions can be taken from the data. This is most probably due to
a lack of statistics, and better results can be expected to be obtained at higher
Reynolds numbers. Nevertheless, the graph shows a clear increasing trend of the
average value, and shows that the theory developed in the previous section nds at
least a partial verication in the numerical data.
93
Figure 8.3: Spatial distribution of the eective relaxation time / based on nondiagonal components of and neq . The marker () labels the value of the eective
relaxation time, averaged over space at a given time step. The standard deviation
over this average is also indicated. In spite of the important standard deviation, a
trend towards an increasing eective relaxation time is visible, which increases with
the depth h of the average. Although the statistics is rather poor, as a low Reynolds
number is used, turbulence modeling via an eective viscosity seems to be supported
by numerical evidence.
Publications
Software projects
An important part of the work achieved during the time of the thesis does not appear
in the present document. Most notably, important eorts were invested in developing
concepts for the numerical implementation of lattice Boltzmann models. Software
paradigms for the object-oriented implementation of advanced data structures, as
well as programming concepts for the development of massively parallel programs
are at the heart of this research topic. During the years of the thesis, three software
projects were formulated, each of which is published on an online web page. On
those web pages the source code of the project is available for free download, under
an open source software license. All projects are furthermore accompanied by a solid
documentation for software users and developers. The OpenLB project is particularly
pointed out, as at the time of the presentation of the thesis, this project is actively
maintainted and developed by several authors. The three projects are listed in the
following:
Vladymir
Vladymir [62] is a library for the C++ programming language that denes a new,
multi-functional array type. The library is specically designed for the purpose
of array-based programming - a programming style in which the use of loops over
array indices is replaced by simple expressions involving the array globally. Based
on this seemingly restrictive programming paradigm, it oers the user two powerful
features: straightforward programming style and automatic parallelization of the
code on both shared and distributed memory environments. Although it certainly
proves useful in many other contexts, the library has mainly been used and tested on
the implementation of scientic models such as Cellular Automata and LB schemes,
thus implementing roughly nearest-neighbor dynamics.
MPTL
MPTL [63] stands for MultiProcessing Template Library, a name that hints both
at the OpenMP standard and the STL. The MPTL proposes a programming model for
writing thread-level parallel programs in C++. Within this model, the programmer
can parallelize algorithms like those of the Standard Template Library (STL) in such
a way that they are executed concurrently by dierent threads. The parallelization
is transparent to the programmer, which means that he doesnt have to tackle any
explicit thread-related code, nor even, in most cases, think about a strategy for how
to parallelize a given algorithm. The syntax of a parallel code remains very similar
to the one used in typical C++/STL programs.
96
Publications
Figure 8.4: Flow behind a 3D backward facing step simulated by the OpenLB software.
OpenLB
The OpenLB project [13] provides a C++ package for the implementation of lattice
Boltzmann simulations that is general enough to address a vast range of problems
in computational uid dynamics. The package is mainly intended as a programming
support for researchers and engineers who simulate uid ows by means of a lattice
Boltzmann method. The source code is publicly available and constructed in a
well readable, modular way. This enables for a fast implementation of both simple
applications and advanced CFD problems. It is also easily extensible to include new
physical content. Pre- and postprocessing tools are also available to congure the
domain geometry and analyze the numerical results. Figure 8.4 shows the output
produced by an example code which is shipped with the standard OpenLB package.
Published Articles
Several topics of this thesis have been published in scientic journals, as it can be
seen from the following list:
[1] J. Latt, S. Succi B. Chopard, and F. Toschi. Numerical analysis of the averaged
ow eld in a turbulent lattice Boltzmann simulation. Physica A, 362:610,
2006.
[2] J. Latt and B. Chopard. Lattice Boltzmann method with regularized nonequilibrium distribution functions. Math. Comp. Sim., 72:165168, 2006.
[3] J. Latt, Y. Grillet, B. Chopard, and P. Wittwer. Simulating an exterior
domain for drag force computations in the lattice Boltzmann method. Math.
Comp. Sim., 72:169172, 2006.
[4] S. Orszag, H. Chen, S. Succi, J. Latt, and B. Chopard. Turbulence eects on
kinetic equations. Journal of Scientic Computing, 28:459466, 2006.
Publications
97
Articles to appear
Some submitted articles have been accepted for publication, but have presently not
yet appeared:
[10] J. Latt and B. Chopard. A benchmark case for lattice Boltzmann: turbulent
dipole-wall collision. To appear in Int. J. Mod. Phys. C.
[11] L. Abrahamyan, J. Latt, A. G. Hoekstra, B. Chopard, and P. M. A. Sloot.
Simulating time harmonic ows with the regularized L-BGK method. To
appear in Int. J. Mod. Phys. C.
[12] V. Heuveline and J. Latt. The OpenLB project: an open source and object
oriented implementation To appear in Int. J. Mod. Phys. C.
Bibliography
[1] D. Hnel. Molekulare Gasdynamik. Springer, 2004.
a
[2] A. Quarteroni and A. Valli. Numerical approximation of partial dierential
equations. Springer, 1997.
[3] [Link]
[4] M. Griebel, T. Dornseifer, and T. Neunhoer. Numerical simulation in uid
dynamics. SIAM, 1998.
[5] T. J. Chung. Computational uid dynamics. Cambridge University Press, 2002.
[6] O. C. Zienkiewicz, R. L. Taylor, and P. Nithiarasu. Finite element method for
uid dynamics. Elsevier, 2005.
[7] S. Chen and G.D. Doolen. Lattice Boltzmann method for uid ows. Annu.
Rev. Fluid Mech., 30:329364, 1998.
[8] B. Chopard and M. Droz. Cellular Automata Modeling of Physical Systems.
Cambridge University Press, 1998.
[9] D. Yu, R. Mei, L.-S. Luo, and W. Shyy. Viscous ow computations with
the method of lattice Boltzmann equation. Progr. Aerosp. Sciences, 39:329
367, 2003. [Link] [Link].
[10] C. Cercignani. Theory and application of the Boltzmann equation. Scottisch
Academic Press Ltd., 1974.
[11] S. Succi. The lattice Boltzmann equation, for uid dynamics and beyond. Oxford
University Press, 2001.
[12] M. C. Sukop and D. T. Thorne. lattice Boltzmann modeling; an introduction
for geoscientists and engineers. Springer, 2006.
[13] [Link]
[14] D. A. Wolf-Gladrow. Lattice-Gas Cellular Automata and Lattice Boltzmann
models: an introduction. Lecture Notes in Mathematics, 1725. Springer, 2000.
[15] D. dHumi`res, M. Bouzidi, and P. Lallemand. Thirteen-velocity threee
dimensional lattice Boltzmann model. Phys. Rev. E, 63:066702, 2001.
[16] X. He and L.-S. Luo. Theory of the lattice Boltzmann method: From the
Boltzmann equation to the lattice Boltzmann equation. Phys. Rev. E, 56:6811
6817, 1997.
100
Bibliography
[17] Z. Guo, B. Shi, and C. Zheng. A coupled lattice BGK model for the Boussinesq
equations. Internat. J. Numer. Methods Fluids, 39:325342, 2002.
[18] Z. Guo, C. Zheng, and B. Shi. Discrete lattice eects on the forcing term in
the lattice Boltzmann method. Phys. Rev. E, 65:046308, 2002.
[19] Q. S. Zou, S. L. Hou, S. Y. Chen, and G. D. Doolen. An improved incompressible
lattice Boltzmann model for time-independent ows. J. Stat. Phys., 81:3548,
1995.
[20] X. He and L.-S. Luo. Lattice Boltzmann model for the incompressible NavierStokes equation. J. Stat. Phys., 88:927944, 1997.
[21] P. J. Dellar. Incompressible limits of lattice Boltzmann equations using multiple
relaxation times. J. Comput. Phys., 190:351370, 2003.
[22] P. J. Dellar. Bulk and shear viscosities in lattice Boltzmann equations. Phys.
Rev. E, 64:031203, 2001.
[23] D. dHumi`res. Generalized lattice-Boltzmann equations. Prog. Astronaut.
e
Aeronaut., 159:450458, 1992.
[24] P. Lallemand and L.-S. Luo. Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, galilean invariance, and stability. Phys. Rev. E,
61:65466562, 2000.
[25] R. Benzi, S. Succi, and M. Vergassola. The lattice Boltzmann equation: Theory
and applications. Phys. Reports, 222:145197, 1992.
[26] Y. Chen, H. Ohashi, and M. Akiyama. Prandtl number of lattice bhatnagargross-krook uid. Phys. Fluids, 7:22802282, 1995.
[27] H. Chen, C. Teixeira, and K. Molvig. Digital physics approach to computational
uid dynamics: some basic theoretical features. Int. J. Mod. Phys. C, 8:675
684, 1997.
[28] S. Ansumali and I. V. Karlin. Stabilization of the lattice Boltzmann method
by the H theorem: a numerical test. Phys. Rev. E, 62:79998003, 2000.
[29] S. S. Chikatamarla, S. Ansumali, and I. V. Karlin. Entropic lattice Boltzmann
models for hydrodynamics in three dimensions. Phys. Rev. Lett., 97:010201,
2006.
[30] B. M. Boghosian, P. J. Love, P. V. Coveney, I. V. Karlin, S. Succi, and J. Yepez.
Galilean-invariant lattice-Boltzmann models with H theorem. Phys. Rev. E,
68:025103, 2003.
[31] A. Dupuis and B. Chopard. Theory and applications of an alternative lattice
Boltzmann grid renement algorithm. Phys. Rev. E, page 066707, 2003.
[32] A. J. C. Ladd and R. Verberg. Lattice-Boltzmann simulations of particle-uid
suspensions. J. Stat. Phys., 104:11911251, 2001.
Bibliography
101
102
Bibliography