Thesis PDF
Thesis PDF
Thesis PDF
LATT, Jonas
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. A novel LB model is introduced, first for the simulation of advection-diffusion
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 simulaiton. The model is
furthermore found to be innovative due to the fact that it possesses an accurate
dimensionless formulation in terms of macroscopic variables. Based on this observation, the
regularized model is investigated to address various challenges of LB, such as the
implementaiton of boundary conditions and spatially refined grids.
Reference
LATT, Jonas. Hydrodynamic limit of lattice Boltzmann equations. Thèse de doctorat :
Univ. Genève, 2007, no. Sc. 3846
URN : urn:nbn:ch:unige-4641
DOI : 10.13097/archive-ouverte/unige:464
Available at:
http://archive-ouverte.unige.ch/unige:464
Disclaimer: layout of this document may differ from the published version.
Université de Genève Faculté des sciences
Département d’informatique Professeur Bastien Chopard
Département de physique Professeur Michel Droz
THÈSE
présentée à la Faculté des sciences de l’Université de Genève
pour obtenir le grade de Docteur ès sciences, mention interdisciplinaire
par
Jonas Lätt
de Mühledorf (SO)
Thèse No 3846
Genève
Atelier de reproduction de la Section de physique
2007
FACULTÉ DES SCIENCES
intitulée:
Thèse -3846-
Le Doyen, Pierre SPIERER
This dissertation was presented on March 9, 2007, at the Faculty of Science of the
University of Geneva.
En prenant modèle sur la dynamique des fluides émergeante d’une microscopie riche
et abondante, cette thèse est issue d’un tissu d’interactions complexe avec mon
entourage qui m’a soutenu à un niveau scientfique, technique et émotionnel. Je
suis reconnaissant à tous les gens qui m’ont suivi durant ma thèse et espère qu’ils
trouveront plaisir, en lisant ce document, à y reconnaitre une contribution, une idée
ou un biais qui leur est dû.
Je pense en particulier à mes directeurs de thèse Bastien Chopard et Michel Droz
qui m’ont suivi au long du travail, et à Sauro Succi qui a été conseiller et juré de
thèse. Des conversations stimulantes ont permis de situer plusieurs sujets dans un
contexte plus large, et j’aimerais faire valoir entre autres les contributions de Peter
Wittwer, de Vincent Heuveline et de Michel Deville.
J’ai profité d’un environnement de travail inspirant grâce à Jean-Luc et Bernhard
qui m’ont aidé à affronter le monde hostile de l’informatique, Fokko qui a soigneuse-
ment relu ma thèse, Orestis qui a prêté une oreille critique à mes idées farfelues et
mes autres collègues qui m’ont tous donné un soutien remarquable.
La contribution la plus précieuse vient sans aucun doute de mon entourage
proche, et je remercie Roxane, ma mère, les parents de Roxane et toute ma famille
pour leur patience et leur appui.
Contents
Abstract v
Introduction 1
Publications 95
Bibliography 99
Abstract
An analysis of the lattice Boltzmann (LB) method is conducted, and various con-
clusions 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 fluids with extended physical
properties. The specific scope of the present thesis is motivated by current prac-
tice in the domain of computational fluid 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 first 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 limi-
tations of the lattice Boltzmann method are discussed in simple terms.
The second part introduces novel LB models, first for the simulation of advection-
diffusion 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 sim-
ulation. 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 refined grids to the coupling of the
LB method with a finite difference 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 fluid. Based on the mi-
croscopic LB variables, a model for the simulation of fluid turbulence is formulated.
This document presents a selective choice of the topics investigated during the
thesis, aiming at a succinct overview of the main findings. It focuses on theoretical
aspects and does not reflect another important part of the thesis, related to imple-
mentation 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.
Résumé en Français
Aperçu de la problématique
Introduction
La présente thèse de doctorat propose une étude de la méthode de Boltzmann sur
réseau, dénotée par l’acronyme LB pour son nom anglais de “lattice Boltzmann”.
Diverses conclusions sont tirées sur les possibilités d’exploiter cette méthode pour
la résolution numérique de l’équation de Navier-Stokes. Cette manière restrictive
d’utiliser la méthode LB doit être vue par opposition à son utilisation tradition-
nelle, se situant dans le contexte de l’étude de fluides complexes avec des propriétés
physiques étendues. Le choix adopté dans la thèse est motivé par l’état de l’art
dans le domaine de la simulation de fluides (CFD pour l’expression anglaise “com-
putational fluid dynamics”). En effet, on observe qu’un nombre croissant de scien-
tifiques et ingénieurs utilisent la méthode de LB comme outil alternatif aux moyens
de résolution numérique conventionnels pour l’équation de Navier-Stokes. Le cadre
conceptuel à disposition actuellement pour une application du LB dans ce domaine
est par contre toujours faible. Il en ensuit un nombre de limitations, auxquelles
certains remèdes sont proposés dans la thèse.
Dans la première partie, la méthode LB est reformulée d’une telle manière à
mettre en évidence les variables de nature macroscopique, au lieu des quantités
microscopiques issues de la théorie cinétique des gaz. De cette nouvelle perspective,
la précision ainsi que les limitations de la méthode de Boltzmann sur réseau sont
étudiés en termes simples.
La deuxième partie introduit de nouveaux modèles LB, d’abord pour la simula-
tion de problèmes à convection-diffusion, et ensuite pour la résolution de l’équation
de Navier-Stokes. Il est démontré que ce dernier modèle, présenté sous le nom de
“lattice Boltzmann régularisé”, augmente de manière substantielle la stabilité et la
précision des modèles LB au cours de simulations. Un autre aspect innovant de
ce modèle se réfère au fait qu’il s’écrit de manière exacte en terme de variables
macroscopiques.
Les implications techniques de cette observation sont étudiées dans la troisième
partie: la méthode LB régularisée est utilisée pour résoudre divers problèmes pos-
sédant des échelles temporelles et spatiales variables. Il s’agit là par exemple de
grilles numériques localement raffinées ou de couplages entre une méthode LB et
une méthode de différences finies. Le point de vue adopté à travers cette étude
s’appuie sur l’idée que pratiquement toute question d’implémentation pratique en
LB se résoud à travers une analyse de Chapman-Enskog correspondante.
Cette optique est délibérément modifiée lors de la dernière partie de la thèse,
dans laquelle la méthode LB originale, non-régularisée est utilisée pour la simulation
d’un fluide complexe. Sur la base de variables LB microscopiques, un modèle pour
la simulation de fluides turbulents est formulé.
viii Résumé en Français
Figure 1: Divers problèmes se posent lors de l’implantation d’un modèle LB, pour
lesquels une conversion entre variables macroscopiques et fonction de distribution
est requise.
∂~u −→ p
+ ∇ · ~u ⊗ ~u + I − 2νS = 0.
∂t ρ0
Ωk = −ω (fk − fkeq ) ,
Développement multi-échelle
Bien qu’on ait montré dans la section précédente comment calculer les variables
macroscopiques à partir des fonctions de distribution, la procédure inverse n’a
jusqu’alors pas été abordée. Afin de connecter en détail la dynamique LB avec
une dynamique macroscopique, la limite du continu doit d’abord être évaluée par
un développement de Taylor du deuxième ordre, et une technique de séparation des
échelles temporelles et spatiales est utilisée pour évaluer la limite hydrodynamique
du modèle. Le développement de Taylor se résume par l’approximation suivante:
2
→
− 1 2
−
→
fk (~xij + ~ck , t + 1) − fk (~xij , t) ≈ (∂t + ∇ · ~ck ) fk + ∂t + 2∂t ∇ · ~ck + ∇ · ~ck fk .
2
Dans le processus de séparation des échelles, les fonctions fk , ainsi que les dérivées
spatiales et temporelles, sont développés en fonction d’un paramètre formel petit,
c’est-à-dire 1:
(0) (1)
fk = fk + fk + O(2 ),
∂t = ∂t1 + 2 ∂t2 + O(3 ) et
→
− →
−
∇ = ∇ (1) + O(2 ).
En réintroduisant ces approximations dans le modèle BGK, on retrouve bien
l’équation de Navier-Stokes, et on conclut que ce modèle simule proprement la dy-
namique d’un fluide. Ce résultat est bien connu est représente un des piliers sur
lesquels repose la méthode. Ce n’est par contre pas ce résultat en lui-même qui
nous intéresse présentement, mais plutôt un résultat intermédiaire, reliant les fonc-
tions de distribution aux champs macroscopiques.
Le terme constant en est en effet équivalent à la fonction d’équilibre, et ne
dépend donc que de ρ et de ~u:
(0)
fk = fkeq (ρ, ~u).
Le terme d’ordre 1 est lié aux dérivées de la vitesse, ainsi que du carré de la
vitesse:
(1) tk →
−
fk = − 2 Qk : ρ ∇ ⊗ ~u −
cs ω
→
− 1 →
−
~ck ⊗ ∇ : ρ~u ⊗ ~u + 2 (~ck · ∇)(Qk : ρ~u ⊗ ~u) ,
2cs
xiv Résumé en Français
Cette relation est centrale dans pratiquement tous les sujets développés dans la
thèse. Elle relie les champs macroscopiques aux valeurs des fonctions de distribution,
et peut donc être exploitée systématiquement, à chaque fois qu’une telle transfor-
mation est nécessitée. Pour souligner cette importance, la formule de régularisation
est reproduite, en omettant cette fois-ci les calculs qui ont permis de la trouver:
(1) tk
f¯k = 4 Qk : Π(1)
2cs ω
ρ
Π(1) (1)
~u fkrégularisé = fkeq + f¯k
S fkeq
Modèle LB régularisé
La formule de régularisation est utilisée dans plusieurs domaines qui sont présentés
dans la thèse. A titre d’exemple, l’application probablement la plus importante est
expliquée dans ce qui suit: le modèle de Boltzmann sur réseau modifié, dont les
fonctions de distribution sont régularisées.
L’algorithme pour la collision entre particules dans ce modèle se décompose en
trois étapes:
2. Régularisation fk ← fkrégularisé
linéaire est par contre sept fois plus rapide dans le cas du modèle BGK. Dans les
détails, on trouve
Pour le modèle BGK: Remax = 0.4 + 1.0 ∗ N
Pour le modèle régularisé: Remax = 16 + 7.4 ∗ N
Il est donc établi que pour ce type de problèmes, le modèle régularisé est net-
tement plus précis et plus stable que le modèle BGK. Cet avantage s’explique par
l’origine de la méthode régularisée. Elle a été construite en imposant une séparation
des échelles au modèle original, le modèle BGK. Uniquement les termes hydro-
dynamiques, c’est-à-dire, le termes contribuant à la dynamique de l’équation de
Navier-Stokes, ont été préservés, et les termes d’ordre supérieur sont négligés. Il
est vrai qu’à cause de cette simplification, la méthode régularisée s’est apauvrie.
On s’attend en particulier à ce qu’elle soit moins apte à présenter spontanément des
ingrédients physiques d’un fluide complexe. Dans un but particulier par contre, celui
de la résolution de l’équation de Navier-Stokes, elle est plus concise, plus pratique
à manier, plus précise et plus stable.
Introduction
On the other hand, some research branches investigate so-called complex flu-
ids that exhibit extended physical properties, and to which the basic Navier-Stokes
equation is an insufficient approximation. The classical approach in CFD to the
treatment of such fluids is to describe the new physical properties in terms of trans-
port 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 appropri-
ate numerical technique. The interaction between the different transport phenom-
ena is handled via interaction terms between the respective PDE’s. In a fluid with
important temperature variations for example, a new observable property, the tem-
perature, is introduced and its dynamics is described by a heat transport equation.
Furthermore, the momentum equation is extended to comprehend compressible flu-
ids. 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
field of CFD as a top-down approach to fluid modeling, starting with a simple con-
servation law, and adding new equations on demand, based on both theoretical and
phenomenological considerations.
2 Introduction
ables. The variables of concern in CFD are the macroscopic, observable quantities.
In the incompressible Navier-Stokes equation, the degrees of freedom are defined
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 configuration 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 exclu-
sively 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.
series is truncated. The remaining lower order terms, sufficient 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
different problems in a common framework.
Another vector space, the space Rq of the particle distribution functions, some-
times appears in the thesis. In order to clearly distinguish between the two types
of vectors, the indexes of vectors in Rq are labeled by a Latin index, and none of
the shorthand notations introduced above is used for them. Occasionally, a scalar
product in Rq is executed, for which a bracket notation < ·|· > is used. Further-
more, Section 3.3.1 makes a short exception and uses a full vector notations for the
vectors in Rq , in order to underline the origin of the computations as linear algebra
6 Chapter 1
expressions.
The mathematical model consists most often of a set of partial differential equa-
tions (PDE’s). They describe the evolution of the observable, physical quan-
tities in the flow and are based on phenomenological and/or theoretical con-
siderations. As an alternative, a simplified microscopic model can be directly
simulated on a computer, without referring explicitly to a PDE.
The present section introduces the most commonly used mathematical model,
which consists of a set of PDE’s. It describes the fluid at a continuum level, at
which its particulate nature can be neglected. Instead, one takes interest in the
dynamics of a reduced set of macroscopic variables that describe the state of the
fluid sufficiently well. Whenever the fluid exhibits a physical behavior that cannot
be described by the macroscopic model, new macroscopic variables and PDE’s are
introduced to adapt the model. This technique is opposed to an approach in which
one tries to obtain an understanding of the microscopic nature of the fluid. In that
case, the observed macroscopic physics of the fluid is an emergent property that
arises naturally from the microscopic model.
The state of a simple fluid is described by the following macroscopic variables:
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 reflect this
fact, they are written in a divergence form:
∂U − →
+ ∇ · F = Q. (1.1)
∂t
Computational fluid dynamics and lattice Boltzmann 7
The parameter κ stands for the thermal conductivity, and q for internal heat sources.
The tensor τ represents the deviatoric stresses in the fluid. For a Newtonian fluid
it has, by definition, the following form:
→
−
τ = −ν 0 ρ( ∇ · u) I + 2 ρ ν S, (1.5)
p = c2s ρ, (1.8)
Eq. (1.9) is often used as a definition for fluid incompressibility. The conservation law
for the momentum is also simplified and leads to the incompressible Navier-Stokes
equation, often called “Navier-Stokes equation” for short:
~ u=−1−
∂t~u + (~u · ∇)~
→
∇p + ν∇2~u. (1.10)
ρ0
In order to find 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 incom-
pressible flow 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 field remains divergence-less during its time evolution.
→
− →
− 1 2∗ ∗
∂t∗~u∗ + (~u∗ · ∇ ∗ )~u∗ = − ∇ ∗ p∗ + ∇ ~u and (1.12)
Re
→∗ ∗
−
∇ · ~u = 0, (1.13)
where Re = l02 /(t0 ν) is the dimensionless Reynolds number. Two flows 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 flow that possesses the same
Reynolds number and the same flow geometry.
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 de-
scribes how the q values fi defined on the same node at given time step interact.
The macroscopic variables, the density ρ and the velocity ~u are defined locally as
moments of the distribution functions:
q−1
X
ρ= fi and (1.15)
i=0
q−1
1X
~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 explicitedP
any more to keep the notationPshort: the sum over
the q elements of a variable Ei , q−1
i=0 Ei , is simply written as i Ei .
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
i = −ω(fi − fieq ). (1.17)
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
Computational fluid dynamics and lattice Boltzmann 11
the rest particle weight t0 correspondingly, in order to recover the lattice symmetries
described in Section 2.1. In practice, a value of c2s = 1/3 is found to be numerically
most stable, and this choice is therefore most commonly adopted. In conclusion,
there are two ingredients to the definition 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, defined 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 defined by Eqs.(1.14,1.18) solves asymptotically the equa-
tions of motion for a compressible fluid, when the discrete steps δt and δx , as well
as the relative velocity ~u/cs are small enough. This fact is proved with some reser-
vations in Section 2.3. It is also shown that the relaxation parameter ω is directly
related to the dynamic shear viscosity ν of the fluid via Eq. 2.73:
1 1
ν= c2s − . (1.20)
ω 2
The formulas of the lattice Boltzmann method can be derived theoretically via
different 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 Au-
tomata. In another approach, described for example in Ref. [9], the dynamics of the
LB method is derived from the continuum Boltzmann equation. This equation con-
siders 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].
D2Q9 lattice
1
c2s = 3
4 1 1
t0 = 9
ts = 9
tl = 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
1
c2s = 3
2 1 1
t0 = 9
ts = 9
tl = 72
~c0 = (0, 0, 0)
~c1 = (−1, 0, 0) ~c2 = (0, −1, 0) ~c3 = (0, 0, −1)
~c4 = (−1, −1, −1) ~c5 = (−1, −1, 1) ~c6 = (−1, 1, −1) ~c7 = (−1, 1, 1)
~c8 = (1, 0, 0) ~c9 = (0, 1, 0) ~c10 = (0, 0, 1)
~c11 = (1, 1, 1) ~c12 = (1, 1, −1) ~c13 = (1, −1, 1) ~c14 = (1, −1, −1)
D3Q19 lattice
1
c2s = 3
1 1 1
t0 = 3
ts = 18
tl = 36
~c0 = (0, 0, 0)
~c1 = (−1, 0, 0) ~c2 = (0, −1, 0) ~c3 = (0, 0, −1)
~c4 = (−1, −1, 0) ~c5 = (−1, 1, 0) ~c6 = (−1, 0, −1)
~c7 = (−1, 0, 1) ~c8 = (0, −1, −1) ~c9 = (0, −1, 1)
~c10 = (1, 0, 0) ~c11 = (0, 1, 0) ~c12 = (0, 0, 1)
~c13 = (1, 1, 0) ~c14 = (1, −1, 0) ~c15 = (1, 0, 1)
~c16 = (1, 0, −1) ~c17 = (0, 1, 1) ~c18 = (0, 1, −1)
D3Q27 lattice
The D3Q27 lattice uses lattice vectors of three different 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 .
1
c2s = 3
8 2 1 1
t0 = 27
ts = 27
tm = 54
tl = 216
Computational fluid dynamics and lattice Boltzmann 13
~c0 = (0, 0, 0)
~c1 = (−1, 0, 0) ~c2 = (0, −1, 0) ~c3 = (0, 0, −1)
~c4 = (−1, −1, 0) ~c5 = (−1, 1, 0) ~c6 = (−1, 0, −1)
~c7 = (−1, 0, 1) ~c8 = (0, −1, −1) ~c9 = (0, −1, 1)
~c10 = (−1, −1, −1) ~c11 = (−1, −1, 1) ~c12 = (−1, 1, −1) ~c13 = (−1, 1, 1)
~c14 = (1, 0, 0) ~c15 = (0, 1, 0) ~c16 = (0, 0, 1)
~c17 = (1, 1, 0) ~c18 = (1, −1, 0) ~c19 = (1, 0, 1)
~c20 = (1, 0, −1) ~c21 = (0, 1, 1) ~c22 = (0, 1, −1)
~c23 = (1, 1, 1) ~c24 = (1, 1, −1) ~c25 = (1, −1, 1) ~c26 = (1, −1, −1)
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.
where the tensor Q is defined 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) defines
therefore only d(d + 1)/2 independent vectors, instead of d2 . A scalar product
between two vectors a and b in Rq is finally defined as follows:
X
ha|bi = ti ai bi . (2.5)
i
With this, it is easily concluded from Eq. (2.1) that the lattice vectors defined above
are orthogonal to each other, but not necessarily unitary:
0 1
C |C = 0, (2.6)
0 2α
C |Cαβ = 0, (2.7)
1 2
Cα |Cβγ = 0, (2.8)
0 0
C |C = 1, (2.9)
1 1
C |C = c2s I and (2.10)
2 2 4
Cαβ |Cγδ = cs (δαγ δβδ + δαδ δβγ ). (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γδ = c4s (Tαβ + Tβα ) (2.12)
are introduced. They are interpreted as vectors in Rq , and the index i is conse-
quently skipped. All hydrodynamic variables in a LB model, which were previously
introduced as moments of the distribution functions, are now reinterpreted as pro-
jections of g on the lattice vectors. The mass density for example is computed as
ρ = hC 0 |gi, and the momentum as ρ~u = hC 1 |gi. 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 identified as
projections between orthogonal vectors.
≈ (∂t + ∇ ~ · c~i + −
~ · c~i ) fi + 1 (∂t2 + 2∂t ∇ →−→
∇ ∇ : ~ci~ci ) fi . (2.14)
2
In order to relate the LB equation with a macroscopic PDE, it is necessary to
formally separate different time scales. In this way, physical phenomena occurring
at different scales are discussed separately and contribute individually to the final
equations of motion. To obtain this, the time derivative is expanded in terms of a
formal, “small” parameter :
∂t = ∂t1 + 2 ∂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 first-order term:
→
− →
−
∇ = ∇ (1) + O(2 ). (2.16)
The particle distribution functions are likewise expanded, starting with a zeroth-
order contribution f (0) :
(0) (1) (2)
fi = fi + fi + 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) (2)
Ωi = Ωi + 2 Ωi + O(3 ). (2.18)
18 Chapter 2
Note 2.3: Knudsen number The parameter is often identified as the Knud-
sen 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 flows. It does not apply well for example
to dilute gases or microfluids.
This latter condition can be understood intuitively as follows: the conserved vari-
ables 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 final aim,
namely to find 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 different scales and 2 , and using Eq. (2.19), yields
X (1) X (0) − → X (0) →
−
Ωi = ∂t1 fi + ∇1 · ~ci fi = ∂t1 ρ + ∇1 · ~j (0) = 0 (2.25)
i i i
and
X (2)
X (1)
X → X (1) 1 2 X (0)
− (0)
Ωi = ∂t1 fi + ∂t2 + ∇1 ·
fi ~ci fi + ∂t1 fi
i i i i
2 i
→ X (0) 1 −
− →−→ X (0)
+ ∂t1 ∇1 · ~ci fi + ∇1 ∇1 : (Qi + c2s I)fi (2.26)
i
2 i
→
− 1 2 →
− 1−→−
→ 1
= ∂t2 ρ + ∇ 1 · ~j (1) + ∂t1 ρ + ∂t1 ∇1 · ~j (0) + ∇1 ∇1 : Π(0) + c2s ∇12 ρ.
2 2 2
Equations (2.25) and (2.26) are combined to eliminate the second-order time deriva-
2
tive ∂t1 ρ:
→
− 1 − → 1−→−
→ 1
∂t2 ρ + ∇1 · ~j (1) + ∂t1 ∇1 · ~j (0) + ∇1 ∇1 : Π(0) + c2s ∇12 ρ = 0. (2.27)
2 2 2
First order moment conservation. At the first order moment, a source term
~j =
X X (0) F~
~ci fi = ~ci fi − . (2.30)
i i
2
20 Chapter 2
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 com-
puted 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 do-
main 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 floating point representations in a computer. By
“exact conservation” it is meant that none of the typical error terms that scale
at an order O(δx3 ), O(δt3 ), O(3 ) or O(Ma 3 ) is present in the conservation laws.
where d is the diffusivity constant. The scalar ρ represents for example the density
of a component in a multi-component fluid, or the temperature distribution is a
fluid. 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-diffusion LB model can be written as a
BGK term, a relaxation towards a local equilibrium distribution:
1 (eq)
Ωi = − fi − fi + ti ~ci · δ~j. (2.41)
λ
Here, λ is the relaxation time, and δ~j = δ~j (1) an external source term for the
non-conserved first order moment. It is introduced formally and will be used later
to correct errors in the numerical model. The equilibrium distribution reads
1
fieq = ρ ti (1 + ~ci · ~u). (2.42)
c2s
In order to find the unknown term in this equation, a scale separation for the par-
ticle distribution function fi must be explicitly defined. In the Chapman-Enskog
approximation, the model is expanded around the local equilibrium term. That is,
the equilibrium term is identified 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 (2.45)
(0)
Π = 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 first-order
derivatives need to be retained at the O() scale:
(1) →
− 1
fi = −ti λ (∂t1 + ∇1 · ~ci ) ρ 1 + 2 ~ci · ~u + λ ti~ci · δ~j
cs
(2.48)
λ →
− →
− λ ~
= − 2 ti Qi : ∇1 (ρ~u) − λ ti ~ci · ∇1 ρ − 2 ti ∂t1~ci · (ρ~u) + λ ti ~ci · δ j.
cs cs
Eqs. (2.49), (2.45) and (2.46) are inserted into Eq. (2.43), which finally yields the
O(2 ) scale of the dynamics:
→
− →
− →
− →
−
∂t ρ + ∇ · (ρ~u) = d ∇ 2 ρ + d/c2s ∂t ∇ · (ρ~u) − λ c2s ∇ · δ~j , (2.50)
| {z } | {z }
unwanted term correction term
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 find the error term. In Section 2.4, numerical evidence for the negative
Multiscale Chapman-Enskog analysis 23
The force term FT i and the correction term CT i are developed on the first and
second order vectors C 1 and C 2 :
a b
FT i = ti 2
~ci · F~ + ti 4 Qi : (F~ ~u + ~uF~ ) and (2.53)
cs 2 cs
c
CT i = ti 4 Qi : δΠ. (2.54)
2 cs
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 cor-
rection to numerical errors of the force term, due to the second order time derivative.
This approach has first been described in Ref. [18]. Finally, a formal term δΠ is
introduced. It is used in Section 3.2 to correct a numerical deficiency of the model.
This term is introduced, just like the correction term δ~j in Eq. (2.41), at the level
of the first non-conserved moment. In this way, it does not interfere with the ex-
act 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 con-
servation 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 defined in Eq. 1.18. Actually, the dynamics de-
scribed 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 con-
tains 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 fluid incompressibility, the density vari-
ations 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 .
It is obvious that the collision term in Eq. (2.52) conserves the zeroth order
moment (mass). Conservation of the first order moment (momentum) reads
X ω ~
~ci Ωi = a + F by Eqs. (2.52) and (2.30). (2.56)
i
2
For Eq. (2.29) to be respected, the value of the constant a must be set to
ω
a=1− . (2.57)
2
The governing equations for the LB fluid 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-diffusion model. This time, all symmetry properties listed in Eq. (2.1) are
used. The zeroth order terms read
~j (0) = ρ~u, (2.58)
Π(0) = ρ ~u~u and (2.59)
→
− −→ →
− →
−
∇1 · R = c2s ∇1 (ρ~u) + ( ∇1 (ρ~u))T + ∇1 · (ρ~u) I . (2.60)
Multiscale Chapman-Enskog analysis 25
At the first order with respect to , it follows from Eq. (2.52) that
(1) ti →
− 1 1 1
fi = − (∂t1 + ∇1 · ~ci ) ρ 1 + 2 ~ci · ~u + 4 Qi : ~u~u + (FT i + CT i )
ω cs 2cs ω
ti 1 1
= − ∂t1 ρ + 2 ∂t1 (~ci · ρ~u) + 4 ∂t1 (Qi : ρ~u~u)
ω cs 2cs
→
− 1 →
− →
− 1
+~ci · ∇1 ρ + 2 ~ci~ci : ∇1 (ρ~u) + (~ci · ∇1 )(Qi : ρ~u~u) + (FT i + CT i ).
cs ω
(2.61)
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
∂t1 (~
c i · ρ~
u ) =
1
~
c i · ~ (1) − 1 ~ci · −
F
→
∇ 1 : ρ~
u ~
u − ~
c i ·
→
−
∇1 ρ by (2.31,2.59),
c2s c2s c2s
(2.63)
1 1
4
Qi : ∂t1 (ρ ~u~u) = 4 Qi : ∂t1 (ρ~u)~u + ~u ∂t1 (ρ~u) − (∂t1 ρ)~u~u
2 cs 2 cs | {z }
O(Ma 3 )
1
= Q : ∂t1 (ρ~u)~u (because Q is symmetric)
c4s i
1 →
− →
−
= 4 Qi : F~ (1) − ∇1 · (ρ~u~u) −c2s ∇1 ρ ~u by (2.31)
cs | {z }
O(Ma 3 )
1 2−
→
~ (1)
= 4 Qi : F − cs ∇1 ρ ~u. (2.64)
cs
Inserting all these terms into Eq. (2.61) yields
(1) ti →
− →
− 1 →
−
fi = − 2 Qi : ρ ∇1~u − ~ci ∇1 : ρ ~u~u + 2 (~ci · ∇1 )(Qi : ρ ~u~u)
cs ω 2cs
(2.65)
1 ti (b − 1)ti c ti
− 2 ~ci · F~ + 4
Qi : (F~ ~u + ~uF~ ) + 4 Qi : δΠ.
2 cs 2 cs ω 2 cs ω
When this equation is projected on the vectors of C 2 , using Eq. (2.12), only two
terms are left:
X (1) 2 c2 b−1 ~ c
Π(1) = Qi fi = − s ρ S + (F ~u + ~uF~ ) + δΠ, (2.66)
i
ω ω ω
where the symmetric tensor S is defined by Eq. (1.6) on page 7. In order to find the
last missing term, the time derivative of the Π(0) tensor, the same approximations
are used as those that lead to Eq. (2.64):
−→ →
−
(0) ~ (1) ~ (1) 2
∂t1 Π = ∂t1 (ρ~u~u) − F ~u + ~uF − cs ( ∇1 ρ)~u + ~u( ∇1 ρ) . (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 oth-
ers an unwanted term that depends on the external force F~ , introduced by Eqs. (2.66)
and (2.67):
2 c2
1 b−1 1 1 − →
(1)
Π + ∂t1 Π = (0)
+ (F~ ~u + ~uF~ ) − s ρ S + c2s ∇ · (ρ~u)I. (2.68)
2 ω 2 ω 2
This force term is eliminated by setting the constant b to
ω
b=1− . (2.69)
2
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:
→
−
∂t ρ + ∇ · (ρ~u) = 0 and (2.70)
→
−
∂t (ρ~u) + ∇ · c2s ρI + ρ~u~u − τ = F~ ,
(2.71)
τ = 2 νρ S, (2.72)
and the dynamic shear viscosity ν is related to the relaxation parameter ω as follows:
2 1 1
ν = cs − . (2.73)
ω 2
This set of PDE’s is identical to the equations of fluid motion, introduced in Sec-
tion 1.2.1. The bulk viscosity ν 0 can however not be chosen as a free parameter in
the LB method, and it takes the fixed value ν 0 = 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 finally rewritten using the
choice of the constants a and b derived in the present section:
ω (~ci − ~u) ~ci · ~u
FT i = 1 − ti + 4 ~ci · F~ . (2.74)
2 c2s cs
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 fluids with adaptable bulk viscosity are simulated.
T∗ 1
δt = = and (2.75)
T T
L∗ 1
δx = = . (2.76)
N −1 N −1
N −1 δt
U= = (2.77)
T δx
Furthermore, the fluid viscosity ν = c2s (τ − 1/2), expressed in lattice units, is related
to the Reynolds number. To simplify the discussion, only the incompressible Navier-
Stokes equation (1.10) is considered. By casting this equation into its dimensionless
form, given by Eq. (1.12), one obtains:
1 δt
ν= . (2.78)
Re δx2
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
be readapted for the overall error to decrease at a rate of O(δx2 ). That is, the EMa
error term must scale as EMa = O(δx2 ), and the time and space step are therefore
related through δt ∼ δx2 . This in turn means that the time discretization error really
Multiscale Chapman-Enskog analysis 29
behaves as in numerical methods with first 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 efficiency of the LB model.
The full power of LB methods is thus best exploited when compressible flows 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 fluid model. This drawback can luckily be
fixed 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 identified 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:
δt
Ma ∼ . (2.82)
δx
For consistency, it should be remarked that it is principally possible to vary the
speed of sound in LB models. This is done by adapting the rest-particle weight t0 .
Choosing a speed of sound different than 1/3 has however been observed to induce
numerical instabilities and is therefore very uncommon.
It is interesting to note that the LB equation for advection-diffusion problems
introduced by Eqs. (2.41) and (2.42) contains an error term that is very similar to
the error term EMa in the context of fluid dynamics. To see this, it suffices to turn
the PDE (2.50) to a dimensionless system, just as was done in Section 1.2.3 for the
30 Chapter 2
Navier-Stokes equations (the correction term δ~j is excluded from the discussion):
−∗
→ ∗−
→∗2 δt2 1 ∗ ∗ −
→
∂t∗ ρ ∗
+ ∇ · (ρ~u ) = d ∇ ρ + 2 2 d ∂t ∇ ∗ · (ρ~u∗ ), (2.83)
δx cs
where d∗ = δx2 /δt d is the dimensionless diffusion parameter. Given that c2s is an
immutable lattice constant, this equation contains an error term ELE due to lattice
effects that scales like δt2 /δx2 . As in Eq (2.81), the overall error contains therefore
three contributing terms:
The effect of those error terms on actual numerical simulations is discussed in Sec-
tion 3.1, and a strategy is devised to eliminate the error term ELE .
In Chapter 2, two lattice Boltzmann models are analyzed, one that describes advection-
diffusion phenomena, and one that simulates fluid motion. In both models, a cor-
rection term is formally introduced, which offers an additional degree of freedom
for handling deficiencies of the numerical models. Those degrees of freedom are
exploited in this chapter. In the advection-diffusion model, the correction term δ~j
is adjusted so as to eliminate the lattice error ELE (cf. Section 2.4). In the fluid
model, an appropriate choice of the correction term δΠ leads to a numerical scheme
in which the bulk viscosity ν 0 is a free parameter (it was shown in Section 2.3 that
ν 0 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 deficiency
of both numerical models can be eliminated by explicitly referring to the value of
the “rest-particle” distribution function f0 .
The correction term δ~j contains two contributions. The first, 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 first order
accurate estimate of those derivatives is sufficient for the present purpose, because
the term ∂t1 acts at a O() scale. In Eq. (2.19), this scale is related to the first order
terms of the finite Taylor series.
The value of ~j1 can for example be found by a finite difference approximation
to the time derivative. The difference of the velocity between two successive time
steps is expanded in a Taylor series and scale separated as follows:
1 2
~u(t + 1) − ~u(t) = ∂t1~u + 2 (∂t2 + ∂t1 )~u + O(3 ), (3.3)
2
which leads to an estimate of the O() scale of the time derivative:
Given that the correction term δj scales at an order O(), the first-order finite
difference suggested by Eq. (3.4) is sufficient 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-diffusion
equation is the analysis of thermal flows using the Boussinesq approximation. In that
case, the external vector field ~u is obtained from a numerical solver for the Navier-
Stokes equation. It is common for such solvers to keep in memory two successive
time steps of the velocity field, and the finite difference in Eq. (3.4) can be evaluated
efficiently.
(1)
The value of ~j2 is directly found from the off-equilibrium part f0 of the rest-
particle distribution function. As a matter of fact, Eq. (2.48) leads to the following
relation:
1 (1)
∂t1 ρ = − f . (3.5)
λt0 0
Equations (3.4) and (3.5) are finally combined with Eq. (3.2) as follows:
~ 1 1 1 (1)
δj = 2 1 − ρ (~u(t + 1) − ~u(t)) − f ~u . (3.6)
cs 2λ λ t0 0
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 fine with the D2Q5 lattice.
be very memory expensive, as it requires for example five variables per lattice
site on a D2Q5 lattice, but very fast, as it steps through time at a second order
accuracy and with an explicit scheme.
The domain is periodically extended in both the x- and the y-direction. The diffused
scalar ρ is initially defined through a uniform Gaussian distribution:
1 |~r∗ −~c|2
∗ −
ρini (~r ) = √ e 2 σ2 , (3.8)
2π σ
where the distribution, in dimensionless variables, is centered at ~c = (0.5, 0.4) and
has a width of σ = 0.1. All simulations are run on a D2Q5 lattice.
The numerical results are compared to the results of a high accuracy reference
simulation. To be sure the time and space steps of the reference simulation are
sufficiently small, they are successively decreased until time and space convergence
is reached, that is, until a further refinement does not influence any more the con-
clusions drawn from the simulations. The reference simulation uses the BGK model
without correction term, so that no prejudice on the correctness of this approach is
made. The simulations are executed on a time interval 0 ≤ t < 0.2. The error of
the numerical result at a given time step, as compared to the reference simulation,
is defined through a l2 space norm, just as in Eq. (2.79). Similarly, the error of
a simulation on a full time interval is defined on ground of a l2 time norm, as in
Eq. (2.80). This procedure cannot be used to evaluate quantitatively the accuracy
of the time evolution, as it is defined in Section 2.4, because the flow in not peri-
odic. It leads however to a qualitative estimation of the error, and an interesting
comparison between the BGK approach and the corrected model.
Figure 3.1 displays the numerical results obtained on this problem by means of
the original BGK and the corrected model. In Figure 3.1 (a), the space resolution
34 Chapter 3
(a) (b)
0 −1
10 10
BGK model BGK model
Corrected model Corrected model
−2 Slope −2 Slope −1
10
Relative error
Relative error
−4 −2
10 10
−6
10
−8 −3
10 2 3 4
10 2
10 10 10 10
1/δt Grid resolution N
Figure 3.1: Accuracy of the BGK and the corrected advection diffusion models on
a chosen 2D problem. (a) Fixed diffusivity d∗ = 0.01 and grid resolution N = 100,
varying time step δt. (b) Fixed diffusivity d∗ = 0.05 and time step δt = 0.002,
varying grid resolution N .
Eδx = O(δx2 ), a time error Eδt = O(δt2 ) and a compressibility error EMa = O(δt2 /δx2 ).
In the present section, those theoretical considerations are first underlined by a
numerical experiment. Then, a modified BGK model is introduced in which the
error term cancels.
The experiment, known under the name of Womersley flow, is now shortly intro-
duced and presented in a system of dimensionless variables. Just like the Poiseuille
flow used in Section 3.1, the Womersley flow takes place in a channel whose width
determines the length scale for the dimensionless variables. A Poiseuille flow is a
flow parallel to the channel boundaries with parabolic velocity profile that is driven
either by an constant body force or by a constant pressure gradient DP . A pressure
driven Poiseuille velocity profile has the following form:
Re
u∗x (y ∗ ) = DP (y ∗2 − y ∗ ). (3.9)
2
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
∂p 8
∗
= DP = − . (3.10)
∂x Re
In a Womersley flow, the pressure gradient is varied periodically with a frequency
ω ∗ as follows:
∂p
= A cos(ω ∗ t∗ ). (3.11)
∂x∗
The resulting velocity profile is time dependent and substantially more complex than
the Poiseuille profile in Eq. (3.9). When the system is iterated long enough, it enters
a time periodic state for which an analytical solution is known. To choose a time
scale for this flow, the Poiseuille flow is taken as a reference, and the amplitude A in
Eq. 3.11 is identified with the pressure gradient DP in Eq. 3.10: A = −8/Re. Fur-
thermore, a parameter α is introduced that is known under the name of Womersley
number and defined as r
Re ω ∗
α= . (3.12)
4
With those definitions, the analytical Womersley profile reads
√ ∗ 1
DP iωt cosh 2 y − (α + iα)
u∗x = Real e 1− √ 2 , (3.13)
iω cosh 2
(α + iα)
2
where i is the imaginary number, and the term Real indicates that the real compo-
nent of the right hand side expression must be extracted.
All simulations are executed with an unmodified BGK model, defined 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 flow 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 insufficient for the implementation of the pressure gradient).
36 Chapter 3
0.1
t*/T = 0.2 *
t /T = 0.3
0.08
0.06
Velocity t*/T = 0.1
0.04
0.02
t*/T = 0
0
−0.02
0 0.2 0.4 0.6 0.8 1
Position y* in the channel
Figure 3.2: Womersley profile, 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 profile
is seriously flattened, compared to a Poiseuille profile 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
must be varied like δx2 so as to cancel compressibility effects. The results of applying
this procedure, with δt = 2/5 δx2 , 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 first
order accurate time discretization, when used for incompressible flows. Figure 3.3(b)
shows what happens when the time step is fixed to a value δt = 2/5 100−2 = 0.004.
When the grid resolution is refined, the error, dominated by the space error Eδx ,
decreases with a second order rate. At some point however, the compressibility error
EMa , which scales like 1/δx2 , becomes dominant. From then on, the error increases
at a second order rate.
(a) (b)
−1 −2
10 10
−2
Relative Error
10
Relative error
N −2
−3
C 10 N −2
on e
ve Co
nv enc
−3 rge e erg
10
nc
rge
nc 2 Div
e e N
−4 −4
10 1 2 3 10
10 10 10 20 40 60 80 100
Grid resolution N Grid resolution N
Figure 3.3: Accuracy of the BGK scheme compared to the analytical solution of an
incompressible Womersley flow. (a) δt = 2/5 δx2 (b) δt = const. = 2/5 · 100−2
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
2
c 1 c c 2 c →
−
δΠ = 1+ k − 1 F~ · ~u − s
ρ ∇1 · ~u I. (3.18)
ω 1 − c/ω ω d ω ω
The force term is eliminated by choosing the constant k to be
1
k= . (3.19)
1 + ωc
Furthermore, by setting
1
c=ω 2 c2s
, (3.20)
1− d ω ν0
Eq. (3.18) becomes
c →
−
δΠ = ν 0 ρ ∇1 · ~u I. (3.21)
ω
The momentum conservation law derived from the modified 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 final form of the correction term, Eq. (3.14) is inserted into
Eq. (2.54). Using the identity Qi : I = |~ci |2 − c2s d, one obtains
c ti 2 2
(1) ~
CT i = |~
c i | − c s d Tr (Π ) + k F · ~
u , (3.22)
2 d c4s
where the constants c and k are defined by Eqs. (3.20) and (3.19). The expression
Tr (Π(1) ) is evaluated using the definition of Π in Eq. (2.22), and the value of Π(0)
for the BGK model in Eq. (2.59). One finds
X
Π(1) = ~ci~ci fi − ρ ~u~u − c2s I, and consequently, (3.23)
i
X
(1)
Tr (Π ) = |~ci |2 fi − ρ |~u|2 − c2s d. (3.24)
i
It is interesting to note that the calculations required in Eq. (3.24) can be cir-
cumvented by referring explicitly to the rest particle distribution function f0 , as was
done in Section 3.1 for the advection-diffusion model. Indeed, the following relation
is directly deduced from Eq. (2.65):
(1) t0
f0 = f0 − ρ t0 = − Tr (Π(1) ). (3.25)
2 c2s
The correction term CT i can therefore alternatively be written as follows:
2 c2s (1)
c ti 2 2
~
CT i = |~ci | − cs d − f + k F · ~u . (3.26)
2 d c4s t0 0
It is reminded that the adjustable bulk viscosity ν 0 enters the equation via the
constant c, defined in Eq. (3.20), and that the constant d corresponds to the number
of space dimensions (2 or 3) of the system.
Corrections to the BGK dynamics 39
Ω = M −1 D M . (3.28)
g out = g + Ω (g − g eq ) = g + M −1 D M (g − g eq ), (3.29)
where the short-hand notation giout ≡ g(~x + ~ci , t + 1) for “outgoing” particle distri-
bution functions has been used.
the base is first populated by the 1 + d + d(d + 1)/2 vectors defined by C 0 , C 1 and C 2
in Eqs. (2.2), (2.3) and (2.4) respectively. It is now clear that the first 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 defined as Ω = D = −ω I. Equa-
tion (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 repre-
sented 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 different 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 specified 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)
It is used to define a new lattice vector C 3 by
Ci3 = hi (3.32)
and two lattice vectors Cα4 by
4
Ci,α = hi ciα . (3.33)
A distribution function f can be projected on this base by purely algebraic means,
without inclusion of any physical ingredient. Some additional factors appear during
this projection, because the base vectors are not unitary:
1 1 1 3
fi = ti ρ + 2 ρ ~ci · ~u + 4 Π : Q + hi N + ~ci · J~ , (3.34)
cs 2 cs 4 8
where the projections on the ghost vectors have been named hC 3 |f i = N and
hC 4 |f i = J~ respectively. It is illuminating to split Eq. (3.34) into an equilibrium
and an off-equilibrium contribution:
eq 1 1 eq
fi = ti ρ + 2 ρ ~ci · ~u + 4 Π : Q and (3.35)
cs 2 cs
1 neq 1 3
neq
fi = ti Π : Q + hi N + ~ci · J~ . (3.36)
2 c4s 4 8
Corrections to the BGK dynamics 41
Boltzmann’s H-theorem states that each fluid 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 defined
property H = H(f (~x, t)) never increases during particle collisions. Because of nu-
merical errors, this theorem is only approximately true in BGK simulations. In
entropic models however, the collision operator is modified so as to obtain an exact
discrete version of the H theorem. This can be compared to the local conserva-
tion 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:
4.1 Introduction
δx δx 1 X
~u∗ = ~u = fi ~ci . (4.1)
δt δt ρ i
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)
X
Παβ = ti Qiαβ Qiγδ Tγδ = c4s (Tαβ + Tβα ) by Eq. (2.12). (4.7)
i
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:
(1) ti
f¯i = Ri = 4 Qi : Π(1) . (4.9)
2 cs
(1) ρ ti
f¯i ≈ − 2 Qi : S. (4.10)
cs ω
The tensor S, defined by Eq. (1.6), is a macroscopic quantity that depends only on
the gradients of the velocity field. To conclude this discussion, it is pointed out that
the set of lattice kinetic variables defined by the regularized particle distribution
(1)
functions f¯i = fieq + f¯i is equivalent to a set of macroscopic variables defined 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 (4.11)
δx
Π(1)∗ = δt Π(1) .
4.2.3 Algorithm
To summarize, the regularized LB method replaces the usual BGK method in
Eqs. (1.14,2.52) by the following procedure:
(eq)
1. Compute the equilibrium distribution fi from the particle distribution func-
tions by means of Eq. (1.18).
(neq) (eq)
2. Determine the off-equilibrium distribution functions fi = fi − fi and the
(neq)
related tensor Π(neq) = i Qi fi
P
.
(1)
3. Derive the first order regularized distribution functions f¯i from Π(neq) through
the approximation Π(1) ≈ Π(neq) in Eq. (4.9).
In order to clarify this algorithm, the original BGK LB model (Eqs. (1.14,2.52))
is first reformulated as follows:
(eq)
fi (~r + ~ci , t + 1) = fi (~r, t) − ω (fi (~r, t) − fi (ρ, ~u)) + FT i + CT i
(eq) (neq)
(4.12)
= fi (ρ, ~u) + (1 − ω) fi (~r, t) + FT i + CT i .
By analogy to this equation, the regularized model can be summarized as follows:
(eq) (1)
fi (~r + ~ci , t + 1) = fi (ρ, ~u) + (1 − ω) f¯i (~r, t) + FT i + CT i
(eq) (1 − ω) ti (4.13)
= fi (ρ, ~u) + Qi : Π(1) (~r, t) + FT i + CT i .
2 c4s
The first non-conserved moment of this model is the momentum ~j, and the regular-
ized version of Eq. (4.14) takes therefore the following form:
(1) →
−
f¯i = −λ ti ~ci · ∇1 ρ. (4.15)
Indeed, the momentum computed from those two expressions is the same:
~j = −λ c2s −
→
∇1 ρ, (4.16)
(1)
from which the regularized term f¯i is computed as follows:
(1) ti
f¯i = 2 ~ci · ~j. (4.17)
cs
The LB model introduced here under the name of RLB has previously been
described in the literature, where it was derived from different principles and applied
in different 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 flows. 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
or, to emphasize the analogy with a general collision operator as in Eq. (3.27) on
page 39: !
X1−ω eq
out
fi = Qi : ~
c j ~
c j − δij fj − fj . (4.19)
j
2 c4s
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:
1 neq 1 3 ~
Ωi = −ti ω 4 Π : Q + hi N + ~ci · J . (4.20)
2 cs 4 8
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.
−3
10
Slope −2
10
−5 BGK, Inamuro: slope −2.42
BGK, Skordos: slope −2.11
RLB, Inamuro: slope −2.94
RLB, Skordos: slope −2.87
10 20 30 40 50 60
Grid resolution N
Figure 4.1: Relative error of the numerical result on a Kovasznay flow in the wake
region. Both traditional BGK and the regularized model are tested with two com-
monly used boundary conditions.
with p
λ = Re/2 − 4π 2 + Re2 /4. (4.22)
The Reynolds number Re = u∞ L/ν is defined as a function of the asymptotic
velocity u∞ of the velocity in the wake, far from the grid, the spacing L between
two grid nodes and the dynamic viscosity ν of the fluid. The simulations are executed
in the wake of the grid, in the intervals x ∈ [L/2, 2L] and y ∈ [−L/2, 3L/2], with
Re = 10. The space step δx is varied linearly, while the ratio between the discrete
time and space step is fixed to a value δt /δx = 0.01. As it follows from the discussion
in Section 2.4, keeping the ratio δt /δx constant amounts to fixing the Mach number
M a = u/cs . This value is chosen small enough to mimic an incompressible flow.
Given that the flow is periodic in the y-direction, the upper and the lower boundary
of the simulation can be chosen to be periodic, whereas the Kovasznay solution
in Eq. (4.21) is imposed through Dirichlet boundary conditions on the left and
right boundary. After the simulation has reached a time independent state, the
numerical result is compared with the solution in Eq. (4.21) through an l2 norm on
each grid point, and then averaged over space. The result is shown in Fig. 4.1, on two
commonly used implementations of the boundary conditions. One of them has been
described by T. Inamuro e.a. in Ref. [35] and the other one by P. Skordos in Ref. [36].
The accuracy of the simulation with respect to the grid resolution is of order 2 to
2.5 when the BGK model is used, whereas the regularized model is almost third-
order accurate. On the BGK simulations with the Inamuro boundary condition,
data points for small grids are missing because numerical instabilities make them
impossible, whereas the regularized model has no such stability deficiencies.
The second test case implements a flow in a 2D square cavity whose top-wall
moves with a uniform velocity. Reference values for the definition of the Reynolds
number are defined by the side length L of the box and the top-wall velocity u~0 .
Both standard BGK and the regularized model are first compared with the reference
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, defined 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.71·10−3 , and for the regularized method, of = 2.40·10−3 . 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 fixed 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 finite 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.
Regularized lattice Boltzmann 51
1000
600
400
200
BGK: Remax = 0.391+0.955*N
100
0
50 60 70 80 90 100 110 120 130
Grid resolution N
Figure 4.2: Simulation of 2D cavity flow for fixed Mach number. ◦, ∗: maximal
stable Reynolds number, numerically determined; solid line: least-square linear fit
of the data points (parameters of the fit are indicated on the graph).
(a) (b)
1 0.2
0.1
u*y on horizontal line
u*x on vertical line
0.5
0
−0.1
0
−0.2
−0.5 −0.3
0 32 64 96 128 0 32 64 96 128
Position [lattice units] Position [lattice units]
Figure 4.3: Comparison of computed RLB results with reference values from the
literature for the 2D lid-driven cavity flow 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
5.1 Introduction
The Navier-Stokes equation possesses a unique solution when adequate initial and
boundary values for a given problem are specified. The problems of fluid dynamics
are therefore initial and boundary value problems. It is common to specify the initial
value for a problem by imposing the velocity field at the initial time t = 0. Several
approaches exist for specifying the boundaries of a flow. It is possible to implement
a so-called Dirichlet boundary condition by specifying a velocity profile 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 specified,
or the value of the pressure on the boundary.
Whatever approach is adopted, one major difficulty 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 specifies 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 defined 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 profile is defined through an analytical expression, or otherwise
numerically, by applying for example a finite difference scheme. It is actually shown
in Section 5.3 that it is more difficult to properly initialize the pressure field 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 profile along the boundary is known
in terms of an analytical formula. Indeed, the gradients normal to the boundary
54 Chapter 5
. .
~c1 ~c8 ~c7
~e1
~c3 ~c4 ~c5
~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 finite difference 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.
of which the component ρ1 is unknown on the boundary. From Eqs. (1.15) and (1.16)
on page 10, one finds that
Regularization. Replace all distribution functions on the wall by their value ob-
tained from the variables ρ, ~u and Π(1) via Eq. (4.9).
are specified 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 2 1
ρ + u0 + , (5.4a)
3 3
(1) 2 1
Π11 = 2 (f1 + f7 + f8 ) − ρ u1 + u1 + , (5.4b)
3
u
(1) 0
Π01 = 2 (f7 − f1 ) − ρ + u0 u1 . (5.4c)
3
The value of Π(1) on a D3Q19 lattice is:
(1)
Π00 = f1 + f2 + f3 + f5 + f6 + f7 + f8 +
u1 2 1
2(f10 + f12 ) − ρ + u0 + , (5.5a)
3 3
(1)
Π11 = 2(f9 + f10 + f11 + f12 + f13 ) −
2 1
ρ u1 + u1 + , (5.5b)
3
(1)
Π22 = f2 + f4 + f5 + f6 + f7 + f8 + 2(f11 + f13 ) −
u1 2 1
ρ + u2 + , (5.5c)
3 3
u
(1) 0
Π01 = 2(f10 − f12 ) − ρ + u1 u0 , (5.5d)
u3
(1) 2
Π12 = 2(f11 − f13 ) − ρ + u1 u2 , (5.5e)
3
(1)
Π02 = f5 − f6 + f7 − f8 − ρ u0 u2 . (5.5f)
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 fixed to a value Re = 20, and the grid
resolution is progressively refined to observe how the accuracy scales with the dis-
crete time step δx . Taking into account the observations of Section 2.4, the time step
58 Chapter 5
−2
10
−3
10
Relative error
−4
10
−5 Regularized local
10
Regularized non−local
Zou−He
−6
Inamuro
10 1 2
10 10
Grid resolution N
δt is rescaled so as to keep constant the ratio δt /δx2 = 0.42. According to Note 2.7
on page 29, this amounts to fixing 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 flow, 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 condi-
tions 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 confirms 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 dy-
namics. Although the convergence rate is the same, the Zou-He and the Inamuro
boundary conditions are somewhat more accurate than the regularized one. This
difference can be understood by the fact that the benchmark simulations implement
a BGK dynamics, whereas the regularized boundary condition cuts off all higher
order modes of the dynamics. This difference 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.
Boundary and initial conditions 59
Figure 5.3: Vorticity in the initial configuration. The system is self-propelling and
is going to move towards the right wall, as it is suggested by the arrow.
at (x2 , y2 ). This is achieved with the following velocity field ~u0 = (u0 , v0 ):
1 1
u0 = − |ωe | (y − y1 ) exp −(r1 /r0 )2 + |ωe | (y − y2 ) exp −(r2 /r0 )2 , (5.6)
2 2
1 1
v0 = + |ωe | (x − x1 ) exp −(r1 /r0 ) − |ωe | (x − x2 ) exp −(r2 /r0 )2 ,(5.7)
2
2 2
p
where ri = (x − xi )2 + (y − yi )2 , the parameter r0 labels the width of a monopole
and ωe its core vorticity.
The average kinetic energy of this system at a given time is defined by the
expression
1 1 1 2
Z Z
Ē(t) = |~u| (~x, t)d2 x, (5.8)
2 −1 −1
and the average enstrophy by
Z 1 Z 1
1
Ω̄(t) = ω 2 (~x, t)d2 x, (5.9)
2 −1 −1
(a) (b)
2 2000
1800
1600
1400
1.5
kinetic energy
1200
enstrophy
1000
800
1 600
400
200
0
0.5 0 0.5 1 1.5 2
0 0.5 1 1.5 2 t
t
Figure 5.4: Time evolution of the kinetic energy (a) and the enstrophy (b)
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.
Boundary and initial conditions 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. Ad-
ditionally, 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 first
enstrophy peak with the LB, FD and spectral methods:
Lattice Boltzmann Finite Difference Spectral Method
Position (time) 0.371 0.371 0.371
Value (enstrophy) 933.8 932.8 933.6
Given that the flow is considered in its incompressible limit, the pressure p and the
density ρ are identified 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 first 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 fluid
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 first-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 fluid dynamics,
consists in computing the pressure p and the strain rate S directly. The velocity
gradients are e.g. computed using a finite difference 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 efficiency is compared in Fig. 5.6 (a). In this compar-
ison, 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
efficiency 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 fine-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
0 10
10
Relative L2 error of the pressure
−2
10
−3
10
−3
10
−4
10
BGK convergence
−5
Overrelaxed Gauss−Seidel
10 −4
0 2000 4000 6000 8000 10000 10 −6 −5 −4
Iteration steps 10 10 10
Time step ∆ t
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 first 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.
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 fixed 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 asymptot-
ically 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 difference methods, presented e.g. in
Ref. [4], are principally executed on regular grids with fixed spacing as well. The grid
can however be anisotropic, that is, the value of the grid spacing can differ 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 finite 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 inhomo-
geneous 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 com-
plicated shape to ensure that the discretized version of the obstacle resembles the
original one sufficiently well. In other cases, the resolution needs to be increased
because the fluid flow exhibits small-scale patterns, such as the small vortexes gen-
erated close to the wall in the numerical experiment of Section 5.3. In simulations
with fixed-sized grids, the overall resolution needs to be adapted to the maximal
required value, by which much computational effort 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 trade-
off between accuracy and efficiency. 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, de-
pending on how rapidly the flow 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 flow. 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 fluid model.
Adaptive space and time steps 67
Apart from the grid refinement procedure, a major difficulty stems from the neces-
sity to truncate the infinite domain for numerical purposes, and to find an artificial
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 in-
appropriate 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 flow is strongly influenced 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 fluid and can there-
fore not be used on all boundaries. Furthermore, they make it difficult 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
field is proposed that can be used to implement a Dirichlet boundary condition for
the fluid velocity in a region reasonably far from the domain center. The expression
for this vector field is obtained from a truncated asymptotic expansion of a solution
to the stationary Navier-Stokes equation and approximates the structure of the
flow with considerably higher precision than the constant approximation ~u = ~u0 .
The drawback of this method is that it depends on the drag and lift coefficients 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 coefficients 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 refined 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 fluid with sufficient accuracy. The follow-
ing sections present a case study for the numerical evaluation of a drag coefficient,
and serve three main purposes. First, they present an introduction to the boundary
condition of Refs. [42, 43, 44] and demonstrate its efficiency 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.01 0.008
0.006
0.005 0.004
0.002
Figure 6.1: (a) Flow profile close to the obstacle when a zeroth-order boundary
condition ~u = ~u0 is used. (b) Velocity profile with the first-order boundary condition
introduced in this section.
with a numerical technique based on iterative grid refinement. The grid refinement
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 flows, it also proves useful for simulations of compressible flows at
low Mach numbers. For further precision, the influence of the fluid compressibility
on the computation of a drag force is analyzed.
where d = Fx /(2 ρ l u2∞ ) and b = Fy /(2 ρ l u2∞ ) are the drag and the lift coefficient,
and l = ν/u∞ is the viscous length, dependent on the dynamic fluid viscosity ν.
The formula also uses the Heaviside function θ(x), defined as θ(x) = 1 for x > 0 and
θ(x) = 0 for x < 0. Without loss of generality, the asymptotic velocity ~u∞ = (u∞ , 0)
has been taken to be parallel to the x-axis. This boundary condition is implicit in
Adaptive space and time steps 69
(a) (b)
. .
Interface
. .
Figure 6.2: (a) Structure of the numerical grid close to a rectangular obstacle. One
dot on the figure represents a square of 8×8 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 profile close to the obstacle, depending on whether the
zeroth-order boundary condition ~u = ~u0 or the boundary condition defined 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 zero-
flux condition through the domain boundaries. The first-order boundary condition
on Fig. 6.1 (b) is free from such unphysical effects and produces, at least graphically,
the illusion of an infinitely extended domain.
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
difference, it is remarked that Ref. [31] makes use of a first order accurate time
interpolation scheme. Although the accuracy of the time interpolation is not crucial
here, as a stationary flow 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 refinement 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 con-
vergence of the simulation towards a stationary state. In a first 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 implement-
ing a new, coarser grid. This is a convenient way of doing to efficiently converge
towards a stationary state. Another approach to reach a rapid convergence would
consist in refining 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 coefficients 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 bounce-
back 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
reflected. The exchanged momentum amounts to twice the value of the momentum
carried by the reflected distribution functions.
(a) (b)
1 0
10 10
0
10
Relative error of drag
Compressibility error
−1
−1
10
10
−2
10
−2
10
−3
10
−4 −3
10 0 1 2 3 4 10
10 10 10 10 10 0.02 0.04 0.08
Diameter of computational domain δt / δx
Figure 6.3: (a) Drag coefficient as a function of the system size. The x-axis repre-
sents the ratio between the system size and the height of the obstacle. Solid line:
asymptotic boundary condition ~u = ~u0 . Dotted line: first-order accurate boundary
condition described by Eq. (6.2). (b) Solid line: error on the drag coefficient as a
function of the Mach number. Dotted line: reference curve, representing a power
law with slope −2.
of the drag coefficient 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 coefficient,
independently of the system size.
As a conclusion, the combination of a nested grid technique with an appropriate
boundary condition results in an efficient numerical scheme. Indeed, the computa-
tion 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 effects
play an important role. This statement is quantified by a plot on Fig. 6.3 (b), which
shows the difference between the drag force exerted by a compressible fluid and a
reference solution for an incompressible fluid found in Ref. [44]. As it is expected,
this difference decreases at roughly a second order rate with respect to the Mach
number. It is however not possible to implement fluids 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.
~u0 = δt2 /δx~u∗ . Combining those two expressions yields ~u0 = δt2 /δt1~u. An adaptive
time interval can be used only to simulate incompressible flows, for which the Mach
number is phyiscally irrelevant. Indeed, the Mach number of a simulation is related
to the lattice parameters through the expression M a ∼ δt /δx and thus varies with
the time step.
Compared to other numerical techniques, the LB method is not very sensitive,
from the point of view of numerical stability, to the choice of δt . Numerically stable
simulations are observed at impressively large values of the discrete time step. This
parameter is therefore rather chosen as a criteria related to numerical accuracy and
the limitation of compressibility effects. In this section, an adaptive time interval is
used to find the solution to stationary flow problems as fast as possible. The initial
time step is chosen quite large in order to rapidly drive the system from its initial
condition to the stationary state. During the evolution of the system, the time step is
however progressively decreased so as to obtain accurate results. A similar approach
to accelerating LB simulations has been previously described in the literature under
the name of Mach number annealing. This technique is for example described in
Ref. [50]. Compared to this method, the novelty of the approach described in the
following sections consists in a proper rescaling of the particle distribution functions
at each modification of the time step. This is obtained through a regularization
procedure explained in Section 4 and ensures an accurate representation of the
time-dependent dynamics.
(a) (b)
Figure 6.4: Convergence of a 2D lid-driven cavity flow towards the steady state,
with a lattice Boltzmann RLB method and a finite difference method. (a) Fixed
time step δt = 1/2 δx2 in FD, fixed time step δt = 5/2 δx2 in RLB. (b) Fixed time step
δt = 1/2 δx2 in FD; variable time step from δt = 25 δx2 to δt = 5/2 δx2 in RLB.
the help of the techniques described in this thesis. In Section 5.2, the problem is
first solved on a domain with limited extent, surrounding the region of interest.
This gives a first rough approximation to the solution, which in the following is
improved by progressively enhancing the extent of the simulation. In the present
section, a first 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 efficiency of the LB model, the flow problem is also
solved with the help of a finite difference 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 fixed-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 flow, 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 fixed, as on
Fig. 6.4 (a), both simulations converge at a comparable speed. The time step of the
FD method is fixed 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
δt = 25 δx2 . 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
iteration step, until the final value δt = 5/2 δx2 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
7.1 Introduction
The topic of computational fluid dynamics is introduced in Section 1.2. The overview
presented there shows that many different models for the numerical analysis of fluid
flows exist. On the one hand there are solvers based on discrete representations of
the Navier-Stokes equation, most notably finite difference, finite element or finite
volume methods. On the other hand, a new category of solvers has emerged over
the past decades which describe the fluid 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 different solver is investigated. In this approach, a finite difference (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 flow, one technique can be more
efficient, 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 modified,
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
find 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
. .
fi−1,j
r v
b i,j rfi,j
j ui−1,j
b
p
b i,j
u
b i,j
fi−1,j−1
r v f
b i,j−1 r i,j−1
b
FD variables
r LB variables
i
. .
Figure 7.1: Choice of indexes for FD and LB variables on a chosen grid cell (i, j).
prepared, the benefits of using the regularized LB on the full domain was not yet
understood, and this method was used only on boundary nodes.
. .
FD LB
cu
b cu
b
c
bv c
bv bv
c
j=4 rs rs rs rs
cu bp bu
b bp bu bp b
cu
cv
b bv bv bv bcv
j=3 rs r r rs
c bp bu
bu bp bu p
b bcu
cv
b bv bv bv bcv j=2 rs r r rs
cu bp bu
b bp bu bp b
cu
cv
b cv
b cv
b j=1 rs rs rs rs
cu
b cu
b
j=0
i=0 i=1 i=2 i=3 i=4 i=0 i=1 i=2 i=3 i=4
b FD bulk node r LB bulk node
c FD boundary node
b rs LB boundary node
. .
Figure 7.2: Computational grid representing a domain Ω of size (imax ·δx )×(jmax ·δx )
with imax = jmax = 3. The left hand side depicts the staggered arrangement of the
variables over the grid when the domain is resolved by a FD scheme. In the case of
a LB solver, all variables are located on cell edges, as shown on the right hand side.
The location of the boundary strip is indicated by a dashed line.
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 defined 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
(t) (t) (t) (t+1) (t+1) (t+1)
iterations u , v , p ⇒ u ,v ,p contains two distinct steps:
1. Resolution of the Poisson equation (Eq. (1.11) on page 8) to obtain the new
pressure field. 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 in-
tegration constant). In particular, there is no need to know the value of the
pressure on the boundary.
78 Chapter 7
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.
. .
i = iint
FD LB
bv bv r
s bv r bcv r
bu bp bu bp bu bp bcu
Ω1 bv bv r
s bv r bcv r Ω2
p p
bu b bu b bu b
p bcu
bv bv r
s bv r bcv r
manner from Eqs. (1.15) and (1.16) on page 10. Because the FD and the LB variables
are not defined 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 LB LB
iint ,j = 1/2 uiint ,j + uiint ,j−1 (7.2)
viFD = 1/2 viLB + viLB
int +1,j int +1,j int ,j
(7.3)
A similar procedure is used to translate the values of the velocity from the FD
field to the LB field:
uLB FD FD
iint −1,j = 1/2(uiint −1,j + uiint −1,j+1 ) (7.4)
viLB
int −1,j
= 1/2(viFD
int −1,j
+ viFD
int i,j
) (7.5)
(7.6)
∂y uLB FD FD
iint −1,j = 1/δx (uiint −1,j+1 − uiint −1,j ) (7.7)
∂x viLB
int −1,j
= 1/δx (viFD
int ,j
− viFD
int ,j−1
) (7.8)
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:
∂x uLB LB
iint −1,j = −∂y viint −1,j (7.10)
7.5.4 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 first, 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 field at time t.
Coupling with other tools of CFD 81
(out)
2. All nodes, bulk and boundaries, perform the collision step: fk (~r, t) = (1 −
(in) (eq)
ω)fk (~r, t) + ωfk (~r, t).
(in) (out)
3. The bulk nodes perform the streaming step: fk (~r +~vk δt , t + δt ) = fk (~r, t),
for all ~r such that ~r + vk δt lies on a bulk node.
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 field. In the simulations, this procedure appears to
produce results equivalent to those of the proposed algorithm.
Three simulations have been conducted that can be compared to each other.
The first simulation implements a pure LB scheme with the BGK model, the second
simulation a pure FD model, and the third simulation is a FD–LB hybrid. In the
first case, the no-slip property of the walls is implemented by a boundary condition
known under the name of bounce-back (see e.g. [8]). In the third case, the top and
0
bottom strips of size jmax = 3 are computed by the FD model and the bulk domain
by the LB model (see Figure 7.4).
A remarkable result of the simulations is that the FD-only model reaches the
analytical solution at the machine level of precision (10−15 ). Although there exist
LB boundary conditions which obtain the same result, as for example the one in
Ref. ([35]), their implementation is less natural and straightforward than the one
of the FD model. It is further remarked that the LB model converges faster (in
terms of iteration steps) than the FD model. The stationary velocity field of the
LB simulation is however distinct from the analytical prediction, due to the limited
82 Chapter 7
. .
(3)
Ω3 (FD) jmax =3
L=1
~u (2)
jmax = 50
Ω2 (LB) jmax = 46
y
(1)
. Ω1 (FD) jmax =3 x.
Figure 7.4: The computational grid for the simulation of a Poiseuille flow is par-
titioned 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 field as a function of the grid resolution.
It appears clearly that the coupling acts like a second-order boundary condition for
the velocity field. No conclusion can be taken concerning the implementation of the
pressure field, because the latter is constant in a Poiseuille flow.
7.7 Conclusion
In this chapter, a LB scheme for 2D incompressible fluid flows is spatially coupled to
a FD scheme on a computational domain partitioned in two regions. The methods of
the regularized LB scheme are used to relate the LB distribution functions fi with the
classical physical quantities and their derivatives. A specific FD schemes has been
introduced, for which a complete coupling algorithm has been explicited. At the
interface, the LB and FD are connected so as to preserve continuity of the physical
quantities. The connection between the fi variables and the standard macroscopic
physical quantities is obtained through a dimensionless representation of the LB
variables via the regularized LB method: the equilibrium part of fk is related to
the macroscopic quantities and the non-equilibrium part to the gradients thereof. A
validation was performed by simulating a Poiseuille flow with FD boundary strips
and LB bulk and comparing it with an analytical solution. The simulation shows
that in this case, the coupling of the velocity field is of second order in the grid
resolution.
It would be interesting to push this work further and test the results of the
coupling on more interesting geometries. It would also be interesting to extend the
Coupling with other tools of CFD 83
Figure 7.5: Simulation of a body-force driven Poiseuille flow with (1) a LB model,
(2) a FD model and (3) a FD-LB hybrid. The curves show the time-evolution of
the error, compared to the analytical solution of the Poiseuille flow.
0
10
LB with bounceback
FD
FD−LB coupled
−1
10
error
−2
10
−3
10
−4
10
0 20 40 60 80 100 120 140 160
(iteration step)*δ t
Figure 7.6: Error of a FD-LB hybrid Poiseuille flow simulation as a function of the
grid resolution. A log-log plot shows the coupling of the velocity field to be of second
order.
−1
10
−2
10
error
−3
10
−4
10
Numerical result
−5
Slope −2
10 0 1 2 3
10 10 10 10
grid resolution (jmax)
84 Chapter 7
work presented here to other methods in CFD, such as the finite element method.
One key issue in this procedure would be to relate the values from the irregular
grid of typical finite 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 finite element package, which encourages the use of those two tools on
common problems.
Chapter 8
For this reason, the emphasis in turbulent simulations is put on the macroscop-
ically 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.
~ = h~ui and
Along this line of thought the velocity field ~u is split into a mean part U
the small variations ~u0 known as turbulent fluctuations, such that
~ + ~u0 .
~u = U (8.1)
The mean part is, for example, a componentwise statistical, temporal or spatial
average. The operator hi is often called a filter.
The filter hi 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~:
∂ ~ ~ − → ~ 1 −
→ ~ +−→
U+ U·∇ U = − ∇P + ν ∇2 U ∇ · h~u0~u0 i , (8.2)
∂t ρ0
where P = hpi is the averaged pressure. The continuity equation, Eq. (1.9) becomes
− ~
→
∇ · U = 0. (8.3)
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 PDE’s. It
shows however good results only in two dimensions and for very fine 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
0 2
k= |~u | and (8.5)
2
ν
fi (~r + v~ci , 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:
9
fieq (~u(~r, t), ρ(~r, t)) = ρ ti (1 + 3 ~ci · ~u + Q : ~u~u). (8.13)
2 i
In this equation, the generic lattice constants have been replaced by their value on
the D3Q19 lattice. The velocity ~u, specified by Eq. (1.16), depends linearly on the
particle flow densities fi . Furthermore, the flow 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
A model for fluid turbulence based on kinetic variables 89
2
velocities are projected on the second order base vectors Cαβ , defined by means of
the tensors Qiαβ specified in Eq. (1.19).
In order to formulate a turbulence model for the LB dynamics, a filter hi is
introduced which acts as a linear map on the distribution functions f :
DT∗ ◦ hi = hi ◦ 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 filter 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 filtered
2
equations are projected on the vectors Cαβ . The resulting quantities are defined 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 configuration of the lattice kinetic variables f , yields the strain rate tensor,
defined in Eq. (1.6) on page 7, at each space position:
S ◦ DT∗ ◦ h i = S ◦ h i ◦ DT , (8.18)
~ the velocity associated to F , (8.18) becomes
Calling U
~ (~r, t)].
hS[~u(~r, t)]i = S[U (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 first order in terms of local variables on every lattice
site.
Turbulence modeling consists in approximating DT∗ by a term depending only on
the filtered variables (in some models, an additional set of variables is introduced).
A very straightforward model introduces the idea of a subgrid viscosity, in which
the original BGK model is implemented, with a renormalized relaxation parameter
ω∗:
~ (~r, t), hρi (~r, t))).
Fi (~r + v~ci , t + δt) − Fi (~r, t) = −ω ∗ (~r, t)(Fi (~r, t) − fieq (U (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 different 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 verification 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
off-equilibrium part of the tensor Π. The findings of Eq. (2.66) on page 25 are
reproduced by the following equation:
3ω neq X
Sαβ ≈ − Π ; Πneq
αβ [f ] = ciα ciβ (fi − fieq [f ]) . (8.21)
ρ αβ i
which gives an estimate for the value of the renormalized relaxation parameter:
neq
ω∗ Παβ [f ]
= neq ∀ α, β ∈ 0, 1, 2. (8.23)
ω Παβ [F ]
where the correction δfieq to the equilibrium term has been defined as
This yields
Πneq neq
αβ [f ] = Παβ [F ] + ρ σαβ , (8.30)
A model for fluid turbulence based on kinetic variables 91
Figure 8.1: 2D cut through the vorticity field of the homogeneous isotropic turbulent
flow.
ω∗ ρ σαβ σαβ
= 1 + neq = 1 − 3ω , ∀αβ. (8.31)
ω Παβ [F ] Sαβ
In Eq. 8.31, the effective 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 effective relaxation time. This is only true for
homogeneous isotropic flows, but is nonetheless consistent with the point of view
taken by turbulent viscosity models (e.g. Smagorinsky and k − ).
transform. The method described in Ref. [61] guarantees that the obtained force
field is divergenceless. In such a way, the simulation stays close to the limit of fluid
incompressibility at each iteration step.
Figure 8.1 shows a two-dimensional cut through the fluid vorticity during a simu-
lation. This picture is typical for the data observed in turbulent flows. 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 different 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 en-
ergy scales down along the universal range, and it is finally dissipated in the low
wavelengths, close to the Kolmogorov length. As it is seen on the figure, the inter-
mediate 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 finally cross-checked with the data of the
DNS. The filter 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 off-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 definite 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 finds at
least a partial verification in the numerical data.
A model for fluid turbulence based on kinetic variables 93
Figure 8.3: Spatial distribution of the effective relaxation time τ ∗ /τ based on non-
diagonal components of σ and Πneq . The marker (∗) labels the value of the effective
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 effective 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 effective 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 efforts 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 defines a new,
multi-functional array type. The library is specifically 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 offers 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 scientific 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 different threads. The parallelization
is transparent to the programmer, which means that he doesn’t 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 soft-
ware.
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 fluid dynamics. The package is mainly intended as a programming
support for researchers and engineers who simulate fluid flows 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 configure 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 scientific 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
flow field in a turbulent lattice Boltzmann simulation. Physica A, 362:6–10,
2006.
[2] J. Latt and B. Chopard. Lattice Boltzmann method with regularized non-
equilibrium distribution functions. Math. Comp. Sim., 72:165–168, 2006.
[6] J. Latt and B. Chopard. Vladymir – a c++ matrix library for data-parallel
applications. Future Generation Computer Systems, 20:1023–1039, 2004.
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.
[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
[3] http://www.mathematik.uni-dortmund.de/∼kuzmin/cfdintro/cfd.html.
[7] S. Chen and G.D. Doolen. Lattice Boltzmann method for fluid flows. Annu.
Rev. Fluid Mech., 30:329–364, 1998.
[9] D. Yu, R. Mei, L.-S. Luo, and W. Shyy. Viscous flow computations with
the method of lattice Boltzmann equation. Progr. Aerosp. Sciences, 39:329–
367, 2003. http://research.nianet.org/∼luo/Reprints-luo/2003/YuDZ PAS-
2003.pdf.
[11] S. Succi. The lattice Boltzmann equation, for fluid dynamics and beyond. Oxford
University Press, 2001.
[13] http://www.openlb.org.
[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:325–342, 2002.
[18] Z. Guo, C. Zheng, and B. Shi. Discrete lattice effects on the forcing term in
the lattice Boltzmann method. Phys. Rev. E, 65:046308, 2002.
[20] X. He and L.-S. Luo. Lattice Boltzmann model for the incompressible Navier-
Stokes equation. J. Stat. Phys., 88:927–944, 1997.
[22] P. J. Dellar. Bulk and shear viscosities in lattice Boltzmann equations. Phys.
Rev. E, 64:031203, 2001.
[24] P. Lallemand and L.-S. Luo. Theory of the lattice Boltzmann method: Dis-
persion, dissipation, isotropy, galilean invariance, and stability. Phys. Rev. E,
61:6546–6562, 2000.
[25] R. Benzi, S. Succi, and M. Vergassola. The lattice Boltzmann equation: Theory
and applications. Phys. Reports, 222:145–197, 1992.
[36] P. A. Skordos. Initial and boundary conditions for the lattice Boltzmann
method. Phys. Rev. E, 48:4823–4942, 1993.
[37] U. Ghia, N. Ghia, and C. T. Shin. High-Re solutions for incompressible flow
using the Navier-Stokes equations and a multigrid method. J. Comp. Phys.,
48:387–411, 1982.
[38] Q. Zou and X. He. On pressure and velocity boundary conditions for the lattice
Boltzmann BGK model. Phys. Fluids, 9:1591–1598, 1997.
[39] I. Halliday, L. Hammond, and C. Care. Enhanced closure scheme for lattice
Boltzmann equation hydrodynamics. J. Phys. A: Math. Gen., 35:L157–L166,
2002.
[40] H.J.H. Clercx and C.-H. Bruneau. The normal and oblique collision of a dipole
with a no-slip boundary. Comp. fluids, 35:245–279, 2006.
[41] R. Mei, L.-S. Luo, P. Lallemand, and D. D’Humières. Consistent initial condi-
tions for lattice Boltzmann simulations. Comp. fluids, 35:855–862, 2006.
[44] P. Wittwer. Second order adaptive boundary conditions for exterior flow prob-
lems: non-symmetric stationary flows in two dimensions. J. Math. Fluid Mech.,
8:1–26, 2006.
[45] X. He, Q. Zou, L. S. Luo, and M. Dembo. Some progress in the lattice Boltz-
mann method. part I, non-uniform mesh grids. J. Comput. Phys., 129:357–363,
1996.
[46] O. Filippova and D. Hänel. Grid refinement for lattice-bgk models. J. Comput.
Phys., 147:219–228, 1998.
[59] S. Chen, S. Hou, J. Sterling, and G. D. Doolen. A lattice subgrid model for
high reynolds number flows. Fields Inst. Comm., 6:151–166, 1996.
[60] H. Chen, S. Succi, and S. Orszag. Analysis of subgrid scale turbulence using
the Boltzmann BGK kinetic equation. Phys. Rev. E, 59:2527–2530, 1999.
[62] http://cui.unige.ch/∼latt/vladymir/index.html.
[63] http://spc.unige.ch/mptl.