La simulation numérique de l’équation de la chaleur pose parfois quelques problèmes, et pas seulement de capacité de calcul. Nous allons voir en effet que tous les algorithmes ne sont pas équivalents, loin de là…
Nous vous proposons ci-dessous des illustrations des phénomènes décrits dans ce texte, ainsi que les programmes qui ont servi à sa réalisations. Ceux-ci sont commentés, afin que vous puissiez si vous le voulez les modifier sans trop de difficulté, et tester ainsi les méthodes mises en jeu avec vos propres paramètres.
Table des matières
- Résumé, position du problème
- Méthode explicite
- Méthode implicite
Résumé, position du problème
Nous nous intéressons ici au traitement numérique de l’équation de la chaleur :
Nous considérons ce problème sur un domaine borné en espace (0 < x < 1), et pour des temps positifs (t > 0). Nous imposons également les conditions initales et de bord suivantes :
et
Rappelons que la solution exacte du problème est alors la fonction :
Connaissant cette solution exacte, il nous est possible d’apprécier la qualité des différentes méthodes numériques, de calcul approché de cette solution. Dans tous les cas, nn se donne donc un pas spatial h, c’est-à-dire que l’on cherche à calculer les valeurs de notre solution u aux points d’abscisse 0, h, 2h,…, 1. On doit aussi se restreindre à un ensemble discret d’instants auxquels on prétend calculer ces valeurs, on fixe donc un pas temporel ket l’on cherchera à calculer les valeurs de u aux instants k, 2k, 3k, …
uin désignera la valeur calculée (approchée) de la solution à l’instant nk et au point d’abscisse i h.
Voici des animations illustrant les différences entre deux méthodes de résolution numérique.
Un premier essai : méthode explicitePour cette méthode, on approche la dérivée temporelle par le rapport (uin+1 – uin)/k ; et la dérivée seconde par rapport à la variable d’espace par le rapport (ui+1n + ui-1n -2 uin)/h2. |
Code source de l’applet. |
N.B. Les plus patient observerons que la méthode semble marcher pour les deux plus petites valeurs de k. C’est normal : elles sont en dessous du seuil déterminé dans le texte !
Deuxième essai : méthode impliciteLa seule différence par rapport à la méthode précédente est que cette fois, on approche la dérivée temporelle par le rapport (uin – uin-1)/k. |
Code source de l’applet. |
N.B. La courbe semble un peu moins régulière pour les petites valeurs de k, ce qui est troublant, puisque l’on s’attend à ce que la méthode soit plus précise lorsque le pas temporel est petit. En réalité, il n’en est rien : il y a un peu de « bruit » dû à des problèmes d’arrondis (nécessaires dans tout calcul numérique) quel que soit le pas temporel, mais lorsque celui-ci est plus grand, la courbe bouge plus à chaque étape de calcul et de ce fait on perçoit moins ce phénomène.
Pour les explications de ces phénomènes, nous renvoyons une fois de plus au texte…
Source : Thomas Chomette, version ps ou pdf.