Jump to content

engine comparsion based on cfg file parsing (python)


Recommended Posts

Hello, given that the engine table @ http://wiki.kerbalspaceprogram.com/wiki/Parts is out of date I decided to run my own calculations. Following the concept 'why solve a problem when you can solve a metaproblem instead' I decided to write python script to parse the actual cfg files :D . The script is quiet ugly and creates a big wall of text as output, but so far is seem to fulfill its goal :blush:

This is the primary output:

partname                                   ,    cost,  mass, thrust_atm, ISP_atm, TWR_atm, thrust_vac, ISP_vac, TWR_vac, gimbal,   EngineType, max_atm(ISP)
IX-6315 "Dawn" Electric Propulsion System , 8000, 0.25, 0.048, 100, 0.02, 2.000, 4200, 0.82, 0.0, Electric, 1.2(0.001)
24-77 "Twitch" Liquid Fuel Engine , 400, 0.09, 13.793, 250, 15.64, 16.000, 290, 18.14, 8.0, LiquidFuel, 7.0(0.001)
48-7S "Spark" Liquid Fuel Engine , 200, 0.10, 16.200, 270, 16.53, 18.000, 300, 18.37, 3.0, LiquidFuel, 7.0(0.001)
T-1 Toroidal "Aerospike" Liquid Fuel Engine, 3850, 1.50, 153.529, 290, 10.44, 180.000, 340, 12.24, 0.0, LiquidFuel, 20.0(0.001)
LV-1 "Ant" Liquid Fuel Engine , 110, 0.02, 0.540, 85, 2.75, 2.000, 315, 10.20, 0.0, LiquidFuel, 3.0(0.001)
LV-1R "Spider" Liquid Fuel Engine , 120, 0.02, 1.793, 260, 9.15, 2.000, 290, 10.20, 8.0, LiquidFuel, 8.0(0.001)
LV-909 "Terrier" Liquid Fuel Engine , 390, 0.50, 14.783, 85, 3.02, 60.000, 345, 12.24, 4.0, LiquidFuel, 3.0(0.001)
LV-N "Nerv" Atomic Rocket Motor , 10000, 3.00, 13.875, 185, 0.47, 60.000, 800, 2.04, 0.0, Nuclear, 2.0(0.001)
LV-T30 "Reliant" Liquid Fuel Engine , 1100, 1.25, 200.667, 280, 16.38, 215.000, 300, 17.55, 0.0, LiquidFuel, 7.0(0.001)
LV-T45 "Swivel" Liquid Fuel Engine , 1200, 1.50, 168.750, 270, 11.48, 200.000, 320, 13.61, 3.0, LiquidFuel, 6.0(0.001)
RE-M3 "Mainsail" Liquid Engine , 13000, 6.00, 1379.032, 285, 23.45, 1500.000, 310, 25.51, 2.0, LiquidFuel, 9.0(0.001)
Mk-55 "Thud" Liquid Fuel Engine , 820, 0.90, 108.197, 275, 12.27, 120.000, 305, 13.61, 8.0, LiquidFuel, 9.0(0.001)
RE-L10 "Poodle" Liquid Fuel Engine , 1300, 1.75, 60.714, 85, 3.54, 250.000, 350, 14.58, 4.5, LiquidFuel, 3.0(0.001)
RE-I5 "Skipper" Liquid Fuel Engine , 5300, 3.00, 568.750, 280, 19.35, 650.000, 320, 22.11, 2.0, LiquidFuel, 6.0(0.001)
S1 SRB-KD25k "Kickback" Solid Fuel Booster , 2700, 4.50, 599.474, 170, 13.59, 670.000, 190, 15.19, 0.0, SolidBooster, 7.0(0.001)
O-10 "Puff" MonoPropellant Fuel Engine , 150, 0.09, 9.600, 120, 10.88, 20.000, 250, 22.68, 0.0, MonoProp, 4.0(0.001)
CR-7 R.A.P.I.E.R. Engine , 6000, 2.00, 162.295, 275, 8.28, 180.000, 305, 9.18, 3.0, LiquidFuel, 9.0(0.001)
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine , 17000, 10.00, 1866.667, 280, 19.05, 2000.000, 300, 20.41, 1.5, SolidBooster, 9.0(0.001)
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine, 21000, 8.50, 1000.000, 170, 12.00, 2000.000, 340, 24.01, 4.0, LiquidFuel, 4.0(0.001)
S3 KS-25x4 "Mammoth" Liquid Fuel Engine , 39000, 15.00, 3746.032, 295, 25.48, 4000.000, 315, 27.21, 2.0, LiquidFuel, 12.0(0.001)
BACC "Thumper" Solid Fuel Booster , 1050, 1.50, 275.000, 165, 18.71, 300.000, 180, 20.41, 0.0, SolidBooster, 6.0(0.001)
RT-10 "Hammer" Solid Fuel Booster , 580, 0.75, 210.185, 150, 28.60, 227.000, 162, 30.88, 0.0, SolidBooster, 6.0(0.001)
RT-5 "Flea" Solid Fuel Booster , 320, 0.45, 179.200, 140, 40.63, 192.000, 150, 43.54, 0.0, SolidBooster, 6.0(0.001)
Sepratron I , 75, 0.01, 13.792, 118, 112.59, 18.000, 154, 146.94, 0.0, SolidBooster, 6.0(0.001)

I then went a bit further and tried to automatically compare the engines for a specific delta-v and TWR goal. So basically I calculated how much payload a single engine can accelerate for various delta-v values starting from a predefined TWR ratio and which engine has the best payload fraction for a given TWR and delta-v value. The generated output is the following big wall of text.

Some limitations:

- values assume a fuel tank to fuel weight ratio of 1:8, so only the values for the LFO engines should be correct --> affects Dawn, Nerv and all solids

- electric energy is not considered --> affects Dawn

In a nutshell the result seem to be:

- For vac. usage the LFO engines are quiet similar (I had expected that the vac optimized engines come out much better, but apparently they are just primary weak under atmospheric conditions).

- The monoprop engine seem to loose flat out and the calculated values are even too good, considering that monoprop tanks have a worse mass fraction than 1:8

- While the LV-N is already quiet good for low delta-v values it only starts to shine when the delta-v gets in the 4 digits range

- The 48-7S is finally no longer imba

Engine comparsion for single stage performance based on ISP_atm and thrust_atm and an inital TWR of 1.20
possible single stage payload [t] for various delta-v values
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 7.9 7.6 6.5 5.1 3.9 2.9 2.0 1.4 0.8 0.3 --- --- --- ---
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 142.3 136.2 119.0 94.2 73.5 56.3 42.0 30.0 20.0 11.7 4.8 --- --- ---
IX-6315 "Dawn" Electric Propulsion System : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
48-7S "Spark" Liquid Fuel Engine : 1.2 1.2 1.0 0.8 0.6 0.5 0.3 0.2 0.1 0.1 0.0 --- --- ---
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 71.0 65.7 51.7 33.4 19.8 9.7 2.2 --- --- --- --- --- --- ---
LV-1R "Spider" Liquid Fuel Engine : 0.1 0.1 0.1 0.1 0.1 0.0 0.0 0.0 0.0 --- --- --- --- ---
RT-10 "Hammer" Solid Fuel Booster : 15.8 14.6 11.3 7.2 4.3 2.2 0.7 --- --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 0.0 0.0 0.0 --- --- --- --- --- --- --- --- --- --- ---
RT-5 "Flea" Solid Fuel Booster : 13.6 12.5 9.6 5.9 3.4 1.6 0.4 --- --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 12.3 11.7 10.1 7.8 5.9 4.3 3.0 1.9 1.0 0.3 --- --- --- ---
RE-I5 "Skipper" Liquid Fuel Engine : 43.4 41.5 36.3 28.7 22.5 17.2 12.8 9.2 6.2 3.6 1.5 --- --- ---
LV-909 "Terrier" Liquid Fuel Engine : 0.6 0.5 0.1 --- --- --- --- --- --- --- --- --- --- ---
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 43.1 40.0 31.6 20.6 12.4 6.4 1.9 --- --- --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 0.7 0.6 0.4 0.2 0.1 --- --- --- --- --- --- --- --- ---
BACC "Thumper" Solid Fuel Booster : 20.3 18.8 14.9 9.8 6.0 3.2 1.2 --- --- --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 15.1 14.5 12.6 10.0 7.7 5.9 4.3 3.0 2.0 1.1 0.3 --- --- ---
RE-M3 "Mainsail" Liquid Engine : 106.6 102.1 89.6 71.6 56.4 43.8 33.2 24.4 17.0 10.8 5.7 1.4 --- ---
24-77 "Twitch" Liquid Fuel Engine : 1.0 1.0 0.8 0.6 0.5 0.3 0.2 0.2 0.1 0.0 --- --- --- ---
LV-N "Nerv" Atomic Rocket Motor : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
RE-L10 "Poodle" Liquid Fuel Engine : 2.8 2.2 0.8 --- --- --- --- --- --- --- --- --- --- ---
CR-7 R.A.P.I.E.R. Engine : 11.2 10.7 9.2 7.0 5.2 3.7 2.4 1.4 0.5 --- --- --- --- ---
Sepratron I : 1.1 1.0 0.7 0.4 0.2 0.1 --- --- --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 291.4 279.6 246.6 198.8 158.5 124.6 96.1 72.1 52.0 35.0 20.7 8.7 --- ---
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 11.0 10.6 9.2 7.2 5.5 4.1 3.0 2.0 1.2 0.5 --- --- --- ---

possible single stage payload fraction for various delta-v values - normalized
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 94.15 93.62 91.92 88.70 84.82 79.97 73.61 64.80 51.59 29.29 --- --- --- ---
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 98.04 97.74 96.82 95.11 93.11 90.69 87.62 83.46 77.35 67.20 46.43 --- --- ---
IX-6315 "Dawn" Electric Propulsion System : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
48-7S "Spark" Liquid Fuel Engine : 96.83 96.33 94.76 91.89 88.56 84.55 79.46 72.62 62.58 45.95 11.96 --- --- ---
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 91.24 88.04 78.58 62.88 46.69 29.07 8.59 --- --- --- --- --- --- ---
LV-1R "Spider" Liquid Fuel Engine : 90.26 89.31 86.33 80.72 74.02 65.70 54.88 39.93 17.57 --- --- --- --- ---
RT-10 "Hammer" Solid Fuel Booster : 96.65 92.85 81.84 64.56 47.95 31.09 12.73 --- --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 47.77 36.92 7.29 --- --- --- --- --- --- --- --- --- --- ---
RT-5 "Flea" Solid Fuel Booster : 97.46 93.18 80.97 62.22 44.72 27.44 9.07 --- --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 93.34 92.69 90.64 86.77 82.14 76.38 68.88 58.51 43.00 16.89 --- --- --- ---
RE-I5 "Skipper" Liquid Fuel Engine : 98.15 97.86 96.94 95.26 93.31 90.94 87.94 83.89 77.94 68.08 47.92 --- --- ---
LV-909 "Terrier" Liquid Fuel Engine : 51.93 41.26 12.21 --- --- --- --- --- --- --- --- --- --- ---
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 92.51 89.38 80.08 64.75 49.03 32.06 12.46 --- --- --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 87.25 81.33 64.59 39.34 15.87 --- --- --- --- --- --- --- --- ---
BACC "Thumper" Solid Fuel Booster : 94.94 91.71 82.23 66.83 51.41 35.13 16.76 --- --- --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 96.92 96.58 95.49 93.46 91.05 88.07 84.22 78.93 71.06 57.87 30.68 --- --- ---
RE-M3 "Mainsail" Liquid Engine : 99.41 99.25 98.73 97.81 96.75 95.50 93.96 91.91 88.96 84.13 74.38 42.36 --- ---
24-77 "Twitch" Liquid Fuel Engine : 96.02 95.14 92.42 87.55 82.04 75.56 67.54 56.92 41.60 16.47 --- --- --- ---
LV-N "Nerv" Atomic Rocket Motor : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
RE-L10 "Poodle" Liquid Fuel Engine : 58.36 47.95 19.80 --- --- --- --- --- --- --- --- --- --- ---
CR-7 R.A.P.I.E.R. Engine : 89.01 88.25 85.84 81.15 75.35 67.92 58.00 44.01 22.72 --- --- --- --- ---
Sepratron I : 97.98 92.36 76.78 54.19 34.54 16.33 --- --- --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 --- ---
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 92.52 92.13 90.88 88.37 85.17 80.96 75.20 66.94 54.20 32.26 --- --- --- ---


Engine comparsion for single stage performance based on ISP_atm and thrust_atm and an inital TWR of 1.70
possible single stage payload [t] for various delta-v values
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 5.3 5.1 4.4 3.3 2.5 1.8 1.2 0.7 0.3 --- --- --- --- ---
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 97.5 93.2 81.0 63.5 49.0 36.8 26.7 18.2 11.2 5.3 0.4 --- --- ---
IX-6315 "Dawn" Electric Propulsion System : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
48-7S "Spark" Liquid Fuel Engine : 0.8 0.8 0.7 0.5 0.4 0.3 0.2 0.1 0.1 0.0 --- --- --- ---
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 47.6 43.9 34.0 21.0 11.4 4.3 --- --- --- --- --- --- --- ---
LV-1R "Spider" Liquid Fuel Engine : 0.1 0.1 0.1 0.0 0.0 0.0 0.0 0.0 --- --- --- --- --- ---
RT-10 "Hammer" Solid Fuel Booster : 10.9 10.1 7.8 4.9 2.8 1.3 0.3 --- --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 0.0 0.0 --- --- --- --- --- --- --- --- --- --- --- ---
RT-5 "Flea" Solid Fuel Booster : 9.5 8.7 6.6 4.0 2.3 1.0 0.2 --- --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 8.2 7.8 6.7 5.0 3.7 2.6 1.7 0.9 0.3 --- --- --- --- ---
RE-I5 "Skipper" Liquid Fuel Engine : 29.8 28.4 24.7 19.4 15.0 11.3 8.2 5.6 3.5 1.7 0.2 --- --- ---
LV-909 "Terrier" Liquid Fuel Engine : 0.3 0.2 --- --- --- --- --- --- --- --- --- --- --- ---
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 29.1 26.9 21.0 13.2 7.5 3.2 0.0 --- --- --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 0.4 0.4 0.3 0.1 0.0 --- --- --- --- --- --- --- --- ---
BACC "Thumper" Solid Fuel Booster : 13.9 12.8 10.1 6.4 3.8 1.8 0.4 --- --- --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 10.3 9.8 8.5 6.7 5.1 3.8 2.7 1.8 1.0 0.4 --- --- --- ---
RE-M3 "Mainsail" Liquid Engine : 73.5 70.3 61.5 48.7 38.1 29.2 21.7 15.5 10.2 5.9 2.2 --- --- ---
24-77 "Twitch" Liquid Fuel Engine : 0.7 0.7 0.6 0.4 0.3 0.2 0.1 0.1 0.0 --- --- --- --- ---
LV-N "Nerv" Atomic Rocket Motor : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
RE-L10 "Poodle" Liquid Fuel Engine : 1.4 1.0 0.0 --- --- --- --- --- --- --- --- --- --- ---
CR-7 R.A.P.I.E.R. Engine : 7.3 7.0 5.9 4.3 3.1 2.0 1.1 0.4 --- --- --- --- --- ---
Sepratron I : 0.7 0.7 0.5 0.3 0.1 0.0 --- --- --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 201.3 192.9 169.7 135.9 107.5 83.5 63.4 46.5 32.3 20.3 10.2 1.8 --- ---
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 7.4 7.0 6.0 4.6 3.5 2.5 1.6 1.0 0.4 --- --- --- --- ---

possible single stage payload fraction for various delta-v values - normalized
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 91.67 91.01 88.91 84.83 79.77 73.22 64.28 51.25 30.25 --- --- --- --- ---
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 97.26 96.92 95.86 93.85 91.44 88.42 84.41 78.68 69.63 52.73 8.77 --- --- ---
IX-6315 "Dawn" Electric Propulsion System : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
48-7S "Spark" Liquid Fuel Engine : 95.58 95.01 93.22 89.87 85.87 80.87 74.27 64.88 50.06 22.44 --- --- --- ---
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 88.58 85.20 75.10 58.02 39.89 19.40 --- --- --- --- --- --- --- ---
LV-1R "Spider" Liquid Fuel Engine : 86.13 84.98 81.33 74.30 65.62 54.46 39.32 17.29 --- --- --- --- --- ---
RT-10 "Hammer" Solid Fuel Booster : 96.82 92.93 81.66 63.76 46.26 28.03 7.42 --- --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 28.53 16.60 --- --- --- --- --- --- --- --- --- --- --- ---
RT-5 "Flea" Solid Fuel Booster : 98.22 93.88 81.44 62.21 43.98 25.58 5.34 --- --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 90.52 89.74 87.22 82.38 76.40 68.69 58.23 43.00 18.54 --- --- --- --- ---
RE-I5 "Skipper" Liquid Fuel Engine : 97.41 97.08 96.04 94.08 91.73 88.79 84.89 79.35 70.59 54.25 11.79 --- --- ---
LV-909 "Terrier" Liquid Fuel Engine : 34.55 22.88 --- --- --- --- --- --- --- --- --- --- --- ---
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 90.43 87.13 77.29 60.76 43.35 23.85 0.29 --- --- --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 84.03 77.83 60.19 33.01 6.91 --- --- --- --- --- --- --- --- ---
BACC "Thumper" Solid Fuel Booster : 94.04 90.69 80.82 64.58 47.93 29.80 8.45 --- --- --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 95.63 95.23 93.93 91.45 88.40 84.51 79.26 71.66 59.51 36.64 --- --- --- ---
RE-M3 "Mainsail" Liquid Engine : 99.21 99.03 98.48 97.46 96.26 94.81 92.93 90.32 86.26 78.80 59.60 --- --- ---
24-77 "Twitch" Liquid Fuel Engine : 94.55 93.59 90.59 85.10 78.72 70.95 60.90 46.87 25.01 --- --- --- --- ---
LV-N "Nerv" Atomic Rocket Motor : --- --- --- --- --- --- --- --- --- --- --- --- --- ---
RE-L10 "Poodle" Liquid Fuel Engine : 43.86 32.59 1.60 --- --- --- --- --- --- --- --- --- --- ---
CR-7 R.A.P.I.E.R. Engine : 84.21 83.23 80.07 73.79 65.81 55.26 40.63 18.99 --- --- --- --- --- ---
Sepratron I : 99.63 93.96 78.18 55.22 35.02 16.00 --- --- --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 --- ---
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 89.20 88.66 86.90 83.32 78.65 72.35 63.46 50.14 28.25 --- --- --- --- ---


Engine comparsion for single stage performance based on ISP_vac and thrust_vac and an inital TWR of 0.25
possible single stage payload [t] for various delta-v values
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 46.3 44.5 39.6 32.4 26.3 21.2 16.9 13.2 10.1 7.4 5.2 3.3 1.7 0.4
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 775.6 745.9 662.7 541.5 439.3 353.1 280.3 219.0 167.2 123.5 86.7 55.6 29.4 7.3
IX-6315 "Dawn" Electric Propulsion System : 0.6 0.6 0.6 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.4
48-7S "Spark" Liquid Fuel Engine : 7.0 6.7 6.0 4.9 3.9 3.2 2.5 2.0 1.5 1.1 0.8 0.5 0.3 0.1
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 780.7 754.3 679.9 569.7 474.9 393.3 323.1 262.7 210.7 165.9 127.4 94.3 65.7 41.2
LV-1R "Spider" Liquid Fuel Engine : 0.8 0.7 0.6 0.5 0.4 0.3 0.3 0.2 0.1 0.1 0.1 0.0 0.0 ---
RT-10 "Hammer" Solid Fuel Booster : 85.5 79.6 63.7 43.2 28.2 17.2 9.3 3.4 --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 0.8 0.7 0.7 0.5 0.4 0.4 0.3 0.2 0.2 0.1 0.1 0.1 0.0 0.0
RT-5 "Flea" Solid Fuel Booster : 72.1 66.7 52.5 34.4 21.5 12.4 5.8 1.2 --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 77.3 74.5 66.6 55.1 45.2 36.8 29.7 23.6 18.4 13.9 10.2 6.9 4.2 1.9
RE-I5 "Skipper" Liquid Fuel Engine : 252.9 243.9 218.3 180.8 148.8 121.6 98.3 78.5 61.6 47.2 34.9 24.4 15.5 7.9
LV-909 "Terrier" Liquid Fuel Engine : 23.2 22.4 20.2 16.9 14.1 11.7 9.6 7.8 6.2 4.9 3.7 2.7 1.9 1.1
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 252.9 237.6 196.5 141.1 98.8 66.4 41.7 22.7 8.3 --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 7.7 7.4 6.4 5.0 3.9 2.9 2.2 1.6 1.1 0.7 0.4 0.1 --- ---
BACC "Thumper" Solid Fuel Booster : 113.4 106.2 86.9 61.3 42.1 27.5 16.6 8.3 2.1 --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 83.2 80.0 71.1 58.0 47.1 37.8 30.0 23.4 17.8 13.1 9.1 5.8 3.0 0.6
RE-M3 "Mainsail" Liquid Engine : 583.9 562.4 501.7 413.1 337.9 274.1 219.9 174.0 135.1 102.1 74.1 50.3 30.1 13.0
24-77 "Twitch" Liquid Fuel Engine : 6.2 5.9 5.3 4.3 3.4 2.7 2.1 1.7 1.2 0.9 0.6 0.4 0.2 ---
LV-N "Nerv" Atomic Rocket Motor : 21.1 20.8 19.8 18.2 16.7 15.3 14.0 12.7 11.6 10.5 9.5 8.5 7.6 6.8
RE-L10 "Poodle" Liquid Fuel Engine : 97.0 93.8 84.7 71.3 59.6 49.6 40.9 33.4 26.9 21.3 16.4 12.2 8.6 5.5
CR-7 R.A.P.I.E.R. Engine : 68.7 66.1 58.7 48.0 38.9 31.1 24.6 19.1 14.4 10.5 7.2 4.3 1.9 ---
Sepratron I : 6.8 6.3 5.0 3.3 2.1 1.3 0.6 0.2 --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 1559.1 1502.4 1343.0 1109.4 910.8 741.8 598.1 475.9 372.0 283.6 208.4 144.5 90.1 43.9
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 69.5 67.2 60.5 50.5 42.0 34.7 28.3 22.9 18.2 14.2 10.7 7.7 5.2 3.0

possible single stage payload fraction for various delta-v values - normalized
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 98.77 98.35 97.06 89.09 78.89 69.34 60.32 51.74 43.49 35.46 27.52 19.54 11.37 2.81
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 99.35 98.89 97.48 89.31 78.96 69.30 60.22 51.61 43.36 35.37 27.50 19.63 11.60 3.23
IX-6315 "Dawn" Electric Propulsion System : 72.26 74.49 81.67 89.76 95.88 102.60 110.01 118.25 127.44 137.77 149.47 162.82 178.22 196.18
48-7S "Spark" Liquid Fuel Engine : 99.21 98.74 97.31 89.13 78.76 69.08 59.98 51.34 43.07 35.05 27.15 19.24 11.17 2.74
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 100.00 100.00 100.00 93.96 85.36 77.20 69.40 61.91 54.64 47.50 40.41 33.27 25.94 18.28
LV-1R "Spider" Liquid Fuel Engine : 97.94 97.30 95.34 86.40 75.43 65.22 55.63 46.55 37.86 29.41 21.09 12.73 4.17 ---
RT-10 "Hammer" Solid Fuel Booster : 96.54 92.93 82.61 62.76 44.64 29.81 17.51 7.10 --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 98.26 97.93 96.93 89.42 79.60 70.34 61.55 53.13 44.99 37.02 29.09 21.09 12.86 4.20
RT-5 "Flea" Solid Fuel Booster : 96.23 92.11 80.44 59.11 40.31 25.29 13.09 2.97 --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 98.95 98.71 97.96 90.80 81.27 72.28 63.74 55.57 47.66 39.92 32.24 24.50 16.56 8.22
RE-I5 "Skipper" Liquid Fuel Engine : 99.69 99.47 98.81 91.75 82.31 73.41 64.98 56.93 49.15 41.57 34.07 26.54 18.83 10.78
LV-909 "Terrier" Liquid Fuel Engine : 99.00 99.02 99.05 93.10 84.58 76.46 68.67 61.14 53.80 46.55 39.32 31.98 24.40 16.43
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 96.70 94.04 86.29 69.48 53.00 38.91 26.71 16.00 6.41 --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 98.71 97.48 93.81 82.39 69.52 57.88 47.25 37.44 28.28 19.59 11.19 2.92 --- ---
BACC "Thumper" Solid Fuel Booster : 96.80 93.84 85.26 67.44 50.39 36.01 23.75 13.11 3.69 --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 99.14 98.67 97.24 89.04 78.66 68.98 59.87 51.22 42.94 34.90 26.98 19.06 10.96 2.51
RE-M3 "Mainsail" Liquid Engine : 99.73 99.40 98.40 90.83 80.96 71.71 62.99 54.69 46.71 38.96 31.33 23.68 15.87 7.73
24-77 "Twitch" Liquid Fuel Engine : 99.06 98.46 96.63 87.85 77.00 66.93 57.51 48.61 40.12 31.92 23.86 15.82 7.62 ---
LV-N "Nerv" Atomic Rocket Motor : 90.27 91.90 97.02 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
RE-L10 "Poodle" Liquid Fuel Engine : 99.39 99.47 99.69 94.02 85.73 77.83 70.24 62.91 55.75 48.69 41.64 34.50 27.13 19.39
CR-7 R.A.P.I.E.R. Engine : 97.85 97.39 96.00 87.90 77.59 67.92 58.77 50.04 41.62 33.39 25.23 16.99 8.52 ---
Sepratron I : 96.85 92.92 81.77 61.02 42.50 27.60 15.42 5.27 --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 99.86 99.59 98.77 91.48 81.84 72.79 64.23 56.08 48.23 40.60 33.06 25.51 17.79 9.75
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 98.95 98.92 98.80 92.61 83.89 75.59 67.65 59.99 52.52 45.16 37.82 30.39 22.72 14.65


Engine comparsion for single stage performance based on ISP_vac and thrust_vac and an inital TWR of 0.10
possible single stage payload [t] for various delta-v values
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 117.0 112.6 100.3 82.4 67.2 54.3 43.5 34.3 26.5 19.9 14.4 9.7 5.7 2.3
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 1954.0 1879.8 1671.8 1368.8 1113.3 897.7 715.9 562.5 433.0 323.8 231.7 154.0 88.5 33.2
IX-6315 "Dawn" Electric Propulsion System : 1.8 1.8 1.8 1.7 1.7 1.7 1.7 1.6 1.6 1.6 1.6 1.5 1.5 1.5
48-7S "Spark" Liquid Fuel Engine : 17.6 16.9 15.0 12.3 10.0 8.1 6.4 5.1 3.9 2.9 2.1 1.4 0.8 0.3
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 1964.4 1898.6 1712.4 1437.1 1200.1 996.1 820.6 669.5 539.5 427.6 331.3 248.4 177.0 115.6
LV-1R "Spider" Liquid Fuel Engine : 1.9 1.9 1.7 1.3 1.1 0.9 0.7 0.5 0.4 0.3 0.2 0.1 0.1 0.0
RT-10 "Hammer" Solid Fuel Booster : 215.0 200.0 160.5 109.1 71.6 44.2 24.3 9.7 --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 1.9 1.9 1.7 1.4 1.1 0.9 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.1
RT-5 "Flea" Solid Fuel Booster : 181.0 167.4 131.9 86.7 54.5 31.6 15.3 3.7 --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 195.4 188.4 168.7 139.9 115.3 94.3 76.4 61.2 48.2 37.1 27.7 19.6 12.7 6.9
RE-I5 "Skipper" Liquid Fuel Engine : 636.8 614.2 550.3 456.5 376.6 308.4 250.3 200.8 158.5 122.5 91.8 65.6 43.3 24.2
LV-909 "Terrier" Liquid Fuel Engine : 58.7 56.8 51.3 43.1 36.0 30.0 24.7 20.2 16.3 12.9 10.0 7.5 5.4 3.5
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 639.0 600.8 498.0 359.6 253.7 172.8 110.9 63.6 27.4 --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 19.4 18.5 16.1 12.6 9.8 7.5 5.6 4.1 2.9 1.8 1.0 0.3 --- ---
BACC "Thumper" Solid Fuel Booster : 285.6 267.7 219.6 155.6 107.4 71.1 43.7 23.1 7.6 --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 209.9 201.9 179.5 147.0 119.5 96.3 76.8 60.3 46.4 34.6 24.7 16.4 9.3 3.4
RE-M3 "Mainsail" Liquid Engine : 1468.9 1414.9 1263.3 1041.7 853.6 694.1 558.9 444.1 346.8 264.2 194.2 134.8 84.4 41.6
24-77 "Twitch" Liquid Fuel Engine : 15.6 15.0 13.3 10.8 8.7 7.0 5.5 4.3 3.2 2.4 1.6 1.0 0.5 0.1
LV-N "Nerv" Atomic Rocket Motor : 57.4 56.5 54.0 50.0 46.2 42.7 39.4 36.3 33.4 30.7 28.1 25.7 23.5 21.4
RE-L10 "Poodle" Liquid Fuel Engine : 245.1 237.1 214.4 180.8 151.7 126.6 104.8 86.0 69.8 55.8 43.6 33.2 24.1 16.3
CR-7 R.A.P.I.E.R. Engine : 174.9 168.3 149.8 122.9 100.1 80.9 64.6 50.8 39.1 29.2 20.9 13.8 7.9 2.8
Sepratron I : 17.0 15.8 12.5 8.3 5.3 3.2 1.6 0.5 --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 3920.3 3778.6 3380.0 2796.0 2299.4 1877.0 1517.8 1212.3 952.5 731.5 543.6 383.8 247.9 132.3
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 176.1 170.1 153.4 128.6 107.3 88.9 73.1 59.5 47.8 37.7 29.1 21.6 15.2 9.7

possible single stage payload fraction for various delta-v values - normalized
100 200 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000
Mk-55 "Thud" Liquid Fuel Engine : 99.28 98.88 92.95 82.42 72.67 63.61 55.15 47.19 39.66 32.46 25.51 18.75 12.06 5.38
LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine : 99.47 99.01 92.93 82.17 72.25 63.05 54.48 46.45 38.87 31.65 24.70 17.95 11.30 4.66
IX-6315 "Dawn" Electric Propulsion System : 90.88 93.74 98.01 104.19 110.88 118.12 126.00 134.57 143.94 154.23 165.54 178.06 191.97 207.50
48-7S "Spark" Liquid Fuel Engine : 99.41 98.95 92.87 82.10 72.17 62.97 54.40 46.36 38.77 31.54 24.58 17.82 11.16 4.50
Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine: 100.00 100.00 95.19 86.26 77.88 69.96 62.45 55.29 48.42 41.78 35.31 28.94 22.60 16.22
LV-1R "Spider" Liquid Fuel Engine : 98.83 98.22 91.74 80.43 70.04 60.45 51.56 43.26 35.45 28.03 20.91 14.00 7.20 0.41
RT-10 "Hammer" Solid Fuel Booster : 96.42 92.83 78.60 57.70 40.94 27.37 16.26 7.04 --- --- --- --- --- ---
LV-1 "Ant" Liquid Fuel Engine : 99.14 98.85 93.25 83.17 73.80 65.04 56.81 49.03 41.63 34.52 27.64 20.90 14.23 7.52
RT-5 "Flea" Solid Fuel Booster : 95.96 91.86 76.39 54.21 36.84 23.12 12.13 3.18 --- --- --- --- --- ---
LV-T45 "Swivel" Liquid Fuel Engine : 99.46 99.23 93.80 83.98 74.82 66.25 58.18 50.54 43.26 36.27 29.49 22.84 16.26 9.65
RE-I5 "Skipper" Liquid Fuel Engine : 99.75 99.54 94.12 84.32 75.19 66.65 58.62 51.02 43.78 36.83 30.10 23.51 16.99 10.46
LV-909 "Terrier" Liquid Fuel Engine : 99.63 99.67 94.97 86.22 77.97 70.16 62.73 55.63 48.80 42.17 35.69 29.30 22.92 16.48
S1 SRB-KD25k "Kickback" Solid Fuel Booster : 97.09 94.47 82.64 64.43 49.15 36.22 25.20 15.68 7.35 --- --- --- --- ---
O-10 "Puff" MonoPropellant Fuel Engine : 98.76 97.54 89.38 75.78 63.63 52.73 42.88 33.92 25.68 18.03 10.84 3.98 --- ---
BACC "Thumper" Solid Fuel Booster : 96.94 94.00 81.39 62.27 46.45 33.27 22.18 12.72 4.54 --- --- --- --- ---
LV-T30 "Reliant" Liquid Fuel Engine : 99.39 98.93 92.84 82.07 72.14 62.93 54.36 46.32 38.72 31.49 24.53 17.76 11.09 4.43
RE-M3 "Mainsail" Liquid Engine : 99.70 99.37 93.63 83.37 73.86 65.00 56.71 48.90 41.50 34.43 27.60 20.94 14.36 7.78
24-77 "Twitch" Liquid Fuel Engine : 99.27 98.68 92.23 80.95 70.60 61.07 52.23 43.99 36.24 28.89 21.85 15.02 8.32 1.64
LV-N "Nerv" Atomic Rocket Motor : 97.32 99.18 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
RE-L10 "Poodle" Liquid Fuel Engine : 99.82 99.91 95.35 86.81 78.75 71.10 63.82 56.85 50.13 43.60 37.22 30.91 24.62 18.26
CR-7 R.A.P.I.E.R. Engine : 98.91 98.50 92.55 81.98 72.20 63.11 54.60 46.60 39.01 31.75 24.75 17.90 11.14 4.36
Sepratron I : 96.32 92.41 77.38 55.65 38.50 24.84 13.82 4.79 --- --- --- --- --- ---
S3 KS-25x4 "Mammoth" Liquid Fuel Engine : 99.78 99.51 93.94 83.92 74.61 65.91 57.76 50.06 42.75 35.74 28.97 22.36 15.82 9.28
T-1 Toroidal "Aerospike" Liquid Fuel Engine: 99.58 99.57 94.73 85.77 77.35 69.39 61.83 54.62 47.69 40.99 34.44 27.99 21.56 15.07

and finally the python script (written with python 2.7.9; seem to run with 3.4.2 too, but there are way to many linefeeds then)

import pprint
import os
import fnmatch

DEBUG = False # whether to print a message for file and engine that could not be parsed
PLOTDATA = False # plot some data with matplotlib
PLOTDATA_ENGINEBLACKLIST = ['IX-6315 "Dawn" Electric Propulsion System', '24-77 "Twitch" Liquid Fuel Engine', 'LV-1 "Ant" Liquid Fuel Engine', 'LV-1R "Spider" Liquid Fuel Engine', 'S1 SRB-KD25k "Kickback" Solid Fuel Booster', 'BACC "Thumper" Solid Fuel Booster', 'RT-10 "Hammer" Solid Fuel Booster', 'RT-5 "Flea" Solid Fuel Booster', 'Sepratron I']
#NORMALIZE_ENGINEBLACKLIST = ['IX-6315 "Dawn" Electric Propulsion System', 'LV-N "Nerv" Atomic Rocket Motor']
NORMALIZE_ENGINEBLACKLIST = ['IX-6315 "Dawn" Electric Propulsion System']

# root path where to look for cfg files
#path = '/mnt/spiele/Spiele_Linux/KSP_linux_0_90/GameData/Squad/Parts/Engine/'
#path = '/mnt/spiele/Spiele_Linux/KSP_linux_1_00/GameData/Squad/Parts/Engine/'
path = '/mnt/spiele/Spiele_Linux/KSP_linux_1_02/GameData/Squad/Parts/Engine/'
#path = '/mnt/spiele/Spiele_Linux/KSP_linux_1_02/GameData/'


def parseCfg(filename):


def findMatchingBracket(sectionData, startLine):
brackets = 0
for index, line in enumerate(sectionData[startLine:]):
if line == "{":
brackets += 1
if line == "}":
brackets -= 1
if (brackets == 0):
return startLine+index
# apparently at least one open brackets remain; we should never end here,...
print ("waring %d open brackets remain, returning last line" % brackets)
return len(sectionData)


def parseSection(sectionData):

sectionDataDict = {}

#identify and handle subsections
index = 1
while index < len(sectionData):
if sectionData[index] == "{":
# new subsection
index_end = findMatchingBracket(sectionData, index)

key = sectionData[index-1]
value = parseSection(sectionData[index+1: index_end])
if key in sectionDataDict:
sectionDataDict[key].append(value)
else:
sectionDataDict[key] = [value]
#print "index", index, sectionData[index]
#print "index_end", index_end, sectionData[index_end]
#print "before:"
#pprint.pprint(sectionData)
del sectionData[index-1: index_end+1]
#print "after:"
#pprint.pprint(sectionData)
else:
index+=1

# store the remaining data in dict
for line in sectionData:
tmp = line.split("=",1)
if len(tmp) == 2:
key = tmp[0].strip()
value = tmp[1].strip()
if key in sectionDataDict:
sectionDataDict[key].append(value)
else:
sectionDataDict[key] = [value]

#pprint.pprint(sectionDataDict)
return sectionDataDict


filedata = []
for line in open(filename):
line = line.strip()

if line.startswith('//'):
# comment
continue

filedata.append(line)

config = parseSection(filedata)
return config

def extractLFOEngineStats(partconfig):
EngineStats = {}
if "title" in partconfig:
EngineStats["title"] = partconfig["title"][0]
#print "partname", EngineStats["title"]
if "mass" in partconfig:
EngineStats["mass"] = float(partconfig["mass"][0])
if "cost" in partconfig:
EngineStats["cost"] = float(partconfig["cost"][0])
EngineStats["gimbal"] = 0 # default value if engine has no gimbal section
if "MODULE" in partconfig:
for module in partconfig["MODULE"]:
# check for main performance parameters
if "name" in module and module["name"][0] in ["ModuleEngines", "ModuleEnginesFX"]:
#print module["EngineType"]
if "EngineType" in module:
if module["EngineType"][0] in ["Turbine"]:
# this engine types cannot be parsed so far
continue
else:
EngineStats["EngineType"] = module["EngineType"][0]
else:
EngineStats["EngineType"] = "???"
# engine section found
EngineStats["maxThrust"] = float(module["maxThrust"][0])
EngineStats["ISP_opt"] = 0
EngineStats["ISP_vac"] = 0
EngineStats["ISP_atm"] = 0
EngineStats["max_atm"] = -1
EngineStats["ISP_max_atm"] = 0
#print "atmosphereCurve", module["atmosphereCurve"][0]["key"]
for curvePoint in module["atmosphereCurve"][0]["key"]:
# Note: Will not work if 0 and 1 are not special points on the curve! ... interpolation necessary
key = float(curvePoint.split()[0].strip())
value = float(curvePoint.split()[1].strip())
if key > EngineStats["max_atm"]:
EngineStats["max_atm"] = key
EngineStats["ISP_max_atm"] = value
if value > EngineStats["ISP_opt"]:
EngineStats["ISP_opt"] = value
if key == 0:
EngineStats["ISP_vac"] = value
if key == 1:
EngineStats["ISP_atm"] = value
EngineStats["thrust_atm"] = EngineStats["maxThrust"]/EngineStats["ISP_opt"]*EngineStats["ISP_atm"]
EngineStats["thrust_vac"] = EngineStats["maxThrust"]/EngineStats["ISP_opt"]*EngineStats["ISP_vac"]
EngineStats["TWR_atm"] = EngineStats["thrust_atm"] / (9.8 * EngineStats["mass"])
EngineStats["TWR_vac"] = EngineStats["thrust_vac"] / (9.8 * EngineStats["mass"])
# check for gimbal range
if "name" in module and module["name"][0] == "ModuleGimbal":
EngineStats["gimbal"] = float(module["gimbalRange"][0])

return EngineStats

print ("Searching for part data in %s" % path)
print ("partname , cost, mass, thrust_atm, ISP_atm, TWR_atm, thrust_vac, ISP_vac, TWR_vac, gimbal, EngineType, max_atm(ISP)")
LFOEngineStatsDict = {}
for root, dirnames, filenames in os.walk(path):
for filename in fnmatch.filter(filenames, '*.cfg'):
filepath = os.path.join(root, filename)
#print filepath
configdata = parseCfg(filepath)
if "PART" in configdata:
for part in configdata["PART"]:
LFOEngineStats = extractLFOEngineStats(part)
#pprint.pprint(LFOEngineStats)
try:
print ("%-43s, %7d, %5.2f, %10.3f, %7d, %7.2f, %10.3f, %7d, %7.2f, %6.1f, %12s, %4.1f(%.3f)" %(\
LFOEngineStats["title"],\
LFOEngineStats["cost"],\
LFOEngineStats["mass"],\
LFOEngineStats["thrust_atm"],\
LFOEngineStats["ISP_atm"],\
LFOEngineStats["TWR_atm"],\
LFOEngineStats["thrust_vac"],\
LFOEngineStats["ISP_vac"],\
LFOEngineStats["TWR_vac"],\
LFOEngineStats["gimbal"],\
LFOEngineStats["EngineType"],\
LFOEngineStats["max_atm"],\
LFOEngineStats["ISP_max_atm"]\
))
LFOEngineStatsDict[LFOEngineStats["title"]] = LFOEngineStats
except:
if DEBUG:
print filepath
print ("Error: could not calculate stats for engine: %s" % LFOEngineStats["title"])
pass


# performance comparsion
import math
deltav_reqList = [100, 200, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000]
FuelTank_massRatio = 8
G = 9.8

def comparePerformance(ISP_req, thrust_req, TWR_req):
print ("\n\nEngine comparsion for single stage performance based on %s and %s and an inital TWR of %.2f" % (ISP_req, thrust_req, TWR_req))

performanceDict = {}
payloadFraction_max = {}
print ("possible single stage payload [t] for various delta-v values")
print ("%-45s" % ""),
for deltav_req in deltav_reqList:
print ("%6d" % deltav_req),
payloadFraction_max[deltav_req] = 0
print ("")
for engine, data in LFOEngineStatsDict.items():
performanceDict[engine] = {}
#if engine != "S3 KS-25x4 \"Mammoth\" Liquid Fuel Engine":
# continue
print ("%-43s: " % engine),
for deltav_req in deltav_reqList:
FuelFraction = math.exp(float(deltav_req)/G/float(data[ISP_req]))
m_sum = data[thrust_req]/G/TWR_req
m_fuel = m_sum*(1-1/FuelFraction)
m_tanks = m_fuel / FuelTank_massRatio
m_payload = max(0, m_sum - (m_fuel + m_tanks + data["mass"]))
if m_payload > 0:
print ("%6.1f" % m_payload),
else:
print (" ---"),
#print ("%6.2f" % payload_fraction),
payload_fraction = m_payload*100/m_sum
performanceDict[engine][deltav_req] = payload_fraction
if payload_fraction > payloadFraction_max[deltav_req] and engine not in NORMALIZE_ENGINEBLACKLIST:
payloadFraction_max[deltav_req] = payload_fraction
print("")

'''
print ("")
print ("possible single stage payload fraction for various delta-v values")
print ("%-45s" % ""),
for deltav_req in deltav_reqList:
print ("%6d" % deltav_req),
print ("")
for engine, data in LFOEngineStatsDict.items():
print ("%-43s: " % engine),
for deltav_req in deltav_reqList:
if performanceDict[engine][deltav_req] > 0:
#print ("%6d" % (performanceDict[engine][deltav_req]*100/payloadFraction_max[deltav_req])),
print ("%6.2f" % (performanceDict[engine][deltav_req]*100/payloadFraction_max[deltav_req])),
else:
print (" ---"),
print("")
'''

print ("")
print ("possible single stage payload fraction for various delta-v values - normalized")
print ("%-45s" % ""),
for deltav_req in deltav_reqList:
print ("%6d" % deltav_req),
print ("")
for engine, data in LFOEngineStatsDict.items():
print ("%-43s: " % engine),
for deltav_req in deltav_reqList:
if performanceDict[engine][deltav_req] > 0:
print ("%6.2f" % (performanceDict[engine][deltav_req]*100/payloadFraction_max[deltav_req])),
else:
print (" ---"),
print("")

if PLOTDATA:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
legend = []
for engine, data in LFOEngineStatsDict.items():
if engine in PLOTDATA_ENGINEBLACKLIST:
continue
ypoints = []
for deltav_req in deltav_reqList:
if payloadFraction_max[deltav_req] > 0:
ypoints.append(performanceDict[engine][deltav_req]*100/payloadFraction_max[deltav_req])
else:
ypoints.append(0)
p = ax.plot(deltav_reqList, ypoints, label=engine)
plt.legend()
ax.set_xlabel('delta-v')
ax.set_ylabel('normalized payload fraction')
ax.set_title("Engine comparsion for single stage performance based on %s and %s and an inital TWR of %.2f" % (ISP_req, thrust_req, TWR_req))
plt.show()



comparePerformance("ISP_atm", "thrust_atm", 1.2)
comparePerformance("ISP_atm", "thrust_atm", 1.7)
comparePerformance("ISP_vac", "thrust_vac", 0.25)
comparePerformance("ISP_vac", "thrust_vac", 0.10)

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...