🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_319cvmn_319.py
Version 1.0.0
Date de création 11/03/2026
Auteur / Demandeur IA Générée (Gemini)
Objectif principal Simuler la trajectoire verticale d’une fusée à 3 étages en utilisant l’intégration numérique RK4.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script calcule et visualise la télémétrie d’une fusée (altitude, vitesse, masse) dont les étages sont largués successivement une fois leur carburant épuisé. Il prend en compte la variation de la gravité avec l’altitude et utilise un algorithme de précision pour le calcul du mouvement.
📌 Problème résolu
Il permet de modéliser l’impact de la perte de masse structurelle (largage d’étages) sur les performances de vol et de vérifier si une configuration de poussée/masse donnée permet d’atteindre une altitude ou une vitesse cible.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Script autonome
📦 Dépendances / Librairies
Librairies standard : Aucune (calculs natifs).
Librairies externes :
numpy (gestion des tableaux de données).
matplotlib (génération des graphiques et animations).
📥 ENTRÉES (INPUTS)
📂 Variables de configuration (Hardcoded)
# Nom Type Obligatoire Description
1 ETAGES list[dict] ✅ Oui Caractéristiques (Isp, poussée, masse) des 3 étages.
2 MASSE_PAYLOAD int ✅ Oui Masse de la charge utile (3000 kg).
3 duree_max int ❌ Non Limite de temps de simulation (par défaut 600s/800s).
📤 SORTIES (OUTPUTS)
📂 Données en sortie
Type Chemin / Format Description
Console Standard Output Logs de largage, altitude et vitesse max.
Graphique Matplotlib Window 4 graphiques : Altitude, Vitesse, Masse, Étage actif.
🧱 STRUCTURE DU SCRIPT
script_319cvmn_319.py
📌 IMPORTS : numpy, matplotlib.
📌 CONSTANTES : G, R_TERRE, MU, Configuration des étages.
📌 CLASSE FuseeMutiEtages :
__init__ : Initialisation de l’état et de l’historique.
_rk4_step : Cœur mathématique (Runge-Kutta).
simuler : Boucle de contrôle du vol.
afficher : Visualisation des résultats.
📌 MAIN : Instanciation et exécution.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
_rk4_step(poussee) float None Calcule la nouvelle position/vitesse via RK4.
_gravite() Aucun float Calcule g selon l’altitude : g=G⋅(R+hR)2.
simuler(duree) int None Gère la consommation de carburant et le largage.
🔄 LOGIQUE / ALGORITHME
Initialisation : Calcul de la masse totale (structures + carburant + payload).
Boucle Temporelle :
Phase de Propulsion : Si l’étage a du carburant, application de la poussée et calcul du débit massique (Loi de Tsiolkovsky).
Phase de Séparation : Si réservoir vide, soustraction de la masse de structure de l’étage et passage au suivant.
Calcul Dynamique : Utilisation de RK4 pour intégrer l’accélération (poussée – poids) / masse.
Condition d’arrêt : Impact au sol (h<0) ou fin du temps imparti. Rendu : Tracé des courbes de vol. 🚨 GESTION DES ERREURS Retombée au sol : Le script détecte si l'altitude devient négative après le décollage et interrompt la simulation proprement avec un message. Épuisement moteur : Si tous les étages sont consommés, le script bascule automatiquement en vol balistique (poussée = 0). ✅ CONTRAINTES & RÈGLES MÉTIER Règle 1 : La gravité n'est pas constante (modèle en 1/r2). Règle 2 : La traînée atmosphérique (frottements de l'air) est ignorée dans cette version. Règle 3 : Le largage d'un étage retire instantanément sa masse structurelle du calcul total. 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu Statut 1 Cas nominal Config standard Atteinte de l'espace (~150+ km) ⬜ À tester 2 Charge trop lourde Payload = 1M kg La fusée ne décolle pas (accélération < 0) ⬜ À tester 3 Sans carburant Carburant = 0 Arrêt immédiat ou vol nul ⬜ À tester 📝 EXEMPLE D'UTILISATION Python # Lancement direct python script_319cvmn_319.py Sortie console type : Plaintext ★ Largage de : Étage 1 (propulsion principale) (t = 147.0 s, alt = 68.4 km) ★ Largage de : Étage 2 (second moteur) (t = 301.5 s, alt = 210.2 km) Altitude max : 452.1 km Vitesse max : 3205.4 m/s






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