🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_324cvmn_324.py
Version 1.0.0
Date de création 11/03/2026
Auteur / Demandeur IA Généré (Gemini)
Objectif principal Simuler et visualiser la trajectoire verticale d’une fusée en prenant en compte la poussée, la traînée aérodynamique et la consommation de carburant.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script modélise le vol d’une fusée à un étage. Il calcule en temps réel l’évolution de la masse (due à la consommation de carburant), l’accélération (via les forces de poussée et de traînée) et l’altitude jusqu’à ce que la fusée retombe au sol ou atteigne le temps limite.
📌 Problème résolu
Il permet d’estimer les performances balistiques d’un lanceur simple sans nécessiter de tests physiques, en visualisant l’apogée (altitude maximale) et le profil de vitesse.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Script interactif
📦 Dépendances / Librairies
# Librairies externes (pip install)
numpy (Calcul matriciel et gestion des signes)
matplotlib (Génération des graphiques)
📥 ENTRÉES (INPUTS)
📂 Paramètres de simulation (Hardcodés dans la classe)
# Nom Type Obligatoire Description Exemple
1 m_structure float ✅ Oui Masse de la fusée vide 50.0
2 m_fuel float ✅ Oui Masse initiale du carburant 100.0
3 ve float ✅ Oui Vitesse d’éjection des gaz 2500.0
4 burn_rate float ✅ Oui Débit massique du carburant 5.0
📤 SORTIES (OUTPUTS)
📂 Données et Visualisation
Type Format Description
Graphique Matplotlib Window Deux graphiques : Altitude vs Temps et Vitesse vs Temps.
Dictionnaire dict Historique complet (history) contenant les listes t, y, v, m.
🧱 STRUCTURE DU SCRIPT
script_324cvmn_324.py
│
├── 📌 IMPORTS (numpy, matplotlib.pyplot)
├── 📌 CLASSE RocketSimulation
│ ├── __init__() → Initialise les constantes physiques et l’état initial.
│ ├── get_thrust() → Calcule la poussée active.
│ └── simulate() → Boucle d’intégration numérique (Euler).
└── 📌 MAIN (Exécution de la simulation et rendu graphique)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
get_thrust() Aucun float Retourne la poussée (F=m˙⋅ve) si carburant > 0.
simulate(dt, t_max) dt (pas de temps), t_max dict Exécute la boucle temporelle et l’intégration d’Euler.
🔄 LOGIQUE / ALGORITHME
ÉTAPE 1 → Initialisation des variables (Masse totale = Structure + Carburant).
↓
ÉTAPE 2 → Calcul des forces : Somme F=Pousseˊe−Poids−Traı^neˊe.
↓
ÉTAPE 3 → Mise à jour de l’état :
a=F/m
v=v+a⋅dt
y=y+v⋅dt
↓
ÉTAPE 4 → Consommation du carburant et réduction de la masse totale.
↓
ÉTAPE 5 → Répétition jusqu’à y<0 (impact) ou t>tmax.
🚨 GESTION DES ERREURS
Division par zéro : Risque potentiel si la masse m devenait nulle (non possible avec les paramètres actuels car m_structure est fixe).
Stabilité numérique : L’utilisation de l’intégration d’Euler simple peut diverger si dt est trop grand.
✅ CONTRAINTES & RÈGLES MÉTIER
Condition d’arrêt : La simulation s’arrête dès que l’altitude devient négative (retour au sol).
Sens de la traînée : Utilisation de np.sign(v) pour s’assurer que la traînée s’oppose toujours au mouvement.
Masse variable : La masse doit diminuer proportionnellement au burn_rate.
🧪 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 Sans carburant m_fuel = 0 La fusée reste au sol (y=0). ⬜ À tester
3 Poussée faible thrust < weight La fusée ne décolle pas. ⬜ À tester 📝 EXEMPLE D'UTILISATION ▶️ Lancement Bash python script_324cvmn_324.py 📋 Sortie attendue Une fenêtre s'ouvre affichant deux courbes : Altitude : Une courbe parabolique montrant la montée, l'apogée, et la redescente. Vitesse : Une phase d'accélération (poussée), suivie d'une décélération (gravité + traînée).






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