Resolution Numerique de L Equation de La Chaleur en 2D PDF
Resolution Numerique de L Equation de La Chaleur en 2D PDF
Resolution Numerique de L Equation de La Chaleur en 2D PDF
WALLACE Ranveig
CATTOEN Céline
GMM 4ème année, 2002-2003
1
Introduction
Ce compte rendu présente les résultats de l’étude et de la résolution numérique de
l’équation de la chaleur en 2D donnée par l’équation suivante :
∂u ∂2u ∂2u
− a − a = f pour (x, y) ∈ Ω et t ∈ [0, T ]
∂t ∂x2 ∂y 2
(1)
u(x, y, t) = g(x, y, t) pour (x, y) ∈ ∂Ω et t ∈ [0, T ]
u(x, y, 0) = 0 pour (x, y) ∈ Ω
Cette étude se déroule en 3 parties qui comprennent l’étude du problème stationnaire,
l’étude du problème instationnaire et enfin l’étude du problème global.
∂2u ∂2u
∆u = +
∂x2 ∂y 2
Soit v la solution du problème suivant :
∂u ∂2u ∂2u
− a − a = 0 pour(x, y) ∈ Ω et t ∈ [0, T ]
∂t ∂x2 ∂y 2
(3)
u(x, y, t) = 0 pour (x, y) ∈ ∂Ω et t ∈ [0, T ]
u(x, y, 0) = −w0 (x, y) pour(x, y) ∈ Ω
Notons que physiquement, des conditions aux limites homogènes (ou g constant) si-
gnifient que la température est maintenue constante au bord. On suppose que les pro-
blèmes (1), (2) et (3) sont tous bien posés, que l’on a existence et unicité des solutions et
que les données f et g sont suffisament régulières pour obtenir des solutions continues en
temps et en espace.
1
1.2 Montrons que v + ω0 solution de (1)
Soit ω0 solution du problème (2) et soit v solution du problème (3).
On pose u = v + ω0 et on va montrer que u est solution du problème (1) par linéarité.
– Pour (x, y) ∈ Ω et t ∈ [0, T ] :
∂(v+ω0 ) 2 2
∂t
− a ∂ (v+ω
∂x2
0)
− a ∂ (v+ω
∂y 2
0)
= ∂v
∂t
∂2v
− a ∂x ∂2 v ∂ω0 ∂ 2 ω0 ∂ 2 ω0
2 − a ∂y 2 + ∂t − a ∂x2 − a ∂y 2
∂u ∂2u ∂2u
⇒ − a 2 − a 2 = 0 + f car ω0 verifie (2) et v verifie (3)
∂t ∂x ∂y
– Pour (x, y) ∈ ∂Ω et t ∈ [0, T ] :
u = v + ω0 = 0 + g donc u = g
car v(x, y, t) = 0 sur ∂Ω et t ∈ [0, T ] et ω0 (x, y) = g sur ∂Ω
quand on a des conditions aux limites homogènes. Pour trouver cette limite, on va poser
deux problèmes (4) et (5) où w est solution de
−∆w = f dans Ω
(4)
w=0 sur ∂Ω
et w0 est solution de
−a∆w0 = f dans Ω
(5)
w0 = 0 sur ∂Ω
On voit que si l’on a w = aw0 alors
−a∆w0 = −∆w = f dans Ω
(6)
w = aw0 = 0 sur ∂Ω
2
donc w est bien solution de (4), ce qui permet d’écrire w0 = w/a et
1 a→0
kw0 kL2 = kwkL2 −→ +∞ (7)
a
Ce résultat est valable pour w0 solution non nulle de (2) ce qui est le cas ici.
Ce résultat est valable pour w0 solution non nulle de (2) ce qui est le cas ici.
3
Les conditions aux limites sont intégrées dans la matrice Fmat. La matrice est de taille
Nx × Ny et donc les conditions aux limites peuvent être rentrées aux bords de la matrice.
Ici on a des conditions de Dirichlet homogènes donc la première et dernière ligne, ainsi
que la première et dernière colonne de la matrice sont nulles.
Comme on ne sait pas calculer explicitement la solution du problème, on met la va-
riable Solmat à zero. Ainsi, quand on trace l’erreur de la discrétisation à la fin du pro-
gramme, on trace réellement la solution discrétisée.
et on calcule 2 2
f1 = −∆u = − ∂∂xu2 − ∂∂yu2
∂ ∂
= − ∂x (2x(y 2 − 1)) − ∂y (2y(x2 − 1))
(13)
= −2(y 2 − 1) − 2(x2 − 1)
= −2(x2 + y 2 − 2)
On voit également que sur ∂Ω u1 (x, y) s’annule pour x = ±1 ou y = ±1 et donc les
conditions aux limites sont de type Dirichlet homogènes.
On sait donc que u1 est solution du problème statique
−a∆u = −2(x2 + y 2 − 2) dans Ω
(14)
u=0 sur ∂Ω
et on peut tester notre programme et étudier l’erreur que l’on commet en discrétisant le
problème avec le schéma de tpLaplacienDirichlet.
Quelques changements au programme Partie2 ont été effectués afin discrétiser la so-
lution du problème 14 (voir Partie2_5 en Annexe). Puisque l’on connaît la solution exacte
u1 , on peut calculer et representer graphiquement l’erreur commise lors de la discrétisa-
tion.
2.5 Observations
Le code a été testé pour plusieurs pas de discrétisation pour observer la différence
d’erreurs. On a utilisé 2n + 1 points de discrétisation en x et y et on a fait varier n de
2 à 5. Pour chaque résolution, l’erreur maximale a été relevée et on a trouvé les valeurs
suivantes :
n erreur
2 2.2204.10−16
3 2.2204.10−16
4 2.7362.10−8
5 1.913.10−8
−16
x 10
1
2
0.8
0.6
1.5
0.4
1
0.2
0
0.5
−0.2
0
−0.4
−0.6
−0.5
−0.8
−1
−1
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
par rapport à la droite x = y, ce qui est logique puisque x et y jouent le même rôle
dans u1 et que l’on fait la même discrétisation par rapport à x et par rapport à y dans
tpLaplacienDirichlet.
5
Pour chaque n, on a obtenu une erreur quasi-nulle puisqu’on est près du zéro machine,
donc on peut conclure que la discrétisation est très bonne. Par contre, l’erreur augmente
avec n alors que théoriquement, cela devrait être l’inverse car on utilise un schéma d’ordre
2. Quand le pas de discrétisation est divisé par deux, l’erreur devrait être divisée par 4. Ce
n’est clairement pas le cas ici. En effet la discrétisation utilisée est (en détaillant un peu
plus que précédemment)
6
3.2 Résolution numérique
On discrétise en espace le domaine Ω en 21 points, en x et y, bords compris et on
choisit les constantes suivantes :
Nx = Ny = 21 ∆t = 0.2
x = −1 + i∆x et y = −1 + j∆y a = 10−2
∆x = ∆y = 2/(Nx − 1) σ = 0.2
0 ≤ i < N x et 0 ≤ j < N y a∆t/∆x2 = 0.2
Pour trouver la relation vérifiée par dE/dt pour la solution du problème continu, on
procède comme dans le TD5. On note
Z
2
kuk2 = u(x, y)2 dΩ
Ω
et Z
k5 uk22 = (5u)2 (x, y)dΩ
Ω
On calcule alors
1 d
R
2 dt
kuk22 + ak 5 uk22 = RΩ ( 12 ∂t
∂ 2
u + a(5u)2 )dΩ
∂
= RΩ (u ∂t u + a(5u)2 )dΩ
(f = 0) = ΩR(ua∆u + a(5u)2 )dΩ
= a Ω (|{z} ∆u + 5u 5u )dΩ
u |{z}
|{z} |{z}
0 f g f0 g
(formule de Green) = a[u 5 u.n]∂Ω
(u|∂Ω = 0) = 0
7
3.2.2 Evolution de l’énergie du problème discret
10
0
0 5 10 15 20 25
8
Energie
40
35
30
25
20
15
10
0
0 5 10 15 20 25
Le théorème de Von Neumann dit qu’une condition nécéssaire et suffisante de stabilité est
|a(ξ)| ≤ 1. Si on pose λx = a∆t/∆x2 et λy = a∆t/∆y 2 cette condition devient
ξ∆x ξ∆y
|1 − 4λx sin2 ( ) − 4λy sin2 ( )| ≤ 1
2 2
Puisque |sin2 (x)| ≤ 1 on a alors
−1 ≤ 1 − 4λx − 4λy ≤ 1
−2 ≤ −4(λx + λy ) ≤ 0
1
λx = λ y = λ ≤
4
C’est donc normal que le schéma ait explosé pour λ = 0.3 > 0.25 car le schéma n’est
alors pas stable.
9
4 Partie IV : Problème global (1)
On cherche à déterminer
lim ( lim u(t))
a→0 t→+∞
Or cette limite est équivalente à lima→0 (ω0 ), et d’aprés le résultat précédent et celui de la
partie II.1 et II.2 lima→0 (ω0 ) = +∞. Ainsi on obtient
lim ( lim u(t)) = +∞
a→0 t→+∞
∆x2
cela se réduit à ∆t ≤ . On obtient ainsi la stabilité pour un pas de temps ∆t tel que :
4a
∆t ≤ 0.16
10
On observe une croissance exponentielle pour l’Energie si on se place dans un cas d’insta-
bilité et parallèlement on obtient une décroissance exponentielle pour l’Energie dès lors
que l’on se trouve dans un domaine stable.
x2 + y 2
f (x, y) = exp(− ) avec σ = 0.2
2σ 2
Pour plusieurs valeurs de la CFL et de T on va tracer la différence au sens L 2 (Ω) entre
la solution numérique u(t) et la solution stationnaire ω0 , c’est à dire :
1
E(t) = ku(t) − ω0 k22
2
- On dépasse la CFL de 5% avec le pas de temps (soit ∆t = 0.168) et on compare
l’évolution de E(t) en prenant T = 50.
L’Energie décroît jusqu’à T = 40 puis augmente ensuite de manière exponentielle
comme on peut l’observer sur la figure 4. Pour déterminer la nature de ces instabilités, on
trace la solution discrétisée générale, où on observe des oscillations de Gibbs (voir figure
5).
- On dépasse la CFL de 1% avec le pas de temps (soit ∆t = 0.1616) et on compare
l’évolution de E(t) en intégrant jusqu’à T = 400.
On trace ensuite le graphe de l’Energie en coordonnées logarithmiques.
Pour un très faible dépassement de la condition de stabilité de l’ordre de 1% on obtient
une erreur très importante qui se manifeste par une croissance expoentielle de la courbe
de l’Energie qui devrait décroître sous les conditions de stabilité.
11
Energie
180
160
140
120
100
80
60
40
20
0
0 5 10 15 20 25 30 35 40 45 50
0.8 15
0.6
10
0.4
5
0.2
0 0
−0.2
−5
−0.4
−10
−0.6
−0.8
−15
−1
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
12
6
10
4
10
2
10
0
10
−2
10
−4
10
−6
10
−8
10
0 50 100 150 200 250 300 350 400
Conclusion
Dans ce TP d’équations aux dérivées partielles on a travaillé sur la résolution numé-
rique de l’équation de la chaleur en 2D.
Après une étude théorique du problème global (1), on s’est interressé à deux sous-
problèmes plus simples de résolution : un problème stationnaire (2) et un problème ints-
tationnaire (3), la solution globale étant la somme des deux solutions des sous-problèmes.
L’étude de la stabilité des schémas numériques est primordiale pour s’assurer de la
convergence de la solution discrétisée vers la solution exacte. Même un dépassement de
1% de la condition de Courant-Friedrich-Levy assure une instabilité très prononcée dans
ce cas là.
13