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
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
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
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
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
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
Introduction Exemples d’EDP
Équation des ondes
L’équation des ondes ou « de d’Alembert » :
∂2u
∂t2 −c2 ∆u= 0 (1)
u=u(#–r,t) champ scalaire (ex. pression dans le cas du son).
c : constante, vitesse de propagation des ondes.
∆: Laplacien scalaire :
∆ = ∂2
∂x2 + ∂2
∂y2 en 2 dimensions (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 : i∂u
∂t =−1
2∆u+V u (3)
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é =n2 =V + 1.
Introduction Exemples d’EDP
Équation de la diffusion
L’équation de diffusion
∂u
∂t +div#–
J = 0 avec #–
J =−Dgrad(# – u)
J#–: flux deu par unité de surface, D : coefficient de diffusion (m2s−1) CasD =cste :
∂u
∂t =D∆u (4)
Cette équation décrit :
les transferts de chaleur par conduction dans un milieu continu, elle est alors appeléeéquation de la chaleur etu ≡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.
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 :grad# –u.#–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)
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) dansD sur un intervalle de temps.
CL spatio-temporelles : CI : u(#–r,t = 0)+ CL :u(#–r =·,t)
Problèmes statiques : détermineru(#–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 lorsquet → ∞.
Équation de Laplace
∆T = ∂2
∂x2 + ∂2
∂y2
! T = 0
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
∂t =D ∂2u
∂x2 (5)
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
Un problème statique : l’équation de Laplace
Résolution de l’équation de Laplace
Objectif : solution numérique approchée de∆T = 0à l’in- térieur de D.
Simplification : D rectangu- laire, de côtés∆x et ∆y.
x
y
∆y
∆x
A l'intérieur T(x,y) inconnue vérifiant ∆T=0 Surlebord:T(x,y)connue
Figure1 : Géométrie du problème de l’équation de Laplace : noter le
choix inhabituel de l’orientation des axesxety.
(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
1 3 2 4 5 6 7 8 9 11 10 1312 1614 18 0
5
10
15
20
0 5 10 15 y 20 25
x
0C˚ 10C˚
20C˚
Figure2 : Exemple de solution dans le cas où une paroi est maintenue à20◦C, une autre adjacente est à 10◦C et les deux autres parois sont àT= 0◦C. Les lignes indexées de 1 à 18 représentent les isothermes.
Un problème statique : l’équation de Laplace Discrétisation du problème
Maillage du domaine D
Discrétisation du domaineD : température évaluée en un nombre fini de points. Le plus simple : grille de pas dx =dy =p
x 1 i
nl
.'..'.'.'.'.'.
1 .'.'.' j .'.'.'.'.'. nc y
∆y'=(nc+1)'p p
p (i,j')
∆x'=(nl+1)'p
Figure3 : Point de grille↔(i,j). Intérieur du domaine :i= 1→nl, j= 1→nc.
x
y
0 .'.'. j .'.'.'.'.'. nc+1
0 i
.'.'..'.'.'.'.'.
nl'+1
(i,nc+1) (0,j')
(i',j')
Figure4 : Les bords du domaine portant les conditions aux limites sont numérotés : i= 0pour le haut, i=nl+ 1pour le bas,j= 0 pour la gauche,j=nc+ 1pour 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érieurde la grille :
nl = ∆x/p−1 lignes horizontales.
nc= ∆y/p−1colonnes 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 noteTi,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 deTi,j où 16i 6nl,16j 6nc qui seront déduites des valeurs de Ti,j aux bords (pouri = 0 oui =nl + 1,j = 0 ouj =nc+ 1).
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(x±p,y) =T(x,y)±p∂T
∂x +p2 2
∂2T
∂x2 ± p3 3!
∂3T
∂x3 +Op4 (6) montre que :
T(x+p,y) +T(x−p,y) = 2T(x,y) +p2 ∂2T
∂x2(x,y) +Op4 (7) d’où :
∂2T
∂x2 (x,y) = T(x+p,y) +T(x−p,y)−2T(x,y)
p2 +Op2 (8)
ce qui conduit à :
∂2T
∂x2(xi,yj) = Ti+1,j+Ti−1,j−2Ti,j
p2 +Op2 (9)
dont la précision est du deuxième ordre enp.
(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
∂x(x± p
2,y)≈ ±T(x±p,y)−T(x,y)
p (10)
qui conduit à :
∂2T
∂x2(xi,yj)≈ 1 p
∂T
∂x
xi+p 2,yj
−∂T
∂x
xi −p 2,yj
= Ti+1,j+Ti−1,j−2Ti,j
p2 +Op2
(11)
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,j = Ti+1,j+Ti−1,j+Ti,j+1+Ti,j−1−4Ti,j
p2 +Op2 (12)
Équation de Laplace =⇒ systèmelinéairedeN équations reliant Ti,j aux 4 points voisins :
Ti+1,j+Ti−1,j +Ti,j+1+Ti,j−1−4Ti,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
x 1
j 1W nc
i
2
k=(i–1)nc+j 2nc
nl×nc nc+1
y 1N
1S
2E
Ouest
Nord
Sud
Est
Figure 5 : Renumérotation des points de grille pour représenter la solution sous la forme d’un vecteur : le domaine est ré-indexé ligne par ligne de la gauche vers la droite et de haut en bas.
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 :
A Z=B (15)
où A est une matrice carréeN ×N comportantnl×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 L
2DL2D=
−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 0 0 1 0 0 1−4 1 0 0 1 0 0 0 0 1 0 0 1−4 0 0 0 1 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−−−→
x
y
nl blocs de taille nc×nc
Chaque ligne et chaque colonne contient 5 termes non-nuls comme (14) le prévoit, sauf celles de numéro ncet nc−1, où apparaissent les0.
Sens de parcours et influence des bords
-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 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
←−nc−→ ←−nc−→ ←−nc−→ ←−nc−→ ←−nc−→
x
y
nlblocsdetaillenc×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
B= −
T1N
T2N
.. . Tnc N
0 .. . .. . 0 0 .. . .. . 0
−
0 .. . .. . 0 0 .. . .. . 0 T1S
T2S
.. . Tnc S
−
T1W
0 .. . 0 T2W
0 .. . 0 Tnl W
0 .. . 0
−
0 .. . 0 T1E
0 .. . 0 T2E
0 .. . 0 Tnl E
alias bk=(i−1)nc+j=−(δi,1Ti−1,j+δi,ncTi+1,j+δj,1Ti,j−1+δj,nlTi,j+1) (16)
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 fixede l’application Z7→ −D−1(NZ−B) Calcul par récurrenceen partant d’une valeur quelconque Z0 :
Zn+1 =−D−1 N Zn−B= N Zn−B/4
Convergence : Zn+1−Z= N4(Zn−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.
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) ∝N3 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édurematfull2band fournie)
♣
♣
♠
♠
♥
♥
♦
♦ Matrice bande n=6 ku=1
kl=2
Stockage bande (kl+ku+1)×n
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.
Problèmes dynamiques
Équation de diffusion 1-D
Équation de diffusion à 1-D :
∂u
∂t =D∂2u
∂x2 (17)
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 + 1pas de largeurδx= nxL+1. Temps : [0,T]est subdivisé en nt+ 1pas de largeurδt = nT
t+1. ujn ⇐⇒u(x,t) pour x=jδx ett =nδt
CL =⇒u0n ≡ung et unn
x+1 ≡udn ∀n.
CI=⇒uj0 pour1≤j ≤nx.
Methode de résolution fondamentalement explicite:ujn + CL =⇒ujn+1.
Problèmes dynamiques Discrétisation de l’espace et du temps
Différences finies
Laplacien (cf. régimes stationnaires) :
∆u≈ uj+1n −2ujn +uj−1n (δx)2
Dérivée ordre 1 par rapport au temps — au choix : vers l’avant, impliquant(ujn+1−unj)/δt vers l’arrière, avec (ujn−ujn−1)/δt ou centrée avec(ujn+1−un−1j )/2δt
Choix détermine l’ordre de l’évaluation en δt, mais surtout le caractère explicite ouimplicitede 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
δt =D
uj+1n −2unj +uj−1n (δx)2
pour 16j 6nx (18) Semblable à méthode d’Euler explicite (progressive).
Paramètre caractéristique sans dimension : α= Dδt
δx2 (19)
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Système d’équations linéaires
On peut alors d’écrire :
ujn+1=αuj+1n + (1−2α)ujn+αuj−1n pour 16j 6nx (20) Caractèreexplicite :ujn+1 obtenus directement en fonctions desukn. Pour j = 1,nx :unj−1,uj+1n n’existent pas=⇒condition de bord.
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
Figure6 : Schéma illustrant la progression d’un pas de temps avec l’algorithme explicite du premier ordre enδt.
(n+1) δt n δt
0(j− 1) δx j δx
(j +1) δx
(nx+1) δx x t
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Formulation matricielle
Vecteur Un = (u1n, . . . ,unn
x)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 :
L1D=
−2 1 0 · · · 0 1 −2 1 . .. ... 0 . .. . .. . .. 0
..
. . .. . ..−2 1 0 · · · 0 1 −2
−→ M(−α) =
1−2α α 0 · · · 0 α 1−2α α . .. ... 0 . .. . .. . .. 0
..
. . .. . ..1−2α α 0 · · · 0 α 1−2α
(21)
(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.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3
0 20 40 60 80 100 120 140
1pas 2pas 4pas 6pas 8pas 10pas 12pas 14pas
α=1.2
Figure 7 : Résolution explicite avecα= 1.2.
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=−Dk2A(t)
Méthode explicite :
A(n+1)−A(n)
A(n) = AA(n+1)(n) −1 =α eikδx −2 +e−ikδx=−4αsin2kδx2 . suite géométrique de raisonθ réelle : A(n)=A0θn, avec :
θ= 1−4αsin2kδx2 (23) Stabilité =⇒ −16θ61et donc α61/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 L
1DLap-ième valeur propre de la matrice L1D, en dimensionn, s’écrit en fonction deβ =π/2(n+ 1) =πδx/2L :
valeur propre : −4 sin2 pβ ; vecteur propre : um(p)= sin m pβ On en déduit celles de la matrice M(−α) :
M(−α) =11+αL1D −→ 1−4αsin2 p2Lπδx.
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ω=Dk2 déduite de l’équation de la diffusion est remplacée par :
2isin ωδt2 exp(−iωδt2 = 4α sin2 kδx2 (24) qui n’a de solution ω à partie imaginaire négative (stable) que si 4α62. Avant d’aller plus loin dans l’analyse numérique, voici quelques exemples.
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Exemple : Diffusion d’une distribution en « marche »
0 20 40 60 80 100 120
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Diffusion d’une marche
position (x)
u(x,t)
Figure8 : 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
0 20 40 60 80 100 120
0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2
Rôle de la longueur d’onde sur la diffusion
position (x)
u(x,t)
Figure 9 : Amortissement de deux modes
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".
ujn+1−ujn
δt =D
"
uj+1n+1−2ujn+1+uj−1n+1 (δx)2
#
(25)
=⇒ système denx équations linéaires :
−αuj−1n+1+ (1 + 2α)ujn+1−αuj+1n+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
Figure10 : Schéma illustrant la
progression d’un pas de temps avec l’algorithme implicite du premier ordre enδt.
(n+1) δt n δt
0(j− 1) δx j δx
(j +1) δx
(nx+1) δx x t
ujn+1 ujn
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 :
M(α) =11−αL1D=
1+2α-α 0 · · · 0 -α . ... ... .. ... 0 . ... ... .. 0 ..
. . ... ... .. -α 0 · · · 0 -α1+2α
(27)
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αsin2k2δx
Alogorithme implicite inconditionnellement stablequelque 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.
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.
ujn+1−unj
δt = D
2
"(uj+1n+1−2ujn+1+uj−1n+1) + (uj+1n −2ujn+uj−1n ) (δ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
Figure11 : Schéma illustrant la progression d’un pas de temps avec l’algorithme de
Crank–Nicholson.
(n+1) δt n δt
0(j− 1) δx j δx
(j +1) δx
(nx+1) δx x t
ujn+1
ujn
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αsin2k2δx
1 + 2αsin2k2δx (28) ce qui permet de montrer que cet algorithme est lui aussi
inconditionnellementstable (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]) :
−α
2uj−1n+1+ (1 +α)ujn+1−α
2uj+1n+1 = α
2uj−1n + (1−α)unj +α
2uj+1n (29) Ce système peut être écrit de façon matricielle sous la forme :
M α
2
Un+1=M −α
2
Un+α 2
hVn+Vn+1i (30) avec les mêmes notations que pour les deux autres algorithmes.