Vous êtes sur la page 1sur 66

Universit de Technologie de Compigne

Initiation la mthodologie de la
recherche

La modlisation des vagues :


pourquoi, comment ?
Simon Chabot GI01

Sous la direction de :
M. Mottelet Stphane UTC (Enseignant rfrent)
M. Villon Pierre UTC (Correspondant du jury final)

Automne 2011

Document publi sous licence Creative-Commons BY-NC


Les plus belles dcouvertes cesseraient
de me plaire si je devais les garder pour moi.

Snque
Document publi sous licence Creative-Commons BY-NC

Vous tes libres de :


Partager : reproduire, distribuer et communiquer luvre.
Remixer : adapter luvre.

Selon les conditions suivantes :


Attribution : Vous devez attribuer luvre de la manire indique par
lauteur de luvre ou le titulaire des droits (mais pas dune manire
qui suggrerait quils vous soutiennent ou approuvent votre utilisation
de luvre).
Pas dutilisation commerciale : Vous navez pas le droit dutiliser cette
uvre des fins commerciales.

http://creativecommons.org/licenses/by-nc/3.0/fr/
Remerciements

Je tiens tout particulirement remercier Stphane Mottelet pour avoir


formul le sujet lorigine de cette tude, un sujet qui a t tout autant
intressant que chronophage.
Mais aussi Daniel, pour ses relectures attentives et ses critiques. Je le
remercie galement pour loreille attentive quil ma offerte tout au long
de ce semestre. Je le souponne dailleurs davoir feint plusieurs fois dtre
intress, mais cela ma permis plusieurs reprises dexplorer des points
que je naurai pas tudis sinon.
Je pense galement Marie, sans qui je naurai jamais mis les pieds
dans ce cours au dbut du semestre, et donc jamais pu faire cette tude. . .

vii
Table des matires

Table des matires viii

Introduction 1

Mthodologie 3

1 Introduction la description dun fluide 5


1.1 Deux approches bien diffrentes . . . . . . . . . . . . . . . 5
1.1.1 Lagrangienne . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Eulrienne . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 La drive particulaire . . . . . . . . . . . . . . . . . . . . 7
1.3 Rendre compte du mouvement dun fluide . . . . . . . . 8
1.3.1 quations de Navier - Stokes pour les fluides incompres-
sibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Lquation continue de Boltzmann . . . . . . . . . . . . . 10
1.4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Modlisation dune vague 13


2.1 Les quations de Saint-Venant . . . . . . . . . . . . . . . . 13
2.1.1 La mthode de Lax-Wendroff . . . . . . . . . . . . . . . 14
2.1.2 Application de la mthode Lax-Wendroff aux quations
de Saint-Venant dans le cas 1D . . . . . . . . . . . . . . . 15
2.2 La mthode de Boltzmann sur rseau . . . . . . . . . . . 16
2.2.1 Discrtisation de lquation de Boltzmann . . . . . . . . 16
2.2.2 Description de la mthode . . . . . . . . . . . . . . . . . 18
2.2.3 Un pas vers la modlisation dun fluide surface libre . . 19
2.2.4 Exemple et conclusions sur LBM . . . . . . . . . . . . . 21
2.3 Smoothed Particle Hydrodynamics . . . . . . . . . . . . . 22
2.3.1 Integral and summation interpolant . . . . . . . . . . . . . 22
2.3.2 Calcul de la position des particules . . . . . . . . . . . . 24
2.4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3 Cots et optimisations 29
3.1 Quelques optimisations pour LBM . . . . . . . . . . . . . 29
3.1.1 Vers une paralllisation de LBM . . . . . . . . . . . . . . 29
3.1.2 Autres optimisations . . . . . . . . . . . . . . . . . . . . 29
3.2 Une meilleure structure de donnes pour SPH . . . . . 30
3.2.1 Recherche dans un arbre-kd . . . . . . . . . . . . . . . . . 31
3.2.2 Recherche dans une table de hashage . . . . . . . . . . . 31
3.3 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

viii
Conclusion gnrale 35

A La mthode de Boltzmann sur rseau 37


A.1 Obtention de la distribution dquilibre de la fonc-
tion de Boltzmann . . . . . . . . . . . . . . . . . . . . . . . 37
A.2 Implmentation de LBM . . . . . . . . . . . . . . . . . . . . 37

B Smoothed Particle Hydrodynamics 41


B.1 Convergence vers ( x ) . . . . . . . . . . . . . . . . . . . . . 41
B.2 Exemple de noyaux utiliss pour SPH . . . . . . . . . . . . 41
B.2.1 Simulation normale . . . . . . . . . . . . . . . . . . . . . 42
B.2.2 Simulation faible rsolution . . . . . . . . . . . . . . . 42

C Documents ncessaires lUV 45


C.1 Note de clarification . . . . . . . . . . . . . . . . . . . . . 45
C.1.1 Contexte, motivation et problmatique . . . . . . . . . . 45
C.1.2 Dmarche employe . . . . . . . . . . . . . . . . . . . . 45
C.1.3 Calendrier prvisionnel . . . . . . . . . . . . . . . . . . 46
C.2 Plan provisoire . . . . . . . . . . . . . . . . . . . . . . . . . 46
C.2.1 Introduction la modlisation dun fluide . . . . . . . . 46
C.2.2 Modlisation dune vague . . . . . . . . . . . . . . . . . 47
C.2.3 Applications de ces modlisations . . . . . . . . . . . . . 50

Bibliographie 53

Liste des figures 54

ix
Introduction

Ltude du mouvement dun fluide a toujours t un sujet de recherche


trs actif. Il y a quelques annes, seule la description mathmatique du
mouvement tait possible. Aujourdhui, avec la puissance croissante des
ordinateurs, il est possible dapprocher numriquement la solution de ces
quations mathmatiques et donc de simuler le mouvement dun fluide.
Plusieurs domaines sintressent cela notamment le gnie civil et mari-
time pour qui ltude de linteraction fluide/structure est cruciale. Depuis
que le pont de Tacoma sest croul en 1940, des recherches ont t faites
du ct de la simulation numrique. En effet, cet effondrement a mon-
tr que ltude sur des maquettes (en soufflerie, pour le cas du pont de
Tacoma) ntait pas suffisante. Plus rcemment, la simulation de fluide a
suscit lintrt dun autre domaine : lanimation. Beaucoup plus ax sur
un rendu raliste que sur ltude des interactions, le monde de lanimation
a fait dnormes recherches afin de produire une simulation convaincante
et raliste pour saisir le spectateur. Le domaine du jeu vido est galement
intress par une animation raliste, mais il faut en plus que celle-ci puisse
se produire en temps rel. Comme nous le verrons, simuler le mouvement
dun fluide demande beaucoup de calculs, la simulation en temps rel est
donc un vritable enjeu.
Ce document est ainsi loccasion de prsenter quelques mthodes cou-
ramment utilises pour simuler le mouvement dun fluide. Dans un pre-
mier temps on sintressera aux outils mathmatiques et quations per-
mettant de dcrire ce mouvement. Nous prsenterons les deux approches
existantes : Eulrienne et Lagrangienne. Dans un second temps, trois m-
thodes permettant dapprocher la solution des quations vues au chapitre
1 seront tudies. On sintressera la rsolution des quations de Saint
- Venant, la mthode de Boltzmann sur rseau ainsi qu la mthode
Smoothed Particle Hydrodynamics (SPH). Nous finirons par voir quelques
techniques permettant doptimiser ces deux dernires.

1
Mthodologie

La production de ce document a t pour moi loccasion de faire un


peu connaissance avec la mcanique des fluides. En effet, avant de faire
cette UV, je navais jamais tudi ce domaine. Jai donc d commencer
par lire des cours assez gnraux afin de mieux comprendre les quations
que jallais tre amen manipuler par la suite. En parallle de cela, jai
men des recherches sur les mthodes utilises par lanimation. Cest ainsi
que jen suis arriv la mthode de Boltzmann sur rseau, utilise par
le moteur de rendu de fluide du logiciel danimation 3D Blender. cette
mme priode, M. Mottelet ma orient sur la mthode SPH. Javais alors
ma disposition deux mthodes de simulation que jallais pouvoir tudier.
Afin de saisir le fonctionnement de ces deux mthodes, jai commenc
par tudier les notes de cours et les polycopis de certaines coles offrant
des cours sur ce sujet, notamment (ADAMS et WICKE 2009) qui est un
polycopi sur la mthode SPH. Au fur et mesure que je comprenais
les mthodes et outils employs, jai utilis de plus en plus de rapports
techniques ou des thses comme (MLLER et al. b) ou (MARI 2008).
Ce mmoire est construit selon lordre logique o les questions me
sont venues. Ainsi, jai commenc par minterroger sur la description ma-
thmatique du mouvement dun fluide et les quations qui le rgissent,
cest--dire les quations de Navier-Stokes et lquation de Boltzmann.
Une fois ces lments en mains, jai voulu rpondre la question de la
rsolution de ces quations. Jai donc tudi trois mthodes diffrentes
permettant cela. Finalement, la dernire partie de ce mmoire est la suite
logique de la partie 2. Cest--dire, une fois que lon a un moyen dap-
procher numriquement la solution des quations, comment faire pour
acclrer ce calcul ? En effet, on se rend trs vite compte que rsoudre ces
quations est une opration trs gourmande en ressources.

3
Introduction la
description dun fluide 1
Un fluide est un corps dont ltat physique est liquide ou gazeux. Il ne
possde pas de forme propre. Un fluide, au repos, pouse la forme du rci-
pient qui le contient. Lorsque le fluide nest pas au repos, il est possible de
dcrire mathmatiquement son mouvement. Ce chapitre vise introduire
les deux types de descriptions possibles pour un fluide : la description
Eulrienne et la description Lagrangienne. Par la suite, nous prsenterons
les quations de Navier-Stokes et lquation de Boltzmann, outils math-
matiques dfinissant ce mouvement.
Pour dcrire le mouvement dun fluide, quelque soit la description
choisie, il est ncessaire davoir une chelle. Lchelle utilise en mca-
nique des fluides est lchelle msoscopique. Situe entre lchelle microsco-
pique et lchelle macroscopique, elle permet de considrer des particules
de fluides comme ponctuelles et le milieu comme continu. On ne fait donc
pas une tude de toutes les molcules. On appelle une particule de fluide un
groupe de molcules de fluide. Ainsi, il est possible dassocier chaque
particule de fluide des grandeurs comme une masse, une vitesse ou encore
une pression. Ces grandeurs pouvant varier au cours du temps.

1.1 Deux approches bien diffrentes


1.1.1 Lagrangienne
La description Lagrangienne consiste suivre le mouvement de
chaque particule de fluide chaque instant partir de linstant initial.
Les particules de fluide sont donc individualises. Soit une particule de
fluide qui en t0 est la position M0 = ( x0 , y0 , z0 ), alors sa position un
instant t est donn par trois fonctions paramtriques :

x = f ( M0 , t)

y = g( M0 , t)

z = h( M0 , t)

La vitesse de cette particule est alors :



f
tg
u( M0 , t) = t
h
t

5
6 Chapitre 1. Introduction la description dun fluide

Figure 1.1 Visualisation dune trajectoire (Guy PATRY LAL 1.3 http://
www.freemages.fr/browse/photo-1457-voie-berge-nuit.html)

La description Lagrangienne permet de voir naturellement la trajec-


toire dune particule de fluide, cest--dire le chemin suivi par une par-
ticule de fluide. Exprimentalement, les trajectoires sont visibles en met-
tant du colorant dans le fluide puis en prenant une photographie avec
un temps de pause relativement long. La figure 1.1 illustre la description
Lagrangienne dun fluide dans le sens o chaque particule de fluide est
assimile un vhicule se dplaant sur la route. La photo prise avec un
temps de pause long illustre ainsi la notion de trajectoire.

1.1.2 Eulrienne
La description Eulrienne ne sintresse pas au suivi des particules de
fluide prises individuellement au cours du temps, mais au mouvement de
lensemble des particules de fluides un moment donn. Schmatique-
ment, lobservateur est plac un point fixe O et regarde les particules de

fluides devant lui. Ainsi, deux instants diffrents, OM(t) ne reprsente
pas la mme particule de fluide. La description Eulrienne dcrit le champ
de vitesse un instant t du fluide en tout point de celui-ci.
La description Eulrienne est par exemple utilise pour dcrire la carte
des vents de la mto 1.2.
Ainsi, en tout point M du fluide et pour tout instant t est dfini le
vecteur vitesse u qui a pour composantes :

u( x, y, z, t)

v( x, y, z, t)

w( x, y, z, t)

Les approches Eulrienne et Lagrangienne, bien que diffrentes au pre-


mier abord, sont quivalentes. Il est possible de passer de lune lautre
et vice-versa. Le choix dune description par rapport lautre se fait en
1.2. La drive particulaire 7

Figure 1.2 Description Eulrienne du vent en France

fonction du milieu tudi, de ce que lon souhaite reprsenter. La repr-


sentation Lagrangienne, bien que sans doute plus intuitive, prsente le
dfaut majeur quil est souvent difficile de suivre le dplacement dune
particule de fluide. Si lon voulait faire un petit comparatif technique entre
une simulation Eulrienne et une simulation Lagrangienne, le tableau ci-
dessous devrait convenir :
Simulation Eulrienne Simulation Lagrangienne
Discrtisation de lespace Discrtisation du fluide
Maillage requis Maillage optionnel
Conditions aux limites difficiles Conditions aux limites simples

1.2 La drive particulaire


Soit A( x, y, z, t) une grandeur lie une particule de fluide situe en
M( x, yz) linstant t. On sintresse alors au taux de variation de cette
grandeur par rapport au temps que lon note DDAt .

DA A( x + u x d t, y + uy d t, z + uz d t, t + d t) A( x, y, z, t)
= lim
Dt d t 0 dt
A( x, y, z, t) + u x x d t + uy yA d t + uz zA d t A( x, y, z, t)
A
= lim
d t 0 dt
Do
DA A

= + (u ) A (1.1)
Dt t
On appelle DDAt la drive particulaire (en description Lagrangienne)
de A par rapport t. tA est la drive partielle, au sens classique, (en
description Eulrienne) de A par rapport t. La relation 1.1 traduit le
fait quen description Eulrienne deux instants diffrents, A( x, y, z, t) ne


caractrise pas la mme particulaire de fluide. Le terme (u ) A est li
la variation spatiale et sappelle terme convectif. Le terme tA correspond
la variation de A des particules de fluides passant au mme endroit.
8 Chapitre 1. Introduction la description dun fluide

Ainsi, si on sintresse lacclration dune particule de fluide on


aura :
Du u

~a = = + (u )u (1.2)
Dt t
Du
Dt est donc lacclration de la particule de fluide tudie (comme
en mcanique du point) et u t est la variation des vitesses des diffrentes
particules de fluide passant au point observ.

1.3 Rendre compte du mouvement dun fluide


Traduire en termes mathmatiques le mouvement observ dun fluide
est le but de cette section. Deux approches seront vues :
1. les quations de Navier - Stokes pour les fluides incompressibles ;
2. lquation continue de Boltzmann.
Ces deux moyens thoriques que nous aurons ensuite notre disposi-
tion seront utiliss dans le chapitre suivant pour simuler numriquement
le mouvement dun fluide.

1.3.1 quations de Navier - Stokes pour les fluides incompressibles


Les quations de Navier - Stokes sont des quations aux drives par-
tielles qui dcrivent le mouvement des fluides Newtoniens.

Dfinition 1.1 On appelle fluide newtonien un fluide dont le coefficient de viscosit ne varie
pas avec la vitesse.
Leau ou lhuile sont par exemple des fluides Newtoniens, alors que le den-
tifrice non. Le sable mouill nest galement pas un fluide Newtonien, puisque
lorsquon frappe le sable avec une vitesse leve, il se comporte comme un solide
(viscosit leve) alors que si lon appuie doucement, il se comporte comme une
pte.

Dfinition 1.2 Un fluide est dit incompressible lorsque son volume reste constant indpendam-
ment des forces externes pouvant lui tre appliqu.
Mathmatiquement, cela signifie que la masse volumique est constante :
D
=0
Dt
Ltude dun fluide incompressible est plus simple que ltude dun
fluide compressible, notamment puisque cela permet de se dispenser de
lquation de la conservation de lnergie du systme pour obtenir la pres-
sion et la vitesse (ce qui nous intresse au final dans cette tude), et aussi
de ne pas tenir compte des tenseurs de contraintes qui interviendrait sinon
dans les quations. Il reste donc deux quations au lieu de trois.
Un fluide Newtonien incompressible peut tre dcrit par les quations
de Navier - Stokes :


+ (u) = 0 (1.3a)
t



 
u
+ ( u ) u = P + 2 u + F (1.3b)
t
1.3. Rendre compte du mouvement dun fluide 9

Lquation 1.3a est appele quation de continuit et lquation 1.3b est


appele quation de bilan de la quantit de mouvement. Sachant que le fluide
est incompressible, et donc que est une constante pour le problme tu-
di, il est possible de simplifier la premire quation. Ce qui donne :


u = 0 (1.4)

Cette relation est appel quation dincompressibilit.

Interprtation des quations 1.3b et 1.4


quation de continuit Aussi appele quation de conservation de la
masse, elle traduit la clbre loi dAntoine Lavoisier :
Rien ne se perd, rien ne se cre, tout se transforme
Montrons rapidement comment lobtenir.
On considre une partie de fluide de masse volumique dlimite
par une surface S et de volume V. La masse de cette partie de fluide est
naturellement m = V d V et le dbit massique sortant de la surface S
!
est gal S ud S.
Ainsi, la conservation de la masse scrit, si lon considre quil ny a
ni puits, ni source : "

ud S = dV
S V t
!
Le thorme dOstrogradsky, affirme que ud S = V (u) d V.
Do





(u) + dV = 0
V t
Cette proprit devant tre vrifie pour tout V, on en dduit lqua-
tion de continuit 1.3a.
Dans le cas o est constante, on aboutit trs simplement lquation

dincompressibilit u = 0.

quation de bilan de la quantit de mouvement Cette quation traduit


quand elle la seconde loi de Newton :

m~a = ~F
Ainsi, le terme de droite de lquation fait intervenir les forces qui
sappliquent une particule de fluide considre :


La force de pression : P.
La force de viscosit : 2 u. Ce qui correspond la rsistance au
fluide tre dform.
Les autres forces extrieures : F. Telle que la force de poids, etc.
10 Chapitre 1. Introduction la description dun fluide

1.3.2 Lquation continue de Boltzmann


Considrons un domaine R3 dans lequel sont confines N particules
de fluide. Ces particules, toutes identiques, voyagent vitesse constante
entre les collisions. Elles rebondissent lastiquement entre elles et contre
les parois du domaine. Notons f (r, u, t) la fonction de distribution de ces
particules. Autrement dit,

d N = f (r, u, t) d r d u

reprsente le nombre de particules situes linstant t dans un domaine


d r autour du point r ayant une vitesse u dfinie d u prs.
Si lon suppose quil ny a pas de collision, on a :
F
f (r + u d t, u + d t, t + d t) d r d u f (r, u, t) d r d u = 0
m
Cette quation traduit le fait que le nombre de particules autour du point
r + u d t ayant une vitesse u + mF d t est gal au nombre de particules quil
y avait autour du point r ayant une vitesse u linstant t.
Si lon suppose maintenant quil y a des collisions, cette galit nest
plus vraie. Il faut traduire le nombre de particules perdues et gagnes.
Pour cela on introduit un oprateur de collision ( f ) qui exprime cet
change, nous avons :
F
f (r + u d t, u + d t, t + d t) d r d u f (r, u, t) d r d u = ( f ) d u d r d t
m
On divisant le tout par d r d u d t et faisant tendre d t vers 0, nous ob-
tenons lquation de Boltzmann :

f f F f
+u + = ( f ) (1.5)
t r m u
Le membre de gauche de lquation 1.5 reprsente lavance du flux
et le membre de droite est ce que lon appelle loprateur de collision.
Loprateur de collision propos par Boltzmann ne fonctionnait que pour
des gaz peu denses (MARI 2008) et tait extrmement compliqu puis-
quil dcrivait les collisions de toutes les particules. Il faudra attendre 1954
pour que des mathmaticiens donnent un oprateur de collision simple et
qui puisse sappliquer la mcanique des fluides. Cet oprateur porte le
nom doprateur BGK, du nom de ces crateurs Bhatnagar, Gross et Krook.
Loprateur BGK est le suivant :
1 eq
( f ) = (f f) (1.6)

Cet oprateur traduit le fait que f va converger vers f eq qui est la
fonction de distribution des particules lquilibre 1 . Il dcrit leffet global
des collisions. est appel temps caractristique et dpend de la viscosit
du fluide.
Ainsi, f dcrit le mouvement des particules de fluide naviguant dans
lespace R3 . Dans le chapitre suivant, nous allons approximer cette fonc-
tion afin de rendre compte du mouvement des particules de fluide.
1. Par quilibre, il ne faut pas comprendre que u est nulle, mais que la fonction de
distribution f ne change pas si elle a cette valeur. f eq est dtaille en annexe A.1.
1.4. Bilan 11

1.4 Bilan
Dcrire le mouvement dun fluide est thoriquement possible. En re-
vanche, afin de conserver des quations simples, nous avons d faire plu-
sieurs hypothses sur les fluides tudis (milieu continu, fluide newtonien
et incompressible, etc). On sest donc limit la description dune classe
restreinte de fluides. Cette classe de fluide est nanmoins suffisamment
riche pour que lon puisse sy intresser, puisquelle comporte notamment
des fluides comme leau ou lhuile.
Le chapitre suivant est consacr la simulation numrique dun fluide,
cest dire, compte tenu des quations donnes ici, comment approcher
une solution rendant compte du mouvement dun fluide.
Modlisation dune vague
2
Intressons nous maintenant la modlisation proprement dite. Ce
chapitre, sans aucun doute le plus long des trois, prsentera trois m-
thodes diffrentes utilises pour simuler le mouvement dun fluide.

2.1 Les quations de Saint-Venant


Les quations de Saint-Venant, dites les quations deaux peu pro-
fondes sont des quations drives 1 des quations de Navier-Stokes dans
le cas o la profondeur de leau est ngligeable face la largeur du do-
maine tudi. Le problme est alors simplifi puisque les quations ne font
plus quintervenir la hauteur et la vitesse de leau. Les quations de Saint
Venant se trouvent sous deux formes : conservatives ou non-conservatives.
Je ne me suis intress quau cas conservatif, ce qui permet de faire abs-
traction de la force de Coriolis par exemple.
On a donc dans le cas 2D :
h hu hv
+ x + y =0
t


2 1 2
hu hu + 2 gh
t + x + huvy =0 (2.1)
2 + 1 gh2


hv huv hv
t + x + =0
2
y

o :
h est la hauteur de leau par rapport au sol
u est la vitesse selon laxe des abscisses ;
v est la vitesse selon laxe des ordonnes ;
g est lacclration lie la gravit.
Pour plus de clart, posons (BURKARDT 2010) :

h hu
U = hu F (U ) = hu2 + 12 gh2
hv huv

hv
G (U ) = huv
2 1 2
hv + 2 gh
Les quations prcdentes peuvent alors tre ramenes :
U F (U ) G (U )
+ + =0 (2.2)
t x y
1. Le passage des quations de Navier-Stokes aux quations de Saint-Venant est donn
en annexe A de (MLLER et al. a), et admis dans le cadre de ce mmoire.

13
14 Chapitre 2. Modlisation dune vague

Cette quation est rgie par une loi de conservation hyperbolique, dont
la solution peut tre approche grce la mthode de Lax-Wendroff, base
sur les diffrences finies.
Dans la suite de cette section, nous nous intresserons seulement au
cas 1D de ces quations afin de de pas alourdir les critures, la mthode
prsente restant valable dans le cas 2D.
Dans le cas 1D, lquation 2.2 se ramne :

U F (U )
+ =0 (2.3)
t x
avec
   
h hu
U= F (U ) =
hu hu2 + 21 gh2

2.1.1 La mthode de Lax-Wendroff


Soit une quation du type :

f ( x, t) g( f ( x, t))
=
t x
dont on souhaite approcher la solution. On se donne alors une discr-
tisation en temps et en espace. On note f in lapproximation de f (ix, nt),
et gin celle de g( f in ). On suppose connues les conditions initiales.
Lide de la mthode de Lax-Wendroff est de calculer une estimation
n+ 1
de f i+ 1 2 qui va servir calculer chaque valeur de f in+1 .
2
La mthode de Lax-Wendroff donne deux relations :
n+ 1 f in + f in+1
f i+ 1 2 2 gin+1 gin
2
= (2.4a)
2 t
1 x

n+ 1 n+ 1
f in+1 f in gi+ 12 gi 12
2 2
= (2.4b)
t x
De 2.4a on peut tirer lestimation intermdiaire :

n+ 1 f in + f in+1 t
gin+1 gin

f i+ 1 2 = + (2.5)
2 2 2x

Puis de 2.4b, on peut sortir la valeur de f in+1 :

t
 
n +1 n n+ 12 n+ 12
fi = fi + gi + 1 gi 1 (2.6)
x 2 2

n+ 1 n+ 1
Comme on connat f i+ 1 2 et f i 1 2 et que lon a gin = g( f in ), on connat
2 2
n+ 1 n+ 1
gi+ 12 et gi 12 , ce qui rend le calcul possible.
2 2
Cette approximation est en O(t2 , x2 ).
2.1. Les quations de Saint-Venant 15

2.1.2 Application de la mthode Lax-Wendroff aux quations de Saint-


Venant dans le cas 1D
Nous avons :
U F (U )
= (2.7)
t x
Lide est dexprimer le vecteur F (U ) en fonction des composantes de
U uniquement. Ainsi, la quantit hu2 que lon retrouve dans le vecteur
(hu)2
F (U ) sera exprime comme h , autrement dit, la deuxime composante
de U au carr sur la premire composantes de U, ce qui permet davoir
la quantit hu2 , laide des composantes de U uniquement. On fera donc
lhypothse que la quantit h nest pas nulle, pour tout x et tout t.
On a, daprs la relation 2.5 :

Uin + Uin+1
n+ 1 t
Fin+1 Fin

Ui+ 12 =
2 2 2x
1
n+ 2
hi+ 12 hin + hin+1
 
1
=
n+ 1 2 (hu)in + (hu)in+1

(hu) 2 i + 21

(hu)in+1 (hu)in

t  2 2 
((hu)in+1 ) 1 ((hu)in )
+ 12 ghin

+ gh n
2x hn 2 i +1 hn
i +1 i

Puis, laide de la relation 2.6, on en dduit la valeur de Uin+1 , soit :

hin+1 hin
   
=
(hu)in+1 (hu)in
n+ 1 n+ 1

(hu)i+ 12 (hu)i 12
2  2
t
 2 2
n+ 21

(hu)n 1 (hu) 1

x i+
hn 2 + 21 ghin+ 1
i 12
n+
+ 12 ghi 12
n+ 21
i + 21 2 h 1 2
i 2

Ainsi, compte tenu du fait que lon connaisse les conditions initiales h0i
et u0i , on peut calculer pour nimporte quel instant la quantit hin .
Pour que la modlisation soit complte il faut expliciter les conditions
aux limites. La mthode de Lax-Wendroff permet de calculer les valeurs de
U seulement pour les points intrieurs au domaine tudi, pas les points
limites. Il est par exemple impossible de calculer h10 , puisquil faudrait
connatre h1+1/2
1/2
, qui nexiste pas. Plusieurs choix sont alors possibles. Le
choix des conditions aux limites est fait en fonction du problme physique
tudi.
Nous ferons la distinction entre deux possibilits :
Rflectif cest dire que la vague va se heurter un mur et repartir dans
lautre sens. Mathmatiquement cela se traduit par :

u0n = u1n h0n = h1n


unI = unI1 hnI = hnI1

o I reprsente le dernier nud de la discrtisation.


16 Chapitre 2. Modlisation dune vague

Libre cest dire que la vague va continuer dans sa direction sans rencon-
trer dobstacle aux limites du domaine tudi. Cest le choix fait pour
simuler une vague dans un ocan par exemple. Mathmatiquement,
on a :
u0n = u1n h0n = h1n
unI = unI1 hnI = hnI1
tant donn la forme de la solution h = f ( x, t) dans le cas 1D et
h = f ( x, y, t) dans le cas 2D, il est impossible de voir des claboussures, de
lcume ou simplement un rouleau se former. Ce modle est donc adapt
dans le cas dune simulation prsentant peu ou pas de perturbations. On
peut voir une vague se former puis avancer, mais pas lclatement de la
vague. Afin de voir rellement leau clater, les gouttes deau, de voir rel-
lement le rouleau, nous allons maintenant tudier deux mthodes parti-
culaires.

Figure 2.1 Shallow water 1D (BURKARDT 2010)

2.2 La mthode de Boltzmann sur rseau


La mthode de Boltzmann sur rseau (ou Lattice Boltzmann Method en
anglais, que lon abrgera LBM) est une mthode qui utilise un maillage
o chaque cellule va interagir avec et seulement avec ses cellules
voisines. Cette mthode, au lieu de discrtiser les quations de Navier-
Stokes, discrtise lquation de Boltzmann.

2.2.1 Discrtisation de lquation de Boltzmann


On rappelle que lquation de Boltzmann, avec loprateur BGK est la
suivante :
f f F f 1
+u + = ( f eq f )
t r m u
Par la suite, nous considrerons que le systme nest soumis aucune
force extrieure. Ainsi, lquation se simplifie et on obtient :
f f Df 1
+u = = ( f eq f )
t r Dt
Dans le modle LBM, les vitesses sont discrtes. Il est courant de noter
la dimension de lespace dans lequel on travaille et le nombre de di-
rection des vitesses discrtes. On appelle alors D Q le maillage associ.
2.2. La mthode de Boltzmann sur rseau 17

On travaille frquemment avec un maillage D2 Q9 en deux dimensions et


D3 Q19 en trois dimensions. Pour faire un rendu en temps rel en deux
dimensions, certains auteurs utilisent un maillage D2 Q4 pour acclrer les
calculs. En trois dimensions, le maillage D3 Q19 semble tre un bon com-
promis entre stabilit, rapidit de calculs et consommation de mmoire
(MLLER et al. a).

Figure 2.2 Maillages couramment utiliss


La figure 2.2 illustre la discrtisation des vitesses : gauche une maille
D2 Q9 o lon voit les 9 vitesses possibles et droite une maille D3 Q19 .
tant donn que les vitesses sont discrtes (ei ), on note :
f i (r, t) = f (r, ei , t) i [0; 1]
Ainsi, lquation discrte est :
t eq
f i (r + ei t, t + t) f i (r, t) =

f i (r, t) f i (r, t)
| {z } | {z }
Advection
Collision
t
Par commodit, on prendra t/x = 1 et on notera = . Lquation
discrte peut donc scrire sous la forme suivante :
eq
f i (r + ei t, t + t) = (1 ) f i (r, t) + f i (r, t)
Dans la suite de ce chapitre, on sintressera au modle D3 Q19 et D2 Q9 .
Les schmas seront donns pour le modle D2 Q9 pour que cela soit plus
clair.
Chaque maillage impose ses propres vitesses. Ainsi on a pour la maille
D2 Q9 :
(0, 0),
( i = 0)
ei = (1, 0), (0, 1), (i = 1. . . 4)

(1, 1), (i = 5. . . 8)

et pour la maille D3 Q19 :




(0, 0, 0), ( i = 0)

(1, 0, 0), (0, 1, 0), (0, 0, 1), (i = 1. . . 6)



ei = (1, 1, 0), (i = 7. . . 10)

(0, 1, 1), (i = 11. . . 14)





(1, 0, 1) (i = 15. . . 18)

18 Chapitre 2. Modlisation dune vague

2.2.2 Description de la mthode


La mthode est base sur deux tapes distinctes :
1. Lavance du fluide (ou streaming - step). tape dans laquelle les
quantits f i sont mises jour en supposant quil ny a pas de col-
lisions.
2. La collision (ou collide - step). tape dans laquelle les quantits pr-
cdemment calcules sont mises jour pour tenir compte des colli-
sions.

Figure 2.3 Visualisation de la mthode applique sur une maille (MLLER et al. a)

La figure 2.3 est donne pour illustrer les explications qui sont suivre.
Chaque maille du domaine est prise une une. Ltape 1 consiste
dfinir les fonctions de distribution f i0 en fonction des f i en supposant
quil a pas eu de collisions pour la maille considre. On a donc :

f i0 (r, t + t) = f i (r ei t, t) i
ltape 2, les collisions entrent en jeu. Pour prendre en compte les
eq
collisions, il est ncessaire de calculer 2 f i . On a :
 
eq 3 2 9 2
f i = wi 1 + 3( e i u ) u + ( e i u ) (2.8)
2 2
o :
est la densit du fluide prsente dans la maille considre (qui
dpend donc des f i ).
u est la vitesse locale du fluide dans la maille considre (qui dpend
galement des f i ).
2. Lobtention de cette formule est donne en annexe A.1.
2.2. La mthode de Boltzmann sur rseau 19

wi sont des coefficients qui sont lis au maillage. On a :


Pour D3 Q19 : w0 = 31 , w1,...,6 = 18
1 1
, w7,...,18 = 36 .
4 1 1
Pour D2 Q9 : w0 = 9 , w1,...3 = 9 , w4,...8 = 36
La densit et la vitesse locale du fluide u sont obtenues de la faon
suivante :
1 1
1
= fi u=
ei f i
i =0 i =0
eq
Une fois ces calculs effectus, on peut calculer f i et mettre jour
chaque f i grce lquation discrte de Boltzmann :
eq
f i (r, t + t) = (1 ) f i0 (r, t + t) + f i

La quantit varie entre ]0; 2] et est un paramtre qui permet de


contrler la viscosit du fluide. Plus tend vers 0 plus le fluide est vis-
queux et inversement, plus il tend vers 2 plus le fluide est turbulent.
Pour grer simplement les conditions limites et les obstacles avec la
mthode de Boltzmann sur rseau, on peut utiliser la condition de type
rflectif. Cest dire que si r + ei t reprsente un obstacle, alors on affecte
la valeur de la distribution de direction oppose. Cest dire :

f i0 (r, t + t) = f invert(i) (r, t)

O invert(i ) est une fonction qui retourne lindice du vecteur vitesse


de direction oppose au vecteur ei . Il sagit dune rotation de radians.

2.2.3 Un pas vers la modlisation dun fluide surface libre


Le plus souvent, on sintresse la modlisation dun fluide surface
libre, cest--dire qui possde une partie en contact avec un gaz, comme de
lair ou autre. Pour le moment, ce que nous avons vu avec LBM ne permet
pas de le faire : nous avons montr comment modliser le fluide au sein
du fluide. Nous allons donc voir maintenant lide quil y a derrire la
modlisation dun fluide surface libre avec LBM.
Dans la mthode jusque l dcrite, chaque maille tait soit un obstacle,
soit du fluide. Nous allons maintenant ajouter deux autres types (TH-
REY 2007) : gaz et interface. Les mailles de type gaz seront les mailles sans
fluide (rien ne sera donc calcul ici) et les mailles de type interface seront
celles qui contiennent la fois du fluide et du gaz. Lutilisation de cette
interface permet de dfinir un contour ferm autour du fluide et de sas-
surer, via un calcul, que lquation de continuit est bien respecte.
Chaque cellule possde une masse, en fonction de son type :

0
Si de type gaz
M (r, t) = (r, t) Si de type fluide

(r, t)e(r, t) Si de type interface

o e(r, t) reprsente la quantit de fluide dans la cellule considre (avec


0 < e < 1).
Les cellules de type fluide et gaz ne peuvent se transformer quen cel-
lule de type interface. Alors que les cellules dinterface peuvent devenir des
20 Chapitre 2. Modlisation dune vague

cellules gaz ou fluide. Durant les collisions, chaque cellule gagne ou perd
de la masse quelle change avec ses cellules voisines. Il faut donc, au
cours de la simulation, faire des changements. Une cellule de type fluide
va devenir de type interface lorsquau moins une de ces cellules voisines
est de type gaz. Une cellule de type interface deviendra de type gaz si sa
masse M est ngative ou nulle, ou bien de type fluide si masse devient
suprieure ou gale .
Si on appelle Mi (r, t) lchange de masse entre une cellule de type
interface et la cellule situe r + ei t, on a :

0

Mi (r, t + t) = f i (r ei t, t) f i (r, t)
( f i (r ei t, t) f i (r, t)) e(r,t)+e(2r+ei t,t)

Si r + ei t est de type gaz, fluide ou interface respectivement. Puis on


calcule :
1
M(r, t + t) = M(r, t) + Mi (r, t + t)
i =0

ce qui permet de faire les transformations interface / gaz / fluide nces-


saires.
Lillustration ci-dessus schmatise le raisonnement tenir :

Figure 2.4 Illustration des diffrentes tapes du processus (THREY 2007)


2.2. La mthode de Boltzmann sur rseau 21

2.2.4 Exemple et conclusions sur LBM


Finissons cette technique de modlisation avec un petit exemple.
La figure 2.5 est le rendu de limplmentation 3 que jai faite de cette
mthode, avec les forces extrieures ngliges et sans surface libre. Le
maillage utilis est D2 Q9 . Sur chaque image le fluide est reprsent deux
fois au mme instant. Sur la gauche on visualise la densit du fluide (ce
qui peut tre assimil londe qui se dplace) et sur la droite la vitesse
locale u du fluide au point considr. Le rouge reprsentant une vitesse
selon laxe des abscisses et le bleu selon laxe des ordonnes, la gradua-
tion se faisant selon lintensit. Les contours verts sont des obstacles. La
condition aux limites utilise est de type rflectif.
Initialement, pour que le fluide ne bouge pas, on pose f i = wi . Ainsi,
il est dans son tat de stabilit. Pour dmarrer lanimation, il suffit de
cliquer avec la souris, ce qui permet dajouter un peu de fluide lendroit
vis, et donc de lancer la simulation. Le phnomne simul ici est une
goutte de fluide ajoute dans un fluide (de mme nature) au repos. Ce qui
a pour effet de crer une vague. Chaque clic ajoute une nouvelle goutte et
donc perturbe ltat courant du fluide. Petit petit, si on nagit pas sur le
systme, ltat du fluide tend vers lquilibre.

(a) t0 (b) t1

(c) t2 (d) t3

Figure 2.5 LBM D2 Q9

La mthode LBM permet de simuler avec un taux de ralisme lev


un fluide. La figure 2.5 nest certes pas trs impressionnante, mais lim-
plmentation de cette mthode est extrmement simple. Cest notamment
cette technique qui est utilise par le moteur de rendu de fluide de Blen-
der.
Nous avons, pour cette mthode, suppos quaucune force extrieure
nagissait sur le fluide. Le lecteur intress par la gestion des forces ext-
rieures pourra se rfrer HAYASHI.
3. Le dtail de limplmentation est donne en annexe A.2.
22 Chapitre 2. Modlisation dune vague

2.3 Smoothed Particle Hydrodynamics


Smoothed Particle Hydrodynamics (que lon abrgera SPH) est une
mthode de calcul utilise pour simuler des fluides surface libre. Cest
une mthode cent pour cent Lagrangienne qui a la particularit de ne pas
avoir de maillage ce qui fait quon sen sert beaucoup dans les applica-
tions o la gomtrie du domaine est amene varier. Cette mthode est
sans doute plus simple visualiser que les prcdentes (bien que les outils
mathmatiques soient plus abstraits). En effet, ici pour simuler un fluide
nous allons lassimiler un nombre fini de petites billes se dplaant dans
un domaine et voir comment elles ragissent entre elles. Imaginez une pis-
cine remplie de boules de billard et vous perturbez ces billes, en jetant un
obstacle dans la piscine par exemple, et vous dcrivez le mouvement ob-
serv. Chacune des billes portera des informations sur son tat, comme sa
pression interne, sa vitesse, sa densit etc. Ces informations seront mises
jour grce aux quations de Navier Stokes, qui doivent tre vrifies en
tout point du fluide.
Dans le modle SPH, on ne se proccupe pas de lquation de conser-
vation de masse. En effet, la masse du systme est naturellement conserve
puisque chaque particule porte une information sur sa propre masse. De
fait, si on najoute pas de particule, quon nen supprime pas ou que lon
ne modifie pas leur masse, la masse globale du fluide est conserve. De
plus, gnralement pour lanimation graphique, on se place dans lhypo-
thse o le fluide est incompressible (ADAMS et WICKE 2009), lquation
de la conservation de lnergie nest plus ncessaire pour connatre la pres-
sion et la vitesse. Ainsi, dans la suite de ce chapitre, nous nous intresse-
rons simplement la rsolution de lquation de bilan de conservation de
la quantit de mouvement, qui a t prsente au chapitre 1. Soit :

Du

= P} + 2 u + |{z}
F (2.9)
D t | {z | {z }
| {z } pression forces ext.
viscosit
advection

2.3.1 Integral and summation interpolant


Le but de cette sous-section est de montrer comment on peut approxi-
mer une fonction, son gradient, son Laplacien en un point laide des
points voisins. (Do le terme interpolant). Ces notions seront ensuite uti-
lises pour approcher numriquement la solution de lquation 2.9. Nous
ferons la distinctions entre deux cas, continu et discontinu. Le premier
pour prsenter les rsultats gnraux et le second pour lappliquer la
mthode SPH.

Cas continu
Sachant que la distribution de Dirac ( x ) est llment neutre du pro-
duit de convolution, on a f = f , soit :

f (x) = f (y)(y x ) d y (2.10)
2.3. Smoothed Particle Hydrodynamics 23

On approxime alors la distribution de Dirac par une fonction de poids


ou noyau. On a donc :

h f ( x )i = f (y)W (ky x k , h) d y (2.11)

o h f ( x )i est lvaluation approche de f ( x ) et o W (k x k , h) la fonc-


tion de poids qui est choisie de sorte quelle ait les mmes proprits que
. Autrement dit :

W (k x k , h) 0, W (k x k , h) d x = 1, supp (W (k x k , h)) ]h; h[

Toute fonction Wh L1 ayant ces proprits converge vers quand h


tend vers 0 (La preuve est donne en annexe B.1). On supposera aussi,
pour les besoins de la proposition 2.1, que Wh C . Des exemples de
noyaux utiliss sont donns en annexe B.2, aussi bien pour le cas 2D
que le cas 3D. Le paramtre h permet donc de contrler linfluence des
points voisins de x. Des valeurs trop grandes introduiront des calculs non-
ncessaires, alors que des valeurs trop petites peuvent faire que lon passe
cot des certains points ncessaires au calcul de lestimation. Le choix de
h est donc crucial pour la simulation.
Afin de pouvoir approcher la solution de lquation 2.9, nous devons
aussi nous intresser lvaluation du gradient et du Laplacien dune
fonction f . Ces oprateurs seront appliqus directement sur h f i. La pro-
position 2.1 nous permet de dduire une relation entre les drives de h f i
et celles de Wh .

Proprosition 2.1 Soit f L1 , g C . Si k = 0 . . . p, g(k) est borne, alors

( f g )(k) = f g(k) , k = 0 . . . p
Le gradient de h f ( x )i est dfini par :
n

( f W)
h f ( x )i = xi
ei
i =0
En utilisant la proposition 2.1, il vient que
n 


W
h f ( x )i = f ei
i =0
xi



puis par linarit de la convolution, h f ( x )i = f W
Le gradient dune fonction peut donc tre calcul ainsi :




h f ( x )i = f (y) W (ky x k , h) d y (2.12)

En utilisant un raisonnement similaire, la proposition 2.1 nous permet


aussi de dduire que le Laplacien de f peut tre calcul comme ceci :

2 h f ( x )i = f (y)2 W (ky x k , h) d y (2.13)
De plus, on a :

yx
W (ky x k , h) = W 0 (ky x k , h)
ky x k
2 W (ky x k , h) = W 00 (ky x k , h)
24 Chapitre 2. Modlisation dune vague

Cas discontinu
tant donn que lon assimile le fluide un nombre fini N de petites
billes, nous devons discrtiser les expressions que nous avons dfinies ci-
dessus qui sont continues. On pose :

f i = h f (ri )i
ji
Wh = W ( r j ri , h)
mj
Vj = car m j = Vj j
j
En appliquant la mthode des rectangles (ERLEBEN 2010), on a
N mj

ji
fi = f j Wh (2.14)
j
j
N m

j ji
fi = f j Wh (2.15)
j
j

N mj
2 f i =
ji
f j 2 Wh (2.16)
j
j

2.3.2 Calcul de la position des particules


Nous pouvons crire lquation du bilan de quantit de mouvement
2.9 comme ci (ADAMS et WICKE 2009) :
Du 1
= (f p + fv + fe )
Dt
o on a :

fp = P La force lie la pression
v 2
f = u La force lie la viscosit
e
f =F Les forces extrieures.

Or, nous venons de voir une mthode pour valuer une fonction f , son
gradient et son Lapacien. Autrement dit, nous pouvons calculer chacune
des forces ci-dessus et ainsi en dduire lacclration. De fait, u peut tre
calcule en utilisant un schma dintgration numrique et de mme r. Ce
qui nous permet de connatre la position de chaque particule de fluide au
temps t.
Chaque particule de fluide porte des informations, comme la masse ou
la vitesse, que nous devons mettre jour chaque itration.
La premire mettre jour, pour chaque particule, est la densit 4 , et
on a :
4. Il est important de noter que SPH est une technique de simulation originalement uti-
liser pour des fluides compressibles et lastrophysique. Ainsi, il est ncessaire de calculer i
pour ensuite utiliser lquation de Tait 2.18 pour extraire la pression sans avoir dquation
diffrentielle rsoudre. Cependant, on suppose toujours que le fluide est incompressible,
ce qui nous permet dutiliser lquation 1.3b. Cette hypothse est faite dans de nombreux
ouvrages, on ne citera que (KELAGER 2006, ADAMS et WICKE 2009). Il existe une va-
riante de SPH, incompressible-SPH nutilisant pas cette hypothse. Mais elle ne sera pas
aborde dans le cadre de cette tude.
2.3. Smoothed Particle Hydrodynamics 25

mj
m j Wh
ji ji
i = j Wh = (2.17)
j
j j

Lorsque celle-ci est calcule pour chaque particule de fluide, on peut en


dduire grce lquation de Tait, la pression au sein de chaque particule.
On a :   
i
Pi = K 1 (2.18)
0
c2s 0
o K et dtermine la compressibilit du fluide. On a K = 0 , o
cs0 est la vitesse du son. Gnralement, = 1 est choisi pour lanimation
graphique (ADAMS et WICKE 2009), on trouve donc souvent lquation
2.18 sous la forme :
Pi = c2s0 (i 0 ) (2.19)

Le problme de symtrie
Si lon prend la formule 2.15 pour calculer le gradient de la pression,
on remarque que lon naura pas ncessairement de symtrie (principe
daction-raction). Pour voir cela, il suffit de considrer deux particules.
Comme le gradient du noyau est nul en 0, seule la particule 2 contri-
buera au calcul de la force de pression de la particule 1 et inversement
(MLLER et al. b) . Pour palier ce problme, on utilise ce que lon appelle
lapproximation symtrique du gradient.


P
On cherche calculer . On peut remarquer lgalit suivante




P P
 
P
= 2

Do lon tire 5 :

P P P
 
= + 2

On en dduit alors que :

! !
Pi m j Pj ji Pi mj ji
i
= j j Wh + 2 j
j Wh
j i j
!
Pj P ji
= mj 2
+ 2i Wh
j j i

On a donc :
p
!
fi Pj P
ji
= mj 2
+ 2i Wh (2.20)
i j j i

On cherche maintenant calculer lacclration lie la viscosit fiv =


2 u
i . Par un raisonnement similaire, on constate que si lon utilise la
formule 2.16, on aboutit une force asymtrique.
5. Cest lune des golden rules de SPH ; mettre la densit dans les oprateurs gra-
dients et Laplacien : http://www.cse-lab.ethz.ch/images/golden_rules_and_
derivatives_of_SPH_notes.pdf
26 Chapitre 2. Modlisation dune vague

On peut remarquer que



2 (u) = 2 u + u2 + 2 u

do lon tire
1
2 u = 2 (u) u2




puisque que u = 0 daprs lquation dincompressibilit 1.4.
On en dduit alors que :
mj
2 u i =
ji
u j ui 2 Wh

j
i

Lacclration due la viscosit est donc :


fiv mj
= 2 u j ui 2 Wh
 ji
(2.21)
i j i

Si on ne faisait pas ces changements, les calculs seraient instables et


mneraient des rsultats incohrents.

Animation du fluide
On connat donc lacclration de chacune des particules, en sommant
p
les diffrentes forces 6 que lon vient de calculer : DDuti = 1i fi + fiv + fie .


Une intgration permet de connatre la nouvelle vitesse des particules,


puis une seconde la position. On a donc :
D ui
ui ui + t (2.22)
Dt
ri ri + ui t (2.23)

Connaissant les positions de toutes les particules de fluide la date t,


il est possible de les afficher et donc de simuler le fluide.

Figure 2.6 Illustration SPH tire de ADAMS et WICKE (2009)

La gestion des forces extrieures est trs simple puisquil suffit de mo-
difier la force fie . Dans le cas o une particule de fluide rencontre un obs-
tacle, comme un mur ou un verre, la solution la plus couramment utilise
(KELAGER 2006) consiste faire rebondir la particule de fluide sur la
paroi. Pour cela, on modifie la vitesse ainsi :

ui = ui (1 + cr )(ui ~n)~n
6. En labsence de forces extrieures, on posera fie = g
2.4. Bilan 27

o ~n est le vecteur normal la surface au point de limpact et o cr est


le coefficient de restitution. cr [0; 1], o cr = 1 modlise une collision
lastique sans aucun perte dnergie cintique, alors que cr = 0 modlise
la condition inlastique (ou rflective), qui est normalement choisie pour
modliser un fluide.

(a) t = t0 (b) t = t1

(c) t = t2 (d) t = t3

(e) t = t4

Figure 2.7 Simulation dun barrage qui rompt

2.4 Bilan
Les trois mthodes que nous venons de voir permettent de simuler le
mouvement dun fluide, chacune avec ses spcificits. Par exemple, la r-
solution des quations de Saint-Venant, telle que nous lavons faite, nous
permet de connaitre ltat de la surface de leau. La rsolution est relati-
28 Chapitre 2. Modlisation dune vague

vement simple, mais ne permet pas de simuler tous les comportements


possibles du fluide. Comme nous lavons dit, il est possible de faire un
splash, ou encore dessayer de simuler la rupture dun barrage de cette
manire.
Pour dcrire tous les mouvements possibles dun fluide, il faut utiliser
des mthodes comme LBM et SPH. Et l encore, il faut faire un choix entre
ces deux mthodes qui nont pas tout fait les mmes applications.
Cots et optimisations
3
Les mthodes de Boltzmann sur rseau et de Smoothed Particle Hydrody-
namics ont des cots de calculs trs importants. Une implmentation nave
de SPH a un cot de O( N 2 ), o N est le nombre de particules. Nous allons
voir comment il est possible damliorer cette complexit et de tendre vers
du O( N log N ) ou du O( Nm), selon les optimisations choisies (m tant le
nombre moyens de voisins dune particule de fluide). Commenons par
voir rapidement lide gnrale de la paralllisation de LBM, ainsi que
quelques autres optimisations possibles.

3.1 Quelques optimisations pour LBM


3.1.1 Vers une paralllisation de LBM
Lavantage certain, du point de vue du dveloppeur, de LBM est la
simplicit qui rside dans lcriture de lalgorithme. En revanche, il faut
beaucoup de mmoire pour stocker les valeurs calcules et de temps pour
les parcourir. Afin, dacclrer le calcul il est possible de parallliser lal-
gorithme.
Regardons ce que proposent PENG et al..
Ils suggrent de diviser le domaine o volue le fluide, appel en
sous domaines i , tels que = i . Chaque i est alors affect un
processeur. Les oprations de streaming et de collision se font sur chaque
i en mme temps. Ils dfinissent une fonction de communication qui est
charge des migrations des fonctions de distribution f i entre les diffrents
sous-domaines.
Ainsi, sur la figure 3.1 p. 30, le domaine est divis en quatre sous-
domaines. Si lon regarde 0 , les mailles blanches reprsentent les endroits
o les f i seront calcules par le processeur 0. Les mailles noires repr-
sentent des obstacles, et les mailles grises sont les mailles gres grce
la fonction de communication.

3.1.2 Autres optimisations


Il existe bien dautres moyens pour optimiser LBM. Il est par exemple
possible de combiner ltape de streaming et ltape de collision. Ainsi, au
lieu de parcourir deux fois toutes les mailles, on ne fait quun seul tour,
ce qui a pour effet de diminuer la constante cache par la notation O( N 2 )
(dans le cas 2D). Pour faire cela, on peut utiliser une technique qui se
nomme grid-merging qui consiste utiliser deux tableaux : un qui corres-
pond au temps t et lautre au temps t + 1. Ainsi, chaque itration, on

29
30 Chapitre 3. Cots et optimisations

Figure 3.1 Schmatisation de la dcomposition spatial dun domaine . (PENG et al.)

calcule les nouveaux f i et on stocke le rsultat dans la case correspon-


dant t + 1. Limage 3.2 illustre cette technique. litration suivante, les
tableaux seront intervertis.

Figure 3.2 Technique de grid-merging (WILKE et al.)

Dautres optimisations peuvent tre faites, notamment en utilisant le


cache du CPU. Ces optimisations sont dcrites par WILKE et al. et se
nomment 1D Blocking, 2D Blocking.

3.2 Une meilleure structure de donnes pour SPH


Pour que la simulation SPH soit de qualit et ait un rendu le plus
raliste possible, il faut utiliser un nombre important de billes ; plusieurs
milliers. Le problme qui se pose alors est celui du temps de calcul. Repre-
nons la formule permettant dobtenir la force de pression pour illustrer ce
problme.
!
P P
ji
fi = i m j
p j
2
+ 2i Wh (3.1)
j j i

Pour calculer la force de pression qui sexerce sur la bille i, il faut


sommer N termes (N correspondant au nombre de billes). tant donn
quil faut faire ce calcul pour chaque bille du systme, on se retrouve avec
un calcul de lordre O( N 2 ), juste pour calculer la force de pression. . . Puis
il faut recommencer au pas de temps suivant. Ds que N devient grand, les
calculs sont infaisables sur un ordinateur personnel 1 . Et tous ces calculs

sont faits, alors que seules les billes j telles que ri r j h ont un impact

sur le rsultat.
1. titre dexemple, sur mon ordinateur, avec un algorithme SPH en O( N 2 ), ds que le
nombre de billes dpasse 170, cest inutilisable. . . alors quil faudrait environs 5000 billes
pour simuler de faon raliste 0.1m3 deau (KELAGER 2006).
3.2. Une meilleure structure de donnes pour SPH 31

Il faut donc trouver un moyen dobtenir rapidement les voisins dune


bille. Deux mthodes sont principalement utilises :
1. La recherche dans un arbre-kd
2. La recherche dans une table de hashage
Voyons rapidement de quoi il sagit.

3.2.1 Recherche dans un arbre-kd


Commenons par dfinir ce quest un arbre-kd.

Dfinition 3.1 Un arbre-kd est une structure de donnes de partition de lespace permettant de
stocker des points, et de faire des recherches plus rapidement quen parcourant
linairement le tableau de points. (Wikipdia 2 )

Techniquement, un arbre-kd est un arbre binaire o chaque niveau


la cl de tri change. Dans lexemple ci-dessous, la discrimination se fait
selon x, puis selon y puis selon x etc. Ce raisonnement stend aisment
au cas 3D.

Figure 3.3 Reprsentation dun arbre-kd (http://en.wikipedia.org/wiki/


K-d_tree)

ltat initial, on construit 3 larbre 2D, T . Cette opration a un cot


de lordre de O( N log N ). Puis, pour chaque particule de fluide i, on de-
mande T lensemble de particules de fluide qui sont dans les cellules
qui intersectent le disque de rayon h, centr en ri . Soit lensemble :

N ( pi ) = { p T , k ri r k h }

Lalgorithme SPH est alors en O( N log N ), la recherche dans larbre


(binaire) se faisant en O(log N ).
Lors dune nouvelle itration, on prfre reconstruire entirement
larbre plutt que dessayer de le mettre jour, tant donn le faible cot
de la construction (ADAMS et WICKE 2009).

3.2.2 Recherche dans une table de hashage


Bien que la complexit de la recherche dans une table de hashage
soit moins bonne, son implmentation est assez simple. Nous la dcrirons
donc un peu plus en dtail.
2. Janvier 2011 http://fr.wikipedia.org/wiki/Arbre_kd
3. La construction de larbre est admise dans le cadre de cette IR. Un algorithme de
construction est donn dans (ADAMS et WICKE 2009).
32 Chapitre 3. Cots et optimisations

Figure 3.4 Calcul de N ( pi ).Seules les cellules violettes sont lues. (ADAMS et WICKE
2009)

Lutilisation dune table de hashage permet de connatre en O(1) si


la position ( x, y, z) il y a des particules de fluide ou non. Lide est alors
la suivante : en supposant la table de hashage construite, pour dterminer
les voisins de la particule i, de coordonnes ( xi , yi , zi ) il suffit de balayer
lensemble des positions discrtes entre ( xi h, yi h, zi h) et ( xi + h, yi +
h, zi + h) et stocker les particules trouves dans lensemble N ( xi ) grce
la table de hashage pour faire ensuite les calculs voulus.
Commenons par construire la table. Il nous faut pour cela une fonc-
tion qui une position dans lespace 4 associe un index. Le but est donc de
trouver une fonction le plus injective possible de R3 dans N, afin de minimi-
ser les collisions. La fonction utilise, que lon retrouve notamment dans
(KELAGER 2006, ADAMS et WICKE 2009), est la suivante :

j r k jr k jr k 
x y z
hash(r) = p1 XOR p2 XOR p3 mod M (3.2)
h h h
o :
p1,2,3 sont trois nombres premiers. KELAGER (2006) utilisent ceux-
ci :
p1 = 73856093 p2 = 19349663 p3 = 83492791
M est la taille de la table de hashage. M ne doit tre ni trop grand
pour ne pas alourdir la taille en mmoire, ni trop petit pour viter au
maximum les collisions. KELAGER (2006) utilise : M = prime(2N ),
o prime() est une fonction qui retourne le nombre premier suivant
2N.

Construction de la table de hashage chaque pas de temps, il faut


construire la table de hashage, ce qui un cot de O( N ). Lalgorithme
1, permet de construire la table de hashage. Pour chaque particule du
systme, on calcule son hash laide de la formule 3.2, puis on linsre dans
la case du tableau correspondante. Pour grer les collisions, chaque case
du tableau contient non pas une particule, mais un ensemble de particules
(initialement vide).

Construction de lensemble N ( pi ) Pour calculer les informations nces-


saires la rsolution de lquation du bilan de quantit de mouvement de
4. On suppose que lon travaille en 3D. La transposition en 2D tant immdiate.
3.2. Une meilleure structure de donnes pour SPH 33

Algorithme 1: Cration de la table de hashage


Entres : P, ensemble des particules du systme
Donnes : tablehash , un tableau de type ensemble de particules, de
taille M. Tableau dont chaque case est initialise .
dbut
pour chaque p P faire
tablehash [hash( p.r)] tablehash [hash( p.r)] p
retourner tablehash

Navier - Stokes, il faut pour chaque particule pi connatre les informations


que contiennent les particules voisines. Ainsi, dans lalgorithme de SPH,
lorsque lon itre sur toutes les particules pi , on va construire laide de la
table de hashage lensemble N ( pi ). Pour cela, on va parcourir lensemble
des positions discrtes entre ( xi h, yi h, zi h) et ( xi + h, yi + h, zi + h)
et stocker les particules trouves dans lensemble N ( xi ) grce la table
de hashage. Lalgorithme est le suivant :

Algorithme 2: Calcul de N ( pi )
Entres : pi , particule dont on cherche les voisins.
tablehash , la table de hashage construire grce lalgorithme 1.
Donnes : neighboorsSet =
dbut
pour x = pi .r x h pi .r x + h par pas de h faire
pour y = pi .ry h pi .ry + h par pas de h faire
pour z = pi .rz h pi .rz + h par pas de h faire
neighboorsSet = neighboorsSet
{ p tablehash [hash( x, y, z)], k p.r pi .rk h}

retourner neighboorsSet

On remarquera que lon ne prend quun sous-ensemble de


tablehash [hash( x, y, z)]. En effet, cause des collisions, il nest pas im-
probable que deux points aussi diffrents quils soient, aient le mme
hash. Cet algorithme est de lordre de O(m), o m est le nombre moyen
de voisins dune particule.

Algorithme gnral Ainsi, lalgorithme gnral de SPH peut tre dcrit


par :
1. Construire la table de hashage.
2. Pour chaque particule pi du systme :
(a) Construire N ( pi ).
(b) Pour chaque particule p j N ( pi ), calculer la densit de pi et sa
pression, laide des p j .
3. Pour chaque particule pi du systme :
(a) Construire N ( pi ).
(b) Pour chaque particule p j N ( pi ),
34 Chapitre 3. Cots et optimisations

i. Calculer les acclrations auxquelles est soumise pi , grce


aux p j
(c) Calculer la nouvelle vitesse de pi et sa nouvelle position, par
intgration.
4. Recommencez ltape 1
Si on appelle m, le nombre moyen de voisins dune bille, alors une
itration a un cot de O( Nm). On peut remarquer que pour chaque parti-
cule de fluide, on calcule deux fois lensemble N ( pi ). Afin de diminuer la
constante cache par la notation grand O, KELAGER (2006) suggre de sto-
cker dans un ensemble les paires ( pi , N ( pi )), pour ne les calculer quune
seule fois. Ce qui a pour effet de diminuer le nombre de calculs rellement
effectus (tout en gardant une complexit identique).

3.3 Bilan
Simuler un fluide est, comme nous venons de le voir, une opra-
tion coteuse. Mme aprs optimisations, pour SPH on a au mieux du
O( N log N ), avec un N de lordre du millier. Comment, en pratique, simu-
ler un fluide alors ? La solution est simple. Il faut utiliser des techniques
pour tromper le spectateur : simuler 10cm3 de fluide en faisant croire,
grce un jeu dchelle quil sagit dun barrage de 10m de hauteur par
exemple.
Si on sintresse aux optimisations prsentes pour SPH, la figure
suivante illustre ce que nous avons montr. Lutilisation dune table de
hashage est simple et limplmentation rapide, par rapport larbre-kd.
Mais, elle est beaucoup moins adaptative que larbre, comme lillustre la
figure.

(a) Table de hashage (b) Arbre-kd

Figure 3.5 Structures de recherche (ADAMS et WICKE 2009)


Conclusion gnrale

Ainsi sachve ce mmoire. Cette tude a t loccasion de faire le point


sur diffrentes mthodes de simulations de fluides. Nous avons donc vu la
dmarche quil y a raliser pour faire une simulation. Tout dabord, cer-
ner mathmatiquement le problme, essayer de trouver les quations qui
dfinissent le mouvement. Ensuite le problme, qui sur un plan personnel
me plait le plus, chercher les moyens qui vont permettre de passer des
quations la simulation. Cest l quinterviennent les mthodes de Boltz-
mann sur rseau ou encore SPH par exemple. Et pour finir, cette tude
ne pouvant tre complte sans une tude de faisabilit, pour assurer une
complexit raisonnable, je me suis intress aux moyens existants pour
optimiser ces mthodes.
Cest un sentiment assez drle que de rdiger ce quon appelle une
conclusion, alors quil sagit plutt pour moi (du moins, je lespre) du
point de dpart dautres aventures. Le point de dpart me permettant de
faire ce que je nai pas pu faire ici. Par exemple, jaurai aim pouvoir
mintresser davantage au temps rel avec SPH, ou encore tudier les
diffrentes techniques dextractions de surfaces permettant de passer des
particules de fluides de SPH (ou des fonctions de distribution de LBM)
de vraie surfaces, comme sur la figure 2.6 (je pense aux iso-surfaces et
-shape). Jaurai aussi aim mintresser limplmentation de SPH en 3D
avec OpenGL, ainsi qu utilisation de particules fantmes pour la gestion
des frontires, mais ce sera dornavant pour une prochaine fois.

35
La mthode de Boltzmann
sur rseau A
A.1 Obtention de la distribution dquilibre de la
fonction de Boltzmann
Le but de cette section est de justifier lquation 2.8, donnant lexpres-
sion de la fonction de distribution lquilibre utilise dans la mthode
de Boltzmann sur rseau. Pour rappel, on a :
 
eq 3 2 9 2
f i = wi 1 + 3( e i u ) u + ( e i u )
2 2
o les wi sont des coefficients donns.
La distribution lquilibre normalise de Maxwell peut scrire
comme (MOHAMAD 2011) :
3 2
f eq = 2 e 2 (eu)
3
Ce que lon peut aussi crire comme :
3 2 2 3 2 3 2
f eq = 2 e 2 (e 2eu+u ) = 2 e 2 e e 2 (u eu)
3 3
On a donc :
3 2 e 1 3 2
f i = wi e 2 (u )
eq i u
o wi = 2
e 2 ei
3
Pour finir, il ne reste plus qu faire un dveloppement limit de
32 (u2 ei u)
e lordre 2 :
!
3 u2 2ei u  2
  
eq 1 3 2
fi = wi 1 + u 2ei u + O ( u2 )
2 2 2
 
3 2 9 2
wi 1 + 3 ( e i u ) u + ( e i u )
2 2
Do le rsultat.

A.2 Implmentation de LBM


Cette annexe explicite lalgorithme utilis par le programme vu sur la
figure 2.5, page 21. Il sagit donc dun maillage D2 Q9 .

37
38 Annexe A. La mthode de Boltzmann sur rseau

Algorithme 3: Initialisation des variables globales


dbut
nx 60
ny 60
w[9] (4/9, 1/9, 1/36, 1/9, 1/36, 1/9, 1/36, 1/9, 1/36)
ex [9] (0, 1, 1, 0, 1, 1, 1, 0, 1)
ey[9] (0, 0, 1, 1, 1, 0, 1, 1, 1)
Ce tableau contient les indices des vitesses de direction oppose
invert[9] (0, 5, 6, 7, 8, 1, 2, 3, 4)
1.9

Algorithme 4: Initialisation du domaine et du fluide


Entres : domaine[nx ][ny], f [nx ][ny][9]
Sorties : domaine[nx ][ny], f [nx ][ny][9]
dbut
pour i [0; nx 1] faire
pour j [0; ny 1] faire
si i = 0 OU i = nx 1 OU j = 0 OU j = ny 1 alors
domaine[i ][ j] OBS
sinon
domaine[i ][ j] FLU ID
pour k [0; 8] faire
f [i ][ j][k ] w[k]
si i = nx/2 ET j = ny/2 alors
f [i ][ j][k ] f [i ][ j][k ] + 0.5
A.2. Implmentation de LBM 39

Algorithme 5: Calcul dune itration complte


Entres : domaine[nx ][ny], f [nx ][ny][9]
Sorties : domaine[nx ][ny], f [nx ][ny][9]
dbut
/* Streaming step */
pour i [0; nx 1] faire
pour j [0; ny 1] faire
pour k [0; 8] faire
kinv invert[k ]
si domaine[i + ex [kinv]][ j + ey[kinv]] = OBS alors
f p[i ][ j][k ] = f [i ][ j][kinv]
sinon
f p[i ][ j][k ] = f [i + ex [kinv]][ j + ey[kinv]][k ]

/* Collide step */
pour i [0; nx 1] faire
pour j [0; ny 1] faire
si domaine[i ][ j] = OBS alors
continue
(, ux, uy) = getDensityAndVelocities( f , i, l )
pour k [0; 8] faire
eu ex [k ] ux + ey[k ] ux
f eq
w[k ] (1 + 3 eu + 9/2 eu2 3/2 (ux2 + uy2 ))
f [i ][ j][k ] = (1 ) f p[i ][ j][k ] + f eq

Algorithme 6: getDensityAndVelocities()
Entres : i, j, f [nx ][ny][9]
Sorties : , ux, uy
dbut
0
ux 0
uy 0
pour k [0; 8] faire
+ f [i ][ j][k]
ux ux + ex [k ] f [i ][ j][k ]
uy uy + ey[k ] f [i ][ j][k ]
ux ux
uy
uy
Smoothed Particle
Hydrodynamics B
B.1 Convergence vers ( x )
Il sagit de prouver ici que toute fonction W ( x, h) ayant les proprits
suivantes converge vers la distribution de Dirac ( x ), quand h tend vers
0:
W ( x, h) 0 W ( x, h) d x = 1, supp (W ( x, h)) ]h; h[

Preuve. On dit quune suite de distributions ( Tn ) converge vers T si et


seulement :

lim < Tn , > = < T, > D


n

Puisque le support de W est borne et que W ( x, h) d x = 1, on en d-
duit que W appartient L1loc , lespace des fonctions localement intgrables,
et dfinie donc une distribution. On pose Wn ( x ) = W ( x, n1 ).


< Wn , > = Wn d x
1  
n 1 1
= Wn d x car supp (Wn ( x )) ;
n1 n n
1  
n 1 1
= (c) Wn d x c ; , (tho. de la moyenne)
n1 n n
| {z }
=1

Ainsi, limn < Wn , >= (0) =< , >, D.


Do :
lim W ( x, h) = ( x )
h 0

B.2 Exemple de noyaux utiliss pour SPH


Ces noyaux sont donns par ADAMS et WICKE (2009).

41
42 Annexe B. Smoothed Particle Hydrodynamics

B.2.1 Simulation normale


Pour une simulation 3D

 3
315 d2
1 Si d < h

Wh (d) = 64h3 h2 (B.1)
0 Sinon

2 2
 
945 d
0 32h3 h2 1 dh2 Si d < h
Wh (d) = (B.2)
0 Sinon
   
d2 d2
(
945 1
1 5 1 Si d < h
Wh00 = 32h h
3 2 h 2 h 2
(B.3)
0 Sinon

Pour une simulation 2D

 3
4 d2
1 Si d < h

Wh (d) = h2 h2 (B.4)
0 Sinon

2 2
 
24 d
0 h2 h2 1 dh2 Si d < h
Wh (d) = (B.5)
0 Sinon
(  2
 2 
24 1 d d
1 5 1 Si d < h
Wh00 (d) = h h
2 2 h2 h2 (B.6)
0 Sinon

B.2.2 Simulation faible rsolution


ADAMS et WICKE (2009) suggrent dutiliser pour les simulations
faible rsolution les noyaux suivants, dits noyaux hrisss, afin dviter un
phnomne dagglutination.

Pour une simulation 3D

 3
15 d
1 Si d < h

Wh (d) = h3 h (B.7)
0 Sinon
 2
h3 h 1 dh
45 1
Si d < h
Wh0 (d) = (B.8)
0 Sinon
(  
90 1
1 dh Si d < h
Wh00 (d) = h h
3 2
(B.9)
0 Sinon
B.2. Exemple de noyaux utiliss pour SPH 43

Pour une simulation 2D

 3
10 d
1 Si d < h

Wh (d) = h2 h (B.10)
0 Sinon
 2
h2 h 1 dh
30 1
Si d < h
Wh0 (d) = (B.11)
0 Sinon
(  
00
60 1
2 h2 1 dh Si d < h
Wh (d) = h (B.12)
0 Sinon
Documents ncessaires
lUV C
Dans les documents suivants, jai supprim les rfrences bibliogra-
phiques qui taient originalement prsentes pour ne pas alourdir inutile-
ment la bibliographie automatique.

C.1 Note de clarification


Voici la note de clarification, telle que rdige en octobre 2011.

C.1.1 Contexte, motivation et problmatique


La modlisation mathmatique des mouvements dun
fluide a t de tous temps un sujet de recherche actif. Ltude
des interactions du fluide avec son environnement (ctes,
corps flottants, immergs, fixes ou en mouvement) a t long-
temps un sujet intressant essentiellement les domaines de la
construction navale et du gnie civil. Depuis une vingtaine
dannes, ce sujet intresse aussi le domaine de lanimation
et les mouvements de la mer (houles, vagues dferlantes, etc.)
sont maintenant rendus de manire trs convaincante pour ne
pas dire raliste. [. . . ]
Cette tude devra permettre de dresser un inventaire des diffrents
modles mathmatiques utiliss pour simuler un fluide dans son envi-
ronnement. Cet inventaire sera comparatif, dans le sens o les modles
prsents seront confronts entre eux afin de comprendre dans quel(s)
contexte(s) ils peuvent tre utiliss gnie civil, animation, eaux pro-
fondes, eaux peu profondes. . .
Cette tude devrait mapporter des connaissances thoriques et un re-
gard critique sur les techniques de la modlisation dun fluide dans son
environnement. Jaimerai ainsi travers cette tude acqurir des connais-
sances que je pourrai utiliser plus tard ; dans le cadre dune tude plus
pratique par exemple 1 .

C.1.2 Dmarche employe


Linformation sera cherche dans les publications de travaux scienti-
fiques traitant du sujet, dans des mmoires de thses. Jutiliserai gale-
1. Cest dire, modliser un fluide en utilisant un des modles prsents.

45
46 Annexe C. Documents ncessaires lUV

ment certains ouvrages, ainsi que des prsentations ralises lors de col-
loques. Je me servirai aussi des supports de cours universitaires. Cette
liste est non-exhaustive, et certains supports ne seront peut-tre pas pris
en compte dans le mmoire final.
Concernant la recherche sur la modlisation en animation, je min-
tresserai principalement au fonctionnement et aux modles utiliss par
le simulateur de fluide du logiciel libre danimation 3D Blender, savoir
ElBeem. Ce simulateur est bas sur la mthode de Boltzman sur rseau,
mthode laquelle je mintresserai particulirement.
Je pense galement prendre un rendez-vous avec M. Ouahsine Abde-
latif qui fait des recherches sur le sujet de la modlisation de la houle en
zone ctire 2 au laboratoire Roberval.

C.1.3 Calendrier prvisionnel

Note de clarification Mi-octobre


Prise de rendez - vous avec M. Ouahsine Fin octobre
Premire synthse Mi-novembre
Plan final avec bibliographie Fin novembre
Dbut de la rdaction du mmoire Dbut dcembre
Rendu du mmoire Mi-janvier

C.2 Plan provisoire


Voici le plan provisoire tel que rdig en dcembre 2011.

C.2.1 Introduction la modlisation dun fluide


Eulrien VS. Lagrangien
On prsentera ici les deux modles conceptuels que sont le modle Eu-
lrien et Lagrangien. Cette prsentation permettra dintroduire les diff-
rents modles mathmatiques prsents dans la partie 2. Les deux concep-
tions seront galement compares dun point de vue pratique ; lequel est
le plus adapt des frontires variables etc.

Description Lagrangienne On dcrira ici ce quest la description La-


grangienne, ce quelle permet etc.
On sintresse au mouvement des particules de fluides prise indivi-
duellement
advection (contamination, suivi dlments radioactifs)

Description Eulrienne On dcrira ici ce quest la description Eul-


rienne, ce quelle permet etc.
Mouvement global du fluide.
Lignes de courants
2. http://www.umr6253roberval.fr/spip.php?article64
C.2. Plan provisoire 47

quation de Navier - Stockes


Un fluide newtonien peut tre dcrit par les quations de Navier -
Stokes :


0= + (u) (C.1)
t
Du
= P + 2 u + F (C.2)
Dt
Le but de cette section est de prsenter les quations de Navier - Stokes,
de dfinir les variables utilises dans ces quations et que seront utili-
ses dans la suite , dcrire comment elles fonctionnent et surtout do
elles viennent.

C.2.2 Modlisation dune vague


Cette section, sans doute la plus consquente du mmoire prsentera 3
mthodes diffrentes utilises pour modliser des vagues. Seront prsen-
tes, les quations de Shallow Water, la mthode de Boltzmann sur rseau
et pour finir la mthode Smoothed Particles Hydrodynamics.

Shallow Water Equation


Dans cette sous-section, consacre aux quations de Shallow Water,
on montrera comment on peut les driver depuis les quations de Navier
Stokes et comment on peut approcher une solution de ces quations grces
aux diffrences finies. (2D seulement, je pense. . . )
tant donn la forme de la solution, h = f ( x, y), il est impossible
davoir un rouleau, la surface que nous obtenons ne peut pas se replier
sur elle mme. Pour un rendu plus raliste dune vague, nous devons uti-
liser un modle diffrent.

Lattice Boltzmann Method


Dans cette sous-section sera introduite la mthode de Boltzmann sur
rseaux. Aprs un bref historique, on explicitera en quoi ce modle est
clairement une approche diffrente de la prcdente.

quation de Boltzmann continue On prsentera ici lquation continue


de Boltzmann. On montrera comment parvenir cette quation.

f f F f
+u + = ( f ) (C.3)
t r m u

Discrtisation de lquation de Boltzmann On expliquera ici pourquoi


et comment se fait la discrtisation de lquation de Boltzmann. On pr-
sentera naturellement les modles de discrtisation usuels D2 Q9 et D3 Q19 .
Ensuite, on sintressera la rsolution de lquation.
48 Annexe C. Documents ncessaires lUV

Figure C.1 Maillages couramment utiliss

Cas du modle D3 Q19 On expliquera ici que pour chaque vecteur


vitesse, une fonction de distribution des particules f i est dfinie. f i repr-
sente la quantit de particules de fluides de dplaant la vitesse ei .
On dfinira les vecteurs vitesses de ce modle.

Description de la mthode Il y a deux tapes,


1. la phase de mouvement
2. la phase de collision
Ltape 1 consiste dfinir les fonctions de distribution f i0 en fonction
des f i en supposant quil a pas eu de collisions. On a donc :

f i0 (r, t + t) = f i (r tei , t)

ltape 2, les collisions entre en jeu. On dfinit alors la densit et la


eq
vitesse du fluide u laide des f i . Puis on calcul f i .
cette tape, aprs avoir effectu les calculs prcdents on mets jour
chaque f i de la faon suivante :
eq
f f i0
f i (r, t + t) = f i0 + i

Quid des conditions aux limites ? On nomettra pas de parler des


conditions aux limites.
1. Que faire quand des particules de fluide rencontrent une frontire ?
2. Et si la frontire npouse pas le maillage ?
3. Et si la frontire bouge ?
No-slip boundary condition Rotation de radians
Slip boundary condition Similaire la prcdente, mais fonctionne
comme un miroir (cf Snell-Descartes).
Velocity and Pressure boundary condition von Neumann BC and Diri-
chlet BC
C.2. Plan provisoire 49

Smoothed Particle Hydrodynamics


On prsentera ici la mthode Smoothed Particles Hydrodynamics,
qui est une mthode Lagrangienne o le fluide est assimil un nombre
fini de billes se dplaant dans un domaine dfini.

Approximation dune fonction Le but de cette sous-section est dintro-


duire les concepts mathmatiques qui seront utiliss dans la suite de cette
mthode. On montrera donc comment on peut approximer une fonction,
son gradient, son Laplacien etc.

Expression dune fonction, de son gradient et de son Laplacien

Fonction On montrera que lon peut approximer f ( x ) par :



h f ( x )i = f (y)W (ky x k , h) d y (C.4)

o W (k x k , h) une fonction que tends vers ( x ) quand h tends vers 0.


(h = supp W).

Gradient
h f ( x )i = f (y)W (ky x k , h) d y (C.5)

Laplacien
h f ( x )i = f (y)W (ky x k , h) d y (C.6)

Discrtisation dans le cas de particules tant donn que lon assimile


le fluide a un nombre fini N de petites billes, nous devons discrtiser
les expressions que nous avons dfinies ci-dessus qui sont continues. On
montrera donc ici comment sont dfinis f i , f i et f i . On montrera ga-
lement que certaines proprits du continue sont perdues (par exemple,
que le Laplacien dune fonction constante nest plus ncessairement nul,
que lon perd la symtrie, etc) et comment palier ce problme.

Calcul de la position des particules En utilisant ce qui aura t dfini


avant, on montrera dans cette partie comment calculer la position des
billes linstant t + 1.
Prciser que :
1. Il faut utiliser lapproximation du gradient symtrique pour f p
2. Il faut utiliser lapproximation du Laplacien qui sannule pour une fonction
constante pour fv
50 Annexe C. Documents ncessaires lUV

C.2.3 Applications de ces modlisations


Dans cette troisime et dernire partie, nous prsenterons les domaines
intresss par la modlisation des vagues (et/ou fluide plus gnrale-
ment) :
Gnie civil
Animation
Les besoins de ces deux domaines diffrent naturellement :
lun a besoin dun ralisme visuel, pour saisir le spectateur. La
moindre gouttelette pouvant rendre lanimation plus vraie est n-
cessaire. Au dtriment dune physique exacte.
lautre au contraire, se fiche du rendu visuel. Ce qui importe est
le mouvement du fluide. Est-ce que la structure rsiste la vague,
est-ce que le bateau ne se retourne pas si la vague est ainsi. Etc.

Domaines
Pour le gnie civil Quelles sont les applications pour le gnie civil ? :
1. tude numrique des efforts sur les structures marines + simulation
de la rsistance :
Plateformes ptrolires
Navires
Tsunamis
2. Amnagement ctier, rosion

Pour lanimation Depuis que les ordinateurs existent, simuler le rel


nest plus du domaine de limaginaire. Aujourdhui, le rendu est trs
convaincant, raliste. Les infographistes/mathmaticiens le savent bien et
tentent donc de trouver des modles qui permettent de rendre un uni-
vers aussi rel, aussi saisissant que possible. Notamment aujourdhui, o
les films danimations sont trs priss, tout est fait pour que le spectateur
y croit. La modlisation dun fluide et plus particulirement des vagues
intresse donc lanimation. On distingue dans ce secteur deux types de
simulations : la simulation en temps rel et la simulation enregistre Trouver
un autre terme.
1. La simulation en temps rel jeux vidos (moins raliste) (SPH +
utilisation du GPU).
2. La simulation enregistre films danimation (plus raliste, plus de
calculs) (LBM cf : Blender)

Cot de la modlisation
Il sagira de montrer dans cette sous-section quen pratique, simuler
un fluide avec ralisme est extrmement difficile. On montrera ici o sont
les difficults et quels sont les moyens employs pour y palier (GPU +
rduction dchelle). Fake it, est il crit sur le wiki de Blender.
In general, it is really hard for current computers to correctly
simulate even a 1-meter tank of water. For simulating a wave
crashing through a city, you would probably need one of the
C.2. Plan provisoire 51

most expensive supercomputers you could get, and it might


still not work properly, no matter which of the three algorithms
above youre using namespace. Therefore, to achieve the ef-
fect that you really want, youll need to resort to strategies
very similar to what filmmakers have been doing (quite suc-
cessfully. . . ) in analogue movies for many years : fake it !
Wiki de Blender 3
ou encore
For Blenders LBM solver, the following things will make the
simulation harder to compute : Large domains. Long duration.
Low viscosities. High velocities.

3. http://wiki.blender.org/index.php/Doc:2.4/Manual/Physics/Fluid
Bibliographie

Bart ADAMS et Martin WICKE. Meshless approximation methods and


applications in physics bases modeling and animation. 2009.
John BURKARDT. Numerical solution of the shallow water equation.
ICAM/Informatique Technology Departement, 2010.
Kenny ERLEBEN. Smoothed particle hydrodynamics, a short introduction
to principles and ideas. University of Copenhagen, 2010.
Hidemitsu HAYASHI. Lattice boltzmann method and its application to
flow analysis in porous media. R&D Review of Toyota CRDl.
Micky KELAGER. Lagrangian fluid dynamics, using smoothed particle
hydrodynamics. Rapport technique, Departement of Computer Science.
University of Copenhagen, 2006.
Simon MARI. tude de la mthode Boltzmann sur Rseau pour les simulations
en aroacoustique. PhD thesis, Universit Pierre et Marie Curie, 2008.
A. A. MOHAMAD. Lattice Boltzmann Method. Fundamentals and Engineering
Application with Computer Codes. Springer, 2011.
M. MLLER, J. STAM, D. JAMES, et N. THREY. Real time physics. class
notes. Rapport technique, NVIDIA, Autodesk, Cornell University, ETH
Zurich, a.
Matthias MLLER, David CHARYPAR, et Markus Gross. Particle-based
fluid simulation for interactive applications. Rapport technique, De-
partement of Computer Science, Federal Institute of Technology Zrich
(ETHZ), Switzerlan, b.
Liu PENG, Ken ichi NOMURA, Takehiro OYAKAWA, Rajiv K. KALIA,
Aiichiro NAKANO, et Priya Vishasta. Parallel lattice boltzmann flow
simulation on emerging multi-core platforms. Rapport technique, Col-
laboratory for Advanced Computing and Simulations, Department of
Computer Science, Department of Physics & Astronomy, Department
of Chemical Engineering & Materials Science, University of Southern
California, Los Angeles, CA 90089-0242, USA.
Nils THREY. Physically based Animation of Free Surface Flows with the
Lattice Boltzmann Method. PhD thesis, Universtitt Erlangen-Nrnberg,
2007.
Jens WILKE, Thomas POHL, Markus KOWARSCHIK, et Ulrich RUDE.
Cache performance optimizations for parallel lattice boltzmann code
in 2d. Rapport technique, Friedrich-Alexander-Universitt Erlangen-
Nrnberg.

53
54 Liste des figures

Liste des figures

1.1 Visualisation dune trajectoire (Guy PATRY LAL 1.3


http://www.freemages.fr/browse/photo-1457-voie-berge-nuit.
html) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Description Eulrienne du vent en France . . . . . . . . . . . 7

2.1 Shallow water 1D (BURKARDT 2010) . . . . . . . . . . . . . 16


2.2 Maillages couramment utiliss . . . . . . . . . . . . . . . . . 17
2.3 Visualisation de la mthode applique sur une maille
(MLLER et al. a) . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Illustration des diffrentes tapes du processus (THREY
2007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 LBM D2 Q9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Illustration SPH tire de ADAMS et WICKE (2009) . . . . . 26
2.7 Simulation dun barrage qui rompt . . . . . . . . . . . . . . . 27

3.1 Schmatisation de la dcomposition spatial dun domaine


. (PENG et al.) . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Technique de grid-merging (WILKE et al.) . . . . . . . . . . . 30
3.3 Reprsentation dun arbre-kd (http://en.wikipedia.
org/wiki/K-d_tree) . . . . . . . . . . . . . . . . . . . . . 31
3.4 Calcul de N ( pi ).Seules les cellules violettes sont lues.
(ADAMS et WICKE 2009) . . . . . . . . . . . . . . . . . . . . 32
3.5 Structures de recherche (ADAMS et WICKE 2009) . . . . . . 34

C.1 Maillages couramment utiliss . . . . . . . . . . . . . . . . . 48

made with LATEX


Titre La modlisation des vagues : pourquoi, comment ?

Rsum La modlisation mathmatique des mouvements dun fluide a


t de tous temps un sujet de recherche actif. Quels sont aujourdhui les
moyens utiliss pour rendre numriquement compte de ces mouvements ?
Quels sont les cots de calculs et comment peut on les amliorer ? Tant
de questions auxquelles ce document tente de rpondre en prsentant
quelques mthodes mathmatiques utilises par lanimation et le gnie
civil.

Mots-cls simulation numrique, fluide, Smoothed Particle Hydrodyna-


mics, Lattice Boltzmann Method, Shallow Water, mthode particulaire

Vous aimerez peut-être aussi