🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_293cvmn_293.py
Version 1.0.0
Date de création 07/03/2026
Auteur / Demandeur Gemini (IA Générée)
Objectif principal Simuler et visualiser la trajectoire verticale d’une fusée (type Falcon 9) en tenant compte de la poussée, de la gravité et de la traînée aérodynamique.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script simule physiquement le décollage d’une fusée. Il calcule l’évolution de la masse (consommation de carburant), de la vitesse et de l’altitude au fil du temps en utilisant l’intégration d’Euler. Une fois la simulation terminée, il génère un graphique comparatif de l’altitude et de la vitesse.
📌 Problème résolu
Il permet de modéliser l’impact de la perte de masse (carburant brûlé) et de la résistance de l’air sur les performances d’ascension d’un lanceur spatial sans nécessiter de logiciel de CAO complexe.
⚙️ 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
numpy : Calcul matriciel et gestion des vecteurs de données.
matplotlib : Génération des graphiques de visualisation.
📥 ENTRÉES (INPUTS)
📂 Fichiers / Sources de données en entrée
Paramètres Hardcodés : La simulation utilise des constantes internes (Masse : 425000 kg, Poussée : 7.6×106 N, etc.).
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Chemin / Format Description
Graphique Fenêtre interactive (Matplotlib) Courbes d’altitude (bleu) et de vitesse (rouge) en fonction du temps.
🧱 STRUCTURE DU SCRIPT
script_293cvmn_293.py
│
├── 📌 IMPORTS (numpy, matplotlib)
├── 📌 CLASSE RocketSimulation
│ ├── __init__() → Initialisation des constantes physiques
│ ├── run() → Boucle de calcul physique (Euler)
│ └── plot_results() → Génération du rendu visuel
└── 📌 MAIN (Instanciation et exécution)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
run(dt, max_time) Pas de temps, durée max None Calcule la physique itérative.
plot_results(t, h, v) Vecteurs temps, altitude, vitesse None Affiche le graphique final.
🔄 LOGIQUE / ALGORITHME
ÉTAPE 1 → Initialisation des vecteurs d’état (vitesse nulle, altitude zéro).
ÉTAPE 2 → Boucle temporelle (incrément dt) :
Si temps < temps de combustion : Appliquer la poussée et réduire la masse. Calculer la Traînée (Fd=21ρCdAv2). Calculer le Poids (P=m⋅g). Calculer l'accélération (a=mFtotal). ÉTAPE 3 → Intégration d'Euler pour mettre à jour la vitesse et la position. ÉTAPE 4 → Affichage des résultats via Matplotlib. 🚨 GESTION DES ERREURS Sécurité sol : Une condition if curr_h < 0 empêche la fusée de s'enfoncer dans le sol virtuel, réinitialisant l'altitude et la vitesse à 0. ✅ CONTRAINTES & RÈGLES MÉTIER Règle 1 : La poussée s'arrête brutalement une fois le carburant épuisé (burn_time). Règle 2 : La densité de l'air (rho) est considérée comme constante (1.225 kg/m³), ce qui est une simplification (elle diminue normalement avec l'altitude). 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu Statut 1 Cas nominal dt=0.1, max_time=200 Décollage, puis phase balistique. ⬜ À tester 2 Carburant nul m_fuel = 0 La fusée reste au sol. ⬜ À tester 3 Poussée < Poids thrust = 1000 Pas de décollage. ⬜ À tester 📝 EXEMPLE D'UTILISATION ▶️ Lancement en ligne de commande Bash python script_293cvmn_293.py 📋 Exemple de sortie attendue Une fenêtre s'ouvre affichant une courbe ascendante parabolique pour l'altitude et une courbe de vitesse augmentant linéairement puis chutant après le "burn out".



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