🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_249cvmn_249.py
Version 1.0.0
Date de création 02/03/2026
Auteur / Demandeur Gemini (IA Générée)
Objectif principal Simuler la trajectoire verticale d’une fusée en prenant en compte la variation de la masse, de la gravité et de la traînée atmosphérique.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script modélise la physique du vol d’une fusée, du décollage à l’atterrissage (ou impact). Il résout un système d’équations différentielles pour calculer l’altitude, la vitesse et la consommation de carburant en temps réel, puis génère des graphiques d’analyse pour visualiser les performances du vol.
📌 Problème résolu
Il permet d’estimer l’apogée (altitude maximale) et la durée de vol d’un lanceur en fonction de paramètres techniques (poussée, masse, aérodynamisme) sans nécessiter de tests physiques coûteux, tout en intégrant des variables complexes comme la densité de l’air décroissante.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x (recommandé 3.8+)
OS cible Windows / Linux / MacOS
Mode d’exécution CLI / Environnement de Data Science (Jupyter, Spyder)
📦 Dépendances / Librairies
numpy : Calculs mathématiques et gestion des tableaux.
matplotlib.pyplot : Génération des graphiques.
scipy.integrate (solve_ivp) : Intégrateur numérique pour les équations différentielles.
📥 ENTRÉES (INPUTS)
⚙️ Paramètres de configuration (Variables globales)
# Nom Type Obligatoire Description Exemple
1 M_INITIAL float ✅ Oui Masse totale au décollage 1000.0 kg
2 M_FINAL float ✅ Oui Masse « sèche » (structure seule) 300.0 kg
3 F_THRUST float ✅ Oui Force de poussée du moteur 20000.0 N
4 C_DRAG float ✅ Oui Coefficient de traînée (CD) 0.5
5 AREA float ✅ Oui Section transversale 0.7 m2
6 T_BURN float ✅ Oui Temps de fonctionnement moteur 60.0 s
📤 SORTIES (OUTPUTS)
📊 Données de simulation
# Nom Type Description
1 solution OdesResult Objet contenant les vecteurs temps, altitude et vitesse.
2 masses list Évolution de la masse calculée sur chaque point de temps.
📂 Données en sortie
Type Format Description
Console Texte Affichage de l’altitude max, vitesse max et durée totale du vol.
Graphique Matplotlib 3 graphiques : Altitude(t), Vitesse(t), Masse(t).
🧱 STRUCTURE DU SCRIPT
script_249cvmn_249.py
📌 IMPORTS (numpy, matplotlib, scipy)
📌 CLASSE RocketSimulator : Cœur logique de la simulation.
📌 FONCTIONS INTERNES :
get_mass(t) → Masse décroissante.
get_gravity(h) → g variable selon l’altitude.
get_air_density(h) → Modèle d’atmosphère isotherme.
derivatives(t, y) → Définition du système différentiel (F=ma).
📌 MAIN : Initialisation, exécution et affichage.
🔄 LOGIQUE / ALGORITHME
Phase de Propulstion (t<Tburn) : Poussée active. Masse diminuant linéairement (mdot). Accélération = (Fthrust−Fgraviteˊ−Ftraı^neˊe)/m(t). Phase de Vol Balistique (t>Tburn) :
Poussée = 0.
Masse = Mfinal (constante).
Ralentissement par gravité et traînée jusqu’à l’apogée (v=0).
Phase de Descente :
La vitesse devient négative.
La traînée change de sens pour s’opposer à la chute.
Événement altitude_event :
Arrêt automatique dès que h≤0 (impact sol).
🚨 GESTION DES ERREURS
Cas d’erreur Type d’exception Comportement attendu
Division par zéro ZeroDivisionError Possible si T_BURN est mis à 0.
Dépendance manquante ImportError Le script s’arrête si scipy n’est pas installé.
Instabilité numérique RuntimeWarning Si les paramètres physiques sont aberrants, l’intégrateur RK45 peut échouer.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu
1 Cas nominal Paramètres par défaut Altitude max ~18.66 km
2 Sans air C_DRAG = 0 Altitude plus élevée (vide spatial)
3 Poussée faible F_THRUST < Poids La fusée ne décolle pas (vitesse 0)
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python script_249cvmn_249.py
📋 Exemple de sortie console attendue
Plaintext
🤖 Démarrage de la simulation de fusée…
— Résultats du Vol —
Altitude maximale : 18.66 km
Vitesse maximale : 567.89 m/s
Temps de combustion : 60.0 s
Temps pour atteindre l’apogée : 98.45 s
Le vol s’est terminé au sol après 212.30 secondes.



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