onizuka_1icau24ec1uh0bnl_333.py

49,00 

Simuler et visualiser la trajectoire verticale d’un lanceur spatial en prenant en compte la consommation de carburant et la traînée atmosphérique.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_1icau24ec1uh0bnl_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Simuler et visualiser la trajectoire verticale d’un lanceur spatial en prenant en compte la consommation de carburant et la traînée atmosphérique.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script calcule la trajectoire d’une fusée durant ses 150 premières secondes de vol. Il résout numériquement les équations du mouvement en tenant compte de la poussée des moteurs, de la variation de la masse (consommation du carburant) et de la résistance de l’air (modèle de densité atmosphérique exponentielle).

📌 Problème résolu

Il permet de prédire l’altitude et la vitesse d’un lanceur en fonction de ses caractéristiques physiques (poussée, débit massique, Cx) sans nécessiter de tests réels coûteux.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Script autonome (CLI / Scientifique)

📦 Dépendances / Librairies

Librairies externes (pip install)

numpy (Calcul matriciel)

scipy (Résolution d’équations différentielles via solve_ivp)

matplotlib (Génération de graphiques)

📥 ENTRÉES (INPUTS)

📂 Paramètres codés en dur (Constantes)

# Nom Type Description Exemple

1 M_SÈCHE float Masse de la fusée sans carburant 5000.0 kg

2 M_CARBURANT float Masse initiale de carburant 10000.0 kg

3 DÉBIT_MASSIQUE float Consommation de carburant par seconde 150.0 kg/s

4 POUSSÉE float Force de poussée du moteur 300000.0 N

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Format Description

Graphique Matplotlib Pop-up Fenêtre affichant deux courbes : Altitude (km) vs Temps et Vitesse (m/s) vs Temps.

🧱 STRUCTURE DU SCRIPT

onizuka_…_333.py

├── 📌 IMPORTS (numpy, scipy.integrate, matplotlib)

├── 📌 CONSTANTES (Paramètres lanceur et constantes physiques G0​, ρ0​)

├── 📌 FONCTION

│ └── obtenir_physique(t, y) → Calcule les dérivées [v,a,dm/dt]

└── 📌 MAIN / EXECUTION

├── Résolution via solve_ivp (Méthode RK45)

└── Génération des subplots (Altitude & Vitesse)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

obtenir_physique(t, y) t: temps, y: vecteur d’état [z,v,m] list: [dz,dv,dm] Définit le système d’équations différentielles (calcul des forces).

🔄 LOGIQUE / ALGORITHME

Initialisation : Définition de la masse totale (Mseˋche​+Mcarburant​) et du temps de simulation (150s).

Calcul de la Poussée : Si M>Mseˋche​, la poussée est active, sinon elle tombe à 0 (extinction moteur).

Calcul de la Traînée : Utilisation de la formule Fd​=21​ρv2Cx​S avec une densité ρ variant selon l’altitude.

Application de la PFD : a=masse(Pousseˊe−Poids−Traı^neˊe)​.

Intégration : Utilisation de la méthode Runge-Kutta (RK45) pour calculer l’évolution de l’état au cours du temps.

🚨 GESTION DES ERREURS

Condition de sol : Le script vérifie si l’altitude est ≤0 et l’accélération négative pour empêcher la fusée de « s’enfoncer » théoriquement dans le sol au démarrage.

Fin de carburant : Le débit massique passe à 0 dès que la masse sèche est atteinte pour éviter une masse négative.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : Vol strictement vertical (pas de prise en compte de la courbure terrestre ou de l’inclinaison).

Règle 2 : Gravité constante (G0​=9.81m/s2).

Règle 3 : Modèle d’atmosphère isotherme simplifié (échelle de hauteur à 8500m).

📝 EXEMPLE D’UTILISATION

▶️ Lancement

Bash

python onizuka_1icau24ec1uh0bnl_333.py

📋 Sortie attendue

Le script ouvre une fenêtre graphique. On observe généralement une accélération croissante (car la masse diminue) jusqu’à l’arrêt du moteur, suivi d’une phase balistique.

Avis

Il n’y a pas encore d’avis.

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

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