🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_edckwv1kq4p0is5s_333.py
Version 1.0.0
Date de création 19/03/2026
Auteur / Demandeur refoïa jeremy
Objectif principal Simuler et analyser la poussée, la synchronisation et les vibrations de plusieurs boosters de fusée.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script modélise le comportement physique de plusieurs propulseurs (boosters) durant leur phase de combustion. Il calcule la poussée individuelle et totale en temps réel, simule les vibrations structurelles et évalue la qualité de la synchronisation de l’allumage entre les différents moteurs via des outils statistiques.
📌 Problème résolu
Il permet d’anticiper les déséquilibres de poussée et les risques de vibrations excessives lors du décollage d’un lanceur spatial, en visualisant les données sous forme de graphiques et en générant un rapport de performance.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.7+ (pour les dataclasses)
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Script de simulation
📦 Dépendances / Librairies
# Librairies standard (built-in)
dataclasses : Pour la structure de configuration des boosters.
typing : Pour le typage statique (List, Tuple).
# Librairies externes (pip install)
numpy : Calculs mathématiques et statistiques.
matplotlib : Génération de graphiques et animations.
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description
1 boosters List[BoosterConfig] ✅ Oui Liste d’objets contenant les paramètres physiques des boosters.
2 dt float ❌ Non Pas de temps de simulation (par défaut 0.01s).
📤 SORTIES (OUTPUTS)
# Nom Type Description
1 sync_metrics dict Métriques de corrélation et délais d’allumage.
2 plots Matplotlib Fig 3 graphiques : Poussée individuelle, totale et vibrations.
🧱 STRUCTURE DU SCRIPT
Plaintext
onizuka_simulation.py
│
├── 📌 IMPORTS (numpy, matplotlib, dataclasses)
├── 📌 CONFIGURATION (@dataclass BoosterConfig)
├── 📌 CLASSE PRINCIPALE (BoosterSimulation)
│ ├── __init__() → Initialisation des historiques
│ ├── calculate_thrust() → Modèle physique de poussée
│ ├── calculate_vibration() → Modèle de vibrations fréquentielles
│ ├── run_simulation() → Boucle temporelle principale
│ ├── calculate_sync_metrics() → Analyse statistique (corrélation)
│ ├── plot_results() → Visualisation graphique
│ └── print_sync_report() → Rapport texte formaté
└── 📌 MAIN (Point d’entrée avec scénario d’exemple)
🔄 LOGIQUE / ALGORITHME
Initialisation : Création des instances de boosters avec leurs courbes de poussée théoriques.
Boucle de Simulation :
Pour chaque pas de temps dt, calcul de la poussée en 3 phases : Allumage (rampe), Stable (avec bruit sinusoïdal), et Extinction.
Calcul des vibrations basées sur la poussée instantanée et des composantes fréquentielles (50Hz et 120Hz).
Analyse : Calcul des coefficients de corrélation de Pearson entre les boosters pour vérifier si leurs poussées sont synchrones.
Restitution : Génération d’un rapport visuel et textuel (emoji-codé).
🚨 GESTION DES ERREURS
Validation des sorties : Utilisation de min/max dans calculate_vibration pour maintenir les niveaux entre 0 et 1.
Stabilité numérique : Gestion des divisions par zéro via des conditions sur la poussée nulle.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : La poussée est nulle si le temps actuel est inférieur au délai d’allumage (ignition_delay).
Règle 2 : Les phases de transition (allumage/extinction) sont fixées à 0.5 seconde.
Règle 3 : La synchronisation est jugée « Excellente » si l’écart-type des délais d’allumage est inférieur à 0.1s.
🧪 TESTS ATTENDUS
Cas nominal : Simulation de 4 boosters avec des délais décalés (Scénario inclus).
Cas critique : Test avec un délai d’allumage très élevé (> duration) pour vérifier la gestion de poussée nulle.
📊 PERFORMANCES ATTENDUES
Temps d’exécution : < 1 seconde pour une simulation de 120s avec dt=0.05.
Mémoire : Faible, stockage d’arrays numpy optimisés.
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python onizuka_edckwv1kq4p0is5s_333.py
📋 Exemple de sortie attendue (Console)
Plaintext
============================================================
RAPPORT DE SYNCHRONISATION DES BOOSTERS
============================================================
📊 MÉTRIQUES TEMPORELLES:
• Délai moyen d’allumage: 5.062 s
• Écart-type des délais: 8.625 s
…
🔄 CORRÉLATIONS ENTRE BOOSTERS:
✅ Booster Central-Booster Latéral A: 0.998
…
❌ Mauvaise synchronisation – risque de déséquilibre
============================================================



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