Sie sind auf Seite 1von 58

Thme 5: rsolution numrique des quations aux

drives partielles(EDP)
Problmes dynamiques

Universit Pierre et Marie CURIE


Mthodes numriques et informatiques 2

29 mars 2011

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
1 / dyna
55
Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
2 / dyna
55
Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de
Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
2 / dyna
55
Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de
Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme
3 Problmes dynamiques
Discrtisation de lespace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de CrankNicholson

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
2 / dyna
55
Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de
Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme
3 Problmes dynamiques
Discrtisation de lespace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de CrankNicholson
4 quation des ondes
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
2 / dyna
55
Introduction

Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme
3 Problmes dynamiques
Discrtisation de lespace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de CrankNicholson
4 quation des ondes

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
3 / dyna
55
Introduction

Contexte

Les quations aux drives partielles (EDP) interviennent dans la


description de trs nombreux problmes de physique, chimie, sciences de la
Terre, biologie : mcanique des fluides, propagation des ondes,
lectromagntisme, phnomnes de diffusion ...
Nous nous limitons dans tout ce qui suit des EDP relatives un champ
scalaire u(

r , t). Les gnralisations vectorielles sont bien sr possibles, et
techniquement analogues.
Les exemples dEDP scalaires les plus connues :
1 Lquation des ondes
2 Lquation de Schrdinger
3 Lquation de diffusion
4 Les quations de Poisson et de Laplace

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
4 / dyna
55
Introduction Exemples dEDP

quation des ondes

Lquation des ondes ou de dAlembert :

2u
c2 u = 0 (1)
t 2
o u = u(
r , t) est un champ scalaire fonction de la position

r et du
temps t, comme la pression dun gaz dans le cas du son.
La constante c la vitesse de propagation des ondes et est le Laplacien
scalaire :
2 2
= + en 2 dimensions (2)
x 2 y 2

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
5 / dyna
55
Introduction Exemples dEDP

quation de Schrdinger

Lquation de Schrdinger :
u 1
i = u+V u (3)
t 2
qui dcrit en mcanique quantique la fonction donde dune particule
massive dans un potentiel V .
Elle reprsente aussi la propagation dune onde harmonique la limite
paraxiale, dans un milieu de permittivit  = n 2 = V + 1.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
6 / dyna
55
Introduction Exemples dEDP

quation de la diffusion

Lquation de diffusion
u


+ div J = 0 avec J = D grad(u)
t


Ici J est le flux (de u) par unit de surface et D le coefficient de diffusion,
ce qui donne, dans le cas o D est homogne :
u
=Du (4)
t
Cette quation dcrit :
les transferts de chaleur par conduction dans un milieu continu, elle
est alors appele quation de la chaleur et u T et D /Cp .
la diffusion des particules dun fluide dans un autre (quation de Fick).

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
7 / dyna
55
Introduction Exemples dEDP

quations de Poisson et de Laplace

Des cas particuliers sont les quations de Poisson et de Laplace, qui


peuvent tre vues comme des cas limites lorsque la dpendance en temps
est supprime, ou remplace par une dpendance harmonique.
Lquation de Poisson
u=
est en lectrostatique celle qui rgit le potentiel (

r ) cr par la densit
de charges (r ).
Lquation de Laplace est un cas particulier o la charge est nulle :

u=0 (5)

On va notamment la retrouver comme solution stationnaire de lquation


de la chaleur.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
8 / dyna
55
Introduction Gnralits

quations elliptiques/paraboliques/hyperboliques

Ltude thorique des EDP est un vaste domaine en mathmatiques qui


est hors du cadre de notre tude.
Les EDP linaires voques plus haut sont classes en EDP
elliptiques/paraboliques/hyperboliques selon la forme des coefficients
figurant devant les drives partielles :
quation hyperbolique : quation de dAlembert 1-D
quation parabolique : diffusion ou Schrdinger
quations elliptiques : quations de Laplace, Poisson, Helmholtz
Elles ont des proprits mathmatiques diffrentes, et leur rsolution
approche par des techniques numriques requirent aussi parfois des
mthodes distinctes.
Dans la pratique, nous nous concentrerons sur une mthode de rsolution
approche par des mthodes numriques, dans le cas principalement de
lquation de la chaleur.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
9 / dyna
55
Introduction Conditions aux limites

Conditions au limites
On doit se donner des conditions au limites (CL). Lquation tant
vrifie dans dans un domaine D de lespace (ou espace-temps), on
distingue des conditions de 2 types :
Conditions de Dirichlet : on impose la valeur de u sur la bordure de
D. Dans le cas o on tudie un problme dpendant du temps, cela
inclut des conditions initiales
Conditions de Neumann : cest la valeur de la drive normale

u/n = gradu n que lon impose.
Dans le cas gnral,on a une combinaison des deux selon diffrentes
parties de la bordures.
titre dexemple pour lquation de la chaleur :
Des CL de Dirichlet correspondent des parois isothermes, qui
imposent leur temprature.

Des CL de Neumann avec gradu n = 0 annulent le transfert de
chaleur : parois adiabatiques.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
10 / dyna
55
Introduction Problmes statiques et dynamiques

Problmes statiques et dynamiques

Du point de vue de leur rsolution numrique, deux classes de problmes


doivent tre distingus :
Problmes dynamiques : il sagit de dterminer u(

r , t) dans un
domaine D, sur un certain intervalle de temps, en fonction des CL
spatio-temporelles :
CI : u(

r , t = 0) = + CL : u(

r = , t) =
Problmes statiques : le temps nintervient pas, il sagit de dterminer
u(
r ) en fonctions des seules CL ; cela correspond en gnral un
rgime stationnaire atteint aprs un temps dvolution assez long.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
11 / dyna
55
Introduction Problmes statiques et dynamiques

Rgime permanent

Nous nous intresserons en premier lieu aux problmes statiques.


Il sagit de problmes o lon cherche la solution dune EDP o le temps
nintervient pas. Cest par exemple la solution dquilibre de lquation de
diffusion qui sera asymptotiquement atteinte quand t , et qui doit
donc vrifier lquation de Laplace.
Dans ce cas u reprsente un champ de temprature T (x, y) (avec une
origine arbitraire) et on a 2-D :

2T 2T
T = + =0. (6)
x 2 y 2

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
12 / dyna
55
Introduction Problmes statiques et dynamiques

Problmes dynamiques

Puis, dans une deuxime partie, nous considrerons les problmes


dynamiques.
Deux mthodes simples seront exposes et analyses sur lexemple de
lquation de diffusion 1-D :

u 2u
=D (7)
t x 2
avec diverses conditions initiales.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
13 / dyna
55
Un problme statique : lquation de Laplace

Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme
3 Problmes dynamiques
Discrtisation de lespace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de CrankNicholson
4 quation des ondes

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
14 / dyna
55
Un problme statique : lquation de Laplace

Rsolution de lquation de Laplace


Surlebord:T(x,y)connue y

Nous cherchons une solu- A l'intrieur T(x,y) inconnue


vrifiant T=0
tion numrique approche de
x
T = 0 lintrieur dun
domaine D que pour simpli-
fier nous supposerons rectan-
gulaire, de cts x et y y
(voir figure 1). x

Figure 1: Gomtrie du problme de


lquation de Laplace : noter le
choix inhabituel de lorientation des axes x et y.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
15 / dyna
55
Un problme statique : lquation de Laplace

Exemple de carte disothermes

Nous supposons en outre que les parois ont des tempratures imposes de
lextrieur (CL de Dirichlet).

10C y Figure 2: Exemple de
0 5 10 15 20 25
0 solution dans le cas o une
paroi est maintenue 20 C,
12 11
une autre adjacente est
5 16
14 13 10
9
10 C et les deux autres
18
8 parois sont T = 0 C. Les
20C

7
6 lignes indexes de 1 18
10 5 reprsentent les isothermes.
4
x 3
2
1
15


0C
20

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
16 / dyna
55
Un problme statique : lquation de Laplace Discrtisation du problme

Discrtisation du domaine

Nous procdons une discrtisation du domaine D : la temprature sera


calcule en un nombre fini de points. Pour simplifier, le maillage choisi est
une grille de pas dx = dy = p comme reprsent sur les figures 3 et 4.
On a nl = x/p 1 lignes et nc = y/p 1 colonnes.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
17 / dyna
55
Un problme statique : lquation de Laplace Discrtisation du problme

Maillage du domaine D

.'.'. (0,j' ).'.'.'.'.'.


0 j nc+1
1 .'.'.' j .'.'.'.'.'. nc y 0
y
1

.'.'.
(i' ,j' )

x'=( nl+1)' p
i
.' .

i (i,j' )
(i,nc+1)
.'.'.'.'.'.

.'.'.'.'.'.
nl nl' +1
x p x
y'=(nc+1)' p
Figure 4: Les bords du domaine
Figure 3: Chaque point de la grille portant les conditions aux limites sont
est repr par un couple (i, j) o i numrots : i = 0 pour le haut,
repre la ligne et j la colonne. i = nl + 1 pour le bas, j = 0 pour la
Lintrieur du domaine est numrot gauche, j = nc + 1 pour la droite.
de i = 1 nl et de j = 1 nc.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
18 / dyna
55
Un problme statique : lquation de Laplace Discrtisation du problme

Indexation du domaine

On a lintrieur de la grille :

nl = x/p 1 lignes horizontales.

nc = y/p 1 colonnes verticales

Chaque point est repr par un couple dindices (i, j) o le premier indice
note le numro de la ligne et le second celui de la colonne.

On note Ti,j la temprature en ce point, de coordonnes


xi = i p, yj = j p.

Les inconnues du problme sont les N = nl nc valeurs de Ti,j o


1 6 i 6 nl, 1 6 j 6 nc qui seront dduites des valeurs de Ti,j aux bords
(pour i = 0 ou i = nl + 1, j = 0 ou j = nc + 1).

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
19 / dyna
55
Un problme statique : lquation de Laplace Discrtisation du problme

Diffrences finies
Les drives partielles sont approches par des diffrences finies, bases
sur des dveloppements de Taylor. Le dveloppement de Taylor :
T p2 2 T p3 3 T
T (x p, y) = T (x, y) p + + O p4
 
(8)
x 2 x 2 3! x 3

montre que :
2T
T (x + p, y) + T (x p, y) = 2T (x, y) + p2 (x, +
 
y) O p4 (9)
x 2
do :
2T T (x + p, y) + T (x p, y) 2 T (x, y)
(x, y) = + O p2
 
2 2
(10)
x p
ce qui conduit :
2T Ti+1,j + Ti1,j 2 Ti,j
(x ) = +
 
i , y j O p2 (11)
x 2 p2
dont la prcision est du deuxime ordre en p.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
20 / dyna
55
Un problme statique : lquation de Laplace Discrtisation du problme

Diffrences finies (suite)

On note que cette approximation peut sobtenir de faon alternative


partir de :
T p T (x p, y) T (x, y)
(x , y) (12)
x 2 p
qui conduit :

2T 1 T p T p
    
(xi , yj ) xi + , y j xi , y j
x 2 p x 2 x 2
(13)
Ti+1,j + Ti1,j 2 Ti,j
= + O p2
 
p2

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
21 / dyna
55
Un problme statique : lquation de Laplace Discrtisation du problme

Diffrences finies (suite)

On obtient ainsi le Laplacien discrtis :


Ti+1,j + Ti1,j + Ti,j+1 + Ti,j1 4 Ti,j
Ti,j = +
 
O p2 (14)
p2
Lquation de Laplace se traduit alors par un systme linaire de N
quations reliant les valeurs de Ti,j au 4 points voisins :

Ti+1,j + Ti1,j + Ti,j+1 + Ti,j1 4 Ti,j = 0 (15)

o 2 (nl + nc) tempratures sont connues (celles sur les points aux bords
indiqus par des croix sur la figure 4) et N = nl nc sont dterminer.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
22 / dyna
55
Un problme statique : lquation de Laplace Reformulation vectorielle de la solution

Rindexation 1-D (matrice aplatie)


On r-indexe des points lintrieur de la grille par un indice k : (cf fig. 5)
k = (i 1)nc + j (16)
qui fait correspondre au tableau 2-D des Ti,j calculer, le vecteur
N = nl nc composantes Zk .
1N Nord j
y
1 2 nc
1W
Figure 5: Renumrotation des
2nc points de grille pour reprsenter la
Ouest

nc+1 2E
solution sous la forme dun vecteur :
Est

i le domaine est r-index ligne par


ligne de la gauche vers la droite et
nlnc
de bas en haut.

x 1S k=(i1)nc+j
Sud
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
23 / dyna
55
Un problme statique : lquation de Laplace Reformulation vectorielle de la solution

Formulation vectorielle

Pour un point intrieur au domaine, lquation (15) scrit :

Zknc + Zk1 4Zk + Zk+1 + Zk+nc = 0 (17)

En labsence de bords ce systme serait un systme homogne, conduisant


une temprature uniforme.

Avec des bords de temprature diffrentes, certaines des quations (17)


font apparatre un terme de bord, comme celle du Nord par exemple si
i = 1 En plaant droite du signe gal les tempratures imposes sur les
bords, ce systme dquations prend alors la forme :

AZ=B (18)

o A est une matrice carre N N comportant nl nl blocs carrs de


dimension nc nc, du type :
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
24 / dyna
55
Un problme statique : lquation de Laplace Reformulation vectorielle de la solution

Matrice L2D

x
4 1 0 0 1 0 0 0 0 0 0 0

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

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

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

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

0 1 0 0 1 4 1 0 0 1 0 0 nl blocs

L2D = 0 0 1 0 0 1 4 1 0 0 1 0 de taille

0 0 0 1 0 0 1 4 0 0 0 1 nc nc


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

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

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

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

nc nc nc y
Chaque ligne et chaque colonne contient 5 termes non-nuls comme (17)
le prvoit, sauf celles de numro nc et nc 1, o apparaissent les 0.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
25 / dyna
55
Sens de parcours et influence des bords

x
-4 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 -4 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1 -4 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 1 -4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 -4 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0

0 1 0 0 1 -4 1 0 0 1 0 0 0 0 0 0 0 0 0 0

nl blocs de taille nc nc
0 0 1 0 0 1 -4 1 0 0 1 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 1 -4 0 0 0 1 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 -4 1 0 0 1 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 1 -4 1 0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 1 0 0 1 -4 1 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 1 0 0 1 -4 0 0 0 1 0 0 0 0

0 0 0 0 1 0 0 0 1 0 0 0 -4 1 0 0 1 0 0 0

0 0 0 0 0 1 0 0 0 1 0 0 1 -4 1 0 0 1 0 0

0 0 0 0 0 0 1 0 0 0 1 0 0 1 -4 1 0 0 1 0

0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -4 0 0 0 1

0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 -4 1 0 0

0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 -4 1 0

0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 -4 1

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 -4
y
nc nc nc nc nc
Un problme statique : lquation de Laplace Reformulation vectorielle de la solution

Le vecteur B rsultant des CL


B est un vecteur N composantes form partir des tempratures aux
bords. On peut le dcomposer sous la forme :
Nord Sud Ouest Est
T1N 0 T1W 0
.. ..
T2N . 0 .
. .. .
. .
. . . 0
Tnc N 0 0 T1E

0 0 T2W 0
. ..
.
. .
. . 0 .
B = + + . +

.. ..
.
. . . 0
0 0 0 T2E

0 T1S Tnc W 0
. .
. .
. T2S 0 .
. . .
. . .
. . . 0
0 Tnc S 0 Tnc E
alias bk=(i1)nc+j = (i,1 Ti1,j + i,nc Ti+1,j + j,1 Ti,j1 + j,nl Ti,j+1 ) (19)

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
27 / dyna
55
Un problme statique : lquation de Laplace Solution du problme

Solution du systme linaire

Plusieurs mthodes permettent de rsoudre le systme linaire (18), par


exemple :
1 Les mthodes les plus gnrales de rsolution numrique des systmes
linaires, telles que la mthode dlimination de Gauss-Jordan, la
dcomposition LU 1 ;
2 Des mthodes adaptes au cas o A est une matrice creuse .
3 Des mthodes de relaxation qui sapparentent, dans le cas dune
quation telle que lquation de Laplace, la rsolution temporelle de
lquation de la chaleur.
4 Lutilisation de transformes de Fourier.

1. La factorisation LU exprime la matrice comme produit dune matrice


triangulaire infrieure (Lower) par une matrice triangulaire suprieure (Upper).
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
28 / dyna
55
Un problme statique : lquation de Laplace Solution du problme

Rsolution du systme linaire


Les mthodes gnrales, comme Gauss-Jordan ou LU demandent un
nombre doprations en N 3 pour rsoudre un systme de N quations 2 .

Dans le cas prsent, avec au plus 5 coefficients non nuls par ligne, on
devrait exploiter le caractre creux de la matrice, et descendre un
nombre doprations proportionnel N .

En TE, nous pourrons utiliser la bibliothque Blas/Lapack optimise, et on


pourra donc explorer des rgimes de tailles relativement intressants, de
lordre de 1000 10000 points.

On pourra commencer avec la fonction Lapack xGESV pour les matrices


gnrales, et comparer ensuite ce que lon obtient avec la procdure
ddie aux matrices symtriques xSYSV ou aux matrices bandes xSBSV.
Notons que cette dernire requiert un stockage spcifique, par diagonales.
2. Pour une matrice symtrique positive la factorisation de Choleski permet
une rsolution en N 2
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
29 / dyna
55
Problmes dynamiques

Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme
3 Problmes dynamiques
Discrtisation de lespace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de CrankNicholson
4 quation des ondes

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
30 / dyna
55
Problmes dynamiques

Introduction aux problmes dynamiques

Comme indiqu dans lintroduction gnrale, les problmes dynamiques


sont ceux o lon suit lvolution temporelle partir dun tat hors
dquilibre .

Il sera donc caractris par des conditions initiales , et des conditions


aux limites susceptibles de dpendre du temps. Dans ce dernier cas, on
pourra tudier un systme forc , qui, comme pour les systmes linaires
dcrits par une EDO, donnent lieu un transitoire suivi dun rgime
permanent forc la frquence dexcitation.

Comme prcdemment, nous allons nous concentrer sur le problme de


lquation de la chaleur, et pour simplifier, rduire la dimensionnalit de
lespace une dimension.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
31 / dyna
55
Problmes dynamiques

quation de diffusion 1-D

On cherche la solution numrique u(x, t) de lquation de diffusion 1-D :

u 2u
=D 2 (20)
t x
dans le domaine spatial x [0, L], et temporel t [0, T ], avec des
condition initiale (CI) :

u(x, 0) = u0 (x) x (21)

et des conditions aux limites (CL) :

u(0, t) = ug (t) et u(L, t) = ud (t) t (22)

Le coefficient de diffusion D, ncessairement positif, est suppos uniforme


et constant.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
32 / dyna
55
Problmes dynamiques Discrtisation de lespace et du temps

Discrtisation du domaine
Il faut discrtiser les deux dimensions :
Espace : [0, L] est divis en nx + 1 pas de largeur x = L
nx +1 .
Temps : [0, T ] est subdivis en nt + 1 pas de largeur t = ntT+1 .
On note ujn , la valeur numrique de u(x, t) au point x = jx et linstant
t = nt.
Les CL fixent donc les u0n ugn et les unnx +1 udn pour tout n.
Les CI fixe quant elles les uj0 pour 1 6 j 6 nx .
La mthode de rsolution sera fondamentalement itrative, chaque pas de
temps ncessitant de calculer les nx valeurs de ujn+1 intrieures laide de
ujn et des conditions aux limites ugn+1 et udn+1 .

Les mthodes vont diffrer selon lordre dvaluation de la drive


temporelle, et le caractre explicite ou implicite.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
33 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Diffrences finies

Lalgorithme le plus simple et le plus naturel consiste remplacer


lquation diffrentielle (20) par lquation aux diffrences finies :

ujn+1 ujn n 2u n + u n
uj+1
 
=D pour 1 6 j 6 nx
j j1
(23)
t (x)2

o le second membre est celui que nous avons utilis pour les problmes
statiques (du 2 ordre en x) et le membre de droite est une expression
explicite, au 1er ordre de la drive temporelle.

Du point de vue temporel, cette approche peut tre vue comme une
extension de la mthode dEuler explicite (progressive) tudie sur les
EDO.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
34 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Systme dquations linaires

Il est utile dintroduire le paramtre sans dimension :


D t
= (24)
x 2
ce qui permet dcrire :

ujn+1 = uj+1
n
+ (1 2) ujn + uj1
n
pour 1 6 j 6 nx (25)

qui met clairement en vidence le caractre explicite puisque les ujn+1


sobtiennent directement en fonction des valeurs des ukn linstant initial
du pas considr.
n
Lorsque lun des uj1 n
ou uj+1 nexiste pas, cest dire que j = 1 ou
j = nx on retrouve une condition de bord, et u0n ugn et unnx +1 udn
apparatront au second membre, affects dun signe moins.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
35 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Formulation matricielle

En considrant le vecteur Un = (u1n , . . . , unnx ) des solutions t = nt pour


les nx points intrieurs, le systme dquations linaire prend la forme :

Un+1 = M() Un + Vn+1 ,

o Vn = (ugn , 0, . . . , 0, udn ) est le vecteur des conditions aux limites, et la


matrice est M() = 11 + L1D o L1D est la matrice tridiagonale
reprsentant la drive seconde une dimension :

2 1 0 0 1+2
0 0
. .. .. ..
1 .. .

1 2 . 1+2 .
. .. .. .. .. ..

L1D =
0 .. . .

0 M() =
0 . . . 0
(26)
.. . . ..
.. .. ..

. . 2 . . 1+2

. 1 .
0 0 1 2 0 0 1+2

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
36 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Schma de progression explicite

Il est utile de reprsenter cette situation par un schma de progression :

Figure 6: Schma (n+1) t


illustrant la progression n t
dun pas de temps avec
lalgorithme explicite du
premier ordre en t. x
j x (nx+1) x
0
(j 1) x (j +1) x

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
37 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Analyse de stabilit de von Neumannn


Cette mthode lavantage de la simplicit, mais souffre dinstabilit.
Considrons lexemple dune onde harmonique stationnaire :
u(x, t) = A(t) exp(ikx) ujn = A(n) exp (i kjx) , (27)
qui est une solution exacte pour les condition de Dirichlet ug = ud = 0 si
k = p/L et que A(t) vrifie lEDO :
dA/dt = Dk 2 A(t) . (28)
Or la version discrtise (23) donne, aprs division par ujn :
A(n+1) A(n) e ikx 2 + e ikx
= = sin
 
2 kx
Dt 4 2 .
A(n) x 2
soit une suite gomtrique de raison , A(n) = A0 n , dont la stabilit
exige :
1
= 1 4 sin2 [1, 1]
 
kx
1 6 6 .
2 2
(29)
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
38 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Stabilit : Lien avec le spectre de L1D

On montre assez facilement que la p-ime valeur propre de la matrice L1D ,


en dimension n, scrit en fonction de = /2(n + 1) = x/2L :

valeur pr : 4 sin2 p ; (p)


= sin m p
 
vecteur pr : um

On en dduit celles de la matrice M() :

M() = 11 + L1D 1 4 sin2 p x 


2 .

La condition de stabilit traduit donc simplement le fait que ces valeurs


propres sont de module infrieur 1.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
39 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Exemple : Diffusion dune distribution en marche


Diffusion dune marche

1.0

0.9

0.8

0.7

0.6
u(x,t)

0.5

0.4

0.3

0.2

0.1

0.0
0 20 40 60 80 100 120
position (x)

Figure 7: Diffusion dune marche


( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
40 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Exemple : Diffusion dune superposition de 2 modes


Rle de la longueur donde sur la diffusion

2.2

2.0

1.8

1.6
u(x,t)

1.4

1.2

1.0

0.8
0 20 40 60 80 100 120
position (x)

Figure 8: Amortissement de deux modes


( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
41 / dyna
55
Problmes dynamiques Algorithme explicite du premier ordre en temps

Lien avec la mthode de relaxation (dplacer dans Laplace)


Pour rsoudre lquation de Laplace on aurait pu opter pour la mthode de Jacobi :

On spare les parties diagonale D et non-diagonale Pour simplifier prenons ici L1D :
R du laplacien comme ci-contre. On doit avoir :
0 1 0 0
L1D Z = B DZ = B RZ Z = 12 (B RZ) .. .. ..
1
0 . . .

que lon rsout .. .. ..

de faon itrative en faisant (avec Z(0) = B : L1D = 211 + 0 . . . 0

|{z} .
D . .. .. ..
Z(0) = B, Z(n+1) = 21 (B RZ(n) )

. . . . 1
0 0 1 0
qui, vu la structure de R scrit aussi : | {z }
n o R
(n+1) (n) (n) (n) (n)
1

Zi Zi = 2
Zi+1 + Zi1 2Zi B

qui est exactement ce que nous avons crit lquation (23) ou (25), avec = 12 .
Cette approche est une mthode alternative de rsolution de lquation de Laplace, facile
mettre en oeuvre, mais nettement plus lente car itrative. Elle revient rsoudre une
quation dpendant du temps, en propageant les conditions de bords par relaxation.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
42 / dyna
55
Problmes dynamiques Algorithme implicite du premier ordre en temps

Solution au problme de stabilit : mthode rtrograde


Lalgorithme explicite est simple mais la condition de stabilit oblige faire
de trs petits pas...
On a vu, avec les EDO, que ces problmes peuvent tre rsolus en utilisant
un algorithme implicite. Cest ce que nous faisons ici en introduisant les
nouvelles quations :

ujn+1 ujn n+1


2ujn+1 + uj1
n+1
" #
uj+1
=D (30)
t (x)2

Les ujn+1 (j [1, nx ]) sobtiennent alors en fonction des ujn


(j [0, nx + 1]) en rsolvant le systme de nx quations linaires :
n+1
uj1 + (1 + 2) ujn+1 uj+1
n+1
= ujn pour j [1, nx ] (31)

On peut cette fois faire un parallle avec la mthode dEuler implicite


(rtrograde).
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
43 / dyna
55
Problmes dynamiques Algorithme implicite du premier ordre en temps

Schma de progression implicite

Cette mthode met en uvre le schma de progression suivant :


t

ujn+1
Figure 9: Schma (n+1) t
illustrant la
progression dun pas n t ujn
de temps avec
lalgorithme implicite
du premier ordre en t.
x
j x (nx+1) x
0
(j 1) x (j +1) x

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
44 / dyna
55
Problmes dynamiques Algorithme implicite du premier ordre en temps

Formulation matricielle
Ce systme peut tre crit de faon matricielle sous la forme :

M() Un+1 = Un + Vn
avec les mmes, notations que prcdemment, et notamment :

1+2 0 0
. . . .
- . . . . . . ..

. . .

M() = 11 + L1D 0 .. .. .. 0
= (32)
. . . .
. .. .. ..
. -
0 0 - 1+2

Notons que si M est tridiagonale, son inverse est au contraire une matrice
dense. Ainsi ujn+1 dpend de tous les autres lments, mais dautant moins
quils sont plus loigns. Bien sr, lorsque 0, M()1 M() ce
qui signifie que cette dpendance tend disparatre et on retrouve alors
lalgorithme explicite.
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
45 / dyna
55
Problmes dynamiques Algorithme implicite du premier ordre en temps

Stabilit de lalgorithme implicite

On cherche nouveau les modes propres dfinis par (27).


Si on reporte leur expression dans la nouvelle quation aux diffrences
finies (30), on obtient la raison de la suite gomtrique :
1
= (33)
1 + 4 sin2
 
k x
2

qui montre que lalgorithme implicite est toujours stable quel que soit le
choix des pas x et t. On obtient plus simplement le mme rsultat
partir des valeurs propres de M()1 .
On obtient donc toujours la bonne solution dquilibre.

Toutefois, cet algorithme tant bas sur une approximation du premier


ordre en t seulement, une description prcise de la solution transitoire
requiert le choix dun t assez petit.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
46 / dyna
55
Problmes dynamiques Algorithme de CrankNicholson

Principe de lalgorithme

Il sagit damliorer lapproximation en diffrences finies du terme de


drive partielle temporelle. Plutt que de modifier celui-ci directement, on
utilise la mme stratgie que pour la mthode dEuler modifie pour les
EDO, qui est du 2nd ordre en temps.

On fait donc la moyenne des seconds membres des deux algorithmes


prcdents. On obtient les quations :

D (uj+1 2uj + uj1 ) + (uj+1


n 2u n + u n )
n+1 n+1 n+1
ujn+1 ujn
" #
=
j j1
,
t 2 (x)2
(34)
dont on montre quelles sont du deuxime ordre en t comme en x.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
47 / dyna
55
Problmes dynamiques Algorithme de CrankNicholson

Schma de progression de CrankNicholson

Le schma de progression est dsormais le suivant :


t

ujn+1
Figure 10: Schma (n+1) t
illustrant la progression n t ujn
dun pas de temps avec
lalgorithme de
CrankNicholson. x
j x (nx+1) x
0
(j 1) x (j +1) x

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
48 / dyna
55
Problmes dynamiques Algorithme de CrankNicholson

Stabilit de lalgorithme de CrankNicholson

Ltude de stabilit de von Neumann peut tre reprise pour ce nouvel


algorithme et conduit une dcroissance gomtrique des modes avec une
raison :
1 2 sin2 k 2x
 

= (35)
1 + 2 sin2 k 2x
 

ce qui permet de montrer que cet algorithme est lui aussi


inconditionnellement stable (i.e. quel que soit le choix de t).

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
49 / dyna
55
Problmes dynamiques Algorithme de CrankNicholson

Formulation matricielle

Les ujn+1 sobtiennent dsormais en fonction des ujn en rsolvant le


systme dquations linaires (pour j [1, nx ]) :
n+1
uj1 + (1 + 2)ujn+1 uj+1
n+1
= uj1
n
+ (1 2)ujn + uj+1
n
(36)

Ce systme peut tre crit de faon matricielle sous la forme :


h n
   
=M Un + V + Vn+1
i
n+1
M U (37)
2 2 2
avec les mmes notations que pour les deux autres algorithmes.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
50 / dyna
55
quation des ondes

Sommaire
1 Introduction
Exemples dEDP
Gnralits
Conditions aux limites
Problmes statiques et dynamiques
2 Exemple de problme statique : rsolution numrique de lquation de Laplace
Discrtisation du problme
Reformulation vectorielle de la solution
Solution du problme
3 Problmes dynamiques
Discrtisation de lespace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de CrankNicholson
4 quation des ondes

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
51 / dyna
55
quation des ondes

quation des ondes : diffrences finies

voquons brivement la rsolution de lquation de dAlembert :

On discrtise le domaine comme pour lquation de la chaleur ;


On se donne des conditions initiales arbitraires u(x, 0) ;
On se fixe pour simplifier des conditions aux limites de Dirichlet, ou de
Neumann homognes ;
On essaye le schma de diffrences finies :

2u 2
2 u
ujn+1 + ujn1 2ujn 2 uj+1 + uj1 2uj
n n n
= c = c
t 2 x 2 (t)2 (x)2
(38)
qui est du deuxime ordre en x et en t.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
52 / dyna
55
quation des ondes

Algorithme explicite

En posant = ct/x, on obtient les quations explicites :

ujn+1 = 2 (uj+1
n
+ uj1
n
) + 2(1 2 )ujn ujn1 . (39)

soit, sous forme matricielle :

Un+1 = 211 + 2 L1D Un Un1 + 22 L1D Vn )

o V reprsente nouveau les conditions aux limites sur les bords.

Ce schma explicite est potentiellement instable, selon la valeur de .

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
53 / dyna
55
quation des ondes

Critre CFL

Le critre de CourantFriedrichsLewy donne une prescription sur la valeur


de qui doit tre assez petit .

La borne prcise dpend de lquation et aussi de la dimension de lespace.

Lide gnrale est nanmoins toujours la mme :

Le pas de temps t doit tre infrieur au temps mis par londe ( la


vitesse c) pour traverser un pas despace x.

ou de faon quivalente : Le pas despace doit tre suprieur la distance


parcourue par londe durant le pas de temps. Dans le cas contraire, la
mthode est ncessairement instable.

( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)


29 mars 2011Problmes
54 / dyna
55
quation des ondes

Schma de progression et critre CFL

Le schma de progression est dsormais le suivant :

Figure 11: Schma ujn+1


illustrant la progression n+1
dun pas de temps dans
n ujn
lalgorithme explicite
pour lquation de n1
dAlembert t x
0 x L
cne de lumire
Le critre CFL se traduit (dans ce cas simple 1D) par le fait que des points
intervenant dans la progression doivent tre hors du cne de lumire, pour
laisser londe le temps de se propager .
( ) Thme 5: rsolution numrique des quations aux drives partielles(EDP)
29 mars 2011Problmes
55 / dyna
55

Das könnte Ihnen auch gefallen