From 7273d188698858922c17f3b4b700b67f4b7a8acb Mon Sep 17 00:00:00 2001 From: Armor00 <2654988228@qq.com> Date: Fri, 27 Sep 2024 14:59:38 +0800 Subject: [PATCH] update --- src/KSP_tools/stage_performance_plot.py | 35 +++++++++++++------------ 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/src/KSP_tools/stage_performance_plot.py b/src/KSP_tools/stage_performance_plot.py index 262c512..5368c5f 100644 --- a/src/KSP_tools/stage_performance_plot.py +++ b/src/KSP_tools/stage_performance_plot.py @@ -2,25 +2,26 @@ import matplotlib.pyplot as plt from src.KSP_tools.calculator_dv import cal_dv -centaur_isp = 450.5 -centaur_gross_mass = 20830 + 2247 -centaur_dry_mass = 2247 -lm_isp = 438 -lm_gross_mass = 21000 -lm_dry_mass = 2800 +def plot_stage_performance(isp, gross_mass, dry_mass, payload, stage_name): + stage_performance = [cal_dv(isp, dry_mass + i, gross_mass + i) for i in payload] + plt.plot(payload, stage_performance, label=stage_name) -lmh_isp = 450 -lmh_gross_mass = 23500 + 3000 -lmh_dry_mass = 3000 -payload_list = [i for i in range(0, 10000, 100)] -centaur_performance = [cal_dv(centaur_isp, centaur_dry_mass + i, centaur_gross_mass + i) for i in payload_list] -lm_performance = [cal_dv(lm_isp, lm_dry_mass + i, lm_gross_mass + i) for i in payload_list] -lmh_performance = [cal_dv(lmh_isp, lmh_dry_mass + i, lmh_gross_mass + i) for i in payload_list] - -plt.plot(centaur_performance, label='Centaur') -plt.plot(lm_performance, label='Long March') -plt.plot(lmh_performance, label='Long March 3.35') +payload_list = [i for i in range(0, 40200, 200)] +plot_stage_performance(450.5, 20830 + 2247, 2247, payload_list, 'Centaur III') +# plot_stage_performance(438, 21000, 2800, payload_list, 'Long March 3m') +# plot_stage_performance(450, 23500 + 2900, 2900, payload_list, 'Long March 3.35m') +plot_stage_performance(453.8, 54000+4500, 5000, payload_list, 'Centaur V') +plot_stage_performance(348, 112000, 4000, payload_list, 'Falcon 9') +plot_stage_performance(355, 80600, 600, payload_list, 'Neutron S2') +plot_stage_performance(365, 100600, 600, payload_list, 'Neutron S2 MAX') +# plot_stage_performance(451, 68000, 8000, payload_list, 'Long March 10 S3') +# plot_stage_performance(442.6, 36000, 5100, payload_list, 'Long March 5 S2') +# plot_stage_performance(462, 30710, 3490, payload_list, 'DCSS 5m') +# plot_stage_performance(462, 32748, 3800, payload_list, 'ICPS') +# plot_stage_performance(460.1, 129000+14110, 14110, payload_list, 'EUS') +plt.xlabel('payload mass in kg') +plt.ylabel('delta-v in m/s') plt.legend() plt.show()