Vous êtes sur la page 1sur 60

Thème 5: résolution numérique des EDP

Problèmes statiques (cours 1)


Problèmes dynamiques (cours 2)

Université Pierre et Marie CURIE


MNCS
Méthodes numériques et calcul scientifique

19 et 26 mars 2013

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 1 / 57


Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 2 / 57


Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de
Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 2 / 57


Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de
Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème
3 Problèmes dynamiques
Discrétisation de l’espace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de Crank–Nicholson

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 2 / 57


Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de
Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème
3 Problèmes dynamiques
Discrétisation de l’espace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de Crank–Nicholson
4 Équation des ondes
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 2 / 57
Introduction

Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème
3 Problèmes dynamiques
Discrétisation de l’espace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de Crank–Nicholson
4 Équation des ondes

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 3 / 57


Introduction

Contexte

Les équations aux dérivées partielles (EDP) interviennent dans la


description de très nombreux problèmes de physique, chimie, sciences de la
Terre, biologie : mécanique des fluides, propagation des ondes,
électromagnétisme, phénomènes de diffusion ...
Nous nous limitons dans tout ce qui suit à des EDP relatives à un champ
scalaire u( #–
r , t). Les généralisations vectorielles sont bien sûr possibles, et
techniquement analogues.
Les exemples d’EDP scalaires les plus connues :
1 L’équation des ondes
2 L’équation de Schrödinger
3 L’équation de diffusion
4 Les équations de Poisson et de Laplace

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 4 / 57


Introduction Exemples d’EDP

Équation des ondes

L’équation des ondes ou « de d’Alembert » :

∂2u
− c2 ∆ u = 0 (1)
∂t 2
u = u( #–
r , t) champ scalaire (ex. pression dans le cas du son).
c : constante, vitesse de propagation des ondes.
∆ : Laplacien scalaire :

∂2 ∂2
∆= + en 2 dimensions (2)
∂x 2 ∂y 2

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 5 / 57


Introduction Exemples d’EDP

Équation de Schrödinger

L’équation de Schrödinger :
∂u 1
i =− ∆u+V u (3)
∂t 2
fonction d’onde d’une particule massive dans un potentiel V .
Elle représente aussi la propagation d’une onde harmonique à la limite
paraxiale, dans un milieu de permittivité  = n 2 = V + 1.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 6 / 57


Introduction Exemples d’EDP

Équation de la diffusion

L’équation de diffusion
∂u #– #– # –
+ div J = 0 avec J = −D grad(u)
∂t
#–
J : flux de u par unité de surface, D : coefficient de diffusion (m2 s−1 )
Cas D = cste :

∂u
=D∆u (4)
∂t
Cette équation décrit :
les transferts de chaleur par conduction dans un milieu continu, elle
est alors appelée équation de la chaleur et u ≡ T et D ≡ λ/Cp .
la diffusion des particules d’un fluide dans un autre (équation de Fick).

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 7 / 57


Introduction Exemples d’EDP

Équations de Poisson et de Laplace

Cas particuliers : Équation de Poisson, Équation de Laplace.


Limite : dépendance en temps supprimée / remplacée par dépendance
harmonique.
L’équation de Poisson
∆u=ρ
est en électrostatique celle qui régit le potentiel Φ( #–
r ) créé par la densité
de charges ρ( #–
r ).
Équation de Laplace : ρ = 0 :

∆u = 0

Solution stationnaire de l’équation de la chaleur.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 8 / 57


Introduction Généralités

Équations elliptiques/paraboliques/hyperboliques

Étude théorique des EDP : vaste domaine en mathématiques.


EDP linéaires (du second ordre) classées selon la forme des coefficients
devant les dérivées partielles :
Équation hyperbolique : équation de d’Alembert 1-D
Équation parabolique : diffusion ou Schrödinger
Équations elliptiques : équations de Laplace, Poisson, Helmholtz

Propriétés mathématiques différentes −→ méthodes numériques


spécifiques.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 9 / 57


Introduction Conditions aux limites

Conditions aux limites

L’équation est vérifiée dans un domaine D de l’espace.


Problème "bien posé" −→ conditions aux limites.
Deux types de conditions :
Dirichlet : u imposé sur ∂D.
# – #–
Neumann : gradu. n imposé sur ∂D.
Robin : plus général, combinaison linéaire des deux.
Cas général : Conditions mixtes, i.e. différentes sur différentes parties
de ∂D.
Exemple, équation de la chaleur.
Dirichlet ⇔ parois isothermes (imposent la température)
Neumann ⇔ parois adiabatiques (transfert de chaleur nul)

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 10 / 57


Introduction Problèmes statiques et dynamiques

Problèmes statiques et dynamiques

Pour la résolution numérique : distinction de deux classes de problèmes :

Problèmes dynamiques : déterminer u( #– r , t) dans D sur un intervalle


de temps.
CL spatio-temporelles : CI : u( #–
r , t = 0) + CL : u( #–
r = ·, t)

Problèmes statiques : déterminer u( #–


r ) en fonction des CL (pas de
temps explicite).
Peut correspondre à un régime stationnaire atteint après un temps
d’évolution assez long.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 11 / 57


Introduction Problèmes statiques et dynamiques

Problèmes statiques

1 - Problèmes statiques : solution d’une EDP où le temps n’intervient pas.

Exemple : Solution d’équilibre de l’équation de diffusion lorsque t → ∞.

Équation de Laplace !
∂2 ∂2
∆T = + T =0
∂x 2 ∂y 2

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 12 / 57


Introduction Problèmes statiques et dynamiques

Problèmes dynamiques

2 - Problèmes dynamiques :

Deux méthodes simples seront exposées et analysées sur l’exemple de


l’équation de diffusion à 1-D :

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

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 13 / 57


Un problème statique : l’équation de Laplace

Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème
3 Problèmes dynamiques
Discrétisation de l’espace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de Crank–Nicholson
4 Équation des ondes

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 14 / 57


Un problème statique : l’équation de Laplace

Résolution de l’équation de Laplace


Sur€le€bord€:€T(x,y)€connue y

A l'intérieur T(x,y) inconnue


Objectif : solution numérique vérifiant ∆T=0

approchée de ∆T = 0 à l’in- ∆x
térieur de D.

Simplification : D rectangu-
∆y
laire, de côtés ∆x et ∆y.
x

Figure 1 : Géométrie du problème de


l’équation de Laplace : noter le
choix inhabituel de l’orientation des axes x et y.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 15 / 57


Un problème statique : l’équation de Laplace

Exemple de carte d’isothermes

CL 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 indexées de 1 à 18
10 5 représentent les isothermes.
4
x 3
2
1
15

˚
0C
20

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 16 / 57


Un problème statique : l’équation de Laplace Discrétisation du problème

Maillage du domaine D
Discrétisation du domaine D : température évaluée en un nombre fini de
points. Le plus simple : grille de pas dx = dy = p
.'.'. (0,j' ).'.'.'.'.'.
0 j nc+1
0
1 .'.'.' j .'.'.'.'.'. nc y y

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

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

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

.'.'.'.'.'.
.'.'.'.'.'.

nl nl' +1
x
x p
∆y'=(nc+1)' p
Figure 4 : Les bords du domaine
Figure 3 : Point de grille ↔ (i, j). portant les conditions aux limites sont
Intérieur du domaine : i = 1 → nl, numérotés : i = 0 pour le haut,
j = 1 → nc. i = nl + 1 pour le bas, j = 0 pour la
gauche, j = nc + 1 pour la droite.
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 17 / 57
Un problème statique : l’équation de Laplace Discrétisation du problème

Indexation du domaine

On a à l’intérieur de la grille :
nl = ∆x/p − 1 lignes horizontales.
nc = ∆y/p − 1 colonnes verticales
Chaque point est repéré par un couple d’indices (i, j) où le premier indice
note le numéro de la ligne et le second celui de la colonne.

On note Ti,j la température en ce point, de coordonnées


xi = i × p, yj = j × p.

Les inconnues du problème sont les N = nl × nc valeurs de Ti,j où


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

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 18 / 57


Un problème statique : l’équation de Laplace Discrétisation du problème

Différences finies
Les dérivées partielles sont approchées par des différences finies, basées
sur des développements de Taylor. Le développement de Taylor :
∂T p2 ∂ 2 T p3 ∂ 3 T
T (x ± p, y) = T (x, y) ± p + + O p4
 
± (6)
∂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 (7)
∂x 2
d’où :
∂2T T (x + p, y) + T (x − p, y) − 2 T (x, y)
(x, y) = + O p2
 
2 2
(8)
∂x p
ce qui conduit à :
∂2T Ti+1,j + Ti−1,j − 2 Ti,j
(x ) = +
 
i , y j O p2 (9)
∂x 2 p2
dont la précision est du deuxième ordre en p.
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 19 / 57
Un problème statique : l’équation de Laplace Discrétisation du problème

Différences finies (suite)

obtention alternative :

∂T p T (x ± p, y) − T (x, y)
(x ± , y) ≈ ± (10)
∂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
(11)
Ti+1,j + Ti−1,j − 2 Ti,j
= + O p2
 
p2

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 20 / 57


Un problème statique : l’équation de Laplace Discrétisation du problème

Différences finies (suite)

On obtient ainsi le Laplacien discrétisé :


Ti+1,j + Ti−1,j + Ti,j+1 + Ti,j−1 − 4 Ti,j
∆ Ti,j = +
 
O p2 (12)
p2

Équation de Laplace =⇒ système linéaire de N équations reliant Ti,j aux


4 points voisins :

Ti+1,j + Ti−1,j + Ti,j+1 + Ti,j−1 − 4 Ti,j = 0 (13)

2 ∗ (nc + nl) températures connues,


N = nc ∗ nl valeurs à déterminer.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 21 / 57


Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution

Réindexation 1-D (matrice aplatie)

Ré-indexation des points intérieurs : k = (i − 1)nc + j.

Ti,j ⇐⇒ Zk

1N Nord j
y
1 2 nc
1W
Figure 5 : Renumérotation des
2nc points de grille pour représenter la
Ouest

nc+1 2E
solution sous la forme d’un vecteur :
Est

i le domaine est ré-indexé ligne par


ligne de la gauche vers la droite et
nl׀nc
de haut en bas.

x 1S k=(i€–1)nc+j
Sud

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 22 / 57


Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution

Formulation vectorielle

Pour un point intérieur au domaine, l’équation (13) s’écrit :

Zk−nc + Zk−1 − 4Zk + Zk+1 + Zk+nc = 0 (14)

Absence de bord : système homogène conduisant à une température


uniforme.
Bords de température imposée =⇒ termes de bords dans les équations.
Possibilité de réécrire le système d’équations sous la forme :

AZ=B (15)
où A est une matrice carrée N × N comportant nl × nl blocs carrés de
dimension nc × nc, du type :

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 23 / 57


Un problème statique : l’équation 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 (14) le
prévoit, sauf celles de numéro nc et nc − 1, où apparaissent les 0.
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 24 / 57
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 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 0 0 0 0 1 0 0 0 -4 1 0 0 
 
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -4 1 0 
 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -4 1 
 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -4 
y
←−nc−→ ←−nc−→ ←−nc−→ ←−nc−→ ←−nc−→
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution

Le vecteur B résultant des CL


B est un vecteur à N composantes formé à partir des températures aux
bords. On peut le décomposer sous la forme :
 Nord   Sud   Ouest   Est 
T1N 0 T1W 0
   ..     .. 
 T2N   .   0   . 
 .   ..   .   
 .     .   
 .   .   .   0 
Tnc N   0   0   T1E 
       
 0   0   T2W   0 
 .   ..
    . 
 .       . 
 . 
B= −  − 
 .  − 
 0   . 
− 
 ..  ..  .. 
   
   
 .   .   .   0 
 0   0   0   T2E 
       
 0   T1S  Tnl W   0 
 .       . 
 .       . 
 .   T2S   0   . 
 .   .   .   
 .   .   .   
. . . 0
0 Tnc S 0 Tnl E
alias bk=(i−1)nc+j = −(δi,1 Ti−1,j + δi,nc Ti+1,j + δj,1 Ti,j−1 + δj,nl Ti,j+1 ) (16)

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 26 / 57


Un problème statique : l’équation de Laplace Solution du problème

Solution du système linéaire

Plusieurs méthodes permettent de résoudre le système linéaire (15), par


exemple :
1 Les méthodes les plus générales de résolution numérique des systèmes
linéaires, telles que la méthode d’élimination de Gauss-Jordan, la
décomposition « LU » 1 ;
2 Des méthodes adaptées au cas où A est une matrice « creuse ».
3 Des méthodes de relaxation qui s’apparentent, dans le cas d’une
équation telle que l’équation de Laplace, à la résolution temporelle de
l’équation de la chaleur.
4 L’utilisation des transformées de Fourier.

1. La factorisation « LU » exprime la matrice comme produit d’une matrice triangu-


laire inférieure (Lower) par une matrice triangulaire supérieure (Upper).
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 27 / 57
Un problème statique : l’équation de Laplace Solution du problème

Méthode de relaxation

Méthode de relaxation : méthode itérative, basée sur AZ = B.


Décomposition parties diagonale/non-diagonale : A = D + N
Recherche d’une solution de l’équation DZ = −(NZ − B).
Solution = point fixe de l’application Z 7→ −D−1 (NZ − B)
Calcul par récurrence en partant d’une valeur quelconque Z0 :

Zn+1 = −D−1 N Zn − B = N Zn − B /4
 

Convergence : Zn+1 − Z = 4 (Z
N n − Z) avec les valeurs absolues de N
toujours inférieures à 4.
Méthode aisée à coder et bien adaptée aux géométries complexes.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 28 / 57


Un problème statique : l’équation de Laplace Solution du problème

Résolution du système linéaire à l’aide de Lapack

Méthodes générales (Gauss-Jordan, LU) ∝ N 3 opérations.


Ici : au plus 5 coefficients non nuls par ligne =⇒ exploitation du caractère
«creux» de la matrice : N opérations.
utilisation de Blas/Lapack :
Matrices générales : xGESV
−L2D définie positive : xPOSV
Symétrique : xSYSV
matrice bande : xSBSV (amélioration significative)
Toutes ces propriétés : xPBSV

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 29 / 57


Un problème statique : l’équation de Laplace Solution du problème

Stockage bande
Fonctions pour matrices bandes =⇒ stockage spécifique de la matrice :
«stockage bande». Ne fournit que les sur- et sous-diagonales significatives
à la procédure.
Deux possibilités :
Écriture directe de la matrice contenant les diagonales
Écriture de la matrice complète puis « conversion ».
(en C : procédure matfull2band fournie)

ku=1 Matrice bande n=6 Stockage bande (kl+ku+1)×n


kl=2 ♣

♦ ♥

♦ ♠

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 30 / 57


Problèmes dynamiques

Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème
3 Problèmes dynamiques
Discrétisation de l’espace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de Crank–Nicholson
4 Équation des ondes

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 31 / 57


Problèmes dynamiques

Introduction aux problèmes dynamiques

Problèmes dynamiques :
Evolution temporelle à partir d’un état d’équilibre
Phénomènes de propagation

Caractéristiques :
Conditions initiales
Conditions aux limites (peuvent dépendre du temps)
=⇒ système forcé : transitoire puis régime permanent ν ≈ νforce

Equation de la chaleur, une dimension spatiale.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 32 / 57


Problèmes dynamiques

Équation de diffusion 1-D

Équation de diffusion à 1-D :

∂u ∂2u
=D 2 (17)
∂t ∂x
domaines spatial x ∈ [0, L], et temporel t ∈ [0, T ]

Conditions Initiales (CI) : u(x, 0) = u0 (x) ∀x


Conditions aux Limites (CL) : u(0, t) = ug (t) et u(L, t) = ud (t) ∀t

N.B. : espace et temps ont un rôle dissymétrique :


CL/CI
Degré différent des dérivées partielles

D = cste > 0

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 33 / 57


Problèmes dynamiques Discrétisation de l’espace et du temps

Discrétisation du domaine

Il faut discrétiser les deux dimensions :


Espace : [0, L] est divisé en nx + 1 pas de largeur δx = nxL+1 .
Temps : [0, T ] est subdivisé en nt + 1 pas de largeur δt = ntT+1 .

ujn ⇐⇒ u(x, t) pour x = j δx et t = n δt

CL =⇒ u0n ≡ ugn et unnx +1 ≡ udn ∀n.


CI =⇒ uj0 pour 1 ≤ j ≤ nx .

Methode de résolution fondamentalement explicite : ujn + CL =⇒ ujn+1 .

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 34 / 57


Problèmes dynamiques Discrétisation de l’espace et du temps

Différences finies

Laplacien (cf. régimes stationnaires) :


n − 2u n + u n
uj+1
∆u ≈
j j−1
(δx)2

Dérivée ordre 1 par rapport au temps — au choix :

vers l’avant, impliquant (ujn+1 − ujn )/δt


vers l’arrière, avec (ujn − ujn−1 )/δt
ou centrée avec (ujn+1 − ujn−1 )/2δt

Choix détermine l’ordre de l’évaluation en δt, mais surtout le caractère


explicite ou implicite de la méthode.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 35 / 57


Problèmes dynamiques Algorithme explicite du premier ordre en temps

Système d’équations linéaires

Approche simpliste : dérivée vers l’avant

ujn+1 − ujn n − 2u n + u n
uj+1
 
=D pour 1 6 j 6 nx
j j−1
(18)
δt (δx) 2

Semblable à méthode d’Euler explicite (progressive).

Paramètre caractéristique sans dimension :


D δt
α= (19)
δx 2

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 36 / 57


Problèmes dynamiques Algorithme explicite du premier ordre en temps

Système d’équations linéaires

On peut alors d’écrire :

ujn+1 = α uj+1
n
+ (1 − 2α) ujn + α uj−1
n
pour 1 6 j 6 nx (20)

Caractère explicite : ujn+1 obtenus directement en fonctions des ukn .

Pour j = 1, nx : uj−1 j+1 n’existent pas =⇒ condition de bord.


n , un

Note : équivalent à méthode de relaxation (α = 1/2).

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 37 / 57


Problèmes dynamiques Algorithme explicite du premier ordre en temps

Schéma de progression explicite

Figure 6 : Schéma (n+1) δt


illustrant la progression n δt
d’un pas de temps avec
l’algorithme explicite du
premier ordre en δt. x
j δx (nx+1) δx
0
(j −1) δx (j +1) δx

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 38 / 57


Problèmes dynamiques Algorithme explicite du premier ordre en temps

Formulation matricielle
Vecteur Un = (u1n , . . . , unnx ) des solutions à t = nδt pour les nx points
intérieurs
Le système d’équations linéaires prend la forme :

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

Vn = (ugn , 0, . . . , 0, udn ) : vecteur des conditions aux limites,


M(−α) = 11 + α L1D où L1D est la matrice tridiagonale représentant la
dérivée seconde à une dimension :

   
−2 1 0 ··· 0 1−2α α 0··· 0
. .. .. .. 
1 .. .
  
 1 −2 .  α 1−2α α . 
. .. .. .. .. ..
   
L1D =
 0 .. . .

0  −→ M(−α) = 
 0 . . . 0 
 (21)
 .. . . ..
  .. .. ..

. . −2 . . 1−2α α
   
. 1 .
0 ··· 0 1 −2 0 ··· 0 α 1−2α

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 39 / 57


Problèmes dynamiques Algorithme explicite du premier ordre en temps

Stabilité
Problème important : stabilité ou instabilité de la méthode.
Celle que nous venons de proposer donne pour un pas de temps « un peu
trop grand » :
0.3
1pas
2pas
0.25 4pas
6pas
0.2 α=1.2 8pas
10pas
0.15 12pas
14pas
0.1

0.05

-0.05

-0.1

-0.15
0 20 40 60 80 100 120 140

Figure 7 : Résolution explicite avec α = 1.2.


(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 40 / 57
Problèmes dynamiques Algorithme explicite du premier ordre en temps

Analyse de stabilité de Fourier–von Neumann

Stabilité d’une onde stationnaire :

u(x, t) = A(t) sin(kx) ⇒ ujn = A(n) sin (kjδx) , (22)

solution exacte pour les conditions de Dirichlet ug = ud = 0, si k = pπ/L


et que A(t) vérifie l’EDO : dA/dt = −Dk 2 A(t)
Méthode explicite :

= − 1 = α e ikδx − 2 + e −ikδx = −4α sin2


 
A(n+1) −A(n) A(n+1) kδx

A(n) A(n) 2 .

suite géométrique de raison θ réelle : A(n) = A0 θn , avec :

θ = 1 − 4α sin2
 
kδx
2 (23)

Stabilité =⇒ −1 6 θ 6 1 et donc α 6 1/2.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 41 / 57


Problèmes dynamiques Algorithme explicite du premier ordre en temps

Stabilité : Lien avec le spectre de L1D


La p-ième valeur propre de la matrice L1D , en dimension n, s’écrit en
fonction de β = π/2(n + 1) = πδx/2L :
− 4 sin2 pβ ; (p)
= sin m p β
 
valeur propre : vecteur propre : um
On en déduit celles de la matrice M(−α) :
M(−α) = 11 + α L1D −→ 1 − 4α sin2 p πδx 
2L .

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


propres sont de module inférieur à 1.

En termes de relation de dispersion, cette analyse revient à constater que la


relation iω = Dk 2 déduite de l’équation de la diffusion est remplacée par :
2i sin ωδt
exp(−i ωδt = 4α sin2 kδx
  
2 2 2 (24)
qui n’a de solution ω à partie imaginaire négative (stable) que si 4α 6 2.
Avant d’aller plus loin dans l’analyse numérique, voici quelques exemples.
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 42 / 57
Problèmes dynamiques Algorithme explicite du premier ordre en temps

Exemple : Diffusion d’une distribution en « marche »


Diffusion d’une 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 8 : Diffusion d’une marche


(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 43 / 57
Problèmes dynamiques Algorithme explicite du premier ordre en temps

Exemple : Diffusion d’une superposition de 2 modes


Rôle de la longueur d’onde 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 9 : Amortissement de deux modes


(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 44 / 57
Problèmes dynamiques Algorithme implicite du premier ordre en temps

Solution au problème de stabilité : méthode rétrograde

Algorithme explicite simple, mais requiert de très petits pas...


Solution : algorithme implicite (cf. EDO) : dérivée temporelle "vers
l’arrière".
uj+1 − 2ujn+1 + uj−1
" n+1 n+1
ujn+1 − ujn
#
=D (25)
δt (δx)2

=⇒ système de nx équations linéaires :


n+1
− α uj−1 + (1 + 2α) ujn+1 − α uj+1
n+1
= ujn pour j ∈ [1, nx ] (26)

Méthode similaire à Euler implicite (rétrograde).

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 45 / 57


Problèmes dynamiques Algorithme implicite du premier ordre en temps

Schéma de progression implicite

ujn+1
Figure 10 : Schéma (n+1) δt
illustrant la
progression d’un pas n δt ujn
de temps avec
l’algorithme implicite
du premier ordre en δt.
x
j δx (nx+1) δx
0
(j −1) δx (j +1) δx

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 46 / 57


Problèmes dynamiques Algorithme implicite du premier ordre en temps

Formulation matricielle

Ce système peut être écrit de façon matricielle sous la forme :

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

avec les mêmes notations que précédemment, et notamment :


 
1+2α -α 0 ··· 0
. .. .. . 
 -α . . . . .. 

. .. ..
 
M(α) = 11 − α L1D  0 ..
= . . 0 
 (27)
 . . .. ..

 . .. . . -α

.
0 ··· 0 -α 1+2α

M tridiagonale mais M−1 matrice dense =⇒ ujn+1 dépend de tous les


autres éléments, mais d’autant moins lorsqu’ils sont éloignés.
Lorsque α → 0, M(α)−1 → M(−α) : on retrouve l’algorithme explicite.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 47 / 57


Problèmes dynamiques Algorithme implicite du premier ordre en temps

Stabilité de l’algorithme implicite

Analyse Fourier — Von Neumann : modes propres ∝ A(t) sin(kx).


Suite géométrique de raison :
1
θ=
1 + 4 α sin2
 
k δx
2

Alogorithme implicite inconditionnellement stable quelque soit δx, δt : on


obtient toujours la bonne solution d’équilibre.
Toutefois, approximation du premier ordre en δt : description précise de la
solution transitoire nécessite un pas de temps petit.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 48 / 57


Problèmes dynamiques Algorithme de Crank–Nicholson

Principe de l’algorithme de Crank–Nicholson

Objectif : accroître la précision =⇒ améliorer l’approximation en


différences finies de ∂∂t .

Même stratégie que « Euler modifié » (cf. EDO) : moyenne des deux
algorithmes.

D (uj+1 − 2uj + uj−1 ) + (uj+1


n − 2u n + u n )
n+1 n+1 n+1
ujn+1 − ujn
" #
=
j j−1
δt 2 (δx)2

Approximation du deuxième ordre en δt et δx.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 49 / 57


Problèmes dynamiques Algorithme de Crank–Nicholson

Schéma de progression de Crank–Nicholson

ujn+1
Figure 11 : Schéma (n+1) δt
illustrant la progression n δt ujn
d’un pas de temps avec
l’algorithme de
Crank–Nicholson. x
j δx (nx+1) δx
0
(j −1) δx (j +1) δx

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 50 / 57


Problèmes dynamiques Algorithme de Crank–Nicholson

Stabilité de l’algorithme de Crank–Nicholson

Etude de stabilité Von Neumann : décroissance géométrique des modes :

1 − 2 α sin2
 
k δx
θ=
2
(28)
1 + 2 α sin2
 
k δx
2

ce qui permet de montrer que cet algorithme est lui aussi


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

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 51 / 57


Problèmes dynamiques Algorithme de Crank–Nicholson

Formulation matricielle

Système d’équations linéaires à résoudre (j ∈ [1, nx ]) :

α n+1 α n+1 α n α n
− u + (1 + α)ujn+1 − uj+1 = uj−1 + (1 − α)ujn + uj+1 (29)
2 j−1 2 2 2
Ce système peut être écrit de façon matricielle sous la forme :
α −α αh n
   
Un+1 = M Un + V + Vn+1
i
M (30)
2 2 2
avec les mêmes notations que pour les deux autres algorithmes.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 52 / 57


Équation des ondes

Sommaire
1 Introduction
Exemples d’EDP
Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique : résolution numérique de l’équation de Laplace
Discrétisation du problème
Reformulation vectorielle de la solution
Solution du problème
3 Problèmes dynamiques
Discrétisation de l’espace et du temps
Algorithme explicite du premier ordre en temps
Algorithme implicite du premier ordre en temps
Algorithme de Crank–Nicholson
4 Équation des ondes

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 53 / 57


Équation des ondes

Équation des ondes : différences finies

Résolution numérique de l’équation de d’Alembert :


Discretisation du domaine comme pour l’equation de la chaleur ;
CI arbitraires u(x, 0) ;
CL Dirichlet ou Neumann.
schéma de différences finies «naturel» :

∂2u 2
2∂ u
ujn+1 + ujn−1 − 2ujn 2 uj+1 + uj−1 − 2uj
n n n
= c ⇒ = c
∂t 2 ∂x 2 (δt)2 (δx)2
(31)
(deuxieme ordre en temps et espace).
Note : symétrie entre temps et espace.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 54 / 57


Équation des ondes

Algorithme explicite

En posant α = cδt/δx, on obtient les équations explicites à trois niveaux


de temps :

ujn+1 = α2 (uj+1
n
+ uj−1
n
) + 2(1 − α2 )ujn − ujn−1 . (32)

soit, sous forme matricielle :

Un+1 = 211 + α2 L1D Un − Un−1 + α2 L1D Vn




où V représente à nouveau les conditions aux limites sur les bords.

Ce schéma est appelé “Leap-Frog” en anglais, singulièrement traduit en


« saute-mouton ».

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 55 / 57


Équation des ondes

Critère CFL

Relation de dispersion associée au schéma : sin2 ω δt


= α2 sin2 k δx
 
2 2
α ≤ 1 : solutions réelles (ie non divergentes).
α = 1 : relation de dispersion exacte (et ujn disparaît).

⇒ Critère de Courant–Friedrichs–Lewy (CFL) :


α  1 ⇔ méthode stable.
Valeur précise dépend de la méthode de discrétisation, dimension de
l’espace, éventuellement direction de propagation.
3 formulations équivalentes :
pas de temps δt < c δx temps de propagation de l’onde ;
pas d’espace δx > δt/c distance parcourue par l’onde ;
vitesse «diffusion information» δx/δt > c célérité de l’onde.

(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 56 / 57


Équation des ondes

Schéma de progression et critère CFL

Le schéma de progression est désormais le suivant :

Figure 12 : Schéma ujn+1


illustrant la progression n+1
d’un pas de temps dans
n ujn
l’algorithme explicite
pour l’équation de n−1
d’Alembert δt x
0 δx L
cône de lumière
Le critère CFL se traduit (dans ce cas simple 1D) par le fait que des points
intervenant dans la progression doivent être hors du cône de lumière, pour
laisser à l’onde « le temps de se propager ».
(UPMC) Thème 5 : Résolution numérique des EDP 19 et 26 mars 2013 57 / 57

Vous aimerez peut-être aussi