Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 26 20:08:38 2019
@author: MAC
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# ---------------- Paramètres à modifier ---------------------------
ISP1=254
ISP2=363
k1=0.1
k2=0.1
Vc=10000
lam1=k1/(k1+1)
lam2=k2/(k2+1)
g0=9.8
MP=[30,40,50]
for mp in MP:
Vc_tab=np.linspace(9000,11000,100)
ISP_tab=np.linspace(300,400,100)
MT=[]
for ISP2 in ISP_tab:
ISP1=0.7*ISP2
omega_tab=np.linspace(0.001,0.99,100)
QP=[]
Q2=[]
Q1=[]
for omega in omega_tab:
q2=omega+lam1*(1-omega)
q2=np.power(q2,ISP1/ISP2)*np.exp(Vc/(g0*ISP2))
q2=1/q2
q2=1-q2
q2 *= omega/(1-lam2)
qp=omega-q2
Q2.append(q2)
QP.append(qp)
Q1.append(q1)
#omega_pourcent=[i*100 for i in omega_tab]
#QP_pourcent=[i*100 for i in QP]
#Q2_pourcent=[i*100 for i in Q2]
#fig,ax=plt.subplots()
#plt.plot(Q2_pourcent,QP_pourcent)
#qp_pourcent=max(QP_pourcent)
#q2_pourcent=Q2_pourcent[QP_pourcent.index(qp_pourcent)]
#plt.plot([0,q2_pourcent],[qp_pourcent,qp_pourcent],'--r')
#plt.plot([q2_pourcent,q2_pourcent],[0,qp_pourcent],'--r')
#fig.canvas.draw()
#plt.xticks(list(plt.xticks()[0])+[q2_pourcent])
#plt.yticks(list(plt.yticks()[0])+[qp_pourcent])
#xlabels=[item.get_text() for item in ax.get_xticklabels()]
#xlabels[-1]='$q_2$ opti'
#ax.set_xticklabels(xlabels)
#ax.get_xticklabels()[-1].set_color('r')
#ylabels=[item.get_text() for item in ax.get_yticklabels()]
#ylabels[-1]='$q_p$ max'
#ax.set_yticklabels(ylabels)
#ax.get_yticklabels()[-1].set_color('r')
#plt.xlabel('$q_2$ (%)')
#plt.ylabel('$q_p$ (%)')
#plt.show()
qp=max(QP)
omega=omega_tab[QP.index(qp)]
q2=omega-qp
q1=1-q2-qp
# mp=40
m1=(mp/qp)*q1
m2=(mp/qp)*q2
mt=mp+m1+m2
ms1=m1*lam1
ms2=m2*lam2
me1=ms1/k1
me2=ms2/k2
MT.append(mt)
Vc_tab_plot=[i*0.001 for i in Vc_tab]
MT_plot=[i*0.001 for i in MT]
plt.plot(ISP_tab,MT_plot,label='Payload='+str(mp)+' Kg')
plt.legend(loc=0)
plt.xlabel('$Isp_2$ (s)')
plt.ylabel('Masse totale ($10^3$ kg)')
plt.show()