script_353cvmn_353.py

49,00 

Simulation physique et analyse de trajectoire de fusées à un ou plusieurs étages.

UGS : script_353cvmn_353.py Catégories : , Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_353cvmn_353.py

Version 1.0.0

Date de création 11/03/2026

Auteur / Demandeur IA Générée (Gemini)

Objectif principal Simulation physique et analyse de trajectoire de fusées à un ou plusieurs étages.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script simule le vol d’une fusée en prenant en compte la poussée du moteur, la variation de la masse (consommation de carburant), la traînée aérodynamique (avec densité de l’air variable) et la gravité. Il permet de comparer une architecture à un étage simple face à une configuration multi-étages plus complexe.

📌 Problème résolu

Il permet de prédire l’altitude maximale (apogée), la vitesse et l’accélération d’un lanceur spatial sans recourir à des logiciels de CAO complexes, en utilisant l’intégration numérique des équations du mouvement.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI / Graphique (Matplotlib)

📦 Dépendances / Librairies

numpy : Calculs matriciels et gestion des vecteurs de données.

matplotlib : Génération des graphiques et de l’animation.

scipy : Utilisation de solve_ivp pour la résolution d’équations différentielles.

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 m0 float ✅ Oui Masse initiale au décollage 1000.0 kg

2 thrust float ✅ Oui Poussée du moteur 15000.0 N

3 Isp float ✅ Oui Impulsion spécifique (efficacité) 250.0 s

4 t_max int ❌ Non Durée de la simulation 120 s

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 max_altitude float Altitude maximale atteinte (km) 45.2 km

2 v ndarray Vecteur des vitesses au cours du temps [0, 10, 25…]

3 Visualisation Matplotlib 6 graphiques comparatifs (Fenêtre interactive)

🧱 STRUCTURE DU SCRIPT

script_353cvmn_353.py

📌 IMPORTS : numpy, matplotlib, scipy.integrate.

📌 CLASSE RocketSimulation : Modèle de base (1 étage).

mass_profile() : Calcul de la perte de poids.

drag_force() : Modèle aérodynamique (densité exponentielle).

equations() : Définition du système différentiel (F = ma).

📌 CLASSE MultiStageRocket : Héritage, gère la séparation des étages.

📌 MAIN : Point d’entrée, exécute les deux simulations et l’animation optionnelle.

🔄 LOGIQUE / ALGORITHME

Initialisation : Définition des paramètres physiques et des conditions h=0,v=0.

Intégration (RK45) : Résolution pas à pas de l’accélération :

a=mT−D−G​

T : Poussée (Thrust)

D : Traînée (Drag)

G : Gravité (Poids)

Traitement : Extraction de l’altitude maximale et calcul du ΔV théorique.

Rendu : Affichage des courbes et lancement de l’animation.

🚨 GESTION DES ERREURS

Masse nulle : Une sécurité dans equations() empêche la division par zéro si la masse devient nulle.

Débit massique : Calculé automatiquement pour vider le réservoir exactement durant le burn_time.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La poussée tombe à 0 immédiatement après le temps de combustion.

Règle 2 : La densité de l’air suit une décroissance exponentielle (Hscale​=8500m).

Règle 3 : La gravité varie selon l’altitude (Loi en carré inverse) uniquement dans le modèle multi-étages.

📊 PERFORMANCES ATTENDUES

Temps d’exécution : < 2 secondes pour une simulation de 200s.

Précision : Tolérance relative réglée à 10−6 pour l’intégrateur.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_353cvmn_353.py

📋 Exemple de sortie console

Plaintext

============================================================

SIMULATION DE FUSÉE – PHYSIQUE/MÉCANIQUE SPATIALE

============================================================

1. Fusée à un étage:

2. Fusée à deux étages:

3. Analyse des performances:

Vitesse caractéristique (ΔV): 3947 m/s

Facteur de structure: 0.200

Avis

Il n’y a pas encore d’avis.

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

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