Vous êtes sur la page 1sur 24

2

Mthode des Diffrences Finis chapitre 7

Marc Buffat UFR de Mcanique Universit Claude Bernard, Lyon I

28 fvrier 2008

Marc BUFFAT, UFR Mcanique, UCBLyon

3
7.2. QUATION DE POISSON
z

x=0 x x=a x+dx

T x T

ux

Chapitre 7
f

F IG . 7.1 quilibre statique dune membrane dans le plan (x,z)

Schmas diffrences nies en 2D

7.1 Introduction

Dans ce chapitre, nous tendrons la dmarche danalyse, dcrite au chapitre prcdent, la rsolution de problmes bidimensionnels en espace. Nous tudierons les problmes classiques de type :

2. des forces de chargement verticales :

en notant x langle de la surface u(x, y) avec lhorizontal. De mme pour le cot dabscisse y, la force de tension scrit : 0 T dx cos y sin y f (x, y)dxdy

1. elliptique : dformation dune membrane,

Lquilibre statique conduit donc aux quations suivantes :

2. hyperbolique : oscillation dune surface libre,

3. parabolique : dispersion dun polluant.

7.2 quation de Poisson

T dy(cos x+dx cos x ) = 0 T dx(cos y+dy cos y ) = 0 T dy(sin x sin x+dx ) + T dx(sin y sin y+dy ) = f (x, y)dxdy avec tan x =
u x

7.2.1 Problme physique

et tan y =

u y .

En supposant que les angles sont petits, i.e : cos x 1, sin x

u u , cos y 1, sin y x y
On effectue des dveloppements limits lordre 1 dans les quations prcdentes, qui conduisent lquation dquilibre de la membrane :

On considre une membrane carre de cot a qui se dforme sous leffet dune charge surfacique f (x, y). La membrane est sous tension et xe sur les bords. On suppose quen chacun des points la tension T est constante et tangente la membrane (on nglige les forces lastiques dues la dformation de la membrane). On note u(x, y) la dforme. Les forces exerces sur un lment de membrane dxdy sont :

u u T T x x y y
auquel on ajoute les conditions aux limites :

= f (x, y)

(7.1)

u(0, y) = u(a, y) = u(x, 0) = u(x, a) = 0 En effectuant un changement de variables, on obtiens le problme modle suivant, qui est une quation de Poisson :
Marc BUFFAT, UFR Mcanique, UCBLyon

1. des forces de tension exerces sur les cots de llment. Pour le cot de longueur dy et dabcisse x, cette force est perpendiculaire au cot dy et tangente la surface u(x, y). Elle est situe dans le plan (x, z) et a pour composantes : cos x 0 T dy sin x

Marc BUFFAT, UFR Mcanique, UCBLyon

5
7.2. QUATION DE POISSON

7.2. QUATION DE POISSON

(7.2)
0 0.01 0.02 0.03 U 0.04 0.05 0.06 0.07 0 0 0.2 0.4 x 0.6 0.8 1 1 0.8 0.2 0.4 y 0.6

U = F dans =]0, 1[]0, 1[ U (0, y) = U (1, y) = U (x, 0) = U (x, 1) = 0

7.2.2 tude de la solution analytique

Pour dterminer la solution gnrale de lquation de Poisson (7.2), on dcompose U (x, y) en srie de Fourier vriant les conditions aux limites : (7.3)

U (x, y) =

k=1 p=1

Ukp sin (k x) sin ( p y)

En remplaant dans (7.2), on obtiens :

k=1 p=1

(k2 + p2 ) 2Ukp sin (k x) sin ( p y) = F (x, y)


l =1 m=1

F IG . 7.2 solution exacte de (7.2) pour F = 1 La valeur maximale Umax de la dformation se trouve au centre et a pour expression : Umax =

do les valeurs de Ukp , en multipliant cette relation par sin (k x) sin ( p x). En intgrant sur le domaine et en utilisant lorthogonalit des fonctions sin(k x), il vient : (7.4)

4 Ukp = 2 ( k + p2 ) 2

((2l 1)2 + (2m 1)2 ) 4 (2l 1)(2m 1)

16(1)l +1(1)m+1

F (x, y) sin (k x) sin ( p y) dxdy

On peut calculer une valeur approche trs prcise de cette srie avec Maple, et on trouve (pour m = l = 200) : Umax = 0.07367135123 (7.5)

cas dun chargement constant F = 1

Dans le cas dun chargement constant F = 1, la valeur du coefcient de Fourier Ukp se calcule simplement avec Maple et on trouve :

7.2.3 Schma aux diffrences nies pour le laplacien


Sur un maillage de Nx points suivant x et Ny points suivant y (gure 7.3), la discrtisation par diffrences nies centres de lquation (7.2) scrit : Ui+1, j + 2Ui, j Ui1, j Ui, j+1 + 2Ui, j Ui, j1 + = Fi, j dx2 dy2 i = 2, Nx 1 j = 2, Ny 1 avec les conditions aux limites : U1, j = UNx , j = 0 j = 1, Ny et Ui,1 = Ui,Ny = 0 i = 1, Nx (7.6)

Ukp =

4 1 (1)k (1 (1) p ) (k2 + p2 ) 4 kp

Ce coefcient est non nul si et seulement si k et p sont tous les deux impaires. La solution exacte scrit donc :

U (x, y) =

l =1 m=1

Ulm sin ((2l 1) x) sin ((2m 1) y)

avec Ulm =

16 ((2l 1)2 + (2m 1)2) 4 (2l 1)(2m 1)

Lallure de la solution est donne sur la gure (7.2).

Les pas de discrtisation en espace sont quidistants et vrient dx = dy = Ny1 1 .


Marc BUFFAT, UFR Mcanique, UCBLyon

1 Nx 1

et

Marc BUFFAT, UFR Mcanique, UCBLyon

7
7.2. QUATION DE POISSON
0 0

7.2. QUATION DE POISSON

ui, j+1
5 5

y j+1
10 10

ui1, j
15 15

ui, j

ui+1, j

yj
20 20

ui, j1
25 25 30 30

y j1
35 35 40 40

xi1
45

xi

xi+1

45

F IG . 7.3 discrtisation diffrences nies du laplacien


50 0 5 10 15 20 25 nz = 149 30 35 40 45 50

50

10

15

20

25 nz = 134

30

35

40

45

50

(a) matrice initiale

(b) matrice symtrise

F IG . 7.4 matrice du laplacien pour Nx = 7 et Ny = 7


2 N 2 N 4 de la matrice A . On tiendra compte de ces proprits lors de la cients Nx y rsolution du systme matriciel.

Ce schma conduit un systme matriciel de N = Nx Ny inconnues Ui, j . Pour crire ce systme sous la forme matricielle A X = B , on doit transformer la matrice des inconnues Ui, j en un vecteur inconnu Xk . Pour cela on numrote les inconnues par lignes, i.e. on effectue la transformation dindice (i, j) vers le monoindice k = i + ( j 1)Nx. Avec ce changement dindice, lquation aux diffrences (7.6) scrit :

cUkNx 1 + bUk1 + aUk + bUk+1 + cUk+Nx +1 = Fk

Prcision et erreur de troncature On utilise une discrtisation centre et dordre 2 de la drive seconde en x et en y, donc lerreur de troncature du schma est dordre O(dx2 , dy2 ). Elle scrit : ErrT = 1 4U 2 1 4U 2 dx + dy + O(dx4 , dy4 ) 12 x4 12 y4 La prcision du schma (7.6) est donc dordre 2 en espace, i.e. en O(dx2 , dy2 ).

7.2.4 Exprimentation numrique avec Matlab


La fonction Matlab laplace2d (7.1) calcule la matrice A et le second membre B sur un maillage diffrences nis de Nx Ny points pour une fonction F dnie aux noeuds (i, j) du maillage et des conditions aux limites homognes. Compte tenu des remarques sur la structure de la matrice A , on utilise une structure de donne de matrice creuse (sparse matrix en anglais) qui permet de ne stocker que les lments non nuls. Pour cela on stocke les coefcients non nuls de A dans un vecteur Ac, ainsi que leurs indices (i,j) dans deux autres vecteurs I et J. Pour la matrice A ci dessous :
Marc BUFFAT, UFR Mcanique, UCBLyon

pour tous les noeuds internes k = i + ( j 1)Nx avec 1 < i < Nx et 1 < j < Ny en 2 2 1 1 notant a = dx 2 + dy2 , b = dx2 et c = dy2 . Les conditions aux limites scrivent Uk = 0 pour les noeuds frontires k = 1 + ( j 1)Nx , k = Nx + ( j 1)Nx avec 1 < j < Ny et k = i , k = i + (Ny 1)Nx avec 1 < i < Nx . La matrice A est une matrice penta-diagonale dont la forme est donne sur la gure (7.4a). On vrie que la matrice possde bien au maximum 5 coefcients non nuls rpartis sur la diagonale de coefcients a, les 2 co-diagonales adjacentes de coefcients b et les 2 co-diagonales distantes de Nx 1 de la diagonale de coefcients c. On constate aussi que la matrice A est non symtrique, cause de la faon dappliquer les conditions aux limites. En effet pour un noeud k sur la frontire, on applique la condition aux limites Xk = 0 dans la ligne k de la matrice en annulant la ligne et en mettant 1 sur la diagonale. On ne tiens pas compte de cette condition aux limites dans les quations o intervient la valeur de Xk , i.e. dans les lignes de A ayant un coefcient non nul dans la colonne k. Pour conserver la symtrie de la matrice, qui traduit la symtrie du problme physique, il faut aussi annuler les coefcients de la colonne k (gure 7.4b). Dans le cas Xk = X0 , il faut en outre retrancher la colonne X0 Ak, j du second membre B . On note aussi que le nombre de coefcients non nuls de la matrice A est de lordre de 5Nx Ny 5N 2 , ce qui est beaucoup plus petit que le nombre de coef-

Marc BUFFAT, UFR Mcanique, UCBLyon

9
7.2. QUATION DE POISSON

7.2. QUATION DE POISSON

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

on utilise les 3 tableaux suivants :

A =

4 1 0 0 1 1 4 0 0 0 0 0 4 1 0 0 0 1 4 0 1 0 0 0 4

Programme 7.1 Fonction laplace2d : calcul de la matrice du laplacien

Ac = I = J =

4 1 1 1 4 4 1 1 4 1 4 1 1 1 2 2 3 3 4 4 5 5 1 2 5 1 2 3 4 3 4 1 5

Pour utiliser cette structure de donnes avec Matlab, on initialise A avec la fonction Matlab spalloc (ligne 18), qui permet de crer une matrice creuse de 5N lments, au lieu dutiliser la fonction zeros(N,N) qui cre une matrice carre de N 2 lments. Pour Nx = Ny = 100, on a N = 104 et le stockage de A sous forme de matrice creuse ncessite alors 640 kilo-octets de mmoire au lieu des 100 mgaoctets ncessaire au stockage de tous les coefcients de A , ce qui rend la rsolution du problme possible sur un ordinateur de bureau. On remarque aussi que la taille ncessaire au stockage de A est suprieur 5N rels (soit 400 kilo-octets) puisque pour chaque valeur non nulle A pq on stocke aussi les indices p et q correspondants. Pour le second membre B on transforme la matrice F des valeurs aux noeuds du maillage en un vecteur de colonne de dimension N avec la fonction Matlab reshape. La boucle dassemblage de A correspond aux lignes 20 25, et se fait ligne par ligne en utilisant la structure matricielle de Matlab (ligne 23). Les conditions aux limites sont imposes sur les cots x = 0 et x = 1 (lignes 29 32) et y = 0 et y = 1 (lignes 34 37), en annulant la ligne et la colonne k de A ainsi que le second membre Bk puis en imposant Ak,k = 1. Le script Matlab (7.2) rsout numriquement le problme (7.2) dans le cas dune fonction F = 1 (ligne 8). On utilise la fonction Laplace2d prcdente pour calculer la matrice A et le second membre B du problme. On rsout le systme (ligne 11) avec loprateur standard \ de Matlab, qui pour des matrices creuses utilisent un algorithme de Gauss par bande. Cest la mthode la plus efcace sous Matlab, mme si elle ncessite un stockage temporaire important, de 2 N puisque la largeur de bande vaut N . En utilisant la structure lordre de 2Nx y x particulire de la matrice A (tri-diagonale par blocs), on pourrait utiliser un algorithme trs efcace, qui est lextension de lalgorithme de Thomas. Son principe est dcrit dans lannexe ?? page ??, mais il nest pas implment sous Matlab. La n du script permet la visualisation en 3D de la solution calcule.

f u n c t i o n [A , B]= l a p l a c e 2 d ( F , nx , ny ) % entree : % m a t r i c e F du s e c o n d membre F i j v a l e u r de F au noeud ( i , j ) % nx , ny nombre de p o i n t s en x e t en y % sortie : % m a t r i c e A e t s e c o n d membre B % en u t i l i s a n t un s t o c a g e c r e u x % p b l e l a p (U)= f a v e c d e s C . L . homogene dx = 1 / ( nx 1); dy = 1 / ( ny 1); % c o e f f i c i a n t du shema pour l e s nds % ( i , j 1) ( i 1 , j ) ( i , j ) ( i +1 , j ) ( i , j +1) c o e f f =[ 1/ dy ^2 , 1/ dx ^ 2 , 2 / dx ^ 2 + 2 / dy ^2 , 1/ dx ^2 , 1/ dy ^ 2 ] ; % d e c a l a g e / au neud ( i , j ) dans l a n u m r o t a t i o n num = [ nx , 1, 0 , 1 , nx ] ; % a s s e m b l a g e de l a m a t r i c e pour un s t o c a g e par l i g n e % i . e l e noeud ( i , j ) a pour a d r e s s e k =( j 1) nx+ i N=nx ny ; % d i m e n s i o n A= s p a l l o c (N , N, 5 N ) ; % m a t r i c e c r e u s e de 5 e l t s maxi / l i g n e B= r e s h a p e ( F , N , 1 ) ; f o r i = 2 : nx 1 f o r j = 2 : ny 1 k =( j 1) nx+ i ; A( k , k+num )= c o e f f ; end end % c o n d i t i o n s aux l i m i t e s % ====================== % C . L . s u r l e s f r o n t i e r e s i =1 , i =nx ( D i r i c h l e t ) f o r j = 1 : ny k =( j 1) nx + 1 ; A( k , : ) = 0 ; A ( : , k ) ; A( k , k ) = 1 . 0 ; B ( k ) = 0 ; k =( j 1) nx+nx ; A( k , : ) = 0 ; A ( : , k ) = 0 ; A( k , k ) = 1 . 0 ; B( k ) = 0 ; end ; % C . L . s u r l e s f r o n t i e r e s j =1 , j =ny ( D i r i c h l e t ) f o r i = 1 : nx k= i ; A( k , : ) = 0 ; A ( : , k ) = 0 ; A( k , k ) = 1 . 0 ; B ( k ) = 0 ; k =( ny 1) nx+ i ; A( k , : ) = 0 ; A ( : , k ) = 0 ; A( k , k ) = 1 . 0 ; B( k ) = 0 ; end ; % fin

Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

11
7.3. QUATION DES ONDES
10
2

7.2. QUATION DE POISSON

12

Programme 7.2 Rsolution du problme (7.2)


10
3

1
Err 10
4

6
10 10
3 5

7
10 h
2

10

F IG . 7.6 Erreur relative en fonction du pas h du maillage

10

11

12

13

14

z= h(x,y) 111111111 000000000 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 U=(u,v) z y z=0 dy x dx

15

% r e s o l u t i o n du l a p l a c i e n clear % dimension nx = 2 1 ; ny = 2 1 ; dx = 1 / ( nx 1); dy = 1 / ( ny 1); X= [ 0 : dx : 1 ] ; Y= [ 0 : dy : 1 ] ; % a s s e m b l a g e m a t r i c e e t 2 nd membre F= o n e s ( nx , ny ) ; [A, B]= l a p l a c e 2 d ( F , nx , ny ) ; % resolution U=A\ B ; % t r a n s f o r m a t i o n de U en m a t r i c e pour v i s u a l i s a t i o n U1= r e s h a p e (U, nx , ny ) ; % visualisation s u r f c (X, Y, U1 ) ; t i t l e ( d e f o r m e e ) ; s h a d i n g i n t e r p ;

0.01

0.01

0.02

0.03

F IG . 7.7 oscillation de la surface libre

0.04

0.05

0.06

0.07

0.08 1

0.8

0.6

0.8

0.4

0.6

0.4

pente 2. Cela montre que lerreur relative est en O(h2 ), ce qui conrme le calcul de lerreur de troncature en O(dx2 , dy2 ).

0.2

0.2

F IG . 7.5 solution numrique (Nx = Ny = 11) du problme (7.2)

7.3 quation des ondes


7.3.1 Problme physique : oscillations dune surface libre

On a trac le rsultat obtenu pour Nx = Ny = 21 sur la gure (7.5). En comparant avec la solution exacte (gure 7.2), on constate une bonne concordance. Lerreur relative sur la valeur maximale de la dforme est infrieure 3% :

Err =

h Umax Umax 0.027 Umax

On sintresse aux oscillations de la surface dun liquide contenu dans un rservoir. Au repos le rservoir contient un liquide sur une hauteur h0 . La surface du liquide est plane, horizontale et note . La rpartition de pression dans le liquide est hydrostatique : ps = p0 + 0 g ( h0 z ) On perturbe la surface h(x, y, t ) linstant initiale. Celle ci se met alors osciller de part et dautre de sa position initiale h0 . On nglige les effets de viscosit, et on applique les quations de conservation de la masse et de la quantit de mouvement un cylindre lmentaire de base dxdy et de hauteur h(x, y, t ) (gure 7.7).
Marc BUFFAT, UFR Mcanique, UCBLyon

h est la valeur approche. o on a not Umax la valeur exacte (7.5) et Umax Pour terminer cette tude, nous avons effectu une tude de prcision en calculant cette erreur relative pour diffrents maillages (avec un nombre de points identique suivant x et y). Chaque maillage est caractrise par un pas de discrtisation h = dx = dy. Sur la gure (7.6), on a trac lvolution de lerreur relative Err en fonction de h, et on trouve sur une chelle logarithmique une droite de

Marc BUFFAT, UFR Mcanique, UCBLyon

13
7.3. QUATION DES ONDES
n U . +g =0 t n do lon dduit la condition aux limites sur :

7.3. QUATION DES ONDES

14

En notant U = [u(x, y, t ), v(x, y, t )] la vitesse moyenne (suivant z) et la densit, le bilan de masse pour le cylindre de volume hdxdy scrit :

hu hv ( h) + + =0 t x y De mme le bilan de quantit de mouvement scrit : n


=0

(7.9)

hu hu2 huv p + + + = 0 t x y x hv huv hv2 p + + + = 0 t x y y (x, y, 0) = w(x, y) ,


Le problme modle associ scrit : Trouvez u(x, y, t ) tel que

Les conditions initiales sont donnes par la dformation initiale w(x, y) et la vitesse de cette dformation. En supposant la vitesse de dformation initiale nulle, on a donc :

On considre que le uide est un liquide incompressible ( = cste), et que la perturbation de la surface libre = h h0 est faible. On peut alors considrer que la rpartition de pression reste hydrostatique :

(x, y, 0) = 0 t

(7.10)

En notant que h = h0 + , p = ps + g et en linarisant les quations prcdentes ( h0 , g ps , U 1), il vient : (7.7)

p(x, y, z, t ) = p0 + g (h z)

2u 2u 2u c2 0 ( 2 + 2 ) = 0 dans t2 x y u = 0 sur n u (t = 0) = 0 u(t = 0) = w , t

(7.11)

u v + h0 + h0 = 0 t x y u +g = 0 t x v +g = 0 t y

Dans le cas dun domaine circulaire de rayon r = 1, on peut avantageusement passer en coordonnes polaires (r, ). Le problme modle scrit : Trouver u(r, , t ) tel que :

En drivant la premire quation par rapport t , la seconde par rapport x et la troisime par rapport y, on obtiens lquation de propagation de la perturbation de la surface libre en liminant u et v : (7.8)

(7.12)

2 2 2 gh0 + 2 t x2 y2

=0

2u u 1 1 2u c2 r + 2 2 = 0 dans [0, 1] [0, 2 ] 0 2 t r r r r u = 0 en r=1 r u (t = 0) = 0 u(t = 0) = w , t

Cest une quation des ondes qui traduit la propagation dondes de surface avec une clrit c0 = gh0 . A cette quation, il faut ajouter une condition aux limites sur la frontire du rservoir. La condition physique est la condition de vitesse normale nulle U . n = 0 sur . Pour obtenir une condition sur , on utilise la combinaison suivant n des 2 dernires quations (7.7) :

7.3.2 tude de solutions analytiques


Dans la cas cylindrique (7.12), on a cherch la solution analytique laide du programme Maple (7.3). On a cherch une solution lmentaire variables spares sous la forme dune onde se propageant une clrit c0 et priodique en (ligne 7) :
Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

15
7.3. QUATION DES ONDES
u(r, , t ) = A(r) eIk eI c0t k Z

7.3. QUATION DES ONDES

16

Programme 7.3 Solution analytique de lquation des ondes (7.12)

En reportant dans lquation, on obtiens une quation de Bessel (ligne 9) pour A( r ) : r2

dA d2A +r + (r 2 2 k 2 )A = 0 dr2 dr dont Maple nous fournit la solution gnrale avec la fonction dsolve (ligne 11). Cette solution gnrale est une combinaison linaire de fonctions de Bessel de premire et deuxime espce : BesselJ et BesselY . De ces deux familles de fonctions de Bessel, on ne retient que la famille BesselJ , qui est la seule a avoir une valeur nie (gale 1) en r = 0. La solution lmentaire scrit (ligne 13) Ue = BesselJ (k, r)eIk eI c0t

10

11

12

13

e Cette solution lmentaire doit vrier la condition la limite U r = 0 en r = 1 (ligne 14), ce qui impose pour chaque valeur de k des valeurs de particulires. Les valeurs possibles de sont les racines de la fonction Fk (ligne 16) :

14

15

16

Fk ( ) = BesselJ (k + 1, ) +

17

18

k BesselJ (k + 1, ) On a trac cette fonction pour diffrentes valeur de k sur la gure (7.8). Pour une valeur de k x, on a une innit de racines k, p (cest lquivalent des racines k 2 des fonctions cos x en coordonnes cartsiennes). La solution lmentaire dpend donc de deux paramtres entiers k et p : Ue(k, p) = BesselJ (k, k, p)eIk eI k, p c0t La solution gnrale de lquation des ondes (7.12) est donc une combinaison linaire de ces solutions lmentaires :

19

20

21

22

23

24

25

Uex (r, , t ) =

26

k=0 p=1

Ck, pBesselJ (k, k, p)eIk eIk,pc0t

(7.13)

27

28

29

o k, p est la pime racine de Fk ( ) = 0. Les coefcients Ck, p permettent Uex de vrier les conditions initiales. A titre dexemple, on a dtermin et trac la solution modale : BesselJ (k, k, p) cos(k ) cos(k, pc0t ) pour les deux cas particuliers :
Marc BUFFAT, UFR Mcanique, UCBLyon

30

> r e s t a r t ; with ( p l o t s ) : # E q u a t i o n d e s o n d e s en p o l a i r e > d i f f ( u ( r , t h e t a , t ) , t $ 2 ) =c0 ^ 2 / r d i f f ( r d i f f ( u ( r , t h e t a , t ) , r ) ,r) + c0 ^ 2 / r ^2 d i f f ( u ( r , t h e t a , t ) , t h e t a $ 2 ) ; > eq :=%: # S o l u t i o n s en v a r i a b l e s s p a r e s de t y p e onde p e r i o d i q u e en t h e t a > u ( r , t h e t a , t ) =A( r ) exp ( I k t h e t a ) exp ( I lam bda c0 t ) ; > s u b s (% , eq ) : s i m p l i f y (%/ exp ( I k t h e t a ) / exp ( I lam bda c0 t ) / c0 ^ 2 ) ; eq1 :=%: > r h s ( eq1 ) l h s ( eq1 ) ; eq2 :=%: > d s o l v e ( eq2 , A( r ) ) ; # Modes p r o p r e s > Ue : = ( r , t h e t a , t ) > B e s s e l J ( k , lam bda r ) exp ( I k t h e t a ) exp ( I lam bda c0 t ) ; > s u b s ( r =1 , d i f f ( Ue ( r , t h e t a , t ) , r ) ) ; # Pour chaque v a l e u r de k , on c a l c u l e l e s r a c i n e s lambda > B e s s e l J ( k +1 , lam bda ) +k B e s s e l J ( k , lam bda ) / lam bda = 0 ; eq3 : = l h s (%) : > p l o t ( { s u b s ( k =0 , eq3 ) , s u b s ( k =1 , eq3 ) , s u b s ( k =2 , eq3 ) } , lam bda =0..20) ; > Um: = ( k , p ) > B e s s e l J ( k , lam bda [ k , p ] r ) exp ( I k t h e t a ) exp ( I lam bda [ k , p ] c0 t ) ; > Uex=sum ( sum ( C[ k , p ] Um( k , p ) , p = 0 . .M) , k = 0 . . N) ; # C o n d i t i o n s i n i t i a l e s p a r t i c u l i e r e s ( a v e c c0 =1) # 1 / mode r a d i a l > lam bda1 : = f s o l v e ( s u b s ( k =0 , eq3 ) , lambda , 1 0 . . 1 2 ) ; > Uex1 : = B e s s e l J ( 0 , lam bda1 r ) c o s ( lam bda1 t ) ; > a n i m a t e 3 d ( [ r c o s ( t h e t a ) , r s i n ( t h e t a ) , Uex1 ] , r = 0 . . 1 , t h e t a = 0 . . 2 Pi , t = 0 . . 2 ( 2 P i / lam bda1 ) , f r a m e s =50) ; # 2 / mode a n g u l a i r e > lam bda2 : = f s o l v e ( s u b s ( k =1 , eq3 ) , lambda , 6 . . 1 0 ) ; > Uex2 : = B e s s e l J ( 1 , lam bda2 r ) c o s ( lam bda2 t ) c o s ( t h e t a ) ; ; > a n i m a t e 3 d ( [ r c o s ( t h e t a ) , r s i n ( t h e t a ) , Uex2 ] , r = 0 . . 1 , t h e t a = 0 . . 2 Pi , t = 0 . . 2 ( 2 P i / lam bda2 ) , f r a m e s =50) ;

(7.14)

Marc BUFFAT, UFR Mcanique, UCBLyon

17
7.3. QUATION DES ONDES

7.3. QUATION DES ONDES

18

0.4

Fk 0.2

Lambda 10 12

14

16

18

20

0.2

0.4

0.6

Legend

k=0 k=1 k=2

F IG . 7.8 fonction Fk ( ) pour diffrentes valeurs de k


(a) k=0 (b) k=1

1. 3ime mode radiale (k = 0, p = 3 et 0,3 10, 173468), qui ne dpend donc pas de (lignes 22 24)

2. 3ime mode angulaire (k = 1, p = 3 et 1,3 8, 536316) (lignes 27 29)

F IG . 7.9 modes propres de lquation des ondes

On a trac ces deux modes propres sur la gure (7.9), et dans le programme Maple on a lanimation de ces modes avec la commande animate3d .

7.3.3 Schma explicite

j+1
ui, j+1 ui+1, j+1

La discrtisation de lquation des ondes (7.11) avec un schma explicite scrit en coordonnes cartsiennes sur un maillage rgulier de pas dx et dy :

y
d
j

ui+1, j+1

dr
ui, j ui+1, j ui, j+1 ui+1, j

+2 n1 n un i, j 2ui, j + ui, j

dt 2

= c2 0 dy2

n n un i+1, j 2ui, j + ui1, j

n n un i, j+1 2ui, j + ui, j1

dr
ri ri+1

rd
ui, j

dx2

(7.15) Cest lextension naturelle du schma explicite 1D ( ?? page ??) du chapitre prcdent. Pour discrtiser lquation en coordonnes polaires (7.15), on discrtise le domaine polaire = [0, 1] [0, 2 ] en (r, ) avec un pas dr et d , ce qui correspond des points sur des rayons et des cercles dans le domaine physique (x, y) (gure 7.10). On note Nr et N le nombre de noeuds suivant r et En notant un i, j = u(idr, jd , ndt ) les valeurs aux noeuds, la discrtisation par diffrences nies explicites de lquation (7.12) scrit :

F IG . 7.10 maillage D.F. en coordonnes polaires

Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

19
7.3. QUATION DES ONDES
y y u1,3 u1,3 u1,2 u0 u1,1 dr x u1,5 u1,4 u1,4 u1,5

7.3. QUATION DES ONDES

20

+2 n1 n un i, j 2ui, j + ui, j n n 1 ui+1, j ui1, j + (7.16) ri 2dr

dt 2

c2 0

n n un i+1, j 2ui, j + ui1, j

u1,2 u0 dr/2 u1,1 x

dr2 n n n u 1 i, j+1 2ui, j + ui, j1 + 2 2 d ri

conditions aux limites : A cette quation, on ajoute la condition aux limites du u problme (7.12) en r = 1 : r = 0. Pour imposer cette condition, on utilise une condition miroir qui permet de calculer la valeur inconnue uNr +1, j dans lquation discrte sur uNr , j : u1,6 u1,7 u1,8 (7.17)

u1,6 u1,7

u1,8

uNr +1, j = uNr 1, j

A cette condition physique, il faut ajouter des conditions numriques lies la transformation en coordonnes polaires :

F IG . 7.11 conditions aux limites en r = 0

1. conditions de priodicit en

u u u(r, 0) = u(r, 2 ) et (r, 0) = (r, 2 )

n n n n +2 n1 un un un 2un 1,1 2u0 + u1,5 1,3 2u0 + u1,7 0 + u0 0 = c2 + 0 2 2 2 dt dr dr

2. valeur nie en r = 0 indpendante de

En effectuant une rotation des axes (x, y) de 45 degrs, on obtiens une autre quation quivalente :
n n n n +2 n1 un un un 2un 1,2 2u0 + u1,6 1,4 2u0 + u1,8 0 + u0 0 = c2 + 0 2 2 2 dt dr dr

r 0

lim u(r, ) = u0

La premire condition traduit une priodicit en de priode 2 . Elle se traduit au niveau discret par le fait que les quations pour la ligne = 0 correspondent aux inconnues ui,1 et font intervenir des valeurs en = d qui ne sont pas dnies, i.e. un i,0 = u(idr, d ). De mme les quations pour la dernire ligne = 2 d correspondent aux inconnues ui,N et font intervenir des valeurs en = 2 qui ne sont pas dnies, i.e. un i,N +1 = u(idr, 2 ). Les conditions de priodicit permettent dimposer : (7.18)

La valeur de u0 tant unique, on choisit la moyenne de ces quations : 1 8 +2 n + un1 un j=1 un 1 , j 0 un 2 u 8 0 0 0 = 4c2 0 dt 2 dr2

n n n un i,0 = ui,N et ui,N +1 = ui,1

dans les quations pour j = 1 et j = N . La seconde condition est ncessaire, car lquation discrtise (7.16) dgnre en r = 0, de mme que lquation exacte (7.12) cause des termes en 1/r. Pour lever cette dgnrescence en r = 0, on utilise lquation discrtise en coordonnes cartsiennes (7.15). Avec les notations de la gure (7.11) et suivant les axes (x, y), cette quation scrit en r = 0 :

Cette dernire quation peut sinterprter comme un bilan de ux sur un disque de rayon dr/2. En intgrant lquation (7.12) sur ce disque, il vient, aprs utilisation du thorme de Green :
Marc BUFFAT, UFR Mcanique, UCBLyon

soit, de faon gnrale si on a N noeuds dans la direction : N 1 n n +2 n1 j= un 2un 1 u1, j u0 0 + u0 2 N 0 = 4c0 dt 2 dr2

(7.19)

Marc BUFFAT, UFR Mcanique, UCBLyon

21
7.3. QUATION DES ONDES
dr d 2 u1 i, j = wi, j +

7.3. QUATION DES ONDES

22

dr 2

2u 2 sds = c2 0 t2

u r

On obtiens ainsi la valeur de u1 avec une prcision O(dt 2, dx2 ), identique celle du schma :

dr/2

On approxime chacun de ses termes par diffrences nies. Pour le premier terme, on utilise lapproximation de la drive seconde en temps en r = 0 :

dr 2

2 w c2 1 wi+1, j wi1, j i+1, j 2wi, j + wi1, j 0 dt + (7.21) 2 dr2 ri 2dr 1 wi, j+1 2wi, j + wi, j1 + 2 d 2 ri

+2 n1 un 2un 2u dr2 0 + u0 0 2 rdr t2 dt 2 4 0 et pour le second lapproximation de la drive premire en dr/2 sur chaque rayon dangle j

Stabilit et prcision du schma

u r

dr/2

u1, j u0 dr

Ltude de la stabilit et de la consistance est effectue tout dabord sur lquation discrtise en coordonnes cartsiennes (7.15), et nous en dduirons ensuite les proprits pour lquation discrtise en coordonnes polaires (7.16).

ce qui fournit lapproximation de la seconde intgrale :

u r

dr/2

rd

u1, j u0 dr 2 dr 2 N j=1

En combinant ces deux approximations, on retrouve lquation (7.19), qui permet de calculer lvolution temporelle de la valeur u0 .

tude de la stabilit : Ltude de la stabilit utilise le programme Maple 7.4. On remplace (ligne 12) dans lquation discrtise dnie la ligne 7, la solution approche un i, j par une perturbation, que lon a dcompos en mode de Fourier suivant x et y (ligne 11) :
n I 1 idx I 2 jdy e U pn i, j = e

Aprs simplication, on obtiens une quation du second degr pour le facteur n+1 damplication G = n (ligne 19) : G2 + 2bG + 1 = 0 (7.22) Le coefcient b est simpli (lignes 21 et 22), et sexprime en fonction de 0 dt 0 dt 2 nombres de Courant CFL1 = cdx et CFL2 = cdy et de y1 = sin 1 dx 2 et y2 = sin 2 dy 2 :
2 2 y2 y2 + 2CFL b = 1 + 2CFL 2 2 1 1

condition initiale La rsolution numrique du schma explicite (7.16) ncessite linitialisation de la solution u0 t = 0 et u1 t = dt . On applique la mme dmarche que pour lquation des ondes en 1D (paragraphe ?? page ??). Disposant des deux conditions initiales du problme (7.12), la valeur u0 est donne par la premire condition : (7.20)

u0 i, j = w(idr, jd )

et la valeur de u1 est obtenue partir dun dveloppement limit en temps lordre 2 autour de u0 :

0 u1 i, j = ui, j +

u t

dt +

t =0

2u t2

dt 2 t =0 2

La valeur de

u t

est fournie par la seconde condition initiale, et on utilise

Le produit des racines de lquation (7.22) tant gale 1, la condition de stabilit |G| 1 impose donc que ces racines soient complexes conjugues, i.e. que le discriminant soit ngatif : = b2 1 0 y1 , y2 [1, 1] ce qui conduit la condition (ligne 25 et 26) :

u en fonction du laplacien de w, que lon dislquation exacte pour calculer t2 crtise ensuite par diffrences nies centres :

2u t2

t =0

c2 0 w

2 2 y2 1 y1 , y2 [1, 1] y2 + CFL CFL 2 2 1 1

Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

23
7.3. QUATION DES ONDES

7.3. QUATION DES ONDES

24

La condition de stabilit du schma explicite (7.15) scrit donc :


1 2 3 4 5

Programme 7.4 Etude de stabilit et de consistance de lquation des ondes

2 2 CFL + CFL 1 1 2

Cest une condition de Courant : (7.23)


6 7 8 9 10

CFL =

c0 dt 1 h

bas sur une longueur caractristique h de la maille diffrence nie dnie par : (7.24)
12 13 14 15 16 17 11

1 1 1 = + h dx dy

h=

dxdy

dx2 + dy2

18

dx . La condition de Si les pas de discrtisation sont gaux (dx = dy), on a h = 2 stabilit est donc plus svre en 2D quen 1D. Par analogie, la condition de stabilit du schma explicite (7.16) en coordonne polaire est aussi la condition de Courant (7.23). Il faut cependant dnir la longueur caractristique h de la maille en coordonne polaire. Cette longueur ne doit pas tre base sur les dimensions dr et d de la maille dans lespace transform, mais sur les dimensions de la maille dr et rd dans lespace physique :
19 20 21 22

h=
23

rdrd

dr2 + (rd )2

La maille dans lespace physique ntant pas constante (elle dpend de r), on doit prendre la plus petite valeur de h dans le maillage, qui est obtenue pour r = dr

24 25 26 27 28 29 30 31

hmin =

dr2 d

dr2 + (drd )2

drd

ce qui fournit la condition de stabilit du schma (7.16) : (7.25)

32 33

c0 dt CFL = 1 drd

34

35 36 37 38

On constate que cette condition en coordonne polaire est beaucoup plus contraignante que la condition (7.23) en coordonnes cartsiennes. Pour un maillage de N points dans chaque direction, il faut choisir un pas en temps dt tel que dt c0 2/N en cartsien et dt c0 /N 2 en polaire.

Marc BUFFAT, UFR Mcanique, UCBLyon


39

40

41

42

> r e s t a r t ; with ( p l o t s ) : # E q u a t i o n d e s o n d e s en c a r t e s i e n > d i f f (U( x , y , t ) , t $ 2 ) = c0 ^ 2 ( d i f f (U( x , y , t ) , x$2 ) + d i f f (U( x , y , t ) , y$2 ) ) ; > eq :=%: # Equation D. F . > (U[ i , j , n +1] 2 U[ i , j , n ]+U[ i , j , n 1]) / d t ^2= c0 ^ 2 ( (U[ i +1 , j , n ] 2 U[ i , j , n ]+U[ i 1 , j , n ] ) / dx ^ 2 + (U[ i , j +1 , n] 2 U[ i , j , n ]+U[ i , j 1 , n ] ) / dy ^ 2 ) ; eqh :=%: # E t u d e de s t a b i l i t e > Up : = ( i , j , n ) > P s i [ n ] exp ( I omega [ 1 ] i dx ) exp ( I omega [ 2 ] j dy ) ; > s u b s (U[ i , j , n +1]=Up ( i , j , n +1) ,U[ i , j , n 1]=Up ( i , j , n 1) , U[ i , j , n ]=Up ( i , j , n ) ,U[ i 1 , j , n ]= Up ( i 1 , j , n ) , U[ i +1 , j , n ]=Up ( i +1 , j , n ) ,U[ i , j 1 , n ]= Up ( i , j 1 , n ) , U[ i , j +1 , n ]=Up ( i , j +1 , n ) , eqh ) ; # > r e l 1 : = s i m p l i f y (% exp ( I omega [ 1 ] i dx ) exp ( I omega [ 2 ] j dy ) ) : > s i m p l i f y ( s u b s ( P s i [ n +1]=G P s i [ n ] , P s i [ n 1]= P s i [ n ] / G, r e l 1 G / Psi [n ]) ) ; > c o l l e c t ( d t ^ 2 ( l h s (%) r h s (%) ) ,G) = 0 ; eq3 : = l h s (%) : # c a l c u l du c o e f f i c i e n t de G > c o e f f ( eq3 , G) : expand (%) ; > s u b s ( c o s ( omega [ 1 ] dx ) =1 2 y [ 1 ] ^ 2 , c o s ( omega [ 2 ] dy ) =1 2 y [2]^2 , dx= d t c0 / CFL [ 1 ] , dy= d t c0 / CFL [ 2 ] , % ) : s i m p l i f y (%) ; b :=%/2; # R a c i n e s G c o m p l e x e s c o n j u g u e e s s i D e l t a <0 > D e l t a : = b ^2 1; f a c t o r (%) ; > CFL [ 1 ] ^ 2 y [ 1 ] ^ 2 + CFL [ 2 ] ^ 2 y [ 2 ] ^ 2 < 1 ; # C o n d i t i o n de s t a b i l i t e > CFL [ 1 ] ^ 2 + CFL [ 2 ] ^ 2 < 1 ; c d t s :=%: > s u b s ( CFL [ 1 ] = c0 d t / dx , CFL [ 2 ] = c0 d t / dy , c d t s ) ; > d t c0 s q r t ( 1 / dx ^ 2 + 1 / dy ^ 2 ) <1; # E r r e u r de t r o n c a t u r e > Uex : = ( p , q , r ) >U( x +( p i ) dx , y +( q j ) dy , t +( r n ) d t ) ; > s u b s (U[ i , j , n ]= Uex ( i , j , n ) ,U[ i , j , n 1]=Uex ( i , j , n 1) ,U[ i , j , n +1]= Uex ( i , j , n +1) ,U[ i +1 , j , n ]= Uex ( i +1 , j , n ) ,U[ i 1 , j , n ]= Uex ( i 1 , j ,n) , U[ i , j +1 , n ]= Uex ( i , j +1 , n ) ,U[ i , j 1 , n ]= Uex ( i , j 1 , n ) , l h s ( eqh ) r h s ( eqh ) ) ; r e l 3 :=%: # > U( x , y , t + d t ) = c o n v e r t ( m t a y l o r (U( x , y , t + d t ) , [ d t ] , 8 ) , d i f f ) ; S1 :=%: Marc BUFFAT, UFR Mcanique, UCBLyon > U( x , y , t d t ) = c o n v e r t ( m t a y l o r (U( x , y , t d t ) , [ d t ] , 8 ) , d i f f ) : S2 :=%: > U( x+dx , y , t ) = c o n v e r t ( m t a y l o r (U( x+dx , y , t ) , [ dx ] , 8 ) , d i f f ) : S3 :=%: > U( xdx , y , t ) = c o n v e r t ( m t a y l o r (U( xdx , y , t ) , [ dx ] , 8 ) , d i f f ) : S4 :=%: > U( x , y+dy , t ) = c o n v e r t ( m t a y l o r (U( x , y+dy , t ) , [ dy ] , 8 ) , d i f f ) : S5

25
7.3. QUATION DES ONDES
Programme 7.5 Rsolution numrique de lquation des ondes (7.11)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

7.3. QUATION DES ONDES

26

Erreur de troncature : Le calcul Maple (lignes 32 44 du programme 7.4) fournit lerreur de troncature pour le schma (7.15) en cartsien :

c2 4 u 1 4 u 2 c2 4u Et = dt 0 4 dx2 0 4 dy2 + O(dt 4, dx4 , dy4 ) 4 12 t 12 x 12 y

Le schma explicite (7.15) est donc dordre 2 en temps et en espace (i.e. a une prcision en O(dt 2, dx2 , dy2 )). Par analogie, on en dduit que le schma explicite (7.16) est aussi dordre 2 en temps et en espace (i.e. a une prcision en O(dt 2, dr2 , d 2 )). Enn on note que ces schmas explicites (7.15) et (7.16) sont des schmas dispersifs, mais non dissipatifs comme en 1D (puisque le facteur damplication G un module gal 1).

7.3.4 Exprimentation numrique avec Matlab

Le programme Matlab (7.5) implmente le schma explicite en cordonnes polaires (7.16). Les paramtres du calcul sont dnies sur les lignes 3 13, avec un CFL dnit par la relation (7.25). Pour tenir compte simplement des conditions de priodicit, la solution approche un i, j est dnie comme un tableau de dimension Nr (N + 1), i.e. avec r variant de 0 (i = 1) 1 (i = Nr ) et de 0 ( j = 1) 2 + d ( j = N + 1). La solution initiale w est dnie sur les lignes 14 21 comme combinaison linaire des 2 modes propres (7.15). Cette solution initiale permet linitialisation des champs U n0 (lignes 24 26). La seconde condition initiale (7.21) est applique lors de la premire itration en temps en notant que cette condition est dans notre cas quivalente lquation aux diffrences (7.16) 1 1 pour n = 1 avec u i, j = ui, j , i.e. lquivalent dune condition miroir linstant initiale. Cette condition peut alors tre implmente en initialisant u0 et u1 avec w, et en calculant u1 la premire itration avec la formule gnrale (7.16), et un coefcient c2 0 divis par deux (ligne 37). Dans les itrations en temps (lignes 34 57), on utilise lquation aux diffrences (7.16) pour les noeuds internes 1 < i < N , 1 < j < N en utilisant la programmation matricielle Matlab (ligne 40) . La condition aux limites en r = 1 fournit la valeur aux noeuds frontires i = N (ligne 45). Les conditions de priodicit fournissent les valeurs aux noeuds frontires j = 1 et j = N + 1 (lignes 49 50). Enn lquation pour les noeuds en r = 0 est crite aux lignes 52 54. Sur la gure (7.12), on a trac la solution calcule au bout dune priode, avec CFL = 0.9, Nr = 80 et N = 50, pour les deux conditions initiales tudies analytiquement au paragraphe 7.3.2 page 14. Elles se comparent parfaitement aux solutions analytiques de la gure (7.9).

Marc BUFFAT, UFR Mcanique, UCBLyon

% e q u a t i o n d e s o n d e s en p o l a i r e % schema e x p l i c i t e clear ; R1 = 1 ; N t h e t a = 5 0 ; Nr = 8 0 ; d t h e t a =2 p i / ( N t h e t a 1); d r =R1 / ( Nr 1); R = [ 0 : d r : R1 ] ; Theta =[0: d t h e t a :2 pi ] ; % p t s du m a i l l a g e X=R c o s ( T h e t a ) ; Y=R s i n ( T h e t a ) ; % parametre c0 = 1 ; CFL = 0 . 9 ; d t =CFL d r d t h e t a / c0 % cdts i n i t i a l k1 = 0 ; a1 = 1 . 0 ; lam bda1 = f z e r o ( i n l i n e ( 0 b e s s e l j ( 0 , r ) r b e s s e l j ( 1 , r ) ) , 1 0 ) BJ1= i n l i n e ( b e s s e l j ( 0 , r ) , r ) ; k2 = 1 ; a2 = 0 . 5 ; lam bda2 = f z e r o ( i n l i n e ( 1 b e s s e l j ( 1 , r ) r b e s s e l j ( 2 , r ) ) , 1 0 ) BJ2= i n l i n e ( b e s s e l j ( 1 , r ) , r ) ; W=( a1 BJ1 ( lam bda1 R) c o s ( k1 T h e t a ) + . . . a2 BJ2 ( lam bda2 R) c o s ( k2 T h e t a ) ) ; % initialisation Un0= z e r o s ( Nr , N t h e t a + 1 ) ; Un0 ( : , 1 : N t h e t a )=W; Un0 ( : , N t h e t a +1)= Un0 ( : , 2 ) ; Un=Un0 ; Un1=Un ; % noeuds i n t e r n e s I = [ 2 : Nr 1]; J = [ 2 : N t h e t a ] ; RI=R ( I ) o n e s ( 1 , N t h e t a 1); % schema D . F . Tf =2 (2 p i / c0 / lam bda1 ) ; n i t = round ( Tf / d t ) % iteration for i t =1: n i t c o e f = c0 ^2 d t ^ 2 ; i f ( i t ==1) c o e f = c o e f / 2 ; end ; % noeuds i n t e r n e s Un1 ( I , J )=2 Un ( I , J ) Un0 ( I , J ) + . . . ( c o e f / d t h e t a ^ 2 ) ( Un ( I , J +1) 2 Un ( I , J )+Un ( I , J 1 ) ) . / ( RI . ^ 2 ) + . . . ( c o e f / ( 2 d r ) ) ( Un ( I +1 , J ) Un ( I 1 , J ) ) . / RI + . . . ( c o e f / d r ^ 2 ) ( Un ( I +1 , J ) 2 Un ( I , J )+Un ( I 1 , J ) ) ; % C . L . en r =1 Un1 ( Nr , J )=2 Un ( Nr , J ) Un0 ( Nr , J ) + . . . ( c o e f / d t h e t a ^ 2 ) ( Un ( Nr , J +1) 2 Un ( Nr , J )+Un ( Nr , J 1 ) ) / ( R ( Nr ) ) + . . . ( c o e f / d r ^ 2 ) ( Un ( Nr 1 , J ) 2 Un ( Nr , J )+Un ( Nr 1 , J ) ) ; % periodicite Un1 ( 1 : NrUFR ,1)= Un1 ( 1 : Nr , Ntheta ) ; Marc BUFFAT, Mcanique, UCBLyon Un1 ( 1 : Nr , N t h e t a +1)= Un1 ( 1 : Nr , 2 ) ; % C . L . en r =0 Um=sum ( Un ( 2 , 2 : N t h e t a ) ) / ( N t h e t a 1); Um1=2 Un(1 , 1) Un0 ( 1 , 1 ) + ( 4 c o e f / d r ^ 2 ) (Um Un ( 1 , 1 ) ) ; Un1 ( 1 , 1 : N t h e t a +1)=Um1 ; % iteration suivante Un0=Un ; Un=Un1 ;

27
7.3. QUATION DES ONDES

7.3. QUATION DES ONDES

28

0.5

0.8

0.6

0.4

0.2

0.5
Nr=40 Ntheta=25 0.1
0.01

0.2

0.4

0.6

Nr=80 Ntheta=50

1 1
0.009
1 0 0 0.5 0.5 1 1 0.5

0.8

0.5
0.008

1 1

CFL=0.1 CFL=0.5 CFL=0.9 CFL=1 CFL=2

0.5

0.5

CFL=0.1 CFL=0.5 CFL=0.9 CFL=1 CFL=2

0.5

0.5

0.007

0.006

|UUex| 0.05

|U ex|

(a) k=0

(b) k=1

F IG . 7.12 solutions numriques de lquation des ondes


0 0 t 0.2 0.4 0.6 0.8 1 1.2 1.4

0.005

0.004

0.003

0.002

0.001

0.2

0.4

0.6 t

0.8

1.2

1.4

Pour tester la stabilit du schma, nous avons fait varier le pas en temps pour deux maillages donns : (Nr = 40, N = 25) et (Nr = 80, N = 50) avec la condition initiale suivante :
(a) Nr = 40, N = 25

(b) Nr = 80, N = 50

F IG . 7.13 volution de lerreur sur laxe en fonction du CFL

1 BesselJ (0, 0,3) cos(0,3 c0t ) + BesselJ (1, 1,3) cos( ) cos(1,3 c0t ) 2

10

CFL=0.9 (Ntheta=20)

10

h3
10
2

Err

10

10

10

10

10

10 h

10

Nous avons ensuite calcul lerreur en r = 0 en comparant la solution approche sur laxe u1,1 et la solution exacte uex = cos(c0 0,3t ) sur un temps de lordre de deux priodes 1.4. On a trac ces volutions sur la gure (7.13). On constate bien que la solution diverge ds que le nombre de Courant (7.25) est suprieur ou gale 1. On peut aussi noter que si lon choisit une condition initiale ne dpendant pas de , la solution reste stable pour des CFL beaucoup plus grands (i.e. CFL N ), ce qui montre que linstabilit la plus svre proviens de la discrtisation du terme en . Thoriquement au bout dun nombre trs grand ditrations, les erreurs darrondis devraient pouvoir dstabiliser la solution, mais ici la symtrie des calculs fait que ces erreurs sont indpendantes de et la solution non perturbe reste stable. Pour tudier la prcision du calcul, nous avons calculer lerreur au centre pour diffrents maillages avec un CFL = 0.9 avec la mme condition initiale. La solution au centre tant indpendante de , nous avons uniquement fait varier la discrtisation suivant r en choisissant des valeurs de Nr de 10 640. La taille 1 , et nous avons trac lerreur sur laxe en caractristique du maillage est h N r fonction de h sur la gure (7.14). On constate sur cette gure que lerreur se comporte la limite en O(h2 ), ce qui tait prvue par la thorie. Cela montre que notre condition en r = 0 prserve la prcision dordre 2 du schma.

F IG . 7.14 erreur sur laxe en fonction de la taille du maillage

Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

29
7.4. QUATION DE CONVECTION-DIFFUSION

7.4. QUATION DE CONVECTION-DIFFUSION

30

C C C + V1 + V2 t x y
=0

2C 2C + x2 y2

0000000000 1111111111 1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111

F IG . 7.15 diffusion dune tache de polluant

7.4 quation de convection-diffusion

7.4.1 Problme physique : dispersion dun polluant

A cette quation il faut ajouter la condition initiale C(x, y, t = 0) = w(x, y) et des conditions aux limites sur les frontires du domaine . On suppose que le polluant se trouve initialement lintrieur du domaine et a pour dimension caractristique (gure 7.15). On distingue les frontires entrantes 0 , i.e. telle que V . n < 0 et les frontires sortantes 1 , i.e. telle que V . n > 0. Si la convection est prpondrante sur la diffusion, le ux entrant sur les frontires 0 est un ux de convection qui apporte du uide non pollu dans le domaine . La condition sur 0 est une condition de Dirichlet C0 = 0. Sur les frontires 1 , le uide transporte le polluant vers lextrieur : on impose alors une condition aux limites de C Neumann n 1 = 0, qui autorise la sortie du polluant du domaine . Pour un domaine carr de dimension H , et une vitesse V avec des composantes positives V1 > 0 et V2 > 0 , la frontire 0 correspond aux deux cots x = 0 et y = 0 et la frontire 1 aux deux autres cots opposs x = H et y = H . En notant = , le problme modle scrit pour un domaine carr de dimension caractristique H : Trouver u(x, y, t ) tel que :

u u u + V1 + V2 t x y

2u 2u + x2 y2
u0 = 0 sur 0 (x = 0, y = 0) , et (

= 0 sur = [0, H ] [0, H ]

(7.26)

On considre le problme de la dispersion dun polluant la surface dun liquide en mouvement (gure 7.15). Le polluant est miscible dans le liquide, mais plus lger. On suppose que la vitesse du uide est horizontale. On peut alors considrer que le polluant diffuse essentiellement la surface, et ngliger les variations suivant la vertical z. En notant C la fraction massique de polluant et la densit du uide, lquation dquilibre pour C traduit que la variation temporelle de la quantit de polluant Cdxdydz dans un volume lmentaire dxdydz est gale un bilan de ux de C sur les facettes du volume. A travers une facette de surface dS et de normale sortante n , il existe un ux de diffusion .ndS ( est le coefcient de diffusion ) et un ux de convection C V .n dS ( V est la vitesse du uide). Lquation dquilibre scrit :

u ) = 0 sur 1 (x = H , y = H ) n 1 u(x, y, t = 0) = w(x, y)

C = div( C) div( C V ) t Compte tenu de lquation de conservation de la masse du uide :

7.4.2 tude de la solution exacte


Le problme (7.26) est un problme dvolution parabolique caractristique des problmes de mcanique des uides, avec un terme de convection et un terme de diffusion. Nous allons tout dabord effectuer une analyse dordre de grandeur de chacun de ces termes. Analyse en ordre de grandeur Soit la dimension caractristique de la tache initiale, lordre de grandeur des diffrents termes de lquation (7.26) scrit, en notant un temps caractristique : C C C + V1 + V2
Marc BUFFAT, UFR Mcanique, UCBLyon

+ div( V ) = 0 t

cette quation scrit :

C + V . C = div( C) t Compte tenu de lhypothse dindpendance des quantits par rapport z, et en supposant en outre que la densit et le coefcient de diffusion sont constants, il vient :

C C + 2 2

=0

Marc BUFFAT, UFR Mcanique, UCBLyon

31
7.4. QUATION DE CONVECTION-DIFFUSION
Diffusion convection dune gaussienne Considrons la condition initiale suivante : w(x, y) = e e

xx0 0 yy0 0 2 2

7.4. QUATION DE CONVECTION-DIFFUSION

32

Si on considre uniquement la diffusion, le temps caractristique vaut :

On retrouve le temps caractristique de diffusion (relation ?? page ??) calcul pour lquation de la chaleur. Le temps caractristique d vrie une relation du type ( rapprocher de la condition de stabilit ?? page ?? pour une quation de diffusion) : (7.27) u(x, y, t ) = A(t )e
xx0 (t ) 2 yy0 (r )

(7.31)

qui dcrit une tache gaussienne damplitude 1 centre en (x0 , y0 ), de rayon 0 . Sil ny a pas de convection, cette tache diffuse de faon auto-similaire , i.e. son amplitude diminue et son rayon augmente en conservant une forme gaussienne :

d 1 2

Cest le temps caractristique de dcroissance exponentielle des phnomnes de diffusion. Si on considre uniquement la convection, le temps caractristique vaut :

En utilisant la conservation globale de u dans tout le domaine : u(x, y, t ) dxdy = w(x, y) dxdy = cste t

on en dduit la relation entre lamplitude A(t ) et le rayon (t ) :

2 A(t ) 2(t ) = 0 4 4
2

Ce temps correspond au temps de transport de la tache par le champ de vitesse sur une distance gale la dimension de la tache. Ce temps caractristique c vrie donc une relation du type ( rapprocher de la condition de stabilit de Courant ?? page ??) : (7.28)

(lintgrale dune gaussienne vaut : e(x/ ) dx = 2 ). On cherche donc une solution de diffusion de lquation (7.26) (avec V = 0) sous la forme :
2

V c 1

u(x, y, t ) =

0 (t )

xx0 (t )

yy0 2 (r )

Pour notre problme, on peut dnir un autre temps caractristique de convection : le temps de sortie s du polluant hors du domaine . Il est bas sur la dimension caractristique L du domaine et vrie : (7.29)

En reportant cette relation dans lquation (7.26) on obtiens lquation dvolution de (t ) :

V s 1 L

d (t ) = 2 dt (t )
dont la solution vriant (0) = 0 est :

Enn le rapport entre les temps caractristiques de diffusion d et de convection c est le nombre de Pclet : (7.30) u(x, y, t ) =

(t ) =

2 4 t + 0

(7.32) La solution de diffusion de lquation (7.26) scrit donc :


2 2

d V = = Pe c

qui caractrise limportance relative du terme de convection par rapport au terme de diffusion.

0
2 4 t + 0

xx0

2 4 t +0

yy0

2 4 t +0

(7.33)

Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

33
7.4. QUATION DE CONVECTION-DIFFUSION
sigma0=0.1 kappa=0.01

7.4. QUATION DE CONVECTION-DIFFUSION

34

0.8

0.8

0.6

0.6 u

H longueur H = 1, une position initiale x0 = H 4 et y0 = 4 , le temps caractristique de diffusion vaut d 1., celui de convection c 0.1, et le nombre de Pclet Pe 10. Le problme est donc convection dominante. Au bout dun temps T f = 0.5 (T f < s = 1.0), la tache est la frontire du domaine avec une amplitude qui a diminue dun tiers : A(T f ) 0.33333.

0.4

0.4

Modes propres de diffusion

0.2

0.2

0 0

0.2
0.2 t Legend sigma(t) A(t) 0.4 0.6 0.8 1

0.4

x 0.6

0.8

1 0

0.2

0.4 y

0.6

0.8

Pour rechercher des solutions vriant les conditions aux limites, on dtermine tout dabord les modes propres de diffusion en utilisant la mthode de sparation de variable dcrite au paragraphe ?? page ??. Le calcul est identique, et on montre facilement que les modes propres sont les fonctions suivantes :
(2 p+1) 2L 2

(a) solution a t=0 et t=0.5

(b) amplitude A(t ) et taille (t )

F IG . 7.16 convection diffusion dune gaussienne (7.35)

u p,q (x, y, t ) = sin

( 2 p + 1) x ( 2q + 1) y sin e 2 L 2 L

(2q+1) 2L

(7.36)

Lamplitude de cette gaussienne dcrot donc suivant la loi :

qui vrient les conditions aux limites : u p,q (0, y, t ) = u p,q (x, 0, t ) = 0 (0 ) ,

A(t ) =

(7.34)

2 4 t + 0

d d u p,q (H , y, t ) = u p,q (x, H , t ) = 0 (1 ) dx dy

La solution gnrale de diffusion est alors une combinaison linaire de ses modes :

u(x, y, t ) =

En prenant en compte la convection par un champ de vitesse sans cisaillement, cette tache gaussienne est transporte sans dformation et diffuse le long des trajectoires du champ de vitesse comme prcdemment. Pour un champ de vitesse constant, les trajectoires sont des droites :

p=0 q=0

p,qu p,q(x, y, t )

x(t ) = x0 + V1t , y(t ) = y0 + V2t

la solution de convection-diffusion de lquation (7.26) scrit donc :


2 yy0 V2 t 2 4 t +0

u(x, y, t ) =

(7.35)

2 4 t + 0

xx0 V1 t 2

4 t +0

On a trac sur la gure (7.17) le mode p = 1 et q = 1, ainsi que lvolution temporelle de son amplitude pour les mmes paramtres que prcdemment ( = 0.01, L = 1). Sur un temps T f = 0.5, lamplitude de ce mode dcrot de 0, 8. Si on prend en compte la convection dans le cas dun champ de vitesse sans cisaillement, la solution initiale est convecte sans dformation et diffuse le long des trajectoires. Par contre, il nexiste pas de solutions analytiques simples qui vrient les conditions aux limites de (7.26). En considrant une taille de structure = 32 L, le temps caractristique de diffusion vaut d 4.5, le temps caractristique de convection c 0, 2, et le nombre de Pclet Pe 21.

7.4.3 Discrtisation par diffrences nies


Nous avons vu dans les chapitres prcdents quune discrtisation prcise de problme parabolique est le schma de Cranck Nicholson. Applique lquation
Marc BUFFAT, UFR Mcanique, UCBLyon

Cette solution est une solution en milieu inni et ne tiens pas compte des conditions aux limites du problme (7.26). Elle constitue cependant une bonne approximation de la solution, si la dimension de la tache 0 est petite devant la dimension L du domaine . On a trac lvolution de cette solution (7.35) sur la gure (7.16) pour = 0.01, 0 = 0.1 et V = [1. , 1.]. Pour ces valeurs des paramtres, un domaine de

Marc BUFFAT, UFR Mcanique, UCBLyon

35
7.4. QUATION DE CONVECTION-DIFFUSION

7.4. QUATION DE CONVECTION-DIFFUSION

36

On va donc tudier dans le paragraphe suivant une mthode alternative : la mthode des directions alternes implicites.

0.95

0.9

7.4.4 Mthode des directions alternes implicites

0.5

0.85

u0

A(t)

0.8

0.5

Le principe des mthodes des directions alternes implicites, notes ADI (ADI=Alternated Directions Implicited est le sigle classique des directions alternes en anglais), est de dcomposer les oprateurs spatiaux suivant les directions despace x et y. On crit lquation (7.26) sous la forme symbolique suivante : (7.38)

1 0

0.75

0.2

0.4

0.8

0.7

x 0.6 0.2 t 0.4 0.6 0.8 1

0.6

0.4

0.65

0.8

0.2

u = L1 (u) + L2 (u) t o L1 et L2 sont les deux oprateurs suivants :


(b) Amplitude A(t )

(a) t=0

L1 = V1
1 1 n+ 2

2 2 2 , L2 = V2 2 x x y y

(7.39)

F IG . 7.17 mode propre de diffusion p = 1 q = 1

(7.26), il scrit pour un maillage cartsien de Nx points suivant x et Ny points suivant y , et de pas dx et dy :

En notant un , un+1 , un+ 2 les solutions au temps t n = ndt , t n+1 = (n + 1)dt et 1 n+ 2 = (n + 1 peuvent scrire de faon t 2 )dt , les dveloppements limites de u symbolique :
1 dt t dt

+1 n un i, j ui, j

dt

V1 = 2 (7.37)

+1 n+1 un i+1, j ui1, j

2dx

n un i+1, j ui1, j

un+ 2 = un+ 2 =
1

e2

un = e 2 (L1 +L2) un e 2
dt t

2dx

un+1 = e 2 (L1 +L2 ) un+1 On a utilis dans ces relations le fait que un et un+1 sont solutions de lquation u exacte (7.26) pour remplacer t en fonction de L1 (u) et L2 (u). En combinant ces deux quations, il vient : e 2 (L1 +L2 ) un+1 = e 2 (L1 +L2 ) un En utilisant un dveloppement au premier ordre des exponentielles, 1 dt dt (L1 + L2 ) un+1 = 1 + (L1 + L2 ) un 2 2 on obtiens le schma suivant, dans lequel il suft dinclure lapproximation spatiale des oprateurs L1 et L2 : un+1 un L1 (un+1 ) + L1 (un ) L2 (un+1 ) + L2 (un ) = + dt 2 2 Cest le scham classique de Cranck Nicholson (7.37).
Marc BUFFAT, UFR Mcanique, UCBLyon
dt dt

dt

dx2

V2 2

+1 n+1 un i, j+1 ui, j1

2dy

n un i, j+1 ui, j1

2dy

+1 n+1 n+1 un i+1, j 2ui, j + ui1, j

dx2

n n un i+1, j 2ui, j + ui1, j

(7.40)

+1 n+1 n+1 un i, j+1 2ui, j + ui, j1 2 dy

n n un i, j+1 2ui, j + ui, j1 2 dy

Cest un schma inconditionnellement stable dordre 2 en temps et en espace, i.e. en O(dt 2, dx2 , dy2 ). A chaque itration en temps, on a rsoudre un systme dquations linaire +1 A x = B , de N = Nx Ny inconnues {un i, j }. La matrice A est une matrice pentadiagonale, qui a la mme structure que la matrice du laplacien au paragraphe 7.2.3 page 6. Pour des trs gros maillages, le cot de rsolution de ce systme linaire en utilisant les mthodes de rsolution du paragraphe 7.2.3 page 6 peut devenir rapidement prohibitif.

(7.41)

Marc BUFFAT, UFR Mcanique, UCBLyon

37
7.4. QUATION DE CONVECTION-DIFFUSION
y
yi+1 un i, j +1 yi+1

7.4. QUATION DE CONVECTION-DIFFUSION


y
1 uin,+ j +1

38

Pour les schmas ADI, on effectue tout dabord une factorisation formelle dans (7.40) : y
u i, j u i+1, j yi un i, j un i, j 1 yi1 yi u i1, j

e 2 L1 e 2 L2 un+1 = e 2 L1 e 2 L2 un

dt

dt

dt

dt

y
u i1, j

+1 un i, j

u i+1, j u i, j
+1 un i, j 1

avant le dveloppement limit des exponentielles :


yi1

1 x x
xi xi+1 xi1

dt L1 2 (7.42) tape 1

dt dt L2 un+1 = 1 + L1 2 2

1+

dt L2 un 2

x
xi1 xi xi+1

x tape 2

Formellement, on a un schma de type Cranck Nicholson dordre 2 mais avec une erreur de troncature diffrente. Pour rsoudre, on introduit la solution intermdiaire u telle que : (7.43)
+1 un i, j ui, j

dt 1 L1 u = 2 dt 1 L2 un+1 = 2 dt /2

dt 1 + L2 un 2 dt 1 + L1 u 2

F IG . 7.18 schma ADI7.44 et 7.45

= V1 V2

u i+1, j ui1, j

2dx +1 n+1 un i, j+1 ui, j1 2dy

+ +

u i+1, j 2ui, j + ui1, j

dx2 +1 +1 n+1 un 2 un i, j + ui, j1 i, j+1 dy2

(7.45)

Ces deux quations sont quivalentes lquation (7.42). Pour sen convaincre, dt il suft de multiplier la premire par 1 + dt 2 L1 et la seconde par 1 2 L1 et de les combiner. Lintrt de cette procdure par rapport Cranck Nicholson classique est que dans la premire quation (7.43), on est implicite suivant L1 (i.e. suivant x) et explicite suivant L2 (i.e. suivant y), et vice-versa dans la seconde. La rsolution de ces deux quations sera donc plus facile que la rsolution du schma de Cranck Nicholson (7.41), dans lequel on est implicite suivant les 2 directions L1 et L2 . On discrtise ensuite les oprateurs L1 et L2 avec des diffrences nies centres sur un maillage cartsien de Nx points suivant x et Ny points suivant y , et de pas dx et dy :

Ces quations ADI correspondent deux discrtisations de lquation (7.26) 1 n t n+ 2 avec un pas en temps dt 2 . La premire correspond une discrtisation entre t 1 n + et t 2 avec une implicitation dans la direction x et la seconde une discrtisation 1 entre t n+ 2 et t n avec une implicitation dans la direction y (gure 7.18). La variable
n+ 1

ui+1, j 2ui, j + ui1, j ui+1, j ui1, j + 2dx dx2 ui, j+1 ui, j1 ui, j+1 2ui, j + ui, j1 L2 (ui, j ) = V2 + 2dy dy2

L1 (ui, j ) = V1

2 intermdiaire u i, j corresponds donc une approximation de ui, j . La premire quation (7.44) couple les valeurs inconnues ui, j par ligne (gure 7.18), i.e. les valeurs inconnues sur la ligne j {u i, j }i=1,Nx sont indpendantes des valeurs sur les autres lignes. Elles sont solutions du systme linaire tri-diagonal A 1 x = B 1 de dimension Nx suivant :

On obtiens le schma ADI suivant pour lquation (7.26) : (7.44)

..

..

. . . . . .

n u i, j ui, j

dt /2 dy2

= V1

u i+1, j ui1, j

V2

2dx n un i, j+1 ui, j1

u i+1, j 2ui, j + ui1, j

2dy

dx2 n un 2 un i, j + ui, j1 i, j+1

. . 0 0 . ... ... ... ... . u . . i1, j a1 a1 0 u 0 a1 i, j . . 1 . 2 . 3 . u . . . . . i + 1, j . . . . . . . .. .. . . . 0 0


Marc BUFFAT, UFR Mcanique, UCBLyon

n 1 n 1 n = c1 1 ui, j1 + c2 ui, j + c3 ui, j+1 . . . . . .

(7.46)

Marc BUFFAT, UFR Mcanique, UCBLyon

39
7.4. QUATION DE CONVECTION-DIFFUSION
dy2
V2 1 +2 dy , c2 =

7.4. QUATION DE CONVECTION-DIFFUSION

40

avec a1 1 =

a1 2 =

2 dt

2 dt

2 1 dy 2 , c3 =

V1 2 dx , dx2 V 2 2dy . dy2

2 1 + dx 2 , a3 =

dx2

V1 1 +2 dx , et c1 =

A chaque itration en temps, on rsoud Ny systmes tri-diagonaux de rang Nx et Nx systmes tri-diagonaux de rang Ny , ce qui est beaucoup plus efcace que la rsolution dun seul systme linaire de rang Nx Ny . Pour les conditions aux limites, il faut modier la premire et la dernire ligne de ces systmes linaires. Pour les conditions de Dirichlet sur 0 , on modie la premire ligne de A 1 et A 2 :
1 1 2 2 2 A11 , j=1 = 0 , A1,1 = 1 , B1 = 0 et A1, j=1 = 0 , A1,1 = 1 , B1 = 0

Le second membre B 1 peut scrire sous la forme dun produit matrice vecteur 1 B 1 = C 1 {un i, j } avec une matrice C tridiagonale : .. .. . . . 0 0 . . ... ... ... ... . un . . i, j1 un B 1 = 0 c1 c1 c1 0 i, j 1 2 3 . . un .. .. .. . . . i, j+1 . . . . . . .. .. . . . 0 0

(7.48)

Cette condition xe la valeur de la premire ligne de u : {u i,1 }i=1,Nx = 0 et la n+1 n + 1 premire colonne de u : {u1, j } j=1,Ny = 0. Pour les conditions de Neumann sur 1 , on utilise une condition miroir, qui modie la dernire ligne de A 1 et A 2 :
1 1 = a1 AN 1 + a3 x ,Nx1

et

2 2 = a2 AN 1 + a3 y ,Ny1

(7.49)

Pour dterminer les valeurs inconnues u i, j , il faut donc rsoudre Ny systmes linaires tri-diagonaux de dimension Nx . +1 De mme la seconde quation (7.45) couple les valeurs inconnues un i, j par n+1 colonne (gure 7.18), i.e. les valeurs inconnues sur la colonne i {ui, j } j=1,Ny sont indpendantes des valeurs sur les autres colonnes. Elles sont solutions du systme linaire tri-diagonal A 2 x = B 2 de dimension Ny suivant :

De mme le second membre B 1 de ltape 1 pour la ligne j = Ny est modi :


1 n 1 n Bi1 = (c1 1 + c3 )ui,Ny 1 + c2 ui,Ny

..

..

(7.50)

. . . . . .

ainsi que le second membre B 2 de ltape 2 pour la colonne i = Nx :


2 2 2 B2 j = (c1 + c3 )uNx 1, j + c2 uNx , j

(7.51) Stabilit et prcision du schma ADI tude de la stabilit : Ltude de la stabilit utilise le programme Maple 7.6. On dnit les deux tapes (7.44 et 7.45) du schma ADI (lignes 6 13), puis on introduit une perturbation U p dcompose en mode de Fourier (ligne 15), que lon introduit dans les deux quations (lignes 16 et 22). On calcul lamplication du mode pour chacune de ces quations : i.e. n pour la premire (ligne 20) et
n+1

avec a2 1 =
dx2

. . 0 0 . n + 1 ... ... ... ... . . ui, j . 1 n+1 2 2 2 0 a1 a2 a3 0 ui, j . . . .. ... ... ... un+1 . i, j+1 . .. .. . . . . 0 0 (7.47) V1 1 +2 dx , c2 =

a2 2 =

2 dt

2 dt

V2 dy 2dy , V1 2dx . dx2

2 2 + dy 2 , a3 =

2 2 = c2 1 ui1, j + c2 ui, j + c3 ui+1, j . . . . . .

dy2

V2 1 +2 dy , et c1 =

pour la seconde (ligne 22). Do lon dduit le facteur damplication global du schma G =
n+1 n

(ligne 29) : G= a1 1 + Ib1 a2 1 + Ib2 a1 + 1 + Ib1 a2 + 1 + Ib2


dt avec a1 = (1 cos 1 dx), a2 = dx2 Le carr du module de G vaut :

2 1 dx 2 , c3 = Le second membre B 2 peut encore scrire sous la forme dun produit matrice vecteur B 2 = C 2 {u i, j } : .. .. . . . 0 0 . . ... ... ... ... . . ui1, j . 2 2 2 2 B = 0 c1 c2 c3 0 ui, j . . u 1, j . . .. ... ... ... i+ . . .. .. . . . 0 0

+1 Pour dterminer valeurs inconnues un i, j , il faut donc rsoudre Nx systmes linaires tri-diagonaux de dimension Ny .

dt (1 cos 2 dy), b1 dy2

1 dt 2 dt = Vdx , b2 = Vdx .

Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

41
7.4. QUATION DE CONVECTION-DIFFUSION

7.4. QUATION DE CONVECTION-DIFFUSION

42

Programme 7.6 Etude de la stabilit du schma ADI (7.44) G2 = ( a1 1) 2 + b2 ( a2 1) 2 + b2 1 2 + 1 1 , 2 ( a1 + 1) 2 + b2 ( a2 + 1) 2 + b2 1 2

Il est plus petit que 1 puisque a1 et a2 sont positifs. Le schma ADI (7.44 et 7.45) est donc inconditionnellement stable.

> # > > # >

10

11

tude de la consistance : Pour tudier la consistance, on utilise le programme Maple 7.7, qui est la suite du programme prcdent 7.7. Pour cela on fait la demi somme des deux quations (7.44 et 7.45) pour obtenir une quation discrte quivalente lquation exacte (7.26) (ligne 3) :

12

13

14

15

+1 n un i, j ui, j

dt V2 2 + +

= V1

u i+1, j ui1, j

2dx

(7.52)
n un i, j+1 ui, j1

16

17

18

2dy

+1 n+1 un i, j+1 ui, j1

2dy

19

20

21

u i+1, j 2ui, j + ui1, j 2 dx n n un i, j+1 2ui, j + ui, j1

22

23

+ dy2

+1 n+1 n+1 un i, j+1 2ui, j + ui, j1

24

dy2

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

En comparant cette quation (7.52) au schma de Cranck Nicholson (7.37), on peut retrouver ce dernier en remplaant simplement dans (7.52) les valeurs de n+1 1 n u i, j par la moyenne 2 (ui,, j + ui, j ). Ce schma ADI est donc bien quivalent au schma de Cranck Nicolson. Les valeurs intermdiaires u i, j sont des approxima) dt . tions de la solution t = (n + 1 2 Dans lquation quivalente (7.52), on substitue la solution approche par la solution exacte (lignes 6 15), et on effectue des dveloppements limits autour de 1 u i, j = u(idx, jdy, (n + 2 ))(lignes 18 45). Aprs soustraction de lquation exacte, on obtient lerreur de troncature Et , qui est en O(dt 2, dx2 , dy2 ). Le schma ADI (7.44 et 7.45) est donc consistant avec lquation exacte (7.26), et est dordre 2 en temps et en espace, i.e. en O(dt 2, dx2 , dy2 ).

40

41

42

7.4.5 Exprimentation numrique avec Matlab


Le programme Matlab (7.8) implmente le schma ADI en utilisant une programmation matricielle.
Marc BUFFAT, UFR Mcanique, UCBLyon

43

44

45

restart : E q u a t i o n de c o n v e c t i o n d i f f u s i o n d i f f (U( x , y , t ) , t )+ V1 d i f f (U( x , y , t ) , x )+ V2 d i f f (U( x , y , t ) , y )= kappa ( d i f f (U( x , y , t ) , x$2 )+ d i f f (U( x , y , t ) , y$2 ) ) ; eq :=%: Schema ADI (U[ ns , i , j ] U[ n , i , j ] ) / ( d t / 2 ) + V1 (U[ ns , i +1 , j ] U[ ns , i 1 , j ] ) / ( 2 dx )+ V2 (U[ n , i , j +1] U[ n , i , j 1 ] ) / ( 2 dy )= kappa ( ( U[ ns , i +1 , j ] 2U[ ns , i , j ]+U[ ns , i 1 , j ] ) / dx ^ 2 + (U[ n , i , j +1] 2 U[ n , i , j ]+ U[ n , i , j 1 ] ) / dy ^ 2 ) ; eqh1 :=%: > (U[ n +1 , i , j ] U[ ns , i , j ] ) / ( d t / 2 ) + V1 (U[ ns , i +1 , j ] U[ ns , i 1 , j ] ) / ( 2 dx )+ V2 (U[ n +1 , i , j +1] U[ n +1 , i , j 1 ] ) / ( 2 dy )= kappa ( ( U[ ns , i +1 , j ] 2U[ ns , i , j ]+U[ ns , i 1 , j ] ) / dx ^ 2 + (U[ n +1 , i , j +1] 2 U[ n +1 , i , j ]+ U[ n +1 , i , j 1 ] ) / dy ^ 2 ) ; eqh2 :=%: # E t u d e de l a S t a b i l i t e > Up : = ( n , i , j ) > P s i [ n ] exp ( I omega [ 1 ] i dx ) exp ( I omega [ 2 ] j dy ) ; > s u b s (U[ ns , i , j ]= Up ( ns , i , j ) ,U[ n , i , j ]= Up ( n , i , j ) , U[ ns , i +1 , j ]=Up ( ns , i +1 , j ) ,U[ ns , i 1 , j ]=Up ( ns , i 1 , j ) , U[ n , i , j +1]=Up ( n , i , j + 1 ) ,U[ n , i , j 1]=Up ( n , i , j 1) , eqh1 ) : > r e l 1 : = s i m p l i f y (% exp ( I omega [ 1 ] i dx ) exp ( I omega [ 2 ] j dy ) ) : > P s i [ ns ] / P s i [ n ]= s o l v e ( s u b s ( P s i [ ns ]=G P s i [ n ] , r e l 1 ) ,G ) ; r e l 1 1 :=%: # > s u b s (U[ ns , i , j ]= Up ( ns , i , j ) ,U[ n +1 , i , j ]= Up ( n +1 , i , j ) , U[ ns , i +1 , j ]=Up ( ns , i +1 , j ) ,U[ ns , i 1 , j ]= Up ( ns , i 1 , j ) , U[ n +1 , i , j +1]=Up ( n +1 , i , j + 1 ) ,U[ n +1 , i , j 1]=Up ( n +1 , i , j 1) , eqh2 ) : > r e l 2 : = s i m p l i f y (% exp ( I omega [ 1 ] i dx ) exp ( I omega [ 2 ] j dy ) ) : > P s i [ n + 1 ] / P s i [ ns ]= s o l v e ( s u b s ( P s i [ n +1]=G P s i [ ns ] , r e l 2 ) , G ) ; r e l 2 2 :=%: # Facteur d a m p l i f i c a t i o n > G: = r h s ( r e l 1 1 ) r h s ( r e l 2 2 ) ; # E t u d e de chaque t e r m e > A1= r 1 (1 c o s ( omega [ 1 ] dx ) ) ; A2= r 2 (1 c o s ( omega [ 2 ] dy ) ) ; > r e l 1 :={% ,%%}: r e l 1 1 : = { r 1 = kappa d t / dx ^ 2 , r 2 = kappa d t / dy ^ 2 } : > B1=CFL1 s i n ( omega [ 1 ] dx ) / 2 ; B2=CFL2 s i n ( omega [ 2 ] dy ) / 2 ; > r e l 2 :={% ,%%}: r e l 2 2 : = { CFL1=V1 d t / dx , CFL2=V2 d t / dy } : > G = ( ( A1 1)+ I B1 ) / ( ( A1+1)+ I B1 ) ( ( A2 1)+ I B2 ) / ( ( A2+1)+ I B2 ) ; GG: = r h s ( % ) : # Verification > G= s u b s ( r e l 1 , r e l 2 , r e l 1 1 , r e l 2 2 , GG ) : s i m p l i f y ( % ) : r h s (%) l h s ( % ) ; # C a l c u l du c a r r e du m odule de G > GG; > G1 : = ( ( A1 1)+ I B1 ) / ( ( A1+1)+ I B1 ) ; G1M= ( ( A1 1)^2+B1 ^ 2 ) / ( ( A1+1)^ 2+B1 ^ 2 ) ; > G2 : = ( ( A2 1)+ I B2 ) / ( ( A2+1)+ I B2 ) ; G2M= ( ( A2 1)^2+B2 ^ 2 ) / ( ( A2+1)^ 2+B2 ^ 2 ) ; # G1M e t G2M s o n t donc <1 ==> donc s t a b i l i t e

Marc BUFFAT, UFR Mcanique, UCBLyon

43
7.4. QUATION DE CONVECTION-DIFFUSION
Programme 7.8 Rsolution numrique de lquation (7.27)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

7.4. QUATION DE CONVECTION-DIFFUSION

44

Programme 7.7 Etude de la consitance du schma ADI (7.44)

45

46

47

48

49

50

# # > # > >

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

E r r e u r de t r o n c a t u r e d v t de t a y l o r a u t o u r de t =n +1/2 Equation e q u i v a l e n t e 1 / 2 eqh1 + 1 / 2 eqh2 : eqh12 : = l h s (%) r h s ( % ) : s u b s i t u t i o n de l a s o l u t i o n e x a c t e dans c e t t e e q u a t i o n Uex : = ( r , p , q) >U( x +( p i ) dx , y +( q j ) dy , t +( r n 1/2) d t ) ; s u b s (U[ n , i , j ]= Uex ( n , i , j ) , U[ n , i +1 , j ]= Uex ( n , i +1 , j ) ,U[ n , i 1 , j ]= Uex ( n , i 1 , j ) , U[ n , i , j +1]= Uex ( n , i , j + 1 ) ,U[ n , i , j 1]=Uex ( n , i , j 1) , U[ n +1 , i , j ]= Uex ( n +1 , i , j ) , U[ n +1 , i +1 , j ]= Uex ( n +1 , i +1 , j ) ,U[ n +1 , i 1 , j ]= Uex ( n +1 , i 1 , j ) , U[ n +1 , i , j +1]= Uex ( n +1 , i , j + 1 ) ,U[ n +1 , i , j 1]=Uex ( n +1 , i , j 1) , U[ ns , i , j ]= Uex ( n + 1 / 2 , i , j ) , U[ ns , i +1 , j ]= Uex ( n + 1 / 2 , i +1 , j ) ,U[ ns , i 1 , j ]= Uex ( n + 1 / 2 , i 1 , j ) , U[ ns , i , j +1]= Uex ( n + 1 / 2 , i , j + 1 ) ,U[ ns , i , j 1]=Uex ( n + 1 / 2 , i , j 1) , eqh12 ) ; eqh3 :=%: # D e v e l o p p e m e n t de T a y l o r a u t o u r de t =n +1/2 > k :=6: > U( x , y , t d t / 2 ) = c o n v e r t ( m t a y l o r (U( x , y , t d t / 2 ) , [ d t ] , k ) , d i f f ) : S1 :=%: > U( x , y+dy , t d t / 2 ) = c o n v e r t ( m t a y l o r (U( x , y+dy , t d t / 2 ) , [ dy , d t ] , k ) , d i f f ) : S2 :=%: > U( x , ydy , t d t / 2 ) = c o n v e r t ( m t a y l o r (U( x , ydy , t d t / 2 ) , [ dy , d t ] , k ) , d i f f ) : S3 :=%: > U( x+dx , y , t d t / 2 ) = c o n v e r t ( m t a y l o r (U( x+dx , y , t d t / 2 ) , [ dx , d t ] , k ) , d i f f ) : S4 :=%: > U( xdx , y , t d t / 2 ) = c o n v e r t ( m t a y l o r (U( xdx , y , t d t / 2 ) , [ dx , d t ] , k ) , d i f f ) : S5 :=%: > U( x , y+dy , t )= c o n v e r t ( m t a y l o r (U( x , y+dy , t ) , [ dy ] , k ) , d i f f ) : S6 :=%: > U( x , ydy , t )= c o n v e r t ( m t a y l o r (U( x , ydy , t ) , [ dy ] , k ) , d i f f ) : S7 :=%: > U( x+dx , y , t )= c o n v e r t ( m t a y l o r (U( x+dx , y , t ) , [ dx ] , k ) , d i f f ) : S8 :=%: > U( xdx , y , t )= c o n v e r t ( m t a y l o r (U( xdx , y , t ) , [ dx ] , k ) , d i f f ) : S9 :=%: > U( x , y , t + d t / 2 ) = c o n v e r t ( m t a y l o r (U( x , y , t + d t / 2 ) , [ d t ] , k ) , d i f f ) : S10 :=%: > U( x , y+dy , t + d t / 2 ) = c o n v e r t ( m t a y l o r (U( x , y+dy , t + d t / 2 ) , [ dy , d t ] , k ) , d i f f ) : S11 :=%: > U( x , ydy , t + d t / 2 ) = c o n v e r t ( m t a y l o r (U( x , ydy , t + d t / 2 ) , [ dy , d t ] , k ) , d i f f ) : S12 :=%: > U( x+dx , y , t + d t / 2 ) = c o n v e r t ( m t a y l o r (U( x+dx , y , t + d t / 2 ) , [ dx , d t ] , k ) , d i f f ) : S13 :=%: > U( xdx , y , t + d t / 2 ) = c o n v e r t ( m t a y l o r (U( xdx , y , t + d t / 2 ) , [ dx , d t ] , k ) , d i f f ) : S14 :=%: # s u b s t i t u t i o n dans l q u a t i o n d i s c r e t e e q u a t i o n e x a c t e > s u BUFFAT, b s ( S1 , S2 , S3 , S4 , S5 , S6 , S7 , S8 , S9 , S10 , S11 , S12 , S13 , S14 , eqh3 ) Marc UFR Mcanique, UCBLyon ( l h s ( eq ) r h s ( eq ) ) : > s i m p l i f y ( % ) : c o l l e c t (% ,{ d t , dx , dy } ) ; # Schema d o r d r e 2 en d t , dx e t dy

% r e s o l u t i o n ADI clear % maillage L = 1 ; H= 1 ; Nx = 5 1 ; dx=L / ( Nx 1); X= [ 0 : dx : L ] ; Ny = 5 1 ; dy=H / ( Ny 1); Y= [ 0 : dy :H ] ; % champ v i t e s s e v1 = 1 ; v2 = 1 ; % parametres kappa = 0 . 0 1 ; d t = 0 . 0 0 1 ; Tf = 0 . 5 ; n i t = round ( Tf / d t ) % champ i n i t i a l d e l t a = ( 0 . 1 ) ^ 2 ; x0=L / 4 ; y0=H / 4 ; Ui= exp ( (Xx0 ) . ^ 2 / d e l t a ) exp ( (Yy0 ) . ^ 2 / d e l t a ) ; Un=Ui ; Us=Ui ; Un1=Ui ; % m a t r i c e s 3D I 1 = o n e s ( 1 , Nx ) ; I 2 = o n e s ( 1 , Ny ) ; A1 =[ kappa / dx^2 v1 / ( 2 dx ) ; 2 / d t +2 kappa / dx ^ 2 ; . . . kappa / dx ^2+ v1 / ( 2 dx ) ] I 1 ; C1 =[ kappa / dy ^2+ v2 / ( 2 dy ) ; 2 / d t 2 kappa / dy ^ 2 ; . . . kappa / dy^2 v2 / ( 2 dy ) ] I 1 ; A2 =[ kappa / dy^2 v2 / ( 2 dy ) ; 2 / d t +2 kappa / dy ^ 2 ; . . . kappa / dy ^2+ v2 / ( 2 dy ) ] I 2 ; C2 =[ kappa / dx ^2+ v1 / ( 2 dx ) ; 2 / d t 2 kappa / dx ^ 2 ; . . . kappa / dx^2 v1 / ( 2 dx ) ] I 2 ; % C . L de D i r i c h l e t en i =1 j =1 A1 ( : , 1 ) = 0 ; A1 ( 2 , 1 ) = 1 ; C1 ( : , 1 ) = 0 ; A2 ( : , 1 ) = 0 ; A2 ( 2 , 1 ) = 1 ; C2 ( : , 1 ) = 0 ; % C . L de Neumann s u r l e s f r o n t i e r e s i =Nx j =Ny A1 ( 1 , Nx)=A1 ( 1 , Nx)+A1 ( 3 , Nx ) ; A1 ( 3 , Nx ) = 0 ; A2 ( 1 , Ny)=A2 ( 1 , Ny)+A2 ( 3 , Ny ) ; A2 ( 3 , Ny ) = 0 ; % i t e r a t i o n s en t e m p s for i t =1: n i t % 1 e r e e t a p e ADI Us ( 1 : Nx , 1 ) = 0 ; f o r j = 2 : Ny1 B1=C1 ( 1 , 1 : Nx ) . Un ( 1 : Nx , j 1)+C1 ( 2 , 1 : Nx ) . Un ( 1 : Nx , j ) + . . . C1 ( 3 , 1 : Nx ) . Un ( 1 : Nx , j + 1 ) ; Us ( 1 : Nx , j )= t r i d i a g ( A1 , B1 ) ; end ; B1=C1 ( 2 , 1 : Nx ) . Un ( 1 : Nx , Ny ) + ( C1 ( 1 , 1 : Nx ) + . . . C1 ( 3 , 1 : Nx ) ) . Un ( 1 : Nx , Ny 1); Us ( 1 : Nx , Ny)= t r i d i a g ( A1 , B1 ) ; % 2 nd e t a p e ADI Un1 ( 1 , 1 : Ny ) = 0 ; f o r i = 2 : Nx1 B2=C2 ( 1 , 1 : Ny ) . Us ( i 1 , 1:Ny ) + C2 ( 2 , 1 : Ny ) . Us ( i , 1 : Ny ) + . . . C2 (3 ,1 : Ny ) . Us ( i + 1 , 1 : Ny ) ; Marc BUFFAT, UFR Mcanique, UCBLyon Un1 ( i , 1 : Ny)= t r i d i a g ( A2 , B2 ) ; end ; B2=C2 ( 2 , 1 : Ny ) . Us ( Nx , 1 : Ny ) + . . . ( C2 ( 1 , 1 : Ny)+ C2 ( 3 , 1 : Ny ) ) . Us ( Nx 1 , 1:Ny ) ; Un1 ( Nx , 1 : Ny)= t r i d i a g ( A2 , B2 ) ; % iteration suivante Un=Un1 ;

45
7.4. QUATION DE CONVECTION-DIFFUSION
10
ADI exacte
10
2
2

7.4. QUATION DE CONVECTION-DIFFUSION

46

0.98

0.96

0.94
10
3

0.5
3

0.92

Err 10

0.88
10
4

0.5

Err

0.9

0.86

h2

1 0

0.84

0.2

0.4

0.8

0.82
4
5

0.6

0.6

0.8

0.4

0.8 0.1 t 0.2 0.3 0.4 0.5

0.2

10 10 dt
3

10

10

10

10

10

10 h

(a) t = 0.5 (a) Erreur temporelle N = 51

(b) Amplitude en x=1 et y=1

(b) erreur spatiale dt = 0.1

F IG . 7.19 solution de diffusion avec le schma ADI (mode propre p = 1, q = 1)


1 1 0.9 0.9

F IG . 7.20 Erreur numrique du schma ADI (cas de diffusion)


1 0.9

0.8

0.8

0.8

0.7

0.7

0.7

0.6

0.6

0.6

0.5

0.5

0.5

0.4

0.4

0.4

0.3

0.3

0.3

0.2

0.2

0.2

0.1

0.1

0.1

Les paramtres du calcul sont dnis aux lignes 4 10. Les matrices tridiagonales sont construites sur les lignes 17 24, puis on applique les conditions aux limites (lignes 26 30). La boucle en temps (lignes 32 55) inclus les deux tapes ADI et utilise la fonction tridiag ( ?? page ??) pour la rsolution des systmes linaires tridiagonaux.
0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

(a) t = 0

(b) t = 0.25

(c) t = 0.5

F IG . 7.21 Iso-valeurs de la solution (cas de convection-diffusion) vitesse de convection non nulle (V1 = V2 = 1). Ce cas correspond un nombre de Pclet Pe = 200. Les iso-valeurs de la solution sont traces sur la gure (7.21). On note la convection sans dformation de la solution initiale, ce qui conrme que la condition aux limites sur 1 autorise la sortie des structures hors du domaine. On a aussi compar lvolution temporelle du maximum de la solution exacte de diffusion et du maximum de la solution calcule, que lon a trac sur la gure (7.22a). On vrie ainsi que la dcroissance de la solution est une dcroissance visqueuse. Nous avons ensuite tudi linuence du pas dintgration en temps dt , en traant sur la gure (7.22b) lcart en fonction de dt entre le maximum de la solution exacte de diffusion et le maximum de la solution calcule. On constate que cet cart crot rapidement en dessus dune valeur dt = 0.1. Cette valeur est justement de lordre de grandeur du temps caractristique de convection c 0.2. En conclusion sur cette simulation, on note que le choix des paramtres numriques a t x par la physique du problme, et non par des conditions numriques de stabilit : 1. la maillage Nx = Ny = 51 permet de dcrire nement la condition initiale
Marc BUFFAT, UFR Mcanique, UCBLyon

Mode propre de diffusion : Pour valider ce programme, nous avons tout dabord simuler la diffusion du mode propre (7.36) p = 1 et q = 1 avec un maillage de Nx = Ny = 51 points dans chaque direction et un paramtre = 0.01. La solution calcule au bout dun temps T f = 0.5 avec dt = 0.01 est trace sur la gure (7.19). Lallure de la solution (gure 7.19a) concide bien avec la solution exacte (gure 7.17a) , ce que conrme le trac de lvolution temporelle de la solution au point x = 1, y = 1 compare la solution exacte (gure 7.19b). Pour tester la prcision dintgration en temps du schma, nous avons calculer lerreur au point (x = 1, y = 1) au bout du temps T f = 4 (de lordre du temps caractristique de diffusion), en fonction du pas dintgration en temps dt . Le rsultat de la gure (7.20a) montre que pour les pas en temps choisis lerreur est quasiment indpendante du pas en temps dt , et est donc essentiellement une erreur de discrtisation spatiale. On note que les pas en temps choisis sont tels que le pas en temps est beaucoup plus faible que le temps caractristique de diffusion : dt d 4.5 Nous lavons vri en faisant varier le nombre de points du maillage de Nx = Ny = 11 Nx = Ny = 101 avec un pas en temps dt = 0.1 x. Lvolution de lerreur en fonction du pas de discrtisation spatiale h = dx = dy est trace sur la gure (7.20b), et on constate que lerreur dcrot en O(h2 ). Pour cette condition initiale, nous avons aussi fait une simulation avec une

Marc BUFFAT, UFR Mcanique, UCBLyon

47
7.4. QUATION DE CONVECTION-DIFFUSION
1
0.05 Peh=2 Peh=20

7.4. QUATION DE CONVECTION-DIFFUSION


1

48

ADI exacte
0.9 0.9

0.98

0.96
0.435

0.8

0.8

0.94
0.43

0.7

0.7

0.92
U 0.05
0.405 0.425

0.6
0

0.6

0.5

0.5

0.9
0.42 Err

0.4

0.4

0.88
0.3
0.415

0.3

0.86
0.2
0.41

0.2

0.84
0.1 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0

0.82

0.1

0.2

0.3

0.4

0.5 x

0.6

0.7

0.8

0.9

0.8
0.4 3 10
2

0
10 dt 10
1

0.1

0.2

0.3

0.4

0.5

h = 20 (a) isovaleurs Pe

h=2 (b) isovaleurs Pe

(c) prol x = 0.75

(a) Evolution temporelle

(b) Erreur fonction de dt

F IG . 7.22 Erreur numrique du schma ADI


ADI exacte

h = 20) F IG . 7.24 Convection dune gaussienne (Pe

0.9

h Pe =

0.8

0.8

0.7

0.6

0.6

0.4

0.5

0.2

0 0

0.4

0.2

0.4

0.3

0.6

0.8

0.8

0.6

0.4

0.2 0.1 t 0.2 0.3 0.4 0.5

0.2

(a) solution numrique t = 0 et t = 0.5

(b) Amplitude

F IG . 7.23 Convection dune gaussienne

Vh h = 20 au lieu de Ph = 2 avec la valeur de prcdente. Sur le trac des vaut Pe e iso-valeurs (7.24a), on constate lapparition de lgres oscillations, caractrises h=2 par la prsence de nombreuses lignes iso-valeurs u = 0, qui nexistent pas Pe (gure 7.24b). Le trac dun prol x = 0.75 (gure 7.24c) montre bien lapparition dune oscillation numrique au pied de la tache gaussienne. Ces oscillations numriques sont de mme nature que celles tudies au paragraphe ?? page ?? du h devient plus chapitre prcdent. Elles apparaissent ds que le Pclet de maille Pe grand que 2 et indiquent que le maillage nest plus sufsamment n pour capter la solution de convection avec ce schma centr.

2. le pas en temps dt = 0.01vrie dt d et dt c .

Convection dune gaussienne : Le second cas de calcul correspond la condition initiale gaussienne (7.31), avec les mmes paramtres quau paragraphe 7.4.2 page 33. Pour un maillage Nx = Ny = 51 et un pas en temps dt = 0.01, on a trac sur la gure (7.23a) la solution t = 0 et t = 0.5. Cette solution se compare trs bien avec la solution exacte trace sur la gure (7.16). On a aussi compar lvolution temporelle de lamplitude de la tache gaussienne calcule avec le schma ADI avec lexpression analytique (7.34). Ces deux courbes concident, ainsi que le montre la gure (7.23b). Nous avons effectu une seconde simulation avec un coefcient de diffusion plus petit = 0.001. Dans ce cas, la solution numrique prsente des oscillations (gure 7.24). Pour cette valeur de , le nombre de Pclet de maille :
Marc BUFFAT, UFR Mcanique, UCBLyon

Marc BUFFAT, UFR Mcanique, UCBLyon

Vous aimerez peut-être aussi