🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_292cvmn_292.py
Version 1.0.0
Date de création 07/03/2026
Auteur / Demandeur IA Généré (Gemini)
Objectif principal Simuler et visualiser la trajectoire verticale d’une fusée en tenant compte de la poussée, de la gravité variable et de la traînée atmosphérique.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script simule le décollage d’une fusée monocotage. Il calcule en temps réel l’évolution de la masse (consommation de carburant), l’accélération subie, la vitesse et l’altitude jusqu’à ce que l’engin retombe au sol ou atteigne une limite de temps. Il génère ensuite quatre graphiques d’analyse.
📌 Problème résolu
Il permet de modéliser l’impact de variables physiques complexes (décroissance exponentielle de la densité de l’air, variation de la gravité avec l’altitude) sur les performances d’un lanceur sans nécessiter de tests réels coûteux.
⚙️ 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 externes (pip install)
numpy (Calculs vectoriels et mathématiques)
matplotlib (Génération des graphiques)
📥 ENTRÉES (INPUTS)
Les paramètres sont hardcodés dans la classe RocketSimulation :
| # | Nom | Type | Obligatoire | Description | Exemple |
| :— | :— | :— | :— | :— | :— |
| 1 | mass_empty | float | ✅ | Masse de la structure (kg) | 500.0 |
| 2 | mass_fuel | float | ✅ | Masse du carburant (kg) | 1500.0 |
| 3 | thrust | float | ✅ | Poussée du moteur (N) | 35000.0 |
| 4 | burn_rate | float | ✅ | Consommation (kg/s) | 20.0 |
📤 SORTIES (OUTPUTS)
# Nom Type Description
1 history dict Dictionnaire contenant les listes de temps, altitude, vitesse, masse et accélération.
2 Graphiques Plot Fenêtre Matplotlib affichant 4 courbes de télémétrie.
🧱 STRUCTURE DU SCRIPT
script_292cvmn_292.py
📌 IMPORTS : numpy, matplotlib.pyplot
📌 CLASSE RocketSimulation
__init__() : Initialisation des constantes (G, Terre, Atmosphère) et paramètres fusée.
get_gravity() : Calcul de g selon l’altitude.
get_air_density() : Modèle atmosphérique barométrique.
run() : Boucle de calcul (Intégration d’Euler).
visualize() : Moteur de rendu graphique.
📌 MAIN : Instanciation et exécution.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
get_gravity(alt) altitude: float float Calcule g=(R+h)2G⋅M
run(dt) dt: float dict Boucle de simulation temporelle (pas de temps dt).
visualize(data) data: dict None Génère les subplots 2×2 avec Matplotlib.
🔄 LOGIQUE / ALGORITHME
Initialisation : État initial (sol, vitesse nulle, plein de carburant).
Boucle de simulation (Tant que Altitude ≥ 0) :
Calcul de la densité de l’air ρ=ρ0⋅e−Hh
Calcul de la Traînée D=21ρv2CxS
Calcul de la Poussée T (si carburant restant).
Intégration d’Euler :
a=m(T−Weight−D)
vnew=vold+a⋅dt
hnew=hold+v⋅dt
Sortie : Fin si crash ou temps > 500s.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Vol nominal Paramètres par défaut Apogée atteinte, puis chute libre. ⬜ À tester
2 Panne moteur thrust = 0 La fusée reste au sol (h=0). ⬜ À tester
3 Pas de temps dt = 0.001 Précision accrue, temps de calcul plus long. ⬜ À tester
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python script_292cvmn_292.py
💻 Exemple d’appel en tant que module
Python
from script_292cvmn_292 import RocketSimulation
sim = RocketSimulation()
# Modification manuelle d’un paramètre avant run
sim.thrust = 40000
data = sim.run(dt=0.05)



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