Académique Documents
Professionnel Documents
Culture Documents
M2 MATH
2011/2012
Aide mmoire,
Exemples,
Sujets de TP.
is.
s h
fin
ype
es
rbo
m
lu
liqu
vo
es,
NO NI
A CCA
G. F i s e --jo
ur
m
ire
Dern 2012
f vrier
i 8
cred
Mer
Les TP seront valus.
Vous avez jusquau 22 fvrier 2012 pour rendre un rapport avec le code associ pour rendre compte de votre travail.
Vous pouvez crire le rapport seul ou en binme avec un autre membre de votre groupe.
Gloria FACCANONI
2
Table des matires
1 TP1 - rsolution de lquation de transport 11
1.1 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3
Rappels sur les diffrences finies
part dans quelques cas trs particulier, il est impossible de calculer explicitement des solutions de modles issus de la physique.
Il est donc ncessaire davoir recours au calcul numrique sur ordinateur pour estimer qualitativement et quantitativement
ces solutions. Le principe de toutes les mthodes de rsolution numrique des quations aux drives partielles est dobtenir
des valeurs numriques discrtes (cest--dire en nombre fini) qui approchent (en un sens convenable prciser) la solution
exacte. Dans ce procd il faut bien tre conscient de deux points fondamentaux : premirement, on ne calcul pas des solutions
exactes mais approches ; deuximement, on discrtise le problme en reprsentant des fonctions par un nombre finis de valeurs,
cest--dire que lon passe du continu au discret.
Il existe de nombreuses mthodes dapproximation numrique des solutions dquations aux drives partielles. Pour simplifier
la prsentation, nous nous limiterons dans ce chapitre la dimension un despace.
f (x 0 x) = f (x 0 ) x f 0 (x 0 ) + (x)2 f 00 (x 0 ) + O((x)3 ),
on a
f (x 0 + x) f (x 0 ) f (x 0 ) + x f 0 (x 0 ) + (x)2 f 00 (x 0 ) + O((x)3 ) f (x 0 )
= = f 0 (x 0 ) + O(x),
x x
f (x 0 ) f (x 0 x) f (x 0 ) f (x 0 ) + x f 0 (x 0 ) (x)2 f 00 (x 0 ) + O((x)3 )
= = f 0 (x 0 ) + O(x),
x x
f (x 0 + x) f (x 0 x) f (x 0 ) + x f 0 (x 0 ) + (x)2 f 00 (x 0 ) + O((x)3 ) f (x 0 ) + x f 0 (x 0 ) (x)2 f 00 (x 0 )
=
2x 2x
= f 0 (x 0 ) + O((x)2 ),
f (x 0 + x) 2 f (x 0 ) + f (x 0 x)
(x)2
f (x 0 ) + x f 0 (x 0 ) + (x)2 f 00 (x 0 ) + O((x)3 ) 2 f (x 0 ) + f (x 0 ) x f 0 (x 0 ) + (x)2 f 00 (x 0 )
=
(x)2
= f 00 (x 0 ) + O((x)2 ).
5
Table des matires Mercredi 8 fvrier 2012
(x j , t n ) = ( j x, nt ) pour j Z, n N.
On note u nj la valeur dune solution discrte approche au point (x j , t n ) et u(x, t ) la solution exacte (inconnue). Le principe de la
mthode des diffrences finies est de remplacer les drives par des diffrences finies en utilisant des formules de Taylor dans
lesquelles on nglige les restes.
Dans tous schma il y a bien sr une donne initiale pour dmarrer les itration en n : les valeurs initiales (u 0j ) j Z sont dfinies
par exemple par u 0j = g (x j ) o g est la donne initiale de lquation.
Sil y a un second membre f (x, t ) dans lquation aux drives partielles, alors les schmas se modifient en remplaant zro au
second membre par une approximation consistante de f (x, t ) au point (x j , t n ).
Si lquation est dfinie sur un domaine born, par exemple x [; ], le maillage spatiale sera restreint cet intervalle cest--dire
j {0, 1, . . . , N } avec x 0 = et x N = et x = ( )/(N + 1). Il faut de plus ajouter des conditions aux limites qui peuvent tre de
plusieurs types.
Par exemple, si on a des conditions aux limites de Dirichlet
Niveaux et stencil Un schma est dit m niveaux sil ne fait intervenir que m indices de temps. Les schmas les plus populaires
sont des schmas deux ou trois niveaux.
La collection des couples ( j 0 , n 0 ) qui interviennent dans lquation discrte au point ( j , n) est appel stencil du schma (quon
peut essayer de traduire par support). En gnral, plus le stencil est large, plus le schma est coteux et difficile program-
mer.
6 G. Faccanoni
Mercredi 8 fvrier 2012 Table des matires
n + m+
n + m+ 1
n m + 1
n m
j k + 1
j + k+ 1
j k
j + k+
j
F IGURE 1: Exemple de stencil pour un schma m + m + + 1 niveaux et k + k + + 1 points.
Erreur de troncature Considrons le schma aux diffrence finies F x,t ({u n+m j +k
}) pour lapproximation de lquation aux drives
partielles F (u) = 0. Soit u(x, t ) une solution suffisamment rgulire de cette quation. On appelle erreur de troncature du schma
la quantit !
n o
n
j F x,t u(x + kx, t + mt ) k kk + .
m mm +
Convergence
La convergence dun schma aux diffrences finies est une proprit naturelle qui assure que, pour des valeurs suffisamment
petites des pas despace et de temps, la solution numrique calcule sera proche de la solution exacte du problme de d-
part.
Malheureusement la notion de consistance ne suffit pas garantir que le schma soit convergente comme on verra sur des
exemples. Pour introduire un critre (trs pratique) qui permet de voir si un schma donn est convergent nous allons introduire
la notion de stabilit.
Stabilit
Autre les outils qui permettent de comparer les performances des diffrents schmas, on doit galement choisir les pas x
et t de sorte que le schma correspondant donnera une solution approche correcte, au sens o une petite perturbation
de la donne initiale g ninduira par une perturbation trop grande sur la solution calcule au temps final. Cette ide, dj
rencontre pour la dfinition de problme bien pos, est la base du concept de stabilit pour les schmas aux diffrences
finies.
Soit u n (u nj )1 j N 1 la solution numrique dun schma.
G. Faccanoni 7
Table des matires Mercredi 8 fvrier 2012
Stabilit Un schma aux diffrences finies est dit stable pour la norme kk sil existe une constante K > 0 indpendante de x et
t (lorsque ces valeurs tendent vers zro) telle que
ku n k K ku 0 k pour tout n 0,
quelle que soit la donne initiale u 0 . Si cette ingalit na lieu que pour des pas x et t astreints certaines ingalits, on dit que
le schma est conditionnellement stable.
ku n k = max |u nj |.
1 j N 1
Schma linaire Un schma aux diffrences finies est dit linaire si la formule F x,t ({u n+m
j +k
}) = 0 qui le dfinit est linaire par
rapport ses arguments u n+m
j +k
.
La stabilit dun schma linaire deux niveaux est facile interprter. En effet, par linarit tout schma linaire deux niveaux
peut scrire sous la forme condense
Au n = u n+1 ,
o A est une matrice (dite ditration) et on obtient An u 0 = u n+1 (attention, la notation An dsigne ici la puissance n-me de A)
et par consquent la stabilit du schma est quivalente
kAn u 0 k K ku 0 k, n 0, u 0 RN 1 .
kAn k K n 0
Principe du maximum discret - stabilit L Un schma aux diffrences finies vrifie le principe du maximum discret si pour
tout n 0 et tout 1 j N 1 on a
min u 0j u nj max u 0j
0 j N 0 j N
0
quelle que soit la donn initiale u .
Stabilit L 2
La norme L 2 se prte bien ltude de la stabilit grce loutil trs puissant de lanalyse de Fourier. Supposons dsormais que les
conditions aux limites pour lquation aux drives partielles sont des conditions aux limites de priodicit. chaque vecteur
u n (u nj )1 j N 1 on associe une fonction u n (x), constante par morceaux, priodique, dfinie sur [; ] par
avec x j +1/2 = + ( j + 1/2)x pour 0 j N , x 1/2 = et x N +1/2 = . Ainsi dfinie, la fonction u n (x) appartient L 2 ([; ]), elle
peut donc se dcomposer en la somme de Fourier
u n (x) = u (k)e 2i kx
X n
kZ
R
avec u n (k) = u n (x)e 2i kx dx et la formule de Plancherel
Z
|u n (x)|2 dx = |u n (k)|2 .
X
kZ
Remarquons que mme si u n (x) est une fonction relle, les coefficients u n (k) de la srie de Fourier sont complexes. Une
proprit importante pour ltude de stabilit de la transforme de Fourier des fonctions priodiques est la suivantes : si on note
v n (x) = u n (x + x) alors v n (k) = u n (k)e 2i kx .
Recette pour un schma deux niveaux On injecte dans le schma un mode de Fourier, on obtient ainsi
u nj = A(k)n e 2i kx j
8 G. Faccanoni
Mercredi 8 fvrier 2012 Table des matires
et on en dduit la valeur du facteur damplification A(k). Rappelons que pour linstant nous nous sommes limit au cas scalaire,
cest--dire que A(k) est un nombre complexe. On appelle condition de stabilit de Von Neumann lingalit
Si la condition de stabilit de Von Neumann est satisfaite (avec ventuellement des restrictions sur x et t ), alors le schma est
stable pour la norme L 2 , sinon il est instable.
Dans la plupart des cas, on va trouver des restrictions sur x et t pour obtenir la stabilit au sens L 2 du schma. Comme x
est initialement fix, ceci nous oblige nous donner un pas de temps t petit. Plus cette condition de stabilit est restrictive,
plus le schma sera couteux utiliser dun point de vue du temps de calcul. Au contrario, les schmas inconditionnellement
stables ne ncessitent aucune restriction particulire et donc peuvent tre priori utiliss pour une valeur quelconque de t . Ceci
ne signifie pas pour autant quils seront des bons schmas, et notamment que la solution calcule sera proche de la solution
exacte. En effet, un choix trop grand de t donne une mauvaise approximation de la drive partielle par rapport au temps. En
pratique, un schma instable est inutilisable car, mme si on part dune donne initiale spcialement prpare de manire ce
quaucun des modes de Fourier instables ne soit excit par elle, les invitables erreurs darrondi vont crer des composantes non
nulles (bien que trs petites) de la solution sur ces modes instables. La croissance exponentielle de ces modes instables entrane
quaprs seulement quelque pas en temps ces modes deviennent normes et polluent compltement le reste de la solution
numrique.
Thorme de Lax Soit u(x, t ) la solution suffisamment rgulire de lquation aux drive partielles F (u) = 0 avec des conditions
aux limites appropries. Soit u nj la solution numrique discrte obtenue par un schma aux diffrences finies avec la donne
initiale u 0j = g (x j ). Si le schma est linaire, deux niveaux, consistant et stable pour une norme kk, alors le schma est convergent
au sens o
T > 0, lim sup ku nj u(x j , t n )k = 0.
x,t 0 t n T
De plus, si le schma est prcis lordre p en espace et lordre q en temps, alors pour tout T > 0 il existe une constante C T > 0
telle que
sup ku nj u(x j , t n )k C T (x)p + (t )q .
t n T
Dun point de vue pratique ce thorme est trs rassurant : si lon utilise un schma consistant (ils sont construit pour cela en
gnral) et que lon nobserve pas doscillations numriques (cest--dire quil est stable), alors la solution numrique est proche
de la solution exacte (le schma converge).
quation quivalente On appelle quation quivalente dun schma lquation obtenue en ajoutant au modle tudi la partie
principale (cest--dire le terme dordre le plus bas) de lerreur de troncature.
Tous les schma quon va voir sont consistants. Cependant, si on ajoute lquation la partie principale de lerreur de troncature
dun schma, alors ces schmas non seulement sont encore consistants avec cette nouvelle quation quivalente, mais sont
mme strictement plus prcis pour cette quation quivalente. En dautre termes, les schmas sont plus consistants avec
lquation quivalente quavec lquation quon veut approcher.
Cette quation va nous donner des renseignements prcieux sur le comportement numrique du schma. Le coefficient de
diffusion (cest--dire le coefficient de la drive seconde) de lquation quivalente est appel diffusion numrique. Sil est
grand on dit que le schma est diffusif (ou dissipatif). Le comportement typique dun schma diffusif est sa tendance taler
artificiellement les donnes initiales au cours du temps. Si le schma est prcis dordre 2 alors lquation quivalente ne contient
pas de terme de diffusion mais un terme du troisime ordre, dit dispersif. Le comportement typique dun schma dispersif est
quil produit des oscillation lorsque la solution est discontinue. En effet, le terme dispersif modifie la vitesse de propagation des
modes de Fourier de la solution (particulirement des modes de frquence leve), alors quun terme diffusif ne fait quattnuer
son amplitude.
G. Faccanoni 9
1 TP1 - rsolution de lquation de transport
On considre le problme de transport en une dimension despace dans le domaine born [0; L] avec une vitesse c constante non
nulle et des conditions aux limites de priodicit
On souhaite calculer la valeur de la solution u en un ensemble discret de points en espace et en temps. Plus prcisment, en
fixant un pas despace x = L/N > 0 (N entier positif) et un pas de temps t > 0, on cherche calculer u nj u( j x, nt ) la valeur
dune solution discrte approche au point (x j , t n ). On sait que u(x, t ) = g (x c t ) est la solution exacte. Les conditions aux limites
de priodicit conduisent aux galits u 1n = u N
n
+1 pour tout n 0, par consquent linconnue discrte chaque pas de temps est
n n
un vecteur u = (u j )1 j N .
Notre stratgie consiste remplacer des oprateurs diffrentiels par des quotients aux diffrences finies. En utilisant diffrentes
faon dvaluer les drives partielles, beaucoup de choix de schmas sont possibles. Nous voulons en tudier ici quelques
uns.
t
Soit := c x . On considrera les schmas aux diffrences finies suivants :
le schma dcentr gauche
u n+1
j
u nj u nj u nj1
+c =0 i.e. u n+1
j = u nj (u nj u nj1 )
t x
le schma centr
u n+1
j
u nj u nj+1 u nj1 u nj+1 u nj1
+c =0 i.e. u n+1
j = u nj
t 2x 2
le schma upwind (dcentr amont)
u n+1
j
u nj c + |c| n c |c| n
+ (u j u nj1 ) + (u j +1 u nj ) = 0
t 2x 2x
i.e.
( n
+ || n || n u j (u nj u nj1 ) si > 0,
u n+1
j = u nj n
(u j u j 1 ) + n
(u j +1 u j ) =
2 2 u nj (u nj+1 u nj ) si < 0.
le schma de Lax-Friedrichs
u nj+1 +u nj1
u n+1
j
2 u nj+1 u nj1 1 n 1+ n
+c =0 i.e. u n+1
j = u j +1 + u j 1
t 2x 2 2
le schma de Lax-Wendroff
u n+1
j
u nj u nj+1 u nj1 n n n
c 2 t u j +1 2u j + u j 1
+c =0
t 2x 2 (x)2
i.e.
u nj+1 u nj1 u nj+1 2u nj + u nj1
u n+1
j = u nj + 2
2 2
11
1 TP1 - rsolution de lquation de transport Mercredi 8 fvrier 2012
u n+1
j
u nj g (u nj1 , u nj ) g (u nj2 , u nj1 ) t
c(c x 1) t
c(3 c x )
+c = 0 avec g (A, B ) = A+ B
t x 2 2
i.e.
( 1) n ( 1)( 2) n
u n+1
j = u j 2 + (2 )u nj1 + uj
2 2
le schma de Fromm (pour c > 0)
u n+1
j
u nj g (u nj1 , u nj , u nj+1 ) g (u nj2 , u nj1 , u nj ) t
c(c x 1) t
c(1 c x )
+c = 0 avec g (A, B,C ) = A + cB + C
t x 4 4
i.e.
( 1) n (5 ) n (1 )( + 4) n ( 1) n
u n+1
j = u j 2 + u j 1 + uj + u j +1
4 4 4 4
le schma anti-diffusif de Desprs-Lagoutire (pour c > 0)
u n+1
j
u nj g (u nj1 , u nj , u nj+1 ) g (u nj2 , u nj1 , u nj )
+c =0
t x
i.e.
u n+1
j = u nj (g (u nj1 , u nj , u nj+1 ) g (u nj2 , u nj1 , u nj ))
avec
A,
si R A,
g (L,C , R) = B, si R B,
R, sinon,
o
C max(L,C ) C min(L,C )
A = max(L,C ) + , B = min(L,C ) + .
1.1 Code
Langage : Fortran 90
diteur : Programmers Notepad (sous Windows, coloration syntaxique de Fortran 90)
Systme dexploitation : Linux (via Cygwin)
Visualisation : Gnuplot
Copier dans un sous-dossier du dossier C:/cygwin le fichier transport.f90 et le dossier data o seront sauvegard les
sorties.
Lancer Cygwin depuis le menu : Start Cygwin-X XWin-Serveur
Pour compiler le programme transport.f90 on utilisera la commande
gfortran transport . f90 -o transport . o
Les deux instruction peuvent tre excuts lune la suite de lautre en utilisant && :
gfortran transport . f90 -o transport . o && ./ transport . o
Les rsultats sont sauvegards dans les fichiers transportN.dat o N= 0 . . . Smax est le numro de la sauvegarde. Ces fichier se
trouvent dans le dossier data. Un fichier transportN.dat comporte NX lignes et 11 colonnes :
x dcentr dcentr centr upwind lax- lax- beam- fromm antidiffusif
gauche droite friedrichs wendroff warmimg
Pour comparer la solution approche du schma XXX avec la solution exacte au cours du temps, on tapera
12 G. Faccanoni
Mercredi 8 fvrier 2012 1 TP1 - rsolution de lquation de transport
cd data
gnuplot plot_XXX . gnu
Pour comparer les solutions approches des schmas avec la solution exacte linstant final et sauvegarder limage dans le fichier
comparaison_finale.png on tapera
gnuplot p l o t _ c o m a p a r a i s o n _ f i n a l e . gnu
1.2 Exercice
Soit la largeur du domaine L = 8 et le temps final T = 1,0
24.
0,8
L
1 1 4
+ sin x si x 0; , 0,4
2 2 L 2 2
L 2L
g (x) = 0 5L
si x ; ;L , 0,2
2 3 6
1 sinon.
0
0 1 2 3 4 5 6 7 8
x
Complter le code avec les schmas qui manquent (lorsque le schma a t donn pour c > 0, rflchir comment il faut le
modifier pour c < 0 et complter le code).
Pour c = 1 et une grille de N x = 50 mailles, comparer les schmas - : dabord on prendra la constante de Courant-
Friedrichs-Levy gale cfl= 0.99, puis cfl= 0.1 et enfin cfl= 1.1. Que remarque-t-on propos de la stabilit ? Que
remarque-t-on propos de la diffusion ? Et de la dispersion ? Rpter les calculs sur une grille de N x = 500 mailles. Rpter
les calculs pour c = 1.
tudier (analytiquement) la stabilit L 2 et lordre de consistance des schmas , , et comme dans les exemples
ci-dessous ; en dduire une condition CFL le cas chant. On vrifiera notamment que
B le schma est stable L 2 sous condition CFL 1 < < 0 et consistants dordre 1 en temps et en espace,
B le schma est stable L 2 sous condition CFL || < 1 et consistant dordre 1 en temps et en espace,
B les schmas et sont stables L 2 sous condition CFL 0 < < 2 et consistants dordre 1 en temps et 2 en espace.
Pour ltude de stabilit du schma voir http://www.math.u-psud.fr/~lagoutie/publi.html
1.3 Exemples
u n+1
j
u nj u nj u nj1
+c =0 i.e. u n+1
j = u nj (u nj u nj1 )
t x
Stencil
n +1
j 1 j
G. Faccanoni 13
1 TP1 - rsolution de lquation de transport Mercredi 8 fvrier 2012
Stabilit L 2 . On utilise lanalyse de Fourier : pour k Z, le coefficient de Fourier u n (k) de la solution du schma vrifie
h i
u n+1 (k) = 1 + e i 2kx u n (k).
En notant 2kx, on a
h i
u n+1 (k) = 1 + e i u n (k) =
= 1 + cos() + i sin() u n (k) =
On a
|A(k)| 1 k Z 2( 1)(1 cos()) 0 R ( 1) 0.
Pour 0 1 on a |A(k)| 1 pour toute frquence k Z, ce qui prouve que le schma est stable en norme L 2 sous la
condition CFL 0 1.
Ordre de consistance. On remplace u im par u(x i , t m ) o u est une fonction rgulire, i = j 1, j et m = n, n + 1. On dfinit
lerreur de troncature par
u (x)2 2 u
u(x j 1 , t n ) = u(x j , t n ) x (x j , t n ) + (x j , t n ) + O((x)3 ),
x 2 x 2
u (t )2 2 u
u(x j , t n+1 ) = u(x j , t n ) + t (x j , t n ) + (x j , t n ) + O((t )3 )
t 2 t 2
u (t )2 u
= u(x j , t n ) + t c (x j , t n ) + c (x j , t n ) + O((t )3 )
x 2 t x
2
u u
(t )
= u(x j , t n ) ct (x j , t n ) c (x j , t n ) + O((t )3 )
x 2 x t
u (t )2 2 u
= u(x j , t n ) ct (x j , t n ) + c 2 (x j , t n ) + O((t )3 ).
x 2 x 2
Par consquent lerreur de troncature se rcrit
u n+1
j
u nj u nj+1 u nj1 n
+c =0 i.e. u n+1
j = u nj (u u nj1 )
t 2x 2 j +1
Stencil
14 G. Faccanoni
Mercredi 8 fvrier 2012 1 TP1 - rsolution de lquation de transport
n +1
j 1 j j +1
Stabilit L 2 . On utilise lanalyse de Fourier : pour k Z, le coefficient de Fourier u n (k) de la solution du schma vrifie
h i 2kx i
u n+1 (k) = 1 e e i 2kx u n (k).
2
En notant 2kx, on a
h i i
u n+1 (k) = 1 e e i u n (k) =
2
h i
= 1 cos() + i sin() cos() i sin(xi ) u n (k) =
2
= [1 i sin()] u n (k).
On a
|A(k)| 1 k Z 2 sin2 () 0 R 6 R.
Ce qui prouve que le schma est inconditionnellement instable en norme L 2 .
Ordre de consistance. On remplace u im par u(x i , t m ) o u est une fonction rgulire, i = j 1, j , j + 1 et m = n, n + 1. On dfinit
lerreur de troncature par
u (x)2 2 u
u(x j 1 , t n ) = u(x j , t n ) x (x j , t n ) + (x j , t n ) + O((x)3 ),
x 2 x 2
u (x)2 2 u
u(x j +1 , t n ) = u(x j , t n ) + x (x j , t n ) + (x j , t n ) + O((x)3 ),
x 2 x 2
u
u(x j , t n+1 ) = u(x j , t n ) + t (x j , t n ) + O((t )2 )
t
u
= u(x j , t n ) + t c (x j , t n ) + O((t )2 )
x
u
= u(x j , t n ) ct (x j , t n ) + O((t )2 ).
x
Par consquent lerreur de troncature se rcrit
u nj+1 +u nj1
u n+1
j
2 u nj+1 u nj1 1 n 1+ n
+c =0 i.e. u n+1
j = u j +1 + u j 1
t 2x 2 2
G. Faccanoni 15
1 TP1 - rsolution de lquation de transport Mercredi 8 fvrier 2012
Stencil
n +1
j 1 j j +1
Stabilit L 2 . On utilise lanalyse de Fourier : pour k Z, le coefficient de Fourier u n (k) de la solution du schma vrifie
1 i 2kx 1 + i 2kx n
u n+1 (k) = e e u (k).
2 2
En notant 2kx, on a
1 i 1 + i n
u n+1 (k) = e + e u (k) = [cos() i sin()] u n (k).
2 2
On a
|A(k)| 1 k Z cos2 () + 2 sin2 () 1 R 2 1.
Ce qui prouve que le schma est stable en norme L 2 sous la condition CFL || 1.
Ordre de consistance. On remplace u im par u(x i , t m ) o u est une fonction rgulire, i = j 1, j , j + 1 et m = n, n + 1. On dfinit
lerreur de troncature par
u(x j +1 ,t n )+u(x j 1 ,t n )
u(x j , t n+1 ) 2 u(x j +1 , t n ) u(x j 1 , t n )
nj +c .
t 2x
On fait un dveloppement de Taylor en x autour du point x j et en t autour du point t n et, comme u est solution de
lquation t u = cx u, on a
u
u(x j 1 , t n ) = u(x j , t n ) x (x j , t n ) + O((x)2 ),
x
u
u(x j +1 , t n ) = u(x j , t n ) + x (x j , t n ) + O((x)2 ),
x
u
u(x j , t n+1 ) = u(x j , t n ) + t (x j , t n ) + O((t )2 )
t
u
= u(x j , t n ) + t c (x j , t n ) + O((t )2 )
x
u
= u(x j , t n ) ct (x j , t n ) + O((t )2 ).
x
Par consquent lerreur de troncature se rcrit
(x)2
tant donn que, sous la condition CFL calcule prcdemment, O t = O(x), le schma est donc dordre 1 en temps
et en espace.
u n+1
j
u nj u nj+1 u nj1 u nj+1 2u nj + u nj1 u nj+1 u nj1 u nj+1 2u nj + u nj1
+c 2
c t =0 i.e. u n+1
j = u nj + 2
t 2x 2(x)2 2 2
16 G. Faccanoni
Mercredi 8 fvrier 2012 1 TP1 - rsolution de lquation de transport
Stencil
n +1
j 1 j j +1
Stabilit L 2 . On utilise lanalyse de Fourier : pour k Z, le coefficient de Fourier u n (k) de la solution du schma vrifie
+ 2 i 2kx + 2 i 2kx n
u n+1 (k) = e + 1 22 + e u (k).
2 2
En notant 2kx, on a
+ 2 i + 2 i n
n+1 2
e +1 + u (k) = 1 2 (1 cos()) i sin() u n (k).
u (k) = e
2 2
On a
|A(k)| 1 k Z 2 1.
Ce qui prouve que le schma est stable en norme L 2 sous la condition CFL || 1.
Ordre de consistance. On remplace u im par u(x i , t m ) o u est une fonction rgulire, i = j 1, j , j + 1 et m = n, n + 1. On dfinit
lerreur de troncature par
On fait un dveloppement de Taylor en x autour du point x j et en t autour du point t n et, comme u est solution de
lquation t u = cx u, on a
u (x)2 2 u
u(x j 1 , t n ) = u(x j , t n ) x (x j , t n ) + (x j , t n ) + O((x)3 ),
x 2 x 2
u (x)2 2 u
u(x j +1 , t n ) = u(x j , t n ) + x (x j , t n ) + (x j , t n ) + O((x)3 ),
x 2 x 2
u (t )2 2 u
u(x j , t n+1 ) = u(x j , t n ) + t (x j , t n ) + (x j , t n ) + O((t )3 )
t 2 t 2
u (t )2 2 2 u
= u(x j , t n ) + t c (x j , t n ) + c (x j , t n
) + O((t )3 )
x 2 x 2
u (t )2 2 u
= u(x j , t n ) ct (x j , t n ) + c 2 (x j , t n ) + O((t )3 ).
x 2 x 2
Par consquent lerreur de troncature se rcrit
G. Faccanoni 17
2 TP2 - rsolution dune quation non-linaire
2.1 Rappels
On cherche
u : R R+ R
(x, t ) 7 u(x, t )
q: RR
u 7 q(u)
Courbes caractristiques : on appelle courbe caractristique de lEDP une courbe x = x(t ) dans le demi-espace t > 0 le long de
laquelle la solution u est constante.
Si pour un point (x, t ) passe une et une seule caractristique et cette caractristique a pied en (, 0), alors u(x, t ) = g ().
La caractristique de pied (, 0) a quation
x(t ) = + q 0 (g ())t .
Pour t suffisamment petit, la solution u est dfinie implicitement par lquation
u = g (x q 0 (g ())t ).
Condition de Rankine-Hugoniot : si deux caractristiques sintersectent elles gnrent une discontinuit dans la solution.
La courbe de discontinuit est appele onde de choc et si elle est rgulire et a quation x = s(t ) alors u doit vrifier les
relations de Rankine-Hugoniot : si on appelle u R et u L respectivement les traces de u droite et gauche de la courbe de
choc, on a
q(u R (s(t ), t )) q(u L (s(t ), t ))
s 0 (t ) = .
u R (s(t ), t ) u L (s(t ), t )
Si (x 0 ; t 0 ) est le premier point o les caractristiques sintersectent, alors on obtient lquation de la courbe de choc en
rsolvant lEDO avec la condition initiale s(t 0 ) = x 0 .
Condition dentropie : une condition qui permet de slectionner parmi les solutions faibles qui vrifient les relations de saut
de Rankine-Hugoniot la solution physique est la condition dentropie de Lax le long de la courbe de choc x = s(t ) :
Onde de rarfaction ou de dtente : dans les rgions du demi-espace t > 0 qui ne sont pas rejointes par les caractristiques
on construit la solution (qui se connecte avec continuit avec les autres rgions du demi-espace) par des ondes de
rarfaction.
Une onde de rarfaction centre en (x 0 , t 0 ) a quation
x x0
u(x, t ) = (q 0 )1 .
t t0
18
Mercredi 8 fvrier 2012 2 TP2 - rsolution dune quation non-linaire
1 x
La donne initiale du problme de Riemann a un saut dcroissant et le flux est convexe donc lunique solution entropique
prsente une onde de choc qui part en (1, 0). Pour calculer lquation x = s(t ) de londe de choc on utilise les relations de
Rankine-Hugoniot :
q(u R ) q(u L ) u R + u L 1
s 0 (t ) = = =
uR uL 2 2
avec la donne initiale s(0) = 1. On trouve donc x = s(t ) = 1 + 21 t .
1 x
t =0
t = 0.5
t =1
x
Donne 012
0 si x < 1,
g (x) = 1 si 1 < x < 2,
2 si x > 2.
, < 1,
x(t ) = + q 0 (g ())t = + (g ())t = + t , 1 < < 2,
+ 2t , > 2.
G. Faccanoni 19
2 TP2 - rsolution dune quation non-linaire Mercredi 8 fvrier 2012
1 2 x
La donne initiale a deux sauts croissants, un en x = 1 et lautre en x = 2. Puisque q est convexe, on sattend ce que la solution
faible entropique prsente deux ondes de rarfaction centres lune en (1, 0) et lautre en (2, 0).
1 2 x
0,
si x < 1,
x1
t , si 1 < x < 1 + t ,
u(x, t ) = 1, si 1 + t < x < 2 + t ,
x2
t , si 2 + t < x < 2 + 2t ,
2, si x > 2t + 2,
t =0 u
t = 1.5
t =3
Elle a deux sauts dcroissants, un en x = 1 et un en x = 2. Puisque q est convexe, on sattend ce que la solution faible entropique
prsente deux ondes de choc qui partent de (1, 0) et de (2, 0).
B En effet, lquation de la caractristique de pied (, 0) est
+ 2t , < 1,
0
x(t ) = + q (g ())t = + (g ())t = + t , 1 < < 2,
, > 2.
20 G. Faccanoni
Mercredi 8 fvrier 2012 2 TP2 - rsolution dune quation non-linaire
1 2 x
B Pour calculer les quations des deux ondes de choc on utilise les relations de Rankine-Hugoniot :
B choc de pied (1, 0)
q(u R )q(u L ) (u R )2 (u L )2
(
14 3
s 0 (t ) = u R u L = 2(u R u L ) = 2(12) = 2
s(0) = 1
3
do x = s(t ) = + 1 ;
2t
B choc de pied (2, 0)
q(u R )q(u L ) (u R )2 (u L )2
(
01 1
s 0 (t ) = u R u L = 2(u R u L ) = 2(01) = 2
s(0) = 2
do x = s(t ) = 21 t + 2.
t
(x , t )
1 2 x
Ces deux chocs vont ensuite interagir partir dun (x , t ) quon dtermine en rsolvant le systme linaire
(
x = 12 t + 2,
x = 32 t + 1.
On obtient ainsi le pied de la nouvelle onde de choc qui est (x , t ) = ( 25 , 1). Donc la solution pour 0 < t < 1 est
3
2, si x < 2 t + 1,
u(x, t ) = 1, si 2 t + 1 < x < 12 t + 2,
3
0, si x > 21 t + 2,
B Pour t 1 seule les donnes initiales pour x < 1 et x > 2 sont transportes et ce nouveau choc, qui part de ( 52 , 1), vrifie encore
la relation de Rankine-Hugoniot :
q(u R )q(u L ) (u R )2 (u L )2
(
04
s 0 (t ) = u R u L = 2(u R u L ) = 2(02) =1
5
s(1) = 2
do x = s(t ) = t + 32 .
t
1 2 x
G. Faccanoni 21
2 TP2 - rsolution dune quation non-linaire Mercredi 8 fvrier 2012
u
t =0
t = 0.5
t =1
t = 1.5
, < 1,
x(t ) = + q 0 (g ())t = + (g ())t = + t , 1 < < 2,
, > 2.
1 2 x
On sattend donc ce que la solution faible entropique prsente une onde de rarfaction centre en (1, 0) et une onde de choc qui
part de (2, 0) et que, aprs un certain temps, les deux ondes interagissent.
B La rarfaction est comprise entre la droite dquation
x(t ) = 1
et la droite dquation
x(t ) = 1 + t
et a quation
x 1 x 1
u(x, t ) = (q 0 )1 = .
t 0 t
B Pour dterminer lquation de londe de choc qui a pied en (2, 0) on utilise les relations de Rankine-Hugoniot :
( q(u )q(u ) 2 2
s 0 (t ) = uR u L = (u2(u
R ) (u L ) 10 1
u ) = 2(10) = 2
R L R L
s(0) = 2
do x = s(t ) = 21 t + 2.
Ces considrations sont valables jusqu ce que londe de choc et londe de rarfaction se touchent, cest--dire jusqu t = 2.
Donc la solution pour 0 < t < 2 est
0, si x < 1,
x1 , si 1 < x < t + 1,
u(x, t ) = t
1, si t + 1 < x < 21 t + 2,
si x > 12 t + 2.
0,
22 G. Faccanoni
Mercredi 8 fvrier 2012 2 TP2 - rsolution dune quation non-linaire
1 2 3 x
B Pour t > 2 on continue avoir une onde de choc mais ltat gauche nest plus constante car il est donn par la rarfaction i.e.
s(t )1
uL = t donc le nouveau choc a pied en (3, 2) et vrifie
2
q(u )q(u ) 2 2 0 s(t t)1
s (t ) = uR u L = (u2(uR ) (u L ) s(t )1
0
= =
R L R u L ) 2(0 s(t t)1 ) 2t
s(2) = 3
p
do lquation x = 1 + 2t .
t
1 2 3 x
Lunique solution faible entropique pour t > 0 est donc
0, si x < 1,
p
x1
t , si 1 < x < min{1 + t , 1 + 2t },
u(x, t ) = 1, si 1 + t < x < 12 t + 2,
0, si x > 12 t + 2 et t < 2,
p
0, si x > 1 + 2t et t 2.
t =0
u
t =1
t =2
t =3
t =4
x
q q
2 1
Remarquons que lamplitude du choc vaut t et le choc se dplace vitesse 2t . Par consquent, pour t , lamplitude et la
vitesse du choc tendent vers zro.
Donne 101
1 si x < 1,
g (x) = 0 si 1 < x < 2,
1 si x > 2.
+ t , < 1,
x(t ) = + q 0 (g ())t = + (g ())t = , 1 < < 2,
+ t , > 2.
G. Faccanoni 23
2 TP2 - rsolution dune quation non-linaire Mercredi 8 fvrier 2012
1 2 x
La donne initiale a un saut dcroissant en x = 1 et un saut croissant en x = 2. Puisque q est convexe, on sattend ce que
la solution faible entropique prsente une onde de choc qui part de (1, 0) et une onde de rarfaction centre en (2, 0). Pour
dterminer lquation de londe de choc on utilise les relations de Rankine-Hugoniot :
q(u R )q(u L ) (u R )2 (u L )2
(
10 1
s 0 (t ) = u R u L = 2(u R u L ) = 2(10) = 2
s(0) = 1
do x = 21 t + 1.
1 2 x
Ces considrations sont valables jusqu t = 2, ensuite on continue avoir une onde de choc mais avec
2
q(u R )q(u L ) (u R )2 (u L )2 12 s(tt )
= 12 + s(t )
0
s (t ) = = =
u R u L 2(u R u L ) 2(1 s(tt ) ) 2t
s(2) = 2
p
do lquation x = t 2t + 2.
1 2 x
p
1, si x < min{t /2 + 1, t 2t + 2},
0, si t + 1 < x < 2 et t < 2,
u(x, t ) = x2 p
t , si max{2, t 2t + 2} < x < t + 2,
1, si x > t + 2.
24 G. Faccanoni
Mercredi 8 fvrier 2012 2 TP2 - rsolution dune quation non-linaire
t =0
t =1
u
t =2
t =3
2.3 Schmas
t
Soit := x et cfl une constante relle positive et posons
1
Z x j +1/2
u nj u(x, nt )dx
x x j 1/2
t u + q 0 (u)x u = 0,
u n+1
j
u nj q 0 (u nj ) + |q 0 (u nj )| q 0 (u nj ) |q 0 (u nj )|
+ (u nj u nj1 ) + (u nj+1 u nj ) = 0
t 2x 2x
i.e.
q 0 (u nj ) + |q 0 (u nj )| q 0 (u nj ) |q 0 (u nj )|
( n
u j q 0 (u nj )(u nj u nj1 ) si q 0 (u nj ) > 0,
!
u n+1
j = u nj (u nj u nj1 ) + (u nj+1 u nj ) =
2 2 u nj q 0 (u nj )(u nj+1 u nj ) si q 0 (u nj ) < 0.
On considre ensuite des schmas de type Volumes Finis qui se basent sur la forme conservative de lquation non-linaire
t u + x q(u) = 0.
Principe : on intgre lEDP entre x j 1/2 ( j 1/2)x et x j +1/2 ( j + 1/2)x pour tout t > 0 :
Z ! Z !
x j +1/2 x j +1/2
t u(x, t )d x + x q(u(x, t ))d x = 0.
x j 1/2 x j 1/2
On pose
1
Z x j +1/2
u j (t ) = u(x, t )d x
x x j 1/2
ce qui donne
q(u j +1/2 (t )) q(u j 1/2 (t ))
t (u j (t )) + x = 0.
x
Ide : approcher q(u j +1/2 (t )) g (u j (t ), u j +1 (t )) o g est le flux numrique du schma quil faut dfinir :
x
u n+1
j = u nj (g (u nj1 , u nj ) g (u nj , u nj+1 )) avec t cfl ,
sup|q 0 (u nj )|
j
Les diffrents schmas se caractrisent par la dfinition du flux numrique g qui est une approximation du flux q :
le schma de Lax-Friedrichs :
q(L) + q(R) + LR
g (L, R) =
2
G. Faccanoni 25
2 TP2 - rsolution dune quation non-linaire Mercredi 8 fvrier 2012
le schma de Murman-Roe :
( (
q(L) si a(L, R) {0, 1}, signe(q(L) q(R)) signe(L R) si L 6= R,
g (L, R) = o a(L, R) =
q(R) si a(L, R) = 1 signe(q 0 (L)) sinon.
2.4 Code
Langage : Fortran 90
diteur : Programmers Notepad (sous Windows, coloration syntaxique de Fortran 90)
Systme dexploitation : Linux (via Cygwin)
Visualisation : Gnuplot
Les deux instruction peuvent tre excuts lune la suite de lautre en utilisant && :
gfortran burgers . f90 -o burgers . o && ./ burgers . o
Les rsultats sont sauvegards dans les fichiers burgersN.dat o N= 0 . . . Smax est le numro de la sauvegarde. Ces fichiers se
trouvent dans le dossier data. Un fichier burgersN.dat comporte NX lignes et 7 colonnes :
x u_up u_lf u_lw u_go u_mr u_gl
Pour comparer la solution approche du schma XXX avec la solution exacte au cours du temps, taper
cd data
gnuplot plot_XXX . gnu
26 G. Faccanoni
Mercredi 8 fvrier 2012 2 TP2 - rsolution dune quation non-linaire
2.5 Exercice
Dans les exemples prcdents on a rsolu certains problmes de Cauchy associs lquation de Burgers. Dans cet exercice on va
appliquer la mme mthode pour ltude thorique et numrique de lquation non-linaire
u(2 u)
t (u) + x (q(u)) = 0 avec q(u) =
2
pour diffrentes donnes initiales du type u(x, 0) = g (x).
Modifier le code fortran (crit pour lquation de Burgers) pour quil rsout numriquement cette quation non-linaire. Il
faudra notamment modifier la routine Calcul_Exacte et les fonctions flux, fluxprime et g_Go.
On remarquera notamment que lorsque lon considre le gnrique problme de Riemann
(
uL , si x < 0
g (x) =
u R , si x > 0,
Implmenter dans le code les solutions exactes calcules au premier point et les comparer avec les solutions numriques
obtenues avec les schmas - : on prendra T = 6.0, une grille de 500 mailles et L = 10 (i.e. on travaille sur lintervalle
[0; 10]) avec des conditions au bord de Neumann homognes.
Pour tester les solutions exactes on pourra faire confiance au schma de Lax-Friedrichs.
Lorsquon est convaincu que la solution exacte est correcte, on pourra alors comparer les schmas - avec cfl= 0.5, puis
avec cfl= 1, cfl= 2 et enfin avec cfl= 3. Que peut-on conclure propos de la stabilit ? Est-ce que la vitesse de londe de
choc numrique est correcte pour tous les schmas ? La solution numrique converge-t-elle toujours vers une solution
faible ? Et vers une solution faible entropique ? Les schmas - sont-ils monotones ?
Facultatif : dcrire et implmenter le schma de Glimm (voir par exemple le livre de E. F. T ORO Riemann solvers and numerical methods
for fluid dynamics. A practical introduction. Second edition. Springer-Verlag, Berlin, 1999.)
Nota Bene : dautres schmas ont t implments dans le code mais lexercice demande la comparaison seulement des schmas -.
G. Faccanoni 27
3 TP3 - systmes hyperboliques
Dans ce dernier chapitre on sintresse la rsolution de problmes de Riemann associs aux systmes hyperboliques non-
linaires en une dimension despace. Plus prcisment, on cherche une fonction
W : R+ R R p
(t , x) 7 W(t , x)
t W + x F(W) x R, t > 0,
= 0,
(
WL si x < 0,
W(0, x) =
WR si x > 0,
avec le flux
F : Rp Rp
W 7 F(W)
Pour des solutions rgulires on peut rcrire ce systme sous la forme quasi-linaire
t W + B(W)x W = 0
avec B(W) la matrice jacobienne du flux F et on note 1 (W) < 1 (W) < < p (W) ses valeurs propres.
1
Z x j +1/2
Wnj W(x, t n )d x et G(Wnj , Wnj+1 ) F(W(x j +1/2 , t n )).
x x j 1/2
x
t n n o.
2 max j Z |1 (Wnj )|, , |p (Wnj )|
28
Mercredi 8 fvrier 2012 3 TP3 - systmes hyperboliques
3.2 Exemple
On cherche simuler un coulement deau sous lhypothse de faible
profondeur dans le cas 1D et fond plat. De plus, leau sera consid-
re comme un fluide incompressible non visqueux et les frottements
air/eau et eau/sol seront ngligs. Les inconnues, fonction du temps
t [0; +[ et de lespace x R, sont h h(x, t ) > 0 la hauteur de leau h(x, t ) : hauteur de leau
et u u(x, t ) R sa vitesse horizontale (on suppose quelle est la mme
sur toute la hauteur de leau). On note g > 0 la constante de gravit. En u(x, t ) : vitesse de leau
dimension un despace et pour une topographie plate, on modlise ce
type dcoulements par le systme de Saint Venant (ou des eaux peu x
profondes) (
t h + x (hu) = 0,
avec x R, t > 0. (3.1)
t (hu) + x (hu 2 + g h 2 /2) = 0,
1. Soit W = (h, u), alors le systme (3.1) se rcrit, pour des solutions rgulires, sous la forme quasi-linaire
t W + A(W)x W = 0. (3.2)
5. Pour un tat gauche WL = (h L , u L ) donn on cherche les tats W = (h, u) qui peuvent tre reli WL par une onde de dtente.
5.1. Considrons le 1-champ. Montrer que u > u L , h < h L . Calculer u en fonction de h L , u L et h. Plus prcisment, montrer
que u peut se mettre su la forme
u = u L + r (h L , h)
en explicitant la fonction r . tudier la fonction h 7 u = u L + r (h L , h) et tracer son graphe dans le plan (h, u).
5.2. Reprendre la question pour le 2-champ.
6. Pour un tat gauche WL = (h L , u L ) donn on cherche les tats W = (h, u) qui peuvent tre reli WL par une onde de choc
entropique de vitesse k .
6.1. Montrer que les relations de Rankine-Hugoniot peuvent scrire sous la forme
(
j = h(u k ) = h L (u L k ),
g g
uh(u k ) + 2 h 2 = u L h L (u L k ) + 2 h L2 .
En dduire que
2 2
g hL h
j= .
2 u uL
6.2. Considrons le 1-champ. Calculer u en fonction de h L , u L et h. Plus prcisment, montrer que u peut se mettre sous
la forme
u = u L + d (h L , h)
en explicitant la fonction d . tudier la fonction h 7 u = u L + d (h L , h) et tracer son graphe dans le plan (h, u). Montrer
que u < u L , h > h L .
G. Faccanoni 29
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012
hu 2 g h 2
(W) = +
2 2
est une entropie du systme avec flux dentropie
hu 3
(W) = + g h 2 u.
2
Solution
1. On dveloppe les drives du systme (3.1) pour des solutions rgulires :
(
t h + ux h + hx u = 0,
ut h + ht u + 2hux u + u 2 x h + g hx h = 0.
Il se rcrit alors (
t h + ux h + hx u = 0,
u(ux h hx u) + ht u + 2hux u + u 2 x h + g hx h = 0
et on trouve le systme quasi-linaire suivant :
h u h h 0
t + = .
u g u x u 0
2. On cherche les deux solutions k (W) de lquation det(A(W) (W)Id) = 0, i.e. de lquation
(u )2 hg = 0.
On obtient
q q
1 (W) = u g h < 2 (W) = u + g h.
Puisque h 6= 0, les valeurs propres sont relles et distinctes donc le systme (3.1) est strictement hyperbolique. On peut alors
prendre
p p
h h
r1 (W) = p , r2 (W) = p .
g g
u gh u gh p
p p
T
p 3p
(1 (W)) r1 (W) = ( h) + g= g > 0, 1-champ VNL,
h u 2
u + gh p u + gh p
p p
3p
(2 (W))T r2 (W) = h+ g= g > 0, 2-champ VNL.
h u 2
tant donn quaucun champ nest LD, il ny aura aucune discontinuit de contact.
4. On vrifie que (I k (W))T rk (W) = 0 pour k = 1, 2 :
u +2 gh u +2 gh p
p p
p
(I 1 (W))T r1 (W) = ( h) + g = 0,
h u
u 2 gh p u 2 gh p
p p
(I 2 (W))T r2 (W) = h+ g = 0.
h u
5. tude des dtentes : on cherche dterminer les tats droits W = (h, u) qui peuvent tre relis un tat gauche WL = (h L , u L )
par une onde de dtente.
5.1. 1-champ :
30 G. Faccanoni
Mercredi 8 fvrier 2012 3 TP3 - systmes hyperboliques
I 1 (WL ) = I 1 (W)
donc q q
uL + 2 g hL = u + 2 gh
p p p
do h 7 u = u L + 2 g ( h L h).
p p
1 (WL ) < 1 (W) se rcrit u L g h L < u g h donc u > u L + g ( h h L ). Comme
p p p
B La condition dentropie
p p p
u = u L + 2 g ( h L h), on obtient
h < hL et u > u L .
On obtient ainsi
u = u L + r (h L , h) pour h < h L
p p p
avec r (h L , h) = 2 g ( h L h). De plus,
r
g
u 0 (h) = < 0, pour h < h L ,
h
r
1 g
u 00 (h) = > 0, pour h < h L .
2 h3
t
WL
uL
x=
x=
WL WR
(W
1
(W
R
)t
hL h
L
)t
x
Pour calculer la solution en un point (x, t ) lintrieure de londe on considre la caractristique qui relie ce point
x
lorigine de londe (0, 0). La vitesse caractristique de londe est dx
p
dt = 1 , cest--dire t
= u g h. De plus, linvariant
de Riemann est conserv dans londe, cest--dire u + 2 g h = u L + 2 g h L . On obtient u(x, t ) = 3 u L + 2 g h L + 2 xt
1
p p p
2
1
u L + 2 g h L xt .
p
et h(x, t ) = 9g
5.2. 2-champ :
B Dans une dtente les invariants de Riemann sont conservs. Ici k = 2 do
I 2 (WL ) = I 2 (W)
donc q q
uL 2 g hL = u 2
gh
p p p
do h 7 u = u L + 2 g ( h h L ).
p p p
2 (WL ) < 2 (W) se rcrit u L + g h L < u + g h donc u > u L + g ( h L h). Comme
p p
B La condition dentropie
p p p
u = u L + 2 g ( h h L ), on obtient
h > hL et u > u L .
On obtient ainsi
u = u L + r (h L , h) pour h < h L
p p p
avec r (h L , h) = 2 g ( h h L ). De plus,
r
0 g
u (h) = > 0, pour h > h L ,
h
G. Faccanoni 31
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012
r
1 g
u 00 (h) = < 0, pour h > h L .
2 h3
On a donc les graphes suivants :
u
t
WL
uL
L )t
(W
t
R)
WL WR
W
2
2(
x=
hL h
x=
x
Pour calculer la solution en un point (x, t ) lintrieure de londe on considre la caractristique qui relie ce point
x
lorigine de londe (0, 0). La vitesse caractristique de londe est dx
p
dt = 2 , cest--dire t
= u + g h. De plus, linvariant
de Riemann est conserv dans londe, cest--dire u2 g h = u R 2 g h R . On obtient u(x, t ) = 3 u R + 2 g h R + 2 xt
1
p p p
2
1
u R 2 g h R + xt .
p
et h(x, t ) = 9g
6. tude des chocs : on cherche dterminer les tats droits W = (h, u) qui peuvent tre relis un tat gauche WL = (h L , u L )
par une discontinuit de vitesse k . Les relations de Rankine-Hugoniot pour un choc de vitesse k scrivent
h L u L hu
k =
(
h L h ,
h L u L2 +(g /2)h L2 hu 2 (g /2)h 2
k = h L u L hu ,
cest--dire (
g h < 1 < u +
p p
u g h,
1 < u L g h L ,
p
donc
< 1
p p
g (h 2 h 2 )
u g hp j1 < h p gh L
(
h > hL , j1 = 2(uu L )
1 < u + g h, = j 1 > h g h, = = u < uL
j 1 > 0,
1 < u L g h L ,
p p
j 1 > hL g hL ,
et on conclut que
h > hL et u < u L .
En liminant 1 dans les relations de Rankine-Hugoniot on trouve
h 7 u = u L + d (h L , h) pour h > h L
q
g h L +h
avec d (h L , h) = (h L h) 2 hL h et la vitesse du 1-choc est
s
g hL + h
1 = u L h .
2 hL h
32 G. Faccanoni
Mercredi 8 fvrier 2012 3 TP3 - systmes hyperboliques
De plus,
2 2
g h L h + 2h + h L
r
u 0 (h) = p < 0, pour h > h L ,
8 h 3 h L (h L + h)
q
r
g h L3 (5h + 3h L )
00
u (h) = p > 0. pour h > h L .
32 h 5 (h L + h)3
x = 1 t t
WL
uL
WL WR
hL h
6.2. 2-champ : la condition dentropie (Lax) pour k = 2 demande ce que la vitesse 2 du 2-choc vrifie
(
2 (W) < 2 ,
1 (WL ) < 2 < 2 (WL ),
cest--dire (
u + g h < 2 ,
p
u L g h L < 2 < u L + g h L ,
p p
donc
u + g h <p2
p p
g (h 2 h 2 )
j 2 < hp g h L
(
h < hL , j2 = 2(uu L )
2 > u L g h L , = j 2 < h L g h L , = = u < uL
j 2 < 0,
2 < u L + g h L ,
p p
j 2 > h L g h L ,
et on conclut que
h < hL et u < u L .
En liminant 2 dans les relations de Rankine-Hugoniot on trouve
h 7 u = u L + d (h L , h) pour h < h L
q
g h L +h
avec d (h L , h) = (h h L ) 2 hL h et la vitesse du 2-choc est
s
g hL + h
2 = u L + h .
2 hL h
De plus,
2 2
g h L h + 2h + h L
r
u 0 (h) = p > 0, pour h < h L ,
8 h 3 h L (h L + h)
q
r
g h L3 (5h + 3h L )
u 00 (h) = p < 0. pour h < h L .
32 h 5 (h L + h)3
G. Faccanoni 33
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012
t x = 2 t
WL
uL
WL WR
hL h
Rcapitulatif : quel qui soit WL = (L , u L ), le demi-plan R+ R se dcompose en quatre zones spares par les quatre
demi-courbes 1-choc, 2-choc, 1-dtente et 2-dtente.
u
1-dtente
2-dtente
III IV
WL
uL
I
1-choc
II
hL h
2-choc
7. Soit un problme de Riemann avec les deux tats constants donns suivants :
hL hR
WL = , WR = .
uL uR
La solution est constitue de trois tats constants spars par deux ondes.
1-onde t
W
2-onde
WL
WR
x
Pour expliciter cette solution on cherche dfinir linconnue
h
W =
u
34 G. Faccanoni
Mercredi 8 fvrier 2012 3 TP3 - systmes hyperboliques
x = 1 (WL , W )t t x = 2 (W , WR )t
WL WR
x
Lunique solution faible entropique est
WL , si x < 1 (h L , h , u L )t ,
W(x, t ) = W , si 1 (h L , h , u L )t < x < 2 (h , h R , u )t ,
WR , si x > 2 (h , h R , u )t ,
avec
s
g hL + h
1 (h L , h , u L ) = u L h
2 hL h
s
g h + hR
2 (h , h R , u ) = u + h R
2 h hR
Cas 2) 1-choc et 2-dtente (il correspond au cas o WR appartient la zone I , cest--dire si h > h L et h < h R )
x = 1 (WL , W )t t
W
)t
2 (W
t
R)
W
2(
x=
=
x
WL WR
x
Lunique solution faible entropique est
WL , si x < 1 (h L , h , u L )t ,
W , si 1 (h L , h , u L )t < x < (u + g h )t ,
p
W(x, t ) =
si (u + g h )t < x < (u R + g h R )t ,
p p
W2det ,
p
WR , si x > (u R + g h R )t ,
avec s
g hL + h
1 (h L , h , u L ) = u L h ,
2 hL h
2 !
1
u R + 2 g h R + xt
p
9g
W2det = 1 ,
x
p
3 uR 2 g hR + 2 t
et h et u lunique solution du systme
q
g
(
u = u L + (h L h ) 2 hhL +h
h ,
p L
p p
u R = u + 2 g ( h R h ).
G. Faccanoni 35
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012
Cas 3) 1-dtente et 2-choc (il correspond au cas o WR appartient la zone I I I , cest--dire si h < h L et h > h R )
t x = 2 (W , WR )t
x=
x=
1
(W
1
(W
)t
L
)t
WL WR
x
Lunique solution faible entropique est
p
WL , si x < (u L g h L )t ,
si (u L g h L )t < x < (u g h )t ,
p p
1det ,
W
W(x, t ) =
si (u g h )t < x < 2 (h , h R , u )t ,
p
W ,
si x > 2 (h , h R , u )t ,
WR ,
avec s
g h + hR
2 (h , h R ) = u + h R ,
2 h hR
x 2
!
1
p
u L + 2 g h L t ,
W1det = 9g
1
p x
3 uL + 2 g hL + 2 t
et h et u lunique solution du systme
( p p p
u = u L + 2 g ( h L h ),
q
g
u R = u + (h R h ) 2 hh +h R
h . R
Cas 4) 1-dtente et 2-dtente (il correspond au cas o WR appartient la zone I V , cest--dire si h < h L et h < h R )
t
W
x=
)t
2 (W
x=
t
1
R)
W
(W
1
2(
x=
(W
)t
=
L
)t
WL WR
x
Lunique solution faible entropique est
p
WL , si x < (u L g h L )t ,
si (u L g h L )t < x < (u g h )t ,
p p
W1det ,
W(x, t ) = W , si (u g h )t < x < (u + g h )t ,
p p
si (u + g h )t < x < (u R + g h R )t ,
p p
W2det ,
p
W ,
R si x > (u R + g h R )t
avec
x 2
! 2 !
1 1
u R + 2 g h R + xt
p p
W1det = 9g u L + 2p g h L t , W2det = 9g ,
x
1 1
u R 2 g h R + 2 xt
p
3 uL + 2 g hL + 2 t 3
et h et u lunique solution du systme
( p p p
u = u L + 2 g ( h L h ),
p p p
u R = u + 2 g ( h R h ).
36 G. Faccanoni
Mercredi 8 fvrier 2012 3 TP3 - systmes hyperboliques
Remarque : il peut se gnrer une zone de hauteur h nulle lorsque WR appartient la zone I V : un tat intermdiaire
h > 0 nest possible que si
p p p
u R u L < 2 g ( h R h R ).
La mthode de rsolution du problme de Riemann consiste donc calculer cet tat intermdiaire (h , u ). On a vu que cet
tat peut tre reli ltat de gauche (h L , u L ) par une 1-onde :
p
u L (h h L ) p 2 gp
si h < h L (1-dtente)
u = qhL + h
g h +h L
u L (h h L ) 2 h h si h > h L (1-choc)
L
u R + (h h R )z(h , h R ) = u L (h h L )z(h , h L )
avec
2p g
p p si h ,
z(h, ) = qh+
g h+ sinon.
2 h
Remarque : Notons que pour h L = 0 (resp. h R = 0), la 1-onde (resp. la 2-onde) de choc nest pas dfinie, dans ce cas la seule
solution possible est une onde de dtente.
8. Pour vrifier que est une entropie du systme (3.1) avec le flux dentropie , on montre que
Or,
hu 3
h
W= , (W) = + g h 2 u,
u 2
donc
u3
!
W (W) = 2 + 2g hu,
3hu 2 2
2 +gh ,
et
hu 2 g h 2
(W) = +
2 2
do !
u2
+gh
W (W) = 2 .
hu
Donc !T
u2
u3 !
+gh u h + 2g hu
W (W) A(W) = 2 2
= 3hu 2 = W (W).
hu g u + g h2
2
G. Faccanoni 37
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012
Le code saintvenant.f90 rsout numriquement et exactement les problmes de Riemann associs au systme de Saint
Venant.
Pour utiliser cet exemple, copier dans un sous-dossier du dossier C:/cygwin le fichier saintvenant.f90 et le dossier data o
seront sauvegard les sorties.
Lancer Cygwin depuis le menu : Start Cygwin-X XWin-Serveur
Pour compiler le programme saintvenant.f90 on utilisera la commande
gfortran saintvenant . f90 -o saintvenant . o
Les deux instruction peuvent tre excuts lune la suite de lautre en utilisant && :
gfortran saintvenant . f90 -o saintvenant . o && ./ saintvenant . o
Les rsultats sont sauvegards dans les fichiers saintvenantN.dat o N= 0 . . . Smax est le numro de la sauvegarde. Ces fichiers
se trouvent dans le dossier data. Un fichier saintvenantN.dat comporte NX lignes et 7 colonnes contenant respectivement
labscisse du centre des mailles (premire colonne), la valeur exacte de la hauteur de leau h (deuxime colonne), la valeur exacte
de la vitesse horizontale de leau u (troisime colonne), la valeur approche par le schma de Lax-Friedrichs de la hauteur de
leau h (quatrime colonne), la valeur approche par le schma de Lax-Friedrichs de la vitesse horizontale de leau u (cinquime
colonne), la valeur approche par le schma de Rusanov de la hauteur de leau h (sixime colonne), la valeur approche par le
schma de Rusanov de la vitesse horizontale de leau u (septime colonne).
Pour visualiser les solutions approches compares la solution exacte au cours du temps on tapera
cd data
gnuplot plot_h . gnu
ou
cd data
gnuplot plot_u . gnu
38 G. Faccanoni
Mercredi 8 fvrier 2012 3 TP3 - systmes hyperboliques
3.4 Exercice
On considre le systme de la dynamique des gaz isentropique en une dimension despace
(
t + x (u) = 0,
(3.3)
t (u) + x (u 2 + p) = 0,
avec une loi dtat p p(). On note (x, t ) > 0 la densit et u u(x, t ) R la vitesse du fluide.
Partie thorique
1. Dans un premier temps on suppose que la loi dtat est celle dun gaz parfait :
p() = , > 1.
1.1. Trouver les vecteurs V : R+ R R2 et F(V) : R2 R2 tels que le systme (3.3) scrit
t V + x F(V) = 0.
1.2. En se plaant dans les variables W (, u), le systme (3.3) se rcrit, pour des solutions rgulires, sous la forma
quasi-linaire
t W + A(W)x W = 0. (3.4)
Montrer que la matrice A(W) scrit
!
u
A(W) = p0 .
u
1.3. Calculer les valeurs propres 1 (W) et 2 (W) de la matrice A(W). Afin de fixer les notations on ordonne les valeurs
propres selon 1 (W) < 2 (W). Proposer une base associe de vecteurs propres droite {r1 (W), r2 (W)}. En dduire
que le systme (3.4) est strictement hyperbolique.
1.4. Vrifier que les deux champs caractristiques sont vraiment non linaires.
2. Lorsque le fluide nest pas un gaz parfait, le caractre vraiment non linaire des champs caractristiques de (3.3) rend
la rsolution du problme de Riemann assez complique. Cest pourquoi il a t propos de remplacer (3.3) par un
systme approch, dit systme de relaxation, qui scrit
t + x (u) = 0,
t (u) + x (u 2 + ) = 0, (3.5)
(V ) + (uV ) = 1 V ,
t x
avec > 0 un paramtre constant, V V (x, t ) une nouvelle variable dite volume de relaxation et (,V ) une
nouvelle loi dtat
1
(,V ) = p(1/V ) a 2 V
o a > 0 est une constante et p(1/V ) est la vraie loi dtat du fluide (sur laquelle on ne fait aucune hypothse).
2.1. Montrer formellement que, lorsque le paramtre tend vers +, alors on retrouve le systme (3.3) partir du
systme (3.5) (et on aura V = 1/).
2.2. Dsormais et pour tout ce qui suit on ne sintresse qu la structure diffrentielle de (3.5), cest--dire quon ne
tient pas compte du terme source. Autrement dit, on pose = 0. On suppose aussi que et V sont strictement
positifs.
2.2.1. Trouver les vecteurs U : R+ R R3 et H(U) : R3 R3 tels que le systme (3.5) scrive
t U + x H(U) = 0.
2.2.2. En se plaant dans les variables Y (, u,V ), le systme (3.5) se rcrit, pour des solutions rgulires, sous
la forme quasi-linaire
t Y + B(Y)x Y = 0. (3.6)
Montrer que la matrice B(Y) scrit
u 0
2 1
B(Y) = a 3 u V .
0 0 u
G. Faccanoni 39
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012
2.2.3. Calculer les valeurs propres 1 (Y), 2 (Y) et 3 (Y) de la matrice B(Y). Afin de fixer les notations on ordonne
les valeurs propres selon 1 (Y) < 2 (Y) < 3 (Y). Proposer une base associe de vecteurs propres droite
{r1 (Y), r2 (Y), r3 (Y)}. En dduire que le systme (3.6) est strictement hyperbolique.
2.2.4. Vrifier que les trois champs caractristiques sont linairement dgnrs. (Par consquent, les ondes
associes chaque champ sont des discontinuits de contact). Les ondes associes sont-elles entropiques ?
2.2.5. Pour chaque k = 1, 2, 3, on note I k et J k deux invariants de Riemann du k-me champ caractristique.
Montrer quun choix possible pour I k et J k est
a
I 1 = V, J1 = u ,
I 2 = u, J 2 = ,
a
I 3 = V, J3 = u + .
2.2.6. En utilisant les invariants de Riemann et les relations de Rankine-Hugoniot, montrer que u et sont
constants dans une 2-onde, tandis que les courbes de 1-onde et de 3-onde sont des droites dans le plan
(u, ). Vrifier en particulier que les courbes de dtente et de choc concident (i.e. les dtentes vrifient les
conditions de Rankine-Hugoniot).
2.2.7. laide du dessin dondes dans le plan (u, ) rsoudre le problme de Rie-
mann : pour un tat gauche YL et un tat droit YR on construira une solution
compose dune 1-onde, dune 2-onde et dune 3-onde sparant deux tats
intermdiaires Y1 et Y2 . On prcisera les valeurs de ces tats intermdiaires
ainsi que les vitesses des ondes.
2.2.8. Montrer que la fonction
1
Z (r,V )
(Y) = u 2 + dr
2 0 r2
est une entropie du systme (3.5). Pour cela on vrifiera que
1 2
t + x () = 0 avec (Y) = u u +G(,V )
2
cest--dire que
Y ((Y))T = Y ((Y))T B(Y)
(on ne vrifiera pas que est convexe).
2.2.9. Expliciter la fonction G dans le flux dentropie.
2.2.10. Montrer quune discontinuit de contact de la deuxime famille reliant un tat gauche YL = ( L , u L ,VL )
un tat droit Y = (, u,V ) avec vitesse = 2 (YL ) = 2 (Y) vrifie
40 G. Faccanoni