C'est un programme pour résoudre l'équation de la chaleur en 2D avec la méthode des différences finies.
On discrétise le temps et l'espace pour utiliser une résolution numérique.
Comment utiliser le programme ?
Ouvrir Paint et créer une image de 50 pixels par 50 pixels
Placer les conditions aux limites de manière graphique.
Voici le code de couleurs :
- Nuance de rouge = température allant de Tmin à Tmax
par exemple, Tmin=0°C et Tmax=100°C
donc le NOIR correspond à 0°C, le ROUGE à 100°C et la couleur personnalisée R=128 V=0 B=0 à 50°C
- Bleu pur = adiabatique (c'est à dire parfaitement isolant)
- Blanc = pas de condition aux limites. La chaleur se propage.
Enregistrer l'image au format bmp
Créer une image de même taille contenant les conditions initiales, avec des nuances de rouge (idem ci dessus..)
Enregistrer l'image.
Dans le programme, charger les conditions initiales et les conditions aux limites.
Définir les paramètres physiques : pas spatial = largeur d'un pixel (en mètres), pas temporel = temps entre 2 itérations (en secondes) et K = diffusivité (dépend du matériau)
Modifier au besoin les valeurs de Tmin et Tmax (qui correspondent au noir et au rouge dans les fichiers bmp)
Lancer le calcul
Si c'est pas clair, il y a 2 exemples :
1er exemple :
Plaque rectangulaire dont la périphérie est maintenue à 0°C et le centre est constamment chauffé à 100°C. La température initiale est 0°C partout.
Lancez la simulation. On voit la chaleur se propager du centre vers l'extérieur.
2ème exemple :
Plaque rectangulaire, dont les bords sont isolés.
Au début, une partie est chaude et l'autre est froide. La température de la plaque va s'uniformiser, mais aucune énergie n'est échangée avec l'extérieur.
En revanche, pour afficher les courbes des résultats, j'utilise le noyau de Mathematica(c)
Il faut donc avoir Mathematica installé sur son PC pour visualiser les courbes. Mais le programme marche quand même sans ça !
Je ferai prochainement un PDF illustré pour expliquer tout ça...
Attention : ne créez pas des images trop grosses (100 pixels max) et ne calculez pas trop d'itérations (5000 pas maxi) sinon vous risquez de saturer la RAM : toutes les itérations intermédiaires sont conservées en mémoire !