Résolution numérique des EDP linéaires
Résolution numérique des EDP linéaires
1 Introduction
Généralités
Thème 4: résolution numérique des EDP linéaires Conditions aux limites
Problèmes statiques et dynamiques 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
Université Pierre et Marie CURIE Solution du problème
MNCS
Méthodes numériques et calcul scientifique 3 Problèmes dynamiques
Discrétisation de l’espace et du temps
2 et 3 mars 2017 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 1 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 2 / 60
Introduction Introduction
Équations différentielles ordinaires (EDO) : une variable indépendante 1 L’équation des ondes ou « de d’Alembert »
Équations aux dérivées partielles (EDP) : plusieurs variables ∂2u
− c2 ∆ u = 0 (1)
indépendantes ∂t2
Les équations aux dérivées partielles (EDP) interviennent dans la 2 L’équation de Schrödinger
description de très nombreux problèmes de physique, chimie, sciences de la ∂u 1
i = − ∆u + V u (2)
Terre, biologie : mécanique des fluides, propagation des ondes, ∂t 2
électromagnétisme, phénomènes de diffusion... 3 L’équation de diffusion
Nous nous limitons ici à des EDP linéaires relatives à un champ scalaire ∂u # –
u( #–
r , t). Les généralisations vectorielles sont bien sûr possibles, et = div[D grad u] = D ∆ u si D est uniforme (3)
∂t
techniquement analogues. 4 Les équations de Poisson et de Laplace
Résolution numérique par la méthode des différences finies avec un
∆u = ρ ∆u = 0 (4)
maillage régulier.
Mais il existe d’autres méthodes, éléments finis par exemple, mieux B Les équations de Navier-Stokes en mécanique des fluides sont en
adaptées dans le cas de domaines à géométrie complexe. 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 3 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 4 / 60
Introduction Introduction
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 5 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 6 / 60
Introduction Introduction
L’équation de diffusion
Des cas particuliers sont les équations de Poisson et de Laplace, qui
∂u #– #– # – peuvent être vues comme des cas limites lorsque la dépendance en temps
+ div J = 0 avec J = −D grad u
∂t est supprimée, ou remplacée par une dépendance harmonique.
#– L’équation de Poisson
Ici J est le flux (de u) par unité de surface et D le coefficient de diffusion ∆u = ρ
(m2 s−1 ), ce qui donne, dans le cas où D est homogène : est en électrostatique celle qui régit le potentiel Φ( #–
r ) créé par la densité
#–
de charges ρ( r ).
∂u
= D ∆u (8) L’équation de Laplace est un cas particulier où la charge est nulle :
∂t
Cette équation décrit : ∆u = 0 (9)
les transferts de chaleur par conduction dans un milieu continu ; elle
On va notamment la retrouver comme solution stationnaire de l’équation
est alors appelée équation de la chaleur et u ≡ T et D ≡ λ/Cp .
de la chaleur.
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 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 8 / 60
Introduction Généralités Introduction Conditions aux limites
Selon que la variable temps est ou non présente, deux classes de problèmes Nous nous intéresserons en premier lieu aux problèmes statiques.
doivent être distinguées : Il s’agit de problèmes où l’on cherche la solution d’une EDP où le temps
Problèmes dynamiques : il s’agit de déterminer u( #–
r , t) dans un n’intervient pas. C’est par exemple la solution d’équilibre de l’équation de
domaine D, sur un certain intervalle de temps, en fonction des CL diffusion qui sera asymptotiquement atteinte quand t → ∞, et qui doit
spatio-temporelles : donc vérifier l’équation de Laplace.
CI (conditions initiales) : u( #–
r , t = 0) = · · · Dans ce cas u représente un champ de température T (x, y) (avec une
CL (conditions aux limites) : u( #– r = ·, t) = · · · origine arbitraire) et on a dans le plan en coordonnées cartésiennes :
Problèmes statiques : le temps n’intervient pas, il s’agit de déterminer
∂2T ∂2T
u( #–
r ) en fonction des seules CL ; cela correspond en général à un ∆T = + =0. (10)
∂x2 ∂y 2
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 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 12 / 60
Introduction Problèmes statiques et dynamiques Un problème statique : l’équation de Laplace
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 13 / 60 (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 Un problème statique : l’équation de Laplace Discrétisation du problème
Nous supposons en outre que les parois ont des températures imposées de
l’extérieur (CL de Dirichlet).
˚
10C y
0 5 10 15 20 25
0
Figure 2 – Exemple de Nous procédons à une discrétisation du domaine D : la température sera
solution de l’équation
calculée en un nombre fini de points. Pour simplifier, le maillage choisi est
14 13
12 11 ∆ T = 0, dans le cas où une
une grille de pas dx = dy = p comme représenté sur les figures 3 et 4.
10
5 16
18
9
8
paroi est maintenue à 20◦ C,
20C
˚
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 15 / 60 (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 Un problème statique : l’équation de Laplace Discrétisation du problème
∆x'=( nl+1)' p
.' .
p y
nc = ∆y/p − 1 colonnes verticales
i (i,j' )
.'.'.
i (i' ,j' )
.'.'.'.'.'.
Chaque point est repéré par un couple d’indices (i, j) où le premier indice
(i,nc+1)
note le numéro de la ligne et le second celui de la colonne.
.'.'.'.'.'.
nl
x p On note Ti,j la température en ce point, de coordonnées
∆y'=(nc+1)' p
nl' +1 xi = i × p, yj = j × p.
x
Figure 3 –
Les inconnues du problème sont les n = nl × nc valeurs de Ti,j
Chaque point de la grille est repéré
par un couple (i, j) où i repère la
Figure 4 – Les bords du domaine où 1 6 i 6 nl, 1 6 j 6 nc.
(C.L.) sont numérotés : i = 0 pour le
Elles seront déduites des 2(nl + nc) valeurs de Ti,j imposées aux bords
ligne et j la colonne. L’intérieur du haut, i = nl + 1 pour le bas, j = 0 pour
domaine est numéroté de i = 1 à nl la gauche, j = nc + 1 pour la droite. i = 0 (nord) ou i = nl + 1 (sud)
et de j = 1 à nc. j = 0 (ouest) ou j = nc + 1 (est).
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 17 / 60 (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 Un problème statique : l’équation de Laplace Discrétisation du problème
Ouest
nc+1 2E le domaine est ré-indexé ligne par
où 2 × (nl + nc) températures sont connues (celles sur les points aux bords ligne de la gauche vers la droite, puis
Est
indiqués par des croix sur la figure 4) et N = nl × nc sont à déterminer. i de haut en bas (comme une image
nl×nc numérique) donc en RowMajor.
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 2d membre. Les voisins au Nord et au Sud sont
alors espacés de nc dans Z.
Noter que le pas p n’intervient plus. x 1S k=(i–1)nc+j
Sud
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 21 / 60 (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 Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
−4 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x
x 1 −4 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
−4 1 0 0 1 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
1 −4 1 0 0 1 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 −4 1 0 0 1 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 −4 0 0 0 1
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
1 0 0 0 −4 1 0 0 1 0 0 0
0 0 0 0 1 0 0 0 −4 1 0 0 1 0 0 0 0 0 0 0
0 1 0 0 1 −4 1 0 0 1 0 0 nl blocs
0 0 0 0 0 1 0 0 1 −4 1 0 0 1 0 0 0 0 0 0 nl blocs
L2D = 0 0 0 0 0 0 1 0 0 1 −4 1 0 0 1 0 0 0 0 0 de taille
L2D = 0 0 1 0 0 1 −4 1 0 0 1 0 de taille
0 0 0 0 0 0 0 1 0 0 1 −4 0 0 0 1 0 0 0 0
nc × nc
0 0 0 0 0 0 0 0 1 0 0 0 −4 1 0 0 1 0 0 0
0 0 0 1 0 0 1 −4 0 0 0 1 nc × nc
0 0 0 0 0 0 0 0 0 1 0 0 1 −4 1 0 0 1 0 0
0 0 0 0 1 0 0 0 −4 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 1 0 0 1 −4 1 0
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 1 0 0 1 −4 1
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 1 −4
0 0 0 0 0 0 0 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−−→ y ←−−nc−−→ ←−−nc−−→ ←−−nc−−→ ←−−nc−−→ ←−−nc−−→
nl = 5 et nc = 4
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 25 / 60 (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 Un problème statique : l’équation de Laplace Reformulation vectorielle de la solution
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
T2N . 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 0 1 0 0 1 -4 1 0 0 1 0 0 0 0 0 0
Tnc N T1E
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 0 0 1 0 0 1 -4 0 0 0 1 0 0 0 0
0 0 T2W 0
0 0 0 0 0 0 0 0 1 0 0 0 -4 1 0 0 1 0 0 0
. ..
.
.
− ..
B=
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 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 0 1 0 0 0 -4 1 0 0
0 T2E
0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -4 1 0
0 T1S Tnl W 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−→
y . T2S 0 .
. . .
. . .
. . . 0
i = 2, j = 1 =⇒ k = 5 alias bk=(i−1)nc+j
0 Tnc S 0 Tnl E
= −δi,1 Ti−1,j − δi,nl Ti+1,j − δj,1 Ti,j−1 − δj,nc Ti,j+1 (24)
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 27 / 60 (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 Un problème statique : l’équation de Laplace Solution du problème
Un problème statique : l’équation de Laplace Solution du problème Un problème statique : l’équation de Laplace Solution du problème
Les méthodes générales, comme Gauss-Jordan ou LU demandent un On peut améliorer l’efficacité en tirant partie des propriétés de la matrice à
nombre d’opérations en N 3 pour résoudre un système de N équations 2 . inverser
Dans le cas présent, avec au plus 5 coefficients non nuls par ligne, on Par exemple on peut observer que −L2D est définie positive, et
devrait exploiter le caractère « creux » de la matrice, et descendre à un recourir à la procédure xPOSV.
nombre d’opérations proportionnel à N . On peut aussi s’appuyer sur fait qu’elle est symétrique, et utiliser la
En TE, nous utiliserons la bibliothèque Blas/Lapack optimisée, et on procédure correspondante xSYSV.
pourra donc explorer des régimes de tailles relativement intéressants, de Plus utilement, on remarquera que −L2D est une « matrice bande »,
l’ordre de 1000 à 10000 points. et une amélioration significative sera obtenue avec la fonction xSBSV
adaptée aux matrices symétriques-bandes.
On commencera avec la fonction Lapack xGESV pour les matrices
générales. Si enfin on tient compte de toutes ces propriétés, on utilisera avec
profit la procédure xPBSV.
systèmes linéaires décrits par une EDO, donne lieu à un transitoire suivi
♣
kl=2
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 33 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 34 / 60
T = (nt + 1)δt
=D 2 (25) Un
∂t ∂x
point intérieur
dans le domaine spatial x ∈ [0, L], et temporel t ∈ [0, T ], avec des unj inconnu
δt nx points intérieurs
u(0, t) = ug (t) et u(L, t) = ud (t) ∀t (27) Figure 6 – Discrétisation du domaine [0, L] × [0, T ]
NB : visualisation ultérieure avec les 2 bords
Il est à noter que l’espace et le temps jouent ici des rôles dissymétriques, ⇒ à chaque temps, écrire Un (nx points)
pas seulement à cause des CL/CI mais surtout à cause du degré différent plus les CL (2 points) : nx + 2 points
des dérivées partielles.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 35 / 60 (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 Problèmes dynamiques Discrétisation de l’espace et du temps
Il faut discrétiser les deux dimensions : Pour le Laplacien, nous utilisons la même expression que pour le problème
Espace : [0, L] est divisé en nx + 1 pas de largeur δx = L statique, qui est précise au deuxième ordre en δx :
nx +1 .
nx points intérieurs + 2 bords unj+1 − 2unj + unj−1
Temps : [0, T ] est subdivisé en nt + 1 pas de largeur δt = T
nt +1 .
∆u ≈
(δx)2
On note unj , la valeur numérique de u(x, t) pour x = j δx et t = n δt.
Les CL fixent donc les un0 ≡ ung et les unnx +1 ≡ und pour Pour la dérivée du premier ordre par rapport au temps, nous devons choisir
1 6 n 6 nt + 1. une expression, qui peut être :
Les CI fixent quant à elles les u0j pour 1 6 j 6 nx . vers l’avant, impliquant (un+1
j − unj )/δt (cf Euler forward)
La méthode de résolution sera fondamentalement itérative, chaque pas de vers l’arrière, avec (unj − un−1
j )/δt (cf Euler backward)
temps nécessitant de calculer les nx valeurs de un+1
j aux points intérieurs ou centrée avec (un+1
j − un−1
j )/2δt
à l’aide de uj et des conditions aux limites ug et un+1
n n+1
d . Le choix que nous allons faire détermine l’ordre de l’évaluation en δt, mais
aussi et surtout le caractère explicite ou implicite de la méthode.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 37 / 60 (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 Problèmes dynamiques Algorithme explicite du premier ordre en temps
Algorithme explicite du premier ordre en temps Système d’équations linéaires (algorithme explicite)
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 On peut alors écrire :
aux différences finies :
un+1
j = α unj+1 + (1 − 2α) unj + α unj−1 pour 1 6 j 6 nx (30)
un+1 unj j+1 − 2uj +
n n
− u unj−1
=D pour 1 6 j 6 nx
j
(28)
δt (δx)2 qui met clairement en évidence le caractère explicite puisque les un+1
j
s’obtiennent directement en fonction des valeurs des unk à l’instant initial
Du point de vue temporel, cette approche peut être vue comme une
du pas de temps considéré.
extension de la méthode d’Euler explicite (progressive) étudiée sur les
Lorsque l’un des unj−1 ou α unj+1 n’est pas intérieur, c’est à dire que j = 1
EDO.
ou j = nx , on retrouve une condition de bord, et un0 ≡ ung ou unnx +1 ≡ und
Nous faisons ainsi apparaître le paramètre caractéristique sans dimension :
apparaîtront comme un terme additionnel, avec un poids α.
D δt
α= (29) Notons que la méthode de relaxation évoquée dans la première partie, si on
δx2
l’applique à une dimension, est exactement équivalente au cas où α = 21 .
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 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 40 / 60
Problèmes dynamiques Algorithme explicite du premier ordre en temps Problèmes dynamiques Algorithme explicite du premier ordre en temps
0
−2 1 0 ··· 0 1−2α α 0··· 0
x
.. ..
0 j−1 j+1 nx + 1
. ..
j 1 .. .
1 −2 . α 1−2α α .
. .. .. .. .. ..
L1D = 0 .. . .
0 −→ M(−α) = 0 . . . 0
(31)
un+1 = α unj+1 + (1 − 2α) unj + α unj−1
j
.. . . ..
.. .. ..
. . −2 . . 1−2α α
. 1 .
0 ··· 0 1 −2 0 ··· 0 α 1−2α
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 41 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 42 / 60
Problèmes dynamiques Algorithme explicite du premier ordre en temps Problèmes dynamiques Algorithme explicite du premier ordre en temps
Stabilité de l’explicite : lien avec le spectre de L1D Exemple : Diffusion d’une distribution en « marche »
La p-ième valeur propre de la matrice L1D , en dimension n, s’écrit en Diffusion d'une marche
1.0
fonction de β = π/2(n + 1) = πδx/2L :
t =0
− 4 sin 2
pβ ; u(p) = sin m p β
valeur propre : vecteur propre : m
0.5 t→∞
On en déduit celles de la matrice M(−α) :
M(−α) = 11 + α L1D −→ 1 − 4α sin2 p πδx
2L .
u(x,t)
0.0
La condition de stabilité traduit donc simplement le fait que ces valeurs
propres sont de module inférieur à 1, c’est-à-dire que son rayon spectral
est inférieur à 1. 0.5
Problèmes dynamiques Algorithme explicite du premier ordre en temps Problèmes dynamiques Algorithme implicite du premier ordre en temps
Exemple : Diffusion d’une superposition de 2 modes Solution au problème de stabilité : méthode rétrograde
Rôle de la longueur d'onde sur la diffusion L’algorithme explicite est simple mais la condition de stabilité oblige à faire
2.4
de très petits pas...
2.2 On a vu, avec les EDO, que ces problèmes peuvent être résolus en utilisant
2.0 un algorithme implicite. C’est ce que nous faisons ici en choisissant la
dérivée temporelle « vers l’arrière », introduisant les nouvelles équations :
1.8
1.6
=D
j j−1
(34)
1.4 δt (δx)2
1.2
Les un+1
j (j ∈ [1, nx ]) s’obtiennent alors en fonction des unj
1.0 (j ∈ [0, nx + 1]) en résolvant le système de nx équations linéaires :
0.8
0 20 40 60 80 100 120
j−1 + (1 + 2α) uj
−α un+1 j+1 = uj pour j ∈ [1, nx ]
n+1
position : x − α un+1 n
(35)
Figure 10 – Amortissement du mode 5 plus rapide que celui du mode 1 sauf pour j = 1 et j = nx où interviennent les CL.
mais pour t → ∞, on obtiendrait une droite. Soulignons le parallèle avec la méthode d’Euler implicite (rétrograde).
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 47 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 48 / 60
Problèmes dynamiques Algorithme implicite du premier ordre en temps Problèmes dynamiques Algorithme implicite du premier ordre en temps
Problèmes dynamiques Algorithme implicite du premier ordre en temps Problèmes dynamiques Algorithme de Crank–Nicolson
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 51 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 52 / 60
Problèmes dynamiques Algorithme de Crank–Nicolson Problèmes dynamiques Algorithme de Crank–Nicolson
Les un+1
j s’obtiennent désormais en fonction des unj en résolvant le Évoquons brièvement la résolution de l’équation de d’Alembert :
système d’équations linéaires (pour j ∈ [1, nx ]) :
On discrétise le domaine comme pour l’équation de la chaleur ;
On se donne des conditions initiales arbitraires u(x, 0) et ∂u/∂t(x, 0) ;
α α α n α On se fixe pour simplifier des conditions aux limites de Dirichlet, ou
j−1 + (1 + α)uj
− un+1 j+1 = uj−1 + (1 − α)unj + unj+1
n+1
− un+1
2 2 2 2 de Neumann homogènes ;
(40) On essaye le schéma de différences finies « naturel » :
sauf pour j = 1 et j = nx où interviennent les CL.
∂2u 2
2∂ u
un+1 + un−1 − 2unj un + unj−1 − 2unj
= =c
j j 2 j+1
Ce système peut être écrit de façon matricielle sous la forme : c ⇒
∂t2 ∂x2 (δt)2 (δx)2
α −α αh n (42)
Un+1 = M Un + V + Vn+1
i
M (41)
2 2 2 qui est bien sûr du deuxième ordre en x et en t, et restaure une
certaine symétrie entre le temps et l’espace.
avec les mêmes notations que pour les deux autres algorithmes.
(UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 55 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 56 / 60
Équation des ondes Équation des ondes
L’idée générale est néanmoins toujours la même et peut être formulée des
3 façons équivalentes : Figure 13 – Progression
d’un pas de temps dans un+1
Le pas de temps δt doit être inférieur au temps mis par l’onde (à la l’algorithme explicite du (n + 1)δt
j
célérité c) pour traverser un pas d’espace δx. second ordre en temps et cδt
espace pour l’équation nδt
Le pas d’espace doit être supérieur à la distance parcourue par l’onde
durant δt. des ondes de d’Alembert
(n − 1)δt
un−1
La vitesse de « diffusion de l’information » δx/δt entre les noeuds de Critère CFL : cδt < δx 1/c j δt
la grille doit être supérieure à la célérité de l’onde. 0 L x
δx
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 4 : Résolution numérique des EDP 2 et 3 mars 2017 59 / 60 (UPMC) Thème 4 : Résolution numérique des EDP 2 et 3 mars 2017 60 / 60