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 / 60
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 / 60
Introduction
Contexte
Équations différentielles ordinaires (EDO) : une variable indépendante Équations aux dérivées partielles (EDP): plusieurs variables indépendantes
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 ici à des EDP linéairesrelatives à un champ scalaire u(#–r , t). Les généralisations vectorielles sont bien sûr 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 3 / 60
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-Stokesen mécanique des fluides sont en général non-linéaires à cause du terme d’advection.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 4 / 60
Introduction
Équation des ondes
L’équation des ondes ou « de d’Alembert » :
∂2u
∂t2 −c2 ∆u= 0 (5)
où u=u(#–r , t) est un champ scalaire fonction de la position #–r et du tempst, comme la pression d’un gaz dans le cas du son.
La constante cest la vitesse de propagation des ondes et ∆le Laplacien scalaire :
∆ = ∂2
∂x2 + ∂2
∂y2 dans le plan en coordonnées cartésiennes (6)
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 5 / 60
Introduction
Équation de Schrödinger
L’équation de Schrödinger : i∂u
∂t =−1
2∆u+V u (7)
qui décrit en mécanique quantique la fonction d’onde d’une particule massive dans un potentiel V.
En remplaçantt parz, elle représente aussi la propagation selonz d’une onde harmonique à la limite paraxiale, dans un milieu de permittivité =n2=V + 1.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 6 / 60
Introduction
Équation de la diffusion
L’équation de diffusion
∂u
∂t +div#–
J = 0 avec #–
J =−D grad# –u Ici #–
J est le flux (de u) par unité de surface etD le coefficient de diffusion (m2s−1), ce qui donne, dans le cas oùD est homogène :
∂u
∂t =D∆u (8)
Cette équation décrit :
les transferts de chaleur par conduction dans un milieu continu ; elle est alors appeléeéquation de la chaleuretu≡T et D≡λ/Cp. la diffusion des particules d’un fluide dans un autre (équation de Fick).
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 7 / 60
Introduction
Équations de Poisson et de Laplace
Des cas particuliers sont les équations de Poisson et de Laplace, qui peuvent être vues comme des cas limites lorsque la dépendance en temps est supprimée, ou remplacée par une 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).
L’équation de Laplace est un cas particulier où la charge est nulle :
∆u= 0 (9)
On va notamment la retrouver comme solution stationnaire de l’équation de la chaleur.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 8 / 60
Introduction Généralités
Équations elliptiques/paraboliques/hyperboliques
L’étude théorique des EDP est un vaste domaine en mathématiques qui est hors du cadre de ce cours.
Les EDP linéairesdu second ordre évoquées plus haut sont classées selon la forme des coefficients figurant 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 Elles ont des propriétés mathématiques différentes, et leur résolution par des techniques numériques requiert parfois des méthodes distinctes.
Dans la pratique, nous nous concentrerons sur une méthode de résolution approchée par des méthodes numériques, dans le cas principalement de l’équation de la chaleur.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 9 / 60
Introduction Conditions aux limites
Conditions aux limites
On doit se donner des « conditions au limites » (CL). L’équation étant vérifiée dans un domaine D de l’espace (ou espace-temps), on distingue des conditions de 2 types :
Conditions de Dirichlet : on impose la valeur deu sur la bordure de D. Dans le cas où on étudie un problème dépendant du temps, cela inclut des conditions « initiales »
Conditions de Neumann : c’est la valeur de la dérivée normale
∂u/∂n=grad# –u·#–n que l’on impose.
Robin : plus général, combinaison linéaire des deux.
Dans le cas général, on a une combinaison des deux selon différentes parties de la bordure.
À titre d’exemple pour l’équation de la chaleur :
Des CL de Dirichlet correspondent à des parois isothermes, qui imposent leur température.
Des CL de Neumann avecgrad# –u·#–n = 0 annulent le transfert de chaleur : parois adiabatiques.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 10 / 60
Introduction Problèmes statiques et dynamiques
Problèmes statiques et dynamiques
Selon que la variable temps est ou non présente, deux classes de problèmes doivent être distinguées :
Problèmes dynamiques: il s’agit de détermineru(#–r , t) dans un domaineD, sur un certain intervalle de temps, en fonction des CL spatio-temporelles :
CI (conditions initiales) :u(#–r , t= 0) =· · · CL (conditions aux limites) :u(#–r =·, t) =· · ·
Problèmes statiques: le temps n’intervient pas, il s’agit de déterminer u(#–r) en fonction des seules CL ; cela correspond en général à 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 11 / 60
Introduction Problèmes statiques et dynamiques
Problèmes statiques
Nous nous intéresserons en premier lieu auxproblèmes statiques.
Il s’agit de problèmes où l’on cherche la solution d’une EDP où le temps n’intervient pas. C’est par exemple la solution d’équilibre de l’équation de diffusion qui sera asymptotiquement atteinte quandt→ ∞, et qui doit donc vérifier l’équation de Laplace.
Dans ce cas ureprésente un champ de température T(x, y)(avec une origine arbitraire) et on a dans le plan en coordonnées cartésiennes :
∆T = ∂2T
∂x2 +∂2T
∂y2 = 0 . (10)
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 12 / 60
Introduction Problèmes statiques et dynamiques
Problèmes dynamiques
Puis, dans une deuxième partie, nous considérerons lesproblè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 (11)
avec diverses conditions initiales.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 13 / 60
Un problème statique : l’équation de Laplace
Résolution de l’équation de Laplace dans un rectangle
Nous cherchons une solu- tion numérique approchée de
∆T = 0 à l’intérieur d’un domaineD que pour simpli- fier nous supposerons rectan- gulaire, de côtés ∆x et ∆y
(voir figure 1). 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 14 / 60
Un problème statique : l’équation de Laplace
Exemple de carte d’isothermes
Nous supposons en outre que les parois ont des températures imposées de l’extérieur (CL de 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 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.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 15 / 60
Un problème statique : l’équation de Laplace Discrétisation du problème
Discrétisation du domaine
Nous procédons à une discrétisation du domaine D : la température sera calculée en un nombre fini de points. Pour simplifier, le maillage choisi est une grille de pasdx=dy=pcomme représenté sur les figures 3 et 4.
On a nl=∆x/p−1lignes et nc=∆y/p−1 colonnes.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 16 / 60
Un problème statique : l’équation de Laplace Discrétisation du problème
Maillage du domaine D
x 1 i
nl
.'..'.'.'.'.'.
1 .'.'.' j .'.'.'.'.'. nc y
∆y'=(nc+1)'p p
p (i,j')
∆x'=(nl+1)'p
Figure3 –
Chaque point de la grille est repéré par un couple(i, j)oùirepère la ligne etj la colonne. L’intérieurdu domaine est numéroté de i= 1ànl et dej= 1ànc.
x
y
0 .'.'. j .'.'.'.'.'. nc+1
0 i
.'.'..'.'.'.'.'.
nl'+1
(i,nc+1) (0,j')
(i',j')
Figure4 –Lesbords du domaine (C.L.) sont numérotés :i= 0pour le haut,i=nl+ 1pour le bas,j= 0pour la gauche,j=nc+ 1pour la droite.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 17 / 60
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−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.
Lesinconnues du problème sont lesn=nl×ncvaleurs de Ti,j
où 16i6nl, 16j6nc.
Elles seront déduites des2(nl+nc)valeurs de Ti,j imposées aux bords i= 0 (nord) ou i=nl+ 1 (sud)
j= 0 (ouest) ou j=nc+ 1 (est).
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 18 / 60
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 (12) montre que :
T(x+p) +T(x−p) = 2T(x) +p2 ∂2T
∂x2(x)+Op4 (13) d’où :
∂2T
∂x2(x) = T(x+p) +T(x−p)−2T(x)
p2 +Op2 (14)
ce qui conduit à :
∂2T
∂x2(xi, yj) = Ti+1,j+Ti−1,j−2Ti,j
p2 +Op2 (15)
dont la précision est du deuxième ordre en p.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 19 / 60
Un problème statique : l’équation de Laplace Discrétisation du problème
Différences finies (suite)
On note que cette approximation peut s’obtenir de façon alternative à partir de :
∂T
∂x
x±p 2
≈ ±T(x±p)−T(x)
p (16)
qui conduit à :
∂2T
∂x2(xi, yj)≈ 1 p
∂T
∂x
xi+p 2, yj
−∂T
∂x
xi−p 2, yj
(17) soit encore :
∂2T
∂x2(xi, yj) = Ti+1,j+Ti−1,j−2Ti,j
p2 +Op2 (18)
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 20 / 60
Un problème statique : l’équation de Laplace Discrétisation du problème
Différences finies : Laplacien 2D
On obtient ainsi le Laplacien 2D discrétisé à l’ordre 2:
∆Ti,j =Ti+1,j+Ti−1,j+Ti,j+1+Ti,j−1−4Ti,j
p2 +Op2 (19)
L’équation de Laplace se traduit alors par un système linéaire de N équations reliant les valeurs deTi,j aux 4 points voisins :
Ti+1,j+Ti−1,j+Ti,j+1+Ti,j−1−4Ti,j = 0 (20) où 2×(nl+nc) températures sont connues (celles sur les points aux bords indiqués par des croix sur la figure 4) et N =nl×ncsont à déterminer.
Système non homogène car certains points intérieurs ont des voisins sur les parois avec des températures imposées qui vont constituer le 2dmembre.
Noter que le pas pn’intervient plus.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 21 / 60
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Réindexation 1-D du domaine (en RowMajor)
On ré-indexe les points à l’intérieur de la grille par un seul indice k :
k= (i−1)nc+j (21)
qui fait correspondre (cf fig. 5) au tableau 2-D des Ti,j à calculer, le vecteuràN =nl×nccomposantes 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
Figure5 –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 enRowMajor.
Les voisins au Nord et au Sud sont alorsespacés dencdans Z.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 22 / 60
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 (20) s’écrit :
Zk−nc+Zk−1−4Zk+Zk+1+Zk+nc = 0 (22) 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 23 / 60
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
Matrice L
2DEn plaçant à droite du signe égal les températures imposées sur les bords, on constitue, à partir des CL, le second membre du système qui prend alors la forme :
A Z=B (23)
où A=L2D est une matrice carréeN×N comportant nl×nl blocs carrés de dimensionnc×nc.
L2D est symétriquetridiagonale par blocs:
1 blocs de type L1D avec−4au lieu de−2sur 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 comme (22) le prévoit, sauf celles de numéroi×nceti×nc+ 1, où apparaissent les 0, (bords latéraux), ainsi que celles associées au premier et dernier bloc (bords haut et bas).
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 24 / 60
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
nlblocs de taille nc×nc
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 25 / 60
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
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 26 / 60
Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
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
i= 2, j = 1 =⇒ k= 5
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 27 / 60
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
alias bk=(i−1)nc+j=−δi,1Ti−1,j−δi,nlTi+1,j−δj,1Ti,j−1−δj,ncTi,j+1 (24)
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 28 / 60
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 (23), 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 29 / 60
Un problème statique : l’équation de Laplace Solution du problème
Résolution du système par méthode de relaxation
La méthode de relaxation est une méthode itérative qui utilise
exclusivement l’équation (20) satisfaite par les températures aux points de la grille pour calculerTi j, en fonctions de ses 4 voisins.
Cela revient à séparer L2D en sa partie diagonale D=−411 et sa partie non diagonale N. On recherche la solution de l’équation NZ−B=−DZ= 4Z en partant d’une valeur quelconque Z0, et calculant par récurrence :
Zn+1= N Zn−B/4 dont le point fixe est la solution Z recherchée On se convainc aisément que cette méthode est convergente en écrivant :
Zn+1−Z= N
4(Zn−Z)
et en montrant que la valeur absolue des valeurs propres de N est toujours inférieure à 4 (rayon spectral inférieur à 4).
Cette méthode (et ses variantes plus rapidement convergentes) est aisée à coder et s’adapte aisément à des géométries plus complexes.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 30 / 60
Un problème statique : l’équation de Laplace Solution du problème
Résolution du système linéaire à l’aide de Lapack
Les méthodes générales, comme Gauss-Jordan ou LU demandent un nombre d’opérations en N3 pour résoudre un système de N équations2. Dans le cas présent, avec au plus 5 coefficients non nuls par ligne, on devrait exploiter le caractère « creux » de la matrice, et descendre à un nombre d’opérations proportionnel à N.
En TE, nous utiliserons la bibliothèque Blas/Lapack optimisée, et on pourra donc explorer des régimes de tailles relativement intéressants, de l’ordre de 1000 à 10000 points.
On commencera avec la fonction LapackxGESVpour les matrices générales.
2. Pour une matrice symétrique positive la factorisation de Choleski permet une résolution en∼N2
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 31 / 60
Un problème statique : l’équation de Laplace Solution du problème
Amélioration de l’efficacité
On peut améliorer l’efficacité en tirant partie des propriétés de la matrice à inverser
Par exemple on peut observer que −L2D est définie positive, et recourir à la procédurexPOSV.
On peut aussi s’appuyer sur fait qu’elle est symétrique, et utiliser la procédure correspondante xSYSV.
Plus utilement, on remarquera que−L2D est une« matrice bande », et une amélioration significative sera obtenue avec la fonctionxSBSV adaptée aux matrices symétriques-bandes.
Si enfin on tient compte de toutes ces propriétés, on utilisera avec profit la procédure xPBSV.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 32 / 60
Un problème statique : l’équation de Laplace Solution du problème
Stockage bande
Les deux dernières fonctions (xSBSVet xPBSV) requièrent un stockage spécifique de la matrice, appelé « stockage bande », où on ne fournit que les sur/sous-diagonales significatives (cf le « guide Lapack »).
Cette matrice réduite peut être construite directement en écrivant successivement les (sous)-diagonales pertinentes.
En C, pour simplifier son obtention à partir de la matrice complète aplatie, on pourra recourir à la procédure matfull2band fournie.
♣
♣
♠
♠
♥
♥
♦
♦ Matrice bande n=6 ku=1
kl=2
Stockage bande (kl+ku+1)×n
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 33 / 60
Problèmes dynamiques
Introduction aux problèmes dynamiques
Comme indiqué dans l’introduction générale, les problèmes dynamiques sont ceux où l’on suit l’évolution temporelle à partir d’un état « hors d’équilibre », ou plus généralement où l’on s’intéresse à des phénomènes de propagation.
Ils seront donc caractérisés par des « conditions initiales », et des
« conditions aux limites » susceptibles de dépendre du temps. Dans ce dernier cas, on pourra étudier un système « forcé », qui, comme pour les systèmes linéaires décrits par une EDO, donne lieu à un transitoire suivi d’un régime permanent forcé à la fréquence d’excitation.
Comme précédemment, nous allons nous concentrer sur le problème de l’équation de la chaleur, et pour simplifier, réduire la dimensionnalité de l’espace à une dimension.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 34 / 60
Problèmes dynamiques
Équation de diffusion 1-D
On cherche la solution numériqueu(x, t) de l’équation de diffusion à 1-D, où le coefficient de diffusion D, nécessairement positif, est supposé uniforme et constant :
∂u
∂t =D∂2u
∂x2 (25)
dans le domaine spatial x∈[0, L], et temporelt∈[0, T], avec des conditions initiales (CI) :
u(x,0) =u0(x) ∀x (26)
et des conditions aux limites (CL) :
u(0, t) =ug(t) et u(L, t) =ud(t) ∀t (27) Il est à noter que l’espace et le temps jouent ici des rôles dissymétriques, pas seulement à cause des CL/CI mais surtout à cause du degré différent des dérivées partielles.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 35 / 60
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= 0etx=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
nxpoints intérieurs
Figure6 –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
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 36 / 60
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. nx points intérieurs+ 2 bords
Temps : [0, T]est subdivisé en nt+ 1 pas de largeurδt= ntT+1. On note unj, la valeur numérique deu(x, t)pour x=j δx et t=n δt.
Les CL fixent donc lesun0 ≡ung et lesunnx+1≡und pour 16n6nt+ 1.
Les CI fixent quant à elles lesu0j pour16j6nx.
La méthode de résolution sera fondamentalement itérative, chaque pas de temps nécessitant de calculer les nx valeurs de un+1j aux pointsintérieurs à l’aide de unj et des conditions aux limitesun+1g et un+1d .
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 37 / 60
Problèmes dynamiques Discrétisation de l’espace et du temps
Discrétisation des opérateurs : différences finies
Pour le Laplacien, nous utilisons la même expression que pour le problème statique, qui est précise au deuxième ordre en δx:
∆u≈ unj+1−2unj +unj−1 (δx)2
Pour la dérivée du premier ordre par rapport au temps, nous devons choisir une expression, qui peut être :
vers l’avant, impliquant (un+1j −unj)/δt(cf Euler forward) vers l’arrière, avec (unj −un−1j )/δt(cf Euler backward) ou centrée avec (un+1j −un−1j )/2δt
Le choix que nous allons faire détermine l’ordre de l’évaluation enδt, mais aussi et surtout le caractère expliciteou implicitede la méthode.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 38 / 60
Problèmes dynamiques Algorithme explicite du premier ordre en temps
Algorithme explicite du premier ordre en temps
L’algorithme le plus simple et le plus naturel consiste à utiliser la dérivée vers l’avant et donc à remplacer l’équation différentielle (25) par l’équation aux différences finies :
un+1j −unj δt =D
unj+1−2unj +unj−1 (δx)2
pour 16j6nx (28) Du point de vue temporel, cette approche peut être vue comme une extension de la méthode d’Euler explicite (progressive) étudiée sur les EDO.
Nous faisons ainsi apparaître le paramètre caractéristique sans dimension : α= D δt
δx2 (29)
qui joue un rôle essentiel dans toute la discussion qui va suivre.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 39 / 60
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 (30) qui met clairement en évidence le caractèreexplicite puisque lesun+1j s’obtiennent directement en fonction des valeurs desunk à l’instantinitial du pas de temps considéré.
Lorsque l’un desunj−1 ou α unj+1 n’est pas intérieur, c’est à dire que j= 1 ou j=nx, on retrouve une condition de bord, etun0 ≡ung ou unnx+1 ≡und apparaîtront comme un terme additionnel, avec un poidsα.
Notons que la méthode de relaxation évoquée dans la première partie, si on l’applique à une dimension, est exactement équivalente au cas où α= 12.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 40 / 60