onizuka_3fnnimc1hz7jkd7m_333.py

49,00 

Simuler physiquement le vol d’une fusée en tenant compte de la gravité variable et de la traînée atmosphérique sur différentes planètes.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_3fnnimc1hz7jkd7m_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Simuler physiquement le vol d’une fusée en tenant compte de la gravité variable et de la traînée atmosphérique sur différentes planètes.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script fournit un cadre de simulation physique pour le lancement de fusées. Il modélise la perte de masse (consommation de carburant), les variations de gravité selon l’altitude, et calcule la traînée aérodynamique en fonction de la densité atmosphérique de plusieurs corps célestes (Terre, Mars, Lune).

📌 Problème résolu

Il permet de prédire le comportement d’un lanceur spatial (altitude, vitesse, consommation) sans nécessiter de tests réels, en offrant une approche modulaire pour tester différents types de moteurs et d’environnements planétaires.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.9+ (utilise les dataclasses et le typage avancé)

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Module / Script de simulation

📦 Dépendances / Librairies

# Librairies standard (built-in)

math : Calculs trigonométriques et exponentiels.

dataclasses : Structuration des données des fusées.

typing : Annotations de type pour la robustesse du code.

# Librairies externes (pip install)

numpy : Gestion des vecteurs d’état (position, vitesse).

matplotlib : Visualisation et animation des résultats.

📥 ENTRÉES (INPUTS)

📂 Objets de données

# Nom Type Obligatoire Description

1 nom_planete str ✅ Oui Nom de la planète cible (ex: « Terre », « Mars »).

2 fusee Fusee ✅ Oui Objet contenant masse, poussée, Isp et diamètre.

📤 SORTIES (OUTPUTS)

📂 Données en sortie

# Nom Type Description

1 historique dict Dictionnaire contenant les listes de temps, altitude, vitesse et carburant.

🧱 STRUCTURE DU SCRIPT

onizuka_3fnnimc1hz7jkd7m_333.py

📌 IMPORTS (numpy, matplotlib, dataclasses)

📌 CLASSES DE DONNÉES

Fusee : Propriétés physiques de l’engin.

📌 CLASSES LOGIQUES

Moteur : Factory pour générer des configurations (Liquide, Solide, Nucléaire).

Environnement : Modèle atmosphérique et gravitationnel.

SimulateurVol : Moteur de calcul de la trajectoire.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

get_pression(alt) altitude: float float Calcule la pression atmosphérique exponentielle.

get_gravite(alt) altitude: float float Applique la loi de la gravitation universelle de Newton.

calculer_trainee() Aucun float Calcule la résistance de l’air (1/2⋅ρ⋅v2⋅Cd⋅A).

reset() Aucun None Réinitialise les vecteurs d’état pour une nouvelle simulation.

🔄 LOGIQUE / ALGORITHME

Initialisation : Choix de la planète et du type de moteur.

Boucle de calcul (incrémentale) :

Calcul de la Gravité locale selon G⋅r2m1​⋅m2​​.

Calcul de la Pression et de la Traînée (si atmosphère présente).

Soustraction de la masse de carburant consommée.

Mise à jour des vecteurs Accélération → Vitesse → Position.

Stockage : Enregistrement des données dans l’historique pour analyse.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Planète non répertoriée ValueError Le script s’arrête avec un message explicatif.

Division par zéro (gravité) ZeroDivisionError Géré par une vérification de la masse planétaire dans get_gravite.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La poussée est considérée comme constante jusqu’à épuisement du carburant (modèle simplifié).

Règle 2 : L’altitude ne peut pas être négative (utilisation de max(0, altitude)).

Règle 3 : La densité de l’air est une approximation basée sur une température constante de 288.15K.

📝 EXEMPLE D’UTILISATION

💻 Exemple d’appel en tant que module

Python

env = Environnement(« Mars »)

ma_fusee = Moteur.moteur_liquide()

sim = SimulateurVol(ma_fusee, env)

# La simulation peut ensuite être lancée via une boucle de mise à jour

Avis

Il n’y a pas encore d’avis.

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

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