🔷 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ρv2CxS 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.