Vous êtes sur la page 1sur 40

3me MARINE

M2 MATH
2011/2012
Aide mmoire,
Exemples,
Sujets de TP.

VTISI & TSR


FU
Pro
bl
me

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

IMATH Btiment U-318 T 0033 (0)4 94 14 23 81


Universit du Sud Toulon-Var
Avenue de luniversit B gloria.faccanoni@univ-tln.fr
83957 LA GARDE - FRANCE i http://faccanoni.univ-tln.fr

2
Table des matires
1 TP1 - rsolution de lquation de transport 11
1.1 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 TP2 - rsolution dune quation non-linaire 18


2.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Exemple : quation de Burgers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Schmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3 TP3 - systmes hyperboliques 28


3.1 Schmas numriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Code associ lexemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

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.

Principe de la mthode des diffrences finies


Soit f : R R une fonction de classe C 1 (R). y
Comme
f (x 0 + h) f (x 0 )
f 0 (x 0 ) = lim
h0 h
il est naturel dintroduire les approximations f (x 0 + x)
f (x 0 )
f (x 0 + x) f (x 0 )
f 0 (x 0 ) , (1)
x
f (x 0 ) f (x 0 x)
f 0 (x 0 ) , (2)
x f (x)
f (x 0 + x) f (x 0 x)
f 0 (x 0 ) . (3)
2x
f (x 0 x)
De manire analogue, la drive seconde peut tre approche
x x
par
f (x 0 + x) 2 f (x 0 ) + f (x 0 x) x 0 x x 0 x 0 + x x
f 00 (x 0 ) .
(x)2

Si on fait un dveloppement de Taylor en x autour du point x 0

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 ),

et pour lapproximation de la drive seconde on a

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 ).

Si x est petit, ces formules sont des bonnes approximations.

5
Table des matires Mercredi 8 fvrier 2012

Gnralisation aux quations aux drives partielles


Nous nous limitons pour le moment la dimension un despace et considrons une quation aux drives partielles F (u) = 0
dfinie pour (x, t ) R R+ avec une condition initiale u(x, 0) = g (x) pour x R (remarquons que F (u) est une notation pour une
fonction de u et de ses drives partielles en tout point). Pour discrtiser le domaine R R+ , on introduit un pas despace x > 0
et un pas de temps t > 0 et on dfinit les nuds dun maillage rgulier

(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

u(, t ) = L, u(, t ) = R, pour t R+


,

elles se traduisent au niveau discret en


u 0n = L, n
uN +1 = R, pour n N.

Si on a des conditions de Neumann


x u(, t ) = L, x u(, t ) = R, pour t R+
,

elles se traduisent au niveau discret en


n n
u 1n u 0n uN uN 1
= L, = R, pour n N.
x x

Si on a des conditions priodiques


u(x + , t ) = u(x + , t ), pour x [; ], t R+

elles se traduisent au niveau discret en


u 0n = u N
n
, pour n N,
et plus gnralement u nj = u N
n
+j
.

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.

Consistance et ordre de prcision


De manire gnrale, un schma aux diffrences finies est dfini, pour tous les indices possibles j Z et n N, par la for-
mule !
n o
n+m
F x,t u j +k k kk + = 0
m mm +
+ +
o les entiers k , k , m et m dfinissent la largeur du stencil du schma.
Un des buts de lanalyse numrique est de comparer et de slectionner les meilleurs schmas suivant des critres de prcision, de
cot ou de robustesse.

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 +

Concrtement on calcule lerreur de troncature dun schma en remplaant u n+m


j +k
dans la formule par u(x+kx, t +mt ).

Consistance Le schma aux diffrence finies F x,t ({u n+m


j +k
}) est dit consistant avec lquation aux drives partielles F (u) = 0
si lerreur de troncature du schma tend vers zro, uniformment par rapport (x, t ), lorsque x et t tendent vers zro
indpendamment.

Ordre de consistance Le schma aux diffrence finies F x,t ({u n+m


j +k
}) est prcis lordre p en espace et lordre q en temps avec
lquation aux drives partielles F (u) = 0 si lerreur de troncature du schma tend vers zro comme O((x)p + (t )q ) lorsque x
et t tendent vers zro.

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.

Convergence Le schma aux diffrence finies F x,t ({u n+m


j +k
}) utilis pour la rsolution numrique de lquation aux drives
partielles F (u) = 0 est convergent si, pour toute solution u de lquation F (u) = 0, la suite u nj converge vers u(x j , t n ) avec
(x, t ) (0, 0).

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.

On dfinit les normes classiques


!1
NX
1 p
ku n kp = x |u nj |p pour 1 p < +,
j =1

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 .

Introduisant la norme matricielle subordonne kMk = supuRN 1 ,u6=0 kMuk


kuk , la stabilit du schma est quivalente

kAn k K n 0

qui veut dire que la suite des puissances de A est borne.

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

u n (x) = u nj si x j 1/2 < x < x j +1/2

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

|A(k)| 1 pour tout mode k Z.

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.

Stabilit + Consistance = Convergence

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 : diffusion et dispersion


Pour comparer divers schmas consistants et stables (donc convergents) dun point de vue pratique, un concept pertinent
(quoique formel) est celui dquation quivalente.

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

t u(x, t ) + cx u(x, t ) = 0 pour (x, t ) [0; L] [0; T ],




u(x + L, t ) = u(x, t ) pour (x, t ) [0; L] [0; T ],

u(x, 0) = g (x) pour x [0; L].

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 dcentr droite


u n+1
j
u nj u nj+1 u nj
+c =0 i.e. u n+1
j = u nj (u nj+1 u nj )
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

le schma de Beam-Warmimg (pour c > 0)

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

Lexcutable ainsi cre sappelle transport.o quon lancera en tapant


./ 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

Pour revenir au dossier prcdent taper


cd ..

1.2 Exercice
Soit la largeur du domaine L = 8 et le temps final T = 1,0

24.
0,8

On considre la condition initiale


0,6

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

tude du 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
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) =

= [1 + cos() i sin()] u n (k).

Aprs simplification on obtient


|u n+1 (k)|2 = |A(k)|2 |u n (k)|2
avec

|A(k)|2 [1 + cos()]2 + 2 sin2 =


= 1 + 2( 1)(1 cos()).

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 j , t n+1 ) u(x j , t n ) u(x j , t n ) u(x j 1 , t n )


nj +c .
t x
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 (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(x j , t n+1 ) u(x j , t n ) u(x j , t n ) u(x j 1 , t n )


nj +c
t x
2
t x u

= c2 c (x j , t n ) + O((x)2 + (t )2 )
2 2 x 2
= O((x) + (t )).

Le schma est donc dordre 1 en temps et en espace.


On aurait pu sarrter un ordre avant dans les dveloppements de Taylor, mais vous voyez bien que mme si on va plus loin on obtient le bon rsultat !
Cependant, dans la consigne de lexercice je vous ai suggr lordre pour viter de faire des calculs inutiles. Dans les exemples qui suivent on va sarrter au
minimum ncessaire.

Exemple : tude du schma (centr)

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).

Aprs simplification on obtient


|u n+1 (k)|2 = |A(k)|2 |u n (k)|2
avec

|A(k)|2 1 + 2 sin2 ().

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 j , t n+1 ) u(x j , t n ) 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 (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(x j , t n+1 ) u(x j , t n ) u(x j +1 , t n ) u(x j 1 , t n )


nj +c = O((x)2 + (t )).
t 2x
Le schma est donc dordre 1 en temps et 2 en espace.

Exemple : tude du schma (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

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

Aprs simplification on obtient


|u n+1 (k)|2 = |A(k)|2 |u n (k)|2
avec

|A(k)|2 cos2 () + 2 sin2 ().

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

u(x j , t n+1 ) u(x j , t n ) u(x j +1 , t n ) u(x j 1 , t n ) (x)2



nj +c = O (x) + (t ) + .
t 2x t

(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.

Exemple : tude du schma (Lax-Wendroff)


Pour j = 0, . . . , N 1 et n N, le schma de Lax-Wendroff scrit

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

Aprs simplification on obtient


|u n+1 (k)|2 = |A(k)|2 |u n (k)|2
avec

|A(k)|2 2 (2 1)(cos() 1)2 + 1.

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

u(x j , t n+1 ) u(x j , t n ) u(x j +1 , t n ) u(x j 1 , t n ) u(x j +1 , t n ) 2u(x j , t n ) + u(x j 1 , t n )


nj +c c 2 t = 0.
t 2x 2(x)2

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

u(x j , t n+1 ) u(x j , t n ) u(x j +1 , t n ) u(x j 1 , t n ) u(x j +1 , t n ) 2u(x j , t n ) + u(x j 1 , t n )


nj +c c 2 t = O((t )2 ) + O((x)2 ).
t 2x 2(x)2
t
car, sous la condition CFL calcule prcdemment, O c x = O(1), le schma est donc dordre 2 en temps et en espace.

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 )

solution faible entropique du problme (


t u + x q(u) = 0, x R, t > 0,
u(x, 0) = g (x), x R,
avec le flux

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 ) :

q(u R (s(t ), t )) < s 0 (t ) < q(u L (s(t ), 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

2.2 Exemple : quation de Burgers



u2
Considrons lquation de Burgers t u + x 2 = 0 avec la donne initiale u(x, 0) = g (x). Il sagit dune quation de type
t u + x q(u) = 0 avec
u2
q(u) = , q 0 (u) = u, (q 0 )1 (r ) = r.
2

18
Mercredi 8 fvrier 2012 2 TP2 - rsolution dune quation non-linaire

Donne 2 1 Considrons la donne initiale


(
2, si x < 1,
u(x, 0) = g (x)
1, si x > 1.

Lquation de la caractristique de pied (, 0) est donc


(
0 + 2t , < 1,
x(t ) = + q (g ())t = + (g ())t =
t, > 1.

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

La solution est donc (


2, x < 1 + 12 t ,
u(x, t ) =
1, x > 1 + 21 t .

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.

Lquation de la caractristique de pied (, 0) est

, < 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

Donne 210 Considrons la donne initiale



2 si x < 1,

g (x) = 1 si 1 < x < 2,

0 si x > 2.

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

Lunique solution faible entropique pour tout t > 0 est donc


3 3

2, si x < min{ 2 t + 1, t + 2 },

3 1
u(x, t ) = 1, si 2 t + 1 < x < 2 t + 2,

0, si x > max{ 12 t + 2, t + 32 },

u
t =0

t = 0.5

t =1

t = 1.5

Donne 010 Considrons la donne initiale



0 si x < 1,

g (x) = 1 si 1 < x < 2,

0 si x > 2.

Lquation de la caractristique de pied (, 0) est

, < 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.

Lquation de la caractristique de pied (, 0) est

+ 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

la solution approche dans la mailles de centre ( j x, nt ).


On considre tout dabord le schma upwind, qui se base sur la forme non-conservative

t u + q 0 (u)x u = 0,

tel quon la crit pour lquation de transport :

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 Lax-Wendroff : L+R


q(L) + q(R) (q(R) q(L))q 0 2
g (L, R) =
2
le schma de Godunov : si on dnote w( xt , L, R) la solution exacte du problme de Riemann deux tats donns par L
(gauche) et R (droite), le flux numrique scrit

g (L, R) = q(w(0, L, R))

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

Le code burgers.f90 rsout lquation de Burgers.


Copier dans un sous-dossier du dossier C:/cygwin le fichier burgers.f90 et le dossier data o seront sauvegard les sor-
ties.
Lancer Cygwin depuis le menu : Start Cygwin-X XWin-Serveur
Pour compiler le programme burgers.f90 on utilisera la commande
gfortran burgers . f90 -o burgers . o

Lexcutable ainsi cre sappelle burgers.o quon lancera en tapant


./ burgers . o

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

o XXX est Up ou LF ou LW ou Go ou MR ou Gl.


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

Pour revenir au dossier prcdent, taper


cd ..

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).

Calculer la solution exacte pour les donnes initiales suivantes :


( (
1 si x < 1, 0 si x < 1,
g (x) = g (x) =
0 si x > 1, 1 si x > 1,

2 si x < 1,
0 si x < 1,
2 si x < 1,
1 si x < 1,

g (x) = 1 si x ]1; 2[, g (x) = 1 si x ]1; 2[, g (x) = 0 si x ]1; 2[, g (x) = 0 si x ]1; 2[,

0 si x > 2, 2 si x > 2, 1 si x > 2, 2 si x < 2,

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,

B si le flux est convexe (exemple q(u) = u 2 /2) on a


B une onde de choc ssi u L > u R
B une onde de rarfaction ssi u L < u R
B si le flux est concave (exemple q(u) = u(2 u)/2) on a
B une onde de choc ssi u L < u R
B une onde de rarfaction ssi u L > u R

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)

qui vrifie (au sens faible) le systme dEDPs

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.

3.1 Schmas numriques


Pour j Z et n N on pose

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

On considre des schmas Volumes Finis :


t n h i
Wn+1
j = Wnj G(Wnj , Wnj+1 ) G(Wnj1 , Wnj ) ,
x
savoir
x
F(a) + F(b) t n (b a)
le schma de Lax-Friedrichs G(a, b) =
2
F(a) + F(b) ba
le schma de Rusanov G(a, b) = max {|k (a)|, |k (b)|}
2 k=1,...,p 2

On associe ces schmas la condition de stabilit de Courant-Friedrichs-Lewy

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,

Sous forme vectorielle il scrit


t U + x F(U) = 0
ayant dfini

h hu
U= , F(U) = g .
hu hu 2 + 2 h 2

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)

Montrer que la matrice A(W) scrit


u h
.
g u
2. Calculer les deux valeurs propres 1 (W) et 2 (W) de la matrice A(W). Afin de fixer les notations on ordonne les deux 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.1) est strictement hyperbolique.
3. Vrifier que les champs 1 et 2 sont vraiment non linaires.
4. On note I k linvariant de Riemann du k-me champ caractristique. Montrer quun choix possible pour I 1 et I 2 est
q
I 1 = u + 2 g h,
q
I 2 = u 2 g h.

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

6.3. Reprendre la question pour le 2-champ.


7. laide du dessin donde dans le plan (h, u) rsoudre le problme de Riemann : pour un tat gauche WL et un tat droit WR
on construira une solution compose dune 1-onde et dune 2-onde sparant un tat intermdiaire W . On prcisera les
valeurs de cet tat intermdiaire ainsi que les vitesses des ondes.
8. Cherchons maintenant une entropie pour le systme (3.1). Montrer que la fonction

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

3. Pour dterminer la nature des deux champs caractristiques on calcule (k )T rk pour k = 1, 2 :

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

B Dans une dtente les invariants de Riemann sont conservs. Ici k = 1 do

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

On a donc les graphes suivants :


u

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 ,

quon peut rcrire comme (


hu k h = h L u L k h L ,
(u k )hu (u L k )h L u L = (g /2)(h L2 h 2 ),
ou encore (
j k h(u k ) = h L (u L k ),
j k (u u L ) = (g /2)(h L2 h 2 ).
6.1. 1-champ : la condition dentropie (Lax) pour k = 1 demande ce que la vitesse 1 du 1-choc vrifie
(
1 (W) < 1 < 2 (W),
1 < 1 (WL ),

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

On a donc les graphes suivants :


u

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

On a donc les graphes suivants :

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

laide de ltude des ondes prcdent.

On a cinq cas possibles :


Cas 1) 1-choc et 2-choc (il correspond au cas o WR appartient la zone I I , cest--dire si h > h L et h > h R )

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

et h et u est lunique solution du systme


q
u = u + (h h ) g hL +h ,
L L
q2 h L h
u = u + (h h ) g h +hR .
R 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

et ltat de droite (h R , u R ) par une 2-onde :


p
u R + (h h R ) p 2 gp


si h < h R (2-dtente)
u = qhR + h
g h +h R
u R + (h h R ) 2 h h si h > h R (2-choc)

R

Pour calculer h on doit donc rsoudre

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

ce qui revient chercher le zro de la fonction

f (h) = u R u L + (h h L )z(h, h L ) + (h h R )z(h, h R )

et u est dduit tout simplement par


u = u R + (h h R )z(h , h R ).

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

W (W) = W (W) A(W).

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

Il ne reste prouver que la convexit de lentropie en calculant la matrice hessienne :



g u
d2 (W) = .
u h

Si g h u 2 > 0 lentropie est convexe.

G. Faccanoni 37
3 TP3 - systmes hyperboliques Mercredi 8 fvrier 2012

3.3 Code associ lexemple


Langage : Fortran 90
diteur : Programmers Notepad (sous Windows, coloration syntaxique de Fortran 90)
Systme dexploitation : Linux (via Cygwin)
Visualisation : Gnuplot

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

Lexcutable ainsi cre sappelle saintvenant.o quon lancera en tapant


./ 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

Pour revenir au dossier prcdent, taper


cd ..

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

(Y) (YL ) = ((Y) (YL )),

autrement dit on a conservation de lentropie.


Partie numrique crire un programme (en sinspirant ventuellement du programme saintvenant.f90) pour rsoudre des
problmes de Riemann associs au systme de relaxation (3.6) avec = 0 et = 1.4 : on utilisera ltude thorique pour
implmenter la solution exacte et on la comparera aux solutions numriques obtenues par les schmas de Lax-Friedrichs et
de Rusanov.

40 G. Faccanoni