script_294cvmn_294.py

49,00 

Simuler et visualiser la trajectoire verticale (altitude et vitesse) d’une fusée en tenant compte de la consommation de carburant, de la gravité et de la traînée atmosphérique.

UGS : script_294cvmn_294.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_294cvmn_294.py

Version 1.0.0

Date de création 09/03/2026

Auteur / Demandeur IA Générée (Gemini)

Objectif principal Simuler et visualiser la trajectoire verticale (altitude et vitesse) d’une fusée en tenant compte de la consommation de carburant, de la gravité et de la traînée atmosphérique.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script calcule la physique d’un lancement de fusée point par point (méthode d’Euler). Il modélise la poussée du moteur, la perte de masse due à la combustion, la force gravitationnelle et la résistance de l’air qui diminue avec l’altitude. À la fin, il génère un graphique comparatif.

📌 Problème résolu

Il permet de prédire l’apogée (point le plus haut) et le profil de vitesse d’un lanceur spatial simplifié sans avoir recours à des tests physiques coûteux.

⚙️ 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 : Calculs mathématiques et gestion des vecteurs d’état.

matplotlib : Génération des graphiques de performance.

📥 ENTRÉES (INPUTS)

📂 Paramètres internes (Classe RocketSimulation)

# Nom Type Obligatoire Description Exemple

1 mass_dry float ✅ Masse de la structure (kg) 2000.0

2 mass_fuel float ✅ Masse initiale du carburant (kg) 8000.0

3 thrust float ✅ Poussée du moteur (N) 150000.0

4 burn_rate float ✅ Consommation de carburant (kg/s) 50.0

📤 SORTIES (OUTPUTS)

📂 Données en sortie

Graphique (Matplotlib) : Une fenêtre interactive affichant deux courbes (Altitude en bleu, Vitesse en rouge) sur un axe temporel.

Vecteurs d’état : Tableaux Numpy contenant l’historique de l’altitude, de la vitesse et de la masse.

🧱 STRUCTURE DU SCRIPT

Plaintext

script_294cvmn_294.py

├── 📌 IMPORTS (numpy, matplotlib)

├── 📌 CLASSE RocketSimulation

│ ├── __init__() → Initialise les constantes physiques

│ ├── get_air_density() → Calcule rho selon l’altitude

│ ├── run() → Boucle de simulation principale

│ └── plot_results() → Génère le graphique final

└── 📌 MAIN (Instanciation et exécution)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

get_air_density(altitude) altitude: float float Retourne la densité de l’air via un modèle exponentiel.

run(dt, max_time) dt: float, max_time: int None Exécute l’intégration d’Euler pour calculer la trajectoire.

plot_results(t, h, v) t, h, v: ndarray None Trace le graphique à double axe ordonné.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Initialisation de la masse totale (msec​+mcarburant​).

ÉTAPE 2 → Boucle temporelle (incrément dt) :

Si Masse>Massesec​ : Poussée active et réduction de la masse. Sinon : Poussée = 0.

Calcul des forces : Gravité (Fg​=mg) et Traînée (Fd​=21​ρv2Cd​A).

Calcul de l’accélération : a=mFpousseˊe​−Ftraı^neˊe​−Fgraviteˊ​​.

Mise à jour de la vitesse et de l’altitude (Intégration d’Euler).

ÉTAPE 3 → Condition d’arrêt : Si l’altitude devient négative (retour au sol).

ÉTAPE 4 → Génération visuelle des résultats.

🚨 GESTION DES ERREURS

Crash au sol : Géré par un break si curr_h < 0 après le décollage initial. Épuisement carburant : Géré par une condition if curr_m > self.mass_dry pour annuler la poussée.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La densité de l’air suit une décroissance exponentielle basée sur une échelle de 8500m.

Règle 2 : La poussée est constante jusqu’à épuisement complet du carburant.

Règle 3 : La simulation s’arrête automatiquement après 300s ou au contact du sol.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Cas nominal Paramètres par défaut Apogée atteinte, puis redescente ⬜ À tester

2 Poussée nulle thrust = 0 La fusée reste au sol ⬜ À tester

3 Pas d’atmosphère rho_0 = 0 Altitude beaucoup plus élevée (pas de traînée) ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement direct

Bash

python script_294cvmn_294.py

📋 Exemple de sortie attendue

Une fenêtre Matplotlib s’ouvre montrant une courbe d’altitude parabolique et une courbe de vitesse atteignant un maximum avant de décroître.

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “script_294cvmn_294.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *