Académique Documents
Professionnel Documents
Culture Documents
19 et 26 mars 2013
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
Contexte
∂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
É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.
É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).
∆u = 0
Équations elliptiques/paraboliques/hyperboliques
Problèmes statiques
Équation de Laplace !
∂2 ∂2
∆T = + T =0
∂x 2 ∂y 2
Problèmes dynamiques
2 - Problèmes dynamiques :
∂u ∂2u
=D (5)
∂t ∂x 2
avec diverses conditions initiales.
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
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
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
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.
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
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
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
x 1S k=(i–1)nc+j
Sud
Formulation vectorielle
AZ=B (15)
où A est une matrice carrée N × N comportant nl × nl blocs carrés de
dimension nc × nc, du type :
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
Méthode de relaxation
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.
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)
kl=2 ♣
♦ ♥
♦ ♠
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
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
∂u ∂2u
=D 2 (17)
∂t ∂x
domaines spatial x ∈ [0, L], et temporel t ∈ [0, T ]
D = cste > 0
Discrétisation du domaine
Différences finies
ujn+1 − ujn n − 2u n + u n
uj+1
=D pour 1 6 j 6 nx
j j−1
(18)
δt (δx) 2
ujn+1 = α uj+1
n
+ (1 − 2α) ujn + α uj−1
n
pour 1 6 j 6 nx (20)
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 :
−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α
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
θ = 1 − 4α sin2
kδx
2 (23)
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)
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)
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
Formulation matricielle
Même stratégie que « Euler modifié » (cf. EDO) : moyenne des deux
algorithmes.
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
1 − 2 α sin2
k δx
θ=
2
(28)
1 + 2 α sin2
k δx
2
Formulation matricielle
α 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.
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
∂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.
Algorithme explicite
ujn+1 = α2 (uj+1
n
+ uj−1
n
) + 2(1 − α2 )ujn − ujn−1 . (32)
Critère CFL