# Importation de la classe capsule
from Orbiter import Launcher,Stage
#Option pour afficher les figures dans le notebook et eviter le plt.show():
%matplotlib inline
plt.rc('xtick',labelsize=14)
plt.rc('ytick',labelsize=14)
# Constante célestes:
G=6.67408e-11 # Constante de gravitation -
Rt=6380000 # Rayon terrestre - m
Rl=1736000 # Rayon Lunaire - m
Ms=1.9884e30 # Masse du soleil - kg
Mt=5.9722e24 # Masse de la terre - kg
Ml=7.3477e22 # Masse Lune - kg
Dl=384e6 # Distance Terre-Lune - m
Le lanceur Saturne V
Les charactéristiques des 3 étages et du module de service sont détaillée dans le tableau suivant:
Etage | Moteur | Hauteur (m) | Diamètre (m) | IC | Masse totale (tonnes) | Poussée (kN) | Temps (s) | |
---|---|---|---|---|---|---|---|---|
-1- | S-IC | 5 F1 | $42$ | $10$ | 0.060 | 2280 | 33400 | 150 |
-2- | S-II | 5 J2 | $24.9$ | $10$ | 0.082 | 480.9 | 5115 | 360 |
-3- | S-IVB | 1 J2 | $17.8$ | $6.6$ | 0.102 | 119.9 | 1001 | 471 |
-4- | Service Module | AJ-10 | $7.56$ | $3.9$ | 0.084 | 24.523 | 91.2 | 750 |
Les moteurs $F1$, $2$ et $AJ-10$ sont détaillé dans le tableau suivant:
Moteur | ISP (s) | Oxydant/Carburant (Mélange) | Masse volumique ($kg/m^3$) | Débit (kg/s) |
---|---|---|---|---|
F1 | 265 | LOX/RP1 (2.27) | 1140/810 | 1789/788 |
J2 | 421 | LOX/LH2 (5.5) | 1140/71 | 204/37.1 |
AJ-10-137 | 314 | NTO/Aerozyne-50 (1.6) | 1450/900 | 29.5 |
Assembler le lanceur SaturnV en créant chaque étage séparément. On se basera sur les données du tableau précédent.
# 1st Stage:
S1C=Stage(D=10,H=42,IC=0.060,ISP=265,qm=20333,mc=2e6)
# 2nd Stage
S2=Stage(D=10,H=24.9,IC=0.082,ISP=421,qm=1245,mc=444e3)
# 3rd Stage
S4B=Stage(D=6.6,H=17.8,IC=0.102,ISP=421,qm=226,mc=107095)
# Lem
SMod=Stage(D=3.9,H=7.56,IC=0.084,ISP=314,qm=70,mc=31826)
# Assemblage:
SaturnV=S1C+S2+S4B+SMod
print(SaturnV)
SaturnV.check_thrust()
Lançons la capsule dans l'atmosphère:
SaturnV.engine_start()
SaturnV.display=False
SaturnV.mode='const'
SaturnV.gamma_const=-np.pi/2.
#------------------------ Stage 1 --------------------------------
SaturnV.run(dt=0.001,ntmax=...*1000)
SaturnV.drop()
SaturnV.mode='free'
SaturnV.gamma=-np.pi/4.
#------------------------ Stage 2 --------------------------------
SaturnV.engine_start()
SaturnV.run(dt=0.001,ntmax=...*1000)
SaturnV.gamma=-np.pi/20.
SaturnV.run(dt=0.001,ntmax=...*1000)
SaturnV.drop()
#------------------------ Stage 3 --------------------------------
SaturnV.engine_start()
SaturnV.gamma=-np.pi/10.
SaturnV.display=True
SaturnV.run(dt=0.001,ntmax=...*1000)
SaturnV.engine_stop()
SaturnV.plotraj()
#plt.ylim(0,6380+6000)
zs=222e3
us=np.sqrt(G*Mt/(Rt+zs))
CM=Stage(D=3.9,H=7.56,
IC=0.084,ISP=314,
qm=70,mc=31826,
z0=zs,u0=us,gamma0=0.)
print(CM)
Tin=2*np.pi*np.sqrt((Rt+zs)**3/(G*Mt))
CM.run(dt=0.01,ntmax=0.75*Tin*100)
# Allumage moteur pendant 5.4 min
CM.engine_start()
CM.run(dt=0.01,ntmax=5.4*60*100)
CM.engine_stop()
CM.run(dt=1,ntmax=24*60*60)
CM.plotraj('polar')
plt.ylim(0,6380+6000)
Rédigez une synthèse de toutes les notions que vous avez parcourues dans ce projet.
from IPython.core.display import HTML
style=open('notebooks.css', "r").read()
HTML(style)