script_290cvmn_290.py

49,00 

Simuler et visualiser la trajectoire verticale et le profil de vitesse d’une fusée de type Falcon 9.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_290cvmn_290.py

Version 1.0.0

Date de création 07/03/2026

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

Objectif principal Simuler et visualiser la trajectoire verticale et le profil de vitesse d’une fusée de type Falcon 9.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script modélise le vol vertical d’un lanceur spatial en prenant en compte la consommation de carburant, la variation de la gravité selon l’altitude et la traînée atmosphérique. Il génère ensuite deux graphiques comparatifs (Altitude et Vitesse) pour analyser les performances du vol.

📌 Problème résolu

Il permet d’estimer l’apogée (altitude maximale) et le comportement dynamique d’une fusée sans nécessiter de logiciels de simulation complexes, en utilisant une intégration numérique simple (méthode d’Euler).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI / Script de visualisation

📦 Dépendances / Librairies

numpy : Pour la manipulation des vecteurs et les calculs mathématiques (exponentielles, tableaux).

matplotlib : Pour la génération des graphiques de trajectoire.

📥 ENTRÉES (INPUTS)

📂 Paramètres Hardcodés (Classe RocketSimulation)

# Nom Type Description Exemple

1 mass_dry int Masse de la structure (vide) 25000 kg

2 mass_fuel int Masse initiale du carburant 400000 kg

3 thrust float Poussée des moteurs 7.6e6 N

4 burn_rate int Débit massique du carburant 2500 kg/s

📤 SORTIES (OUTPUTS)

📂 Données et Visualisations

Type Chemin / Format Description

Graphique Fenêtre Matplotlib Graphique 1 : Altitude (km) vs Temps (s)

Graphique Fenêtre Matplotlib Graphique 2 : Vitesse (m/s) vs Temps (s)

Arrays numpy.ndarray Tableaux t, h, v retournés par la méthode simulate()

🧱 STRUCTURE DU SCRIPT

Plaintext

script_290cvmn_290.py

├── 📌 IMPORTS (numpy, matplotlib)

├── 📌 CLASSE RocketSimulation

│ ├── __init__() → Initialisation des constantes (G0, RE, RHO0…)

│ ├── get_density() → Calcul de la densité atmosphérique (modèle expo)

│ └── simulate() → Boucle de calcul itératif (Physique)

└── 📌 EXÉCUTION & VISUALISATION (Main block)

├── sim.simulate() → Calcul des données

└── plt.show() → Affichage des graphiques

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

get_density(h) height: float float Calcule ρ selon l’altitude h.

simulate(dt) dt: float (pas) tuple(arrays) Exécute la boucle temporelle jusqu’à l’impact.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Initialisation de l’état (Masse totale, Vitesse = 0, Altitude = 0).

ÉTAPE 2 → Calcul des forces à l’instant t :

Gravité variable : g=g0​×(Re​+hRe​​)2

Traînée (Drag) : 0.5×ρ×v2×Cd​×A

Poussée : Active si réservoir non vide.

ÉTAPE 3 → Application de la PFD (a=mFnet​​) et intégration d’Euler pour v et h.

ÉTAPE 4 → Répétition jusqu’à ce que h<0 (retour au sol). 🚨 GESTION DES ERREURS Division par zéro : Risque si la masse devient nulle (prévenu par la constante mass_dry). Boucle infinie : Le script s'arrête si h redevient nul après le décollage. Stabilité numérique : Dépend du paramètre dt (0.1s par défaut). ✅ CONTRAINTES & RÈGLES MÉTIER Vol Vertical : Le script simplifie la trajectoire en vol purement vertical (pas de gravité turn). Atmosphère : Modèle de densité à échelle de hauteur simple (Hscale​=8500m). Carburant : La poussée s'arrête instantanément dès que current_m <= mass_dry. 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu Statut 1 Lancement nominal Paramètres par défaut Apogée > 100km, courbe fluide ⬜ À tester

2 Pas de carburant mass_fuel = 0 Altitude reste à 0 ⬜ À tester

3 Poussée < Poids thrust < m*g La fusée ne décolle pas ⬜ À tester 📝 EXEMPLE D'UTILISATION ▶️ Lancement standard Bash python script_290cvmn_290.py 💻 Utilisation comme module Python from script_290cvmn_290 import RocketSimulation sim = RocketSimulation() t, h, v = sim.simulate(dt=0.01) # Simulation plus précise print(f"Altitude max : {max(h)} m")

Avis

Il n’y a pas encore d’avis.

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

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