🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_5mqqcf58fvicnsv6_333.py
Version 1.0.0
Date de création 25/03/2026
Auteur / Demandeur IA Générée (Modèle Onizuka/Gemini)
Objectif principal Simuler et analyser la trajectoire verticale d’une fusée en tenant compte de la physique atmosphérique et gravitationnelle.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script réalise une simulation numérique du vol d’une fusée monocorps. Il calcule l’évolution de l’altitude, de la vitesse et de la masse en intégrant les forces de poussée, de gravité (variable avec l’altitude) et de traînée aérodynamique. Il génère ensuite des graphiques de performance et une analyse comparative avec les modèles théoriques (Tsiolkovski).
📌 Problème résolu
Il permet d’estimer si une configuration de fusée donnée (masse, carburant, poussée) est capable d’atteindre la vitesse de libération ou une altitude spécifique, tout en visualisant l’impact de la consommation de carburant sur la dynamique du vol.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.9+ (Utilise les dataclasses et le typage)
OS cible Windows / Linux / MacOS
Mode d’exécution CLI (Ligne de commande) avec rendu graphique
📦 Dépendances / Librairies
numpy : Calculs matriciels et gradients.
matplotlib.pyplot : Génération des graphiques.
scipy.integrate (solve_ivp) : Résolution de l’équation différentielle (RK45).
dataclasses / typing : Structure de données et typage statique.
📥 ENTRÉES (INPUTS)
Les paramètres sont définis en dur dans la classe RocketParameters :
| # | Nom | Type | Obligatoire | Description | Exemple |
| :- | :— | :— | :— | :— | :— |
| 1 | masse_initiale | float | ✅ | Masse totale au décollage | 100 000 kg |
| 2 | poussee_vide | float | ✅ | Poussée du moteur dans le vide | 1.8e6 N |
| 3 | debit_massique| float | ✅ | Consommation de carburant | 5 000 kg/s |
📤 SORTIES (OUTPUTS)
📂 Données en sortie
Console : Analyse des performances (Altitude max, Vitesse max, Delta-v, Efficacité).
Graphiques : Une figure 2×3 affichant l’altitude, la vitesse, l’accélération, la masse, les forces et les énergies (cinétique/potentielle).
🧱 STRUCTURE DU SCRIPT
Plaintext
onizuka_…_333.py
│
├── 📌 IMPORTS (numpy, matplotlib, scipy)
├── 📌 RocketParameters (Dataclass de configuration)
├── 📌 FONCTIONS PHYSIQUES
│ ├── atmosphere() → Densité et pression vs altitude
│ ├── acceleration_gravite() → G variable selon l’altitude
│ ├── poussee() → Poussée corrigée par la pression
│ └── trainee() → Force aérodynamique
├── 📌 MOTEUR DE SIMULATION
│ ├── equations_mouvement() → Système d’équations différentielles
│ └── simulation_fusee() → Intégrateur numérique (solve_ivp)
├── 📌 ANALYSE & VISUALISATION
│ ├── visualisation_resultats()
│ └── analyse_performances()
└── 📌 MAIN (Point d’entrée)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
atmosphere(alt) float Tuple[float, float] Calcule la densité de l’air et la pression.
equations_mouvement(t, y, params) float, array, obj ndarray Définit dtdy pour l’altitude, vitesse et masse.
simulation_fusee(t_max) float dict Pilote la résolution numérique du vol.
🔄 LOGIQUE / ALGORITHME
Initialisation : Chargement des constantes physiques (Terre) et des specs de la fusée.
Calcul Différentiel : Utilisation de la méthode de Runge-Kutta 4-5 pour calculer l’état y à chaque pas de temps.
Si masse_ergols<1%, le moteur s'arrête (poussée = 0). Calcul Post-Simulation : Calcul des forces et des énergies sur toute la trajectoire. Comparaison : Calcul du Delta-v théorique via l'équation de Tsiolkovski : Δv=Isp⋅g0⋅ln(mfinaleminitiale) 🚨 GESTION DES ERREURS Masse Nulle : Protection dans dvitesse pour éviter la division par zéro si la masse devient nulle. Masse Ergols : Arrêt automatique de la poussée dès que le réservoir est quasiment vide (seuil de 1%). ✅ RÈGLES MÉTIER Modèle Atmosphérique : Utilise une décroissance exponentielle simplifiée (échelle de 8500m). Gravité : Ne considère pas g comme constant (9.81); utilise la loi de Newton inversement proportionnelle au carré de la distance au centre de la Terre. 🧪 TESTS ATTENDUS Vérification de la Poussée : Doit être plus faible au sol qu'à 10km (effet de la pression). Test de Gravité : L'accélération doit diminuer à mesure que l'altitude augmente. Épuisement Carburant : Vérifier que l'accélération chute dès que la masse atteint le seuil critique.



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