script_291cvmn_291.py

49,00 

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.

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

🔷 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​ρv2Cd​A).

Calcul de l’accélération (a=Massetotale​Fpousseˊ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.

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

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