script_206cvmn_206.py

49,00 

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.

UGS : script_206cvmn_206.py Catégorie : Étiquettes : , ,

🔷 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.

Soyez le premier à laisser votre avis sur “script_206cvmn_206.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *