🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_296cvmn_296.py
Version 1.0.0
Date de création 09/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é et de la traînée aérodynamique.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script utilise une approche de physique numérique pour modéliser le vol d’une fusée à un étage. Il calcule l’évolution de l’altitude, de la vitesse et de la masse au fil du temps, de l’allumage du moteur jusqu’à l’impact au sol, puis génère des graphiques d’analyse.
📌 Problème résolu
Il permet de prédire les performances d’une fusée (apogée, durée de combustion, vitesse maximale) sans recourir à des tests physiques coûteux, en résolvant de manière itérative les équations du mouvement.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Windows / Linux / MacOS
Mode d’exécution CLI / Script autonome
📦 Dépendances / Librairies
numpy : Pour la manipulation des tableaux de données et les calculs numériques.
matplotlib : Pour la génération des graphiques de résultats.
📥 ENTRÉES (INPUTS)
📂 Paramètres de configuration (Hardcodés dans la classe)
# Nom Type Description Valeur par défaut
1 thrust float Poussée du moteur (Newtons) 2500.0
2 m_fuel float Masse initiale de carburant (kg) 100.0
3 burn_rate float Consommation de carburant (kg/s) 5.0
4 Cd float Coefficient de traînée 0.5
📤 SORTIES (OUTPUTS)
📂 Données et Visualisations
Type Description
Graphique (Matplotlib) Trois courbes : Altitude(t), Vitesse(t), et Masse(t).
Tableaux NumPy Vecteurs de données t, h, v, m retournés par la méthode simulate().
🧱 STRUCTURE DU SCRIPT
script_296cvmn_296.py
│
├── 📌 IMPORTS (numpy, matplotlib.pyplot)
├── 📌 CLASSE RocketSimulation
│ ├── __init__() → Initialise les constantes physiques et techniques.
│ ├── simulate() → Cœur algorithmique (Boucle de calcul).
│ └── plot_results() → Génération des visuels.
└── 📌 MAIN (Instanciation, exécution et affichage)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
simulate(dt) dt (pas de temps) tuple(np.array) Calcule la trajectoire via l’intégration d’Euler.
plot_results(t, h, v, m) Tableaux de données None Affiche les graphiques multi-axes.
🔄 LOGIQUE / ALGORITHME
Initialisation : Définition de l’état initial (h=0, v=0, m=total).
Boucle de simulation (Boucle While) : Tant que la fusée n’a pas touché le sol :
Phase de poussée : Si carburant > 0, Force de poussée active, réduction de la masse.
Bilan des forces : Calcul de la Traînée (Fd=21ρCdAv2) et du Poids (P=mg).
Calcul de l’accélération : a=m∑F.
Mise à jour (Euler) : Nouvelle vitesse et nouvelle position selon le pas de temps dt.
Terminaison : Arrêt de la boucle lorsque l’altitude redevient négative après le décollage.
Rendu : Envoi des données vers le moteur graphique.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : La poussée tombe à zéro instantanément dès que la masse de carburant est épuisée.
Règle 2 : La densité de l’air (ρ) est considérée comme constante (modèle basse altitude).
Règle 3 : Le sol est une limite infranchissable (arrêt de la simulation).
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu
1 Vol complet Paramètres standards Courbe parabolique, apogée > 0
2 Pas de carburant m_fuel = 0 La fusée reste au sol
3 Poussée insuffisante thrust < weight La fusée ne décolle pas 📝 EXEMPLE D'UTILISATION ▶️ Lancement direct Bash python script_296cvmn_296.py 💻 Utilisation comme module Python from script_296cvmn_296 import RocketSimulation sim = RocketSimulation() t, h, v, m = sim.simulate(dt=0.01) # Précision accrue print(f"Altitude max atteinte : {max(h)} m")



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