Skip to content
etagement.py 2.36 KiB
Newer Older
# -*- 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()