onizuka_6ijmgjl3g59dwsmg_333.py

49,00 

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.

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

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

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

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