🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_284cvmn_284.py
Version 1.0.0
Date de création 07/03/2026
Auteur / Demandeur Gemini (IA Générée)
Objectif principal Modéliser et visualiser en 3D l’attracteur de Lorenz pour illustrer le chaos déterministe.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script utilise une approche orientée objet pour résoudre numériquement les équations différentielles de Lorenz. Il génère une trajectoire dans un espace tridimensionnel à partir de conditions initiales et produit une visualisation graphique de la structure chaotique « en papillon » caractéristique.
📌 Problème résolu
Il permet d’étudier la sensibilité aux conditions initiales et le comportement des systèmes dynamiques complexes sans nécessiter de résolution analytique (impossible pour ce système).
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.8+
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution Script autonome (CLI)
📦 Dépendances / Librairies
Librairies externes (pip install)
numpy: Calcul numérique et gestion des tableaux.
matplotlib: Génération du graphique 3D.
scipy: Intégration numérique des équations différentielles (odeint).
📥 ENTRÉES (INPUTS)
📂 Paramètres de classe (Initialisation)
# Nom Type Obligatoire Description Exemple
1 sigma float ❌ Non Nombre de Prandtl (convection) 10.0
2 rho float ❌ Non Nombre de Rayleigh (gradient) 28.0
3 beta float ❌ Non Rapport de géométrie 2.666
📂 Arguments de simulation
Type Paramètre Description
Liste initial_state Coordonnées de départ [x,y,z]
Entier duration Temps total de simulation
Entier num_points Résolution de la trajectoire
📤 SORTIES (OUTPUTS)
📂 Données & Visualisation
# Nom Type Description
1 trajectory ndarray Matrice des positions (N×3) calculées.
2 Graphique 3D Plot Fenêtre interactive affichant l’attracteur.
🧱 STRUCTURE DU SCRIPT
script_284cvmn_284.py
📌 IMPORTS (Numpy, Matplotlib, Scipy)
📌 CLASSE LorenzSimulator
__init__ : Configuration des paramètres physiques.
derivatives : Implémentation du système d’équations.
run_simulation : Résolveur ODE.
plot_3d : Moteur de rendu graphique.
📌 MAIN (Exécution) : Instanciation, calcul et affichage.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
derivatives(state, t) list, float list Calcule les dérivées [dx/dt,dy/dt,dzdt].
run_simulation(…) list, int, int ndarray Intègre les équations sur l’intervalle T.
plot_3d() Aucun None Génère la figure Matplotlib.
🔄 LOGIQUE / ALGORITHME
Initialisation : Définition des constantes physiques (σ,ρ,β).
Discrétisation : Création d’un vecteur temporel linéaire.
Intégration : Utilisation de odeint (méthode de type LSODA) pour calculer chaque point suivant en fonction de la pente actuelle.
Rendu : Projection des points X,Y,Z dans un repère cartésien 3D.
🚨 GESTION DES ERREURS
Divergence : Si les paramètres sont extrêmes, les valeurs peuvent tendre vers l’infini (non géré explicitement, dépend de scipy).
Matplotlib : Nécessite un environnement graphique (Backend) pour afficher la fenêtre.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Cas nominal [1, 1, 1] Forme « Papillon » classique ⬜ À tester
2 Point d’équilibre [0, 0, 0] Trajectoire nulle (statique) ⬜ À tester
3 Haute précision num_points=100000 Courbe lisse, calcul plus long ⬜ À tester
📊 PERFORMANCES ATTENDUES
Temps d’exécution : <1 seconde pour 4000 points. Consommation mémoire : Très faible (<50 Mo). 📝 EXEMPLE D'UTILISATION ▶️ Lancement Bash python script_284cvmn_284.py 💻 Utilisation modulaire Python sim = LorenzSimulator(rho=15.0) # Régime non chaotique sim.run_simulation([0.1, 0.0, 0.0], 50, 5000) sim.plot_3d()



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