🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_206cvmn_206.py
Version 1.0.0
Date de création 26/02/2026
Auteur / Demandeur IA Générée (via Gemini)
Objectif principal Simuler et animer la diffusion de la chaleur en 2D sur une plaque carrée en utilisant le schéma numérique des différences finies.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script résout l’équation de la chaleur en deux dimensions sur une grille carrée. Il initialise un « point chaud » au centre d’une surface froide et calcule l’évolution de la température au fil du temps. Le résultat est affiché sous forme d’une animation graphique interactive (heatmap).
📌 Problème résolu
Il permet de visualiser physiquement comment l’énergie thermique se répartit dans un matériau homogène à partir d’une source concentrée, tout en garantissant la stabilité mathématique du calcul via le respect de la condition CFL (Courant-Friedrichs-Lewy).
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows, Linux, MacOS)
Mode d’exécution CLI / Environnement de calcul (Jupyter recommandé pour l’animation)
📦 Dépendances / Librairies
numpy : Calcul matriciel vectorisé pour les performances.
matplotlib : Génération des graphiques et du moteur d’animation.
📥 ENTRÉES (INPUTS)
📂 Paramètres de simulation (Hardcodés)
# Nom Type Description Valeur par défaut
1 L float Taille du côté de la plaque (m) 1.0
2 N int Résolution de la grille (N x N) 100
3 alpha float Diffusivité thermique du matériau 0.01
4 taille_spot int Demi-largeur de la zone chaude initiale 10
📤 SORTIES (OUTPUTS)
📂 Visualisation
Type Description
Animation (GUI) Fenêtre Matplotlib affichant l’évolution de la température en temps réel.
Console Affichage du coefficient de stabilité r et validation de la condition CFL.
🧱 STRUCTURE DU SCRIPT
script_206cvmn_206.py
📌 IMPORTS : NumPy, Matplotlib (Pyplot & Animation).
📌 PARAMÈTRES : Définition des constantes physiques et du pas de temps dt.
📌 INITIALISATION : Création de la matrice u et du carré chaud central.
📌 FONCTIONS :
update_heat_explicit() : Logique de calcul physique.
animate_frame() : Mise à jour de l’affichage pour chaque image.
📌 MAIN : Lancement de l’animation via FuncAnimation.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
update_heat_explicit(u_k, r) u_k (ndarray), r (float) ndarray Applique le schéma numérique pour calculer l’état T+1.
animate_frame(frame) frame (int) im (Artist) Calcule 5 étapes de temps et rafraîchit l’image imshow.
🔄 LOGIQUE / ALGORITHME
ÉTAPE 1 → Initialisation d’une grille 2D à 0°C avec une zone centrale à 100°C.
↓
ÉTAPE 2 → Calcul du pas de temps dt critique pour éviter la divergence numérique.
↓
ÉTAPE 3 → Application du schéma explicite :
ui,jk+1=ui,jk+r⋅(ui+1,jk+ui−1,jk+ui,j+1k+ui,j−1k−4ui,jk)
↓
ÉTAPE 4 → Mise à jour de l’objet graphique im et répétition (boucle d’animation).
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : La condition de stabilité impose r≤0.25. Le script utilise un coefficient de sécurité de 0.9 (r≈0.225).
Règle 2 : Conditions aux limites de Dirichlet (les bords de la plaque restent à 0°C).
Règle 3 : Utilisation de la vectorisation NumPy (slices) au lieu de boucles for imbriquées pour garantir la fluidité.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Stabilité CFL r=0.225 Pas d’explosion des valeurs (reste ≤100) ✅ Vérifié
2 Symétrie Source centrale Diffusion circulaire/carrée symétrique ✅ Vérifié
3 Bords Temps long La plaque finit par tendre vers 0°C (équilibre) ✅ Vérifié
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python script_206cvmn_206.py
Une fenêtre s’ouvrira montrant le dégradé de couleurs passer du rouge intense au bleu au fur et à mesure que la chaleur se dissipe.




Avis
Il n’y a pas encore d’avis.