🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_6ijmgjl3g59dwsmg_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 2D d’une fusée en tenant compte de la poussée, de la gravité et de la traînée atmosphérique.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script définit une classe Fusee permettant de simuler la physique de vol d’un lanceur spatial. Il calcule en temps réel l’évolution de la masse (consommation de carburant), de la vitesse et de la position, puis génère des graphiques illustrant la trajectoire et l’état des réservoirs.
📌 Problème résolu
Il permet de modéliser l’impact de paramètres physiques (Impulsion spécifique, rapport poussée/poids, traînée) sur les performances d’un vol suborbital ou orbital simplifié.
⚙️ 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
Librairies externes (pip install)
numpy (Calcul vectoriel et gestion des tableaux)
matplotlib (Génération des graphiques)
📥 ENTRÉES (INPUTS)
📂 Paramètres de la Classe Fusee
# Nom Type Obligatoire Description Exemple
1 nom str ✅ Oui Identifiant de la fusée « Gemini-1 »
2 masse_vide float ✅ Oui Masse de la structure (kg) 2000
3 masse_carburant float ✅ Oui Masse initiale d’ergols (kg) 8000
4 poussee_max float ✅ Oui Force max du moteur (N) 150000
5 isp float ✅ Oui Efficacité moteur (secondes) 300
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Format Description
Graphique 1 Matplotlib Plot Trajectoire 2D (Distance vs Altitude).
Graphique 2 Matplotlib Plot Évolution de la masse de carburant dans le temps.
🧱 STRUCTURE DU SCRIPT
onizuka_6ijmgjl3g59dwsmg_333.py
│
├── 📌 IMPORTS (numpy, matplotlib)
├── 📌 CLASSE FUSEE (Cœur du moteur physique)
│ ├── __init__ → Initialisation état et caractéristiques
│ ├── masse_totale (property) → Somme vide + carburant
│ └── calculer_physique() → Moteur d’intégration (Euler)
├── 📌 CONFIGURATION SIMULATION (Paramètres dt, temps_total)
└── 📌 VISUALISATION (Bloc plt.show())
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
calculer_physique dt, angle, throttle None Met à jour position, vitesse et carburant selon les forces.
🔄 LOGIQUE / ALGORITHME
Initialisation : Création de l’objet fusée avec ses caractéristiques techniques.
Boucle Temporelle : Pour chaque pas de temps dt :
Calcul de la Poussée : Décomposition vectorielle selon l’angle.
Consommation : Réduction de la masse de carburant proportionnellement à la poussée.
Forces Environnementales : Calcul de la gravité (P=m⋅g) et de la traînée de l’air (1/2⋅ρ⋅v2⋅Cd⋅A).
Intégration : a=Ftotale/m, mise à jour de v et de pos.
Visualisation : Plotting des listes historiques.
🚨 GESTION DES ERREURS
Cas d’erreur Comportement attendu
Plus de carburant Le throttle est forcé à 0, la poussée s’arrête.
Contact avec le sol Si y < 0, l'altitude est verrouillée à 0 et la vitesse annulée. ✅ CONTRAINTES & RÈGLES MÉTIER Règle 1 : La poussée dépend linéairement du throttle (0.0 à 1.0). Règle 2 : La densité de l'air est considérée constante (rho=1.225) par défaut (modèle basse altitude). Règle 3 : L'angle de vol change à t = 10s pour simuler un début de "Gravity Turn". 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu Statut 1 Décollage vertical angle=90 Altitude augmente, distance stable à 0. ⬜ À tester 2 Panne de carburant carburant=0 Chute libre (trajectoire parabolique). ⬜ À tester 3 Impact sol Initialisation y < 0 Réinitialisation auto à y = 0. ⬜ À tester 📝 EXEMPLE D'UTILISATION ▶️ Lancement direct Bash python onizuka_6ijmgjl3g59dwsmg_333.py 💻 Exemple d'instanciation Python ma_fusee = Fusee("Ariane 5", masse_vide=50000, masse_carburant=150000, poussee_max=1200000, isp=430) ma_fusee.calculer_physique(dt=0.1, angle_deg=85, throttle=1.0)



Avis
Il n’y a pas encore d’avis.