🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_291cvmn_291.py
Version 1.0.0
Date de création 22/05/2024 (Date de génération)
Auteur / Demandeur IA Généré
Objectif principal Simuler la trajectoire verticale d’une fusée en tenant compte de la variation de la gravité, de la densité atmosphérique et de la consommation de carburant.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script modélise numériquement le lancement d’une fusée (type Falcon 9) depuis le sol jusqu’à l’épuisement de son carburant ou son retour au sol. Il calcule en temps réel l’évolution de l’altitude, de la vitesse et de l’accélération en intégrant les forces de poussée, de traînée aérodynamique et de pesanteur variable.
📌 Problème résolu
Il permet de visualiser l’impact de la perte de masse (consommation d’ergols) et de l’amincissement de l’atmosphère sur les performances dynamiques d’un lanceur spatial.
⚙️ 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
numpy : Calculs vectoriels et gestion des tableaux de données.
matplotlib : Génération des graphiques de visualisation.
📥 ENTRÉES (INPUTS)
Le script utilise des paramètres hardcodés dans la classe RocketSimulation simulant un lanceur lourd :
Masse à vide : 25000 kg
Masse carburant : 400000 kg
Poussée : 7600000 N
Consommation : 2500 kg/s
📤 SORTIES (OUTPUTS)
Dictionnaire results : Contient les listes de temps (t), altitude (h), vitesse (v), masse (m), accélération (a) et traînée (drag).
Interface Graphique : Une fenêtre Matplotlib affichant 4 graphiques (Altitude, Vitesse, G-Force, Masse).
🧱 STRUCTURE DU SCRIPT
Plaintext
script_291cvmn_291.py
│
├── 📌 IMPORTS (numpy, matplotlib)
├── 📌 CLASSE RocketSimulation
│ ├── __init__() → Initialisation des constantes (g0, Re, rho0, etc.)
│ ├── simulate() → Boucle de calcul numérique (Méthode d’Euler)
│ └── plot_results() → Génération des graphiques
└── 📌 EXÉCUTION (Main) → Instanciation et lancement de la simulation
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
simulate(dt, duration) dt (pas de temps), duration (temps max) dict Calcule la physique du vol pas à pas.
plot_results(res) res (dictionnaire de données) None Affiche les courbes de performance.
🔄 LOGIQUE / ALGORITHME
Initialisation : Définition de l’état t=0 (h=0,v=0).
Boucle Temporelle (Méthode d’Euler) :
Calcul de g (diminue avec l’altitude via la loi en carré inverse).
Calcul de la densité de l’air (décroissance exponentielle).
Calcul de la traînée (D=21ρv2CdA).
Calcul de l’accélération (a=MassetotaleFpousseˊe−Ftraı^neˊe−Fpoids).
Mise à jour de la vitesse et de l’altitude.
Mise à jour de la masse (soustraction du carburant brûlé).
Condition d’arrêt : Épuisement du temps ou impact au sol (h<0). 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu 1 Vol nominal Paramètres par défaut La fusée décolle, atteint une altitude max et retombe. 2 Carburant nul fuel_mass = 0 Accélération négative immédiate (la fusée reste au sol). 3 Pas de temps fin dt = 0.001 Précision accrue de la courbe, temps de calcul plus long. 📊 PERFORMANCES ATTENDUES Temps d'exécution : < 1 seconde pour une simulation de 400s avec dt=0.1. Précision : Modèle d'Euler simple (suffisant pour une approximation, mais moins précis qu'un Runge-Kutta 4 pour des calculs orbitaux). 📝 EXEMPLE D'UTILISATION Python # Lancement simple sim = RocketSimulation() data = sim.simulate(dt=0.05, duration=500) sim.plot_results(data)



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