Thème 4: résolution numérique des EDP linéaires Problèmes statiques et dynamiques
Université Pierre et Marie CURIE MNCS
Méthodes numériques et calcul scientifique
2 et 3 mars 2017
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 1 / 57
Sommaire
1 Introduction Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
Sommaire
1 Introduction Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 2 / 57
Sommaire
1 Introduction Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
Sommaire
1 Introduction Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 2 / 57
Introduction
Sommaire
1 Introduction Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
Introduction
Contexte
Équations différentielles ordinaires (EDO) : une variable indépendante Équations aux dérivées partielles (EDP) : plusieurs variables indépendantes
EDP omniprésentes en physique, chimie, sciences de la Terre, biologie : mécanique des fluides, propagation des ondes, électromagnétisme, phénomènes de diffusion...
Se limiter ici à des EDP linéaires régissant un champscalaireu(#–r , t).
Généralisations vectorielles possibles, et techniquement analogues.
Résolution numérique par laméthode des différences finies avec un maillage régulier.
Mais il existe d’autres méthodes, éléments finis par exemple, mieux adaptées dans le cas de domaines à géométrie complexe.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 4 / 57
Introduction
Exemples d’EDP scalaires les plus connues
1 L’équation des ondes ou « de d’Alembert »
∂2u
∂t2 −c2 ∆u= 0 (1)
2 L’équation de Schrödinger i∂u
∂t =−1
2∆u+V u (2)
3 L’équation de diffusion
∂u
∂t = div[D grad# –u] =D∆u siD est uniforme (3)
4 Les équations de Poisson et de Laplace
∆u=ρ ∆u= 0 (4)
B Les équations deNavier-Stokes en mécanique des fluides sont en général non-linéaires à cause du terme d’advection.
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 :
α∂2u
∂x2 +β ∂2u
∂x∂y +γ∂2u
∂y2 =...
β2−4αγ >0 hyperboliques : équation des ondes β2−4αγ = 0 paraboliques : diffusion ou Schrödinger
β2−4αγ <0 elliptiques : équations de Laplace, Poisson, Helmholtz Propriétés mathématiques différentes
−→ méthodes numériques spécifiques.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 6 / 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 (CL).
Plusieurs types de conditions :
Dirichlet:u imposé sur le bord ∂D.
Neumann :grad# –u.#–n (flux) 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 de l’é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
Distinguer deux classes de problèmes selon la présence de la variable temps :
Problèmes dynamiques : déterminer u(#–r , t) dansD sur un intervalle de temps + CL spatio-temporelles :
CI (conditions initiales) :u(#–r , t= 0) CL (conditions aux limites) :u(#–r =·, t)
Problèmes statiques : détermineru(#–r)en fonction des CL (pas de variable temps explicite).
La solution statique peut correspondre à un régime stationnaire atteint après un temps d’évolution assez long.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 8 / 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 4 : Résolution numérique des EDP 2 et 3 mars 2017 10 / 57
Un problème statique : l’équation de Laplace
Sommaire
1 Introduction Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
Un problème statique : l’équation de Laplace
Résolution de l’équation de Laplace dans un rectangle
Objectif : solution numérique approchée de
∆T = 0
à l’intérieur de D.
Simplification : D rectangulaire,
de côtés ∆xet ∆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 4 : Résolution numérique des EDP 2 et 3 mars 2017 12 / 57
Un problème statique : l’équation de Laplace
Exemple de carte d’isothermes
CL Dirichlet : températures imposées aux bords
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 de l’équation
∆T = 0, 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érieurdu 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 bordsdu domaine (C.L.) sont numérotés : i= 0pour le haut,i=nl+ 1pour le bas,j = 0pour la gauche,j =nc+ 1 pour la droite.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 14 / 57
Un problème statique : l’équation de Laplace Discrétisation du problème
Indexation 2D du domaine
À l’intérieur de la grille, on a :
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 noteTi,j la température en ce point, de coordonnées xi=i×p, yj =j×p.
Les inconnuesdu problème sont les n=nl×ncvaleurs de Ti,j
où16i6nl, 16j6nc.
Elles seront déduites des 2(nl+nc) valeurs de Ti,j imposées aux bords i= 0 (nord) ou i=nl+ 1(sud)
j= 0 (ouest) ouj =nc+ 1(est).
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) =T(x)±p∂T
∂x +p2 2
∂2T
∂x2 ±p3 3!
∂3T
∂x3 +Op4 (6) montre que :
T(x+p) +T(x−p) = 2T(x) +p2 ∂2T
∂x2(x)+Op4 (7) d’où :
∂2T
∂x2(x) = T(x+p) +T(x−p)−2T(x)
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 4 : Résolution numérique des EDP 2 et 3 mars 2017 16 / 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
≈ ±T(x±p)−T(x)
p (10)
qui conduit à :
∂2T
∂x2(xi, yj)≈ 1 p
∂T
∂x
xi+p 2, yj
−∂T
∂x
xi−p 2, yj
(11) soit encore :
∂2T
∂x2(xi, yj) = Ti+1,j+Ti−1,j−2Ti,j
p2 +Op2 (12)
Un problème statique : l’équation de Laplace Discrétisation du problème
Différences finies : Laplacien 2D
On obtient ainsi leLaplacien 2D discrétisé à l’ordre 2:
∆Ti,j = Ti+1,j+Ti−1,j+Ti,j+1+Ti,j−1−4Ti,j
p2 +Op2 (13)
Équation de Laplace ∆T = 0 =⇒systèmelinéaire deN équations reliant Ti,j aux 4 points voisins :
Ti+1,j+Ti−1,j+Ti,j+1+Ti,j−1−4Ti,j = 0 (14) N =nc×nlvaleurs à déterminer
à partir de 2(nc+nl)températures connues.
Certains points intérieurs ont des voisins sur les parois avec des températures imposées qui vont constituer le second membre.
Noter que le pas pn’intervient plus.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 18 / 57
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Réindexation 1-D du domaine (en RowMajor)
Ré-indexation 1D des points intérieurs : k= (i−1)nc+j ⇒ vecteur Z.
Ti,j ⇐⇒Zk 16k6nl×nc
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, puis de haut en bas (comme une image numérique) donc en RowMajor.
Les voisins au Nord et au Sud sont alorsespacés dencdans Z.
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Formulation vectorielle
Pour un point sans contact avec les bords du domaine, l’équation (14) s’écrit :
Zk−nc+Zk−1−4Zk+Zk+1+Zk+nc= 0 (15) Ne pas croire que le second membre du système linéaire est nul !
Pour un point en contact avec un bord, cette équation fait intervenir des températures imposées : par exemple celles du bord Nord si i= 1.
T2N +Z1−4Z2+Z3+Z2+nc = 0 pour j= 2
=⇒ passer ces termes dans le second membre du système Les CL de Dirichlet des bords créent le second membre
Chaque changement de membre d’une température imposée annule un des coefficients des Zk0.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 20 / 57
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Matrice L
2DRéécrire le système d’équations sous la forme :
A Z=B (16)
où A=L2D est une matrice carrée N ×N comportant nl×nlblocs carrés de dimension nc×nc.
L2D est symétrique tridiagonale par blocs:
1 blocs de type L1D avec−4 au lieu de−2 sur la diagonale ;
2 blocs de type identité sur la sous-diagonale et la sur-diagonale.
Chaque ligne et chaque colonne contient 5 termes non-nuls,
sauf celles de numéroi×ncet i×nc+ 1, où apparaissent les 0des contacts avec les bords latéraux,
et celles associées au premier et dernier bloc (bords haut et bas).
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Matrice L
2Davec nl = 3 et nc = 4
L2D=
−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
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 22 / 57
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
L
2Dtridiagonale par blocs : exemple nl = 5 et nc = 4
L2D=
−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
nlblocs de taille nc×nc
nl= 5 et nc= 4
Sens de parcours et influence des bords (nl = 5 nc = 4)
-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
(1,1) k= 1
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Le vecteur B résultant des CL
B est un vecteur creux à N =nl×nc composantes formé à partir des 2(nl+nc)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
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 (16), L2DZ=B, 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 », bande, symétrique...
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 triangulaire inférieure (Lower) par une matrice triangulaire supérieure (Upper).
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 26 / 57
Un problème statique : l’équation de Laplace Solution du problème
Résolution du système par méthode de relaxation
Méthode de relaxation: méthode itérative, basée sur la
décomposition en parties diagonale/non-diagonale : L2D =D+N L2DZ=B équivaut à 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 des valeurs propres de N toutes inférieures à 4 (rayon spectral de N<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 4 : Résolution numérique des EDP 2 et 3 mars 2017 28 / 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 fournir 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 Généralités
Conditions aux limites
Problèmes statiques et dynamiques
2 Exemple de problème statique linéaire : 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–Nicolson
4 Équation des ondes
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 30 / 57
Problèmes dynamiques
Introduction aux problèmes dynamiques
Problèmes dynamiques :
Évolution 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ν ≈νforcé
Exemple : équation de la chaleur à une dimension spatiale pour simplifier.
Problèmes dynamiques
Équation de diffusion 1-D
Équation de diffusion à 1-D avec D=cste>0:
∂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
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 32 / 57
Problèmes dynamiques Discrétisation de l’espace et du temps
Discrétisation du domaine [O, L] × [0, T ]
point intérieur unj inconnu Cond. aux Limites en x= 0 etx=L en t= 0(n= 0) Cond. Initiale
t
x L= (nx+ 1)δx
T=(nt+1)δt n= 0
j= 0 j= 1 δx j =nx+ 1
n= 1 δt n=nt+ 1
Un
nx points intérieurs
Figure 6 –Discrétisation du domaine[0, L]×[0, T] NB : visualisation ultérieure avec les 2 bords
⇒ à chaque temps, écrire Un (nxpoints) plus les CL (2 points) : nx+ 2points
Problèmes dynamiques Discrétisation de l’espace et du temps
Discrétisation du domaine
Discrétiser les deux dimensions :
Espace : [0, L]est divisé en nx+ 1pas de largeurδx= nxL+1. nx points intérieurs+ 2 bords
Temps : [0, T]est subdivisé en nt+ 1pas de largeurδt= ntT+1. unj =u(x, t) pour x=j δxett=n δt
CL =⇒un0 ≡ung etunnx+1 ≡und pour 16n6nt+ 1 CI=⇒u0j pour 16j6nx.
Méthode de résolution fondamentalement itérativesur le temps : unj + CL =⇒un+1j à l’intérieur du domaine.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 34 / 57
Problèmes dynamiques Discrétisation de l’espace et du temps
Discrétisation des opérateurs : différences finies
Laplacien à l’ordre 2 (cf régimes stationnaires) :
∆u≈ unj+1−2unj +unj−1 (δx)2
Dérivée ordre 1 par rapport au temps — au choix comme pour les EDO : vers l’avant :
∂u
∂t n
j
= un+1j −unj
δt (cf Euler forward) vers l’arrière :
∂u
∂t n
j
= unj −un−1j
δt (cf Euler backward) ou centrée :
∂u
∂t n
j
= un+1j −un−1j 2δt
Ce choix détermine le caractèreexplicite ouimplicitede la méthode.
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Algorithme explicite du premier ordre en temps
Approche simpliste : dérivée vers l’avant un+1j −unj
δt =D
unj+1−2unj +unj−1 (δx)2
pour 16j6nx (18) Semblable à méthode d’Euler explicite (progressive).
Paramètre caractéristique sans dimension : α= D δt
δx2 (19)
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 36 / 57
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Système d’équations linéaires (algorithme explicite)
On peut alors écrire :
un+1j =α unj+1+ (1−2α)unj +α unj−1 pour 16j6nx (20) Méthode explicite :un+1j obtenus directement en fonctions desunk.
Pour j= 1 ounx :unj−1, unj+1 sur les bords
=⇒ fixés par conditions aux limites
Note : équivalent à méthode de relaxation si α= 1/2.
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Schéma de progression explicite
Figure7 –Schéma illustrant la progression d’un pas de temps avec l’algorithme explicitedu premier ordre enδt.
t
0 x
0 j−1 nx+ 1
(n+ 1)δt nδt
Un
j+ 1 Un+1
j
un+1j =α unj+1+ (1−2α)unj +α unj−1
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 38 / 57
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Explicite : Formulation matricielle
Vecteur Un= (un1, . . . , 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 ,
Vn= (ung,0, . . . ,0, und) : vecteur des conditions aux limites, M(−α) =11+αL1D
où L1D =matrice tridiagonale représentant la dérivée seconde 1-D
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)
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Explicite : stabilité
Problème important : instabilitéde la méthode explicite pour un pas de temps « un peu trop grand » (α >0.5) :
-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
Figure8 –Résolution explicite avecα= 1.2>0.5.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 40 / 57
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Explicite : analyse de stabilité de Fourier–von Neumann
Stabilité des modes propres :
u(x, t) =A(t) exp(ikx) ⇒ unj =A(n)eik j δx , (22) solution si dA/dt=−Dk2A(t) soit A(t) =A(0) exp −Dk2t L’algorithme explicite donne la version discrète de A(t) :
A(n+1)
A(n) = 1 +αeik δx−2 +e−ik δx
= 1 +αeik δx/2−e−ik δx/22
= 1−4αsin2k δx2 .
(23)
→ suite géométriqueA(n)=A(0)θn, de raison réelleθ= 1−4αsin2k δx2 L’algorithme explicite est stablesi |θ|61pour tous les modes, soit
06α61/2 c-à-d δt6δx2/2D