onizuka_5j3j1au6e26zfu43_333.py

49,00 

Simuler et visualiser la trajectoire 2D/3D d’une fusée en tenant compte de la poussée, de la gravité variable et de la traînée atmosphérique.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_5j3j1au6e26zfu43_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur IA Généré (Modèle Onizuka)

Objectif principal Simuler et visualiser la trajectoire 2D/3D d’une fusée en tenant compte de la poussée, de la gravité variable et de la traînée atmosphérique.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script modélise le vol d’une fusée de 500 tonnes depuis le décollage jusqu’à l’extinction des moteurs. Il calcule en temps réel la position, la vitesse et la consommation de carburant en résolvant des équations différentielles physiques complexes, puis génère des graphiques d’analyse et une animation.

📌 Problème résolu

Il permet d’estimer les performances d’un lanceur (altitude maximale, vitesse finale, énergie) sans nécessiter de logiciels de CAO/Simulation industriels, tout en offrant une visualisation pédagogique de la mécanique orbitale de base.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Windows / Linux / MacOS

Mode d’exécution CLI (Script autonome) ou Module (Classe importable)

📦 Dépendances / Librairies

numpy : Calculs vectoriels et matrices.

matplotlib : Génération des graphiques 2D/3D et animations.

scipy (solve_ivp) : Intégration numérique des équations du mouvement.

📥 ENTRÉES (INPUTS)

📂 Paramètres de Simulation (Configurables dans __init__)

# Nom Type Description Exemple

1 m0 float Masse initiale totale 500000 (kg)

2 thrust float Poussée des moteurs 7.5e6 (N)

3 isp int Impulsion spécifique 300 (s)

4 initial_angle int Angle de départ 85 (degrés)

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

CSV rocket_trajectory.csv Export des vecteurs x,y,z,vx​,vy​,vz​ et masse.

Visualisation Matplotlib Windows 4 graphiques 2D (Trajectoire, Altitude, Vitesse, Masse).

Visualisation Matplotlib 3D Rendu spatial de la trajectoire en trois dimensions.

🧱 STRUCTURE DU SCRIPT

Plaintext

onizuka_…_333.py

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

├── 📌 CLASSE RocketSimulation

│ ├── __init__() → Initialisation des constantes physiques

│ ├── gravity() / density() → Modèles environnementaux

│ ├── thrust_acceleration() → Calcul du vecteur poussée

│ ├── equations() → Système d’équations différentielles

│ ├── simulate() → Résolveur RK45

│ └── plot_…() → Fonctions de visualisation

└── 📌 MAIN (Exemple d’utilisation et sauvegarde CSV)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

gravity(alt) altitude (m) float Calcule g selon la loi en 1/r2.

density(alt) altitude (m) float Modèle exponentiel de l’atmosphère.

equations(t, state) temps, vecteur d’état list Définit les dérivées pour l’intégrateur.

simulate(t_max) durée (s) tuple Exécute la résolution numérique.

🔄 LOGIQUE / ALGORITHME

Initialisation : Définition de l’état [x,y,z,vx​,vy​,vz​,m].

Boucle d’Intégration (RK45) :

Calcul de la Gravité locale.

Calcul de la Traînée (proportionnelle au carré de la vitesse et à la densité).

Calcul de la Poussée (directionnelle selon l’angle de tangage).

Mise à jour de la Masse (consommation de carburant).

Extraction : Calcul des métriques de performance (Apoapsis, Énergies).

Rendu : Affichage des courbes et export de données.

🚨 GESTION DES ERREURS

Altitude négative : Le script force l’altitude à 0 pour éviter des densités de l’air aberrantes.

Division par zéro : Ajout d’une constante 1e-10 lors du calcul du vecteur gravité pour éviter les erreurs au centre de la Terre.

Masse vide : La consommation s’arrête automatiquement si la masse atteint m_dry.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu

1 Vol Nominal Paramètres par défaut Altitude max > 100km, trajectoire courbée.

2 Moteurs éteints thrust = 0 La fusée reste au sol ou retombe immédiatement.

3 Espace vide rho0 = 0 Absence de traînée aérodynamique (vitesse plus élevée).

📝 EXEMPLE D’UTILISATION

▶️ Lancement direct

Bash

python onizuka_5j3j1au6e26zfu43_333.py

📋 Sortie console type

Plaintext

Lancement de la simulation…

Simulation terminée !

— Métriques de performance —

Altitude maximale (km): 145.23

Vitesse maximale (km/s): 2.45

Masse finale (tonnes): 185.30

Résultats sauvegardés dans ‘rocket_trajectory.csv’

Avis

Il n’y a pas encore d’avis.

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

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