Jump to content

Optimal engine charts for 1.0.2


Meithan

Recommended Posts

Attention: these charts have evolved into an interactive web app, which you can find over at the Add-ons forum:

Optimal Engine Charts interactive webapp

Please direct any inquiry about the webapp to that thread. The charts in this thread will no longer be updated.

==============================================

For a couple weeks now I've been preparing a bunch of engine charts in the spirit of tavert's excellent engine efficiency charts using the new engine specs of 1.0. Here I present my results so far.

These charts are meant to answer this general question: if I have a payload of certain mass that I need to take somewhere requiring a certain ÃŽâ€v, what is the engine that will give the lightest possible ship, and what is the minimum mass of that ship?

For those who understand what these are and just want to cut to the chase, I'll start with the charts themselves, and leave the details below for interested readers.

-----------------

Update 25/may: I'm working on an interactive web app to produce these charts on demand. It's still a work in progress, but you can see the state of the beta version here: http://meithan.x10.mx/KSP/engines/.

-----------------

1. Mass-optimal engine charts (vacuum)

They show the optimal engine given a paylod mass and desired ÃŽâ€v for several minimum (Kerbin-relative) TWR values. They are calculated for vacuum operations (see 1a below for atmospheric charts) and do not include SRBs and airbreathing engines. White areas indicate regions where no solution exists. The jaggedness is due to changes in the number of engines.

Javascript is disabled. View full album

How to read these charts: Pick the chart with your desired minimum TWR, locate the total mass of your payload on the left axis (the scaling is logarithmic, so the dotted horizontal lines indicate multiples of the shown payload masses) and the desired ÃŽâ€v on the bottom axis. The color of the intersection point indicates which engine type is optimal.

Example: suppose I want to take a manned lander weighing 20 tonnes (including its fuel for landing and takeoff) to Duna and back, which can be done with 3000 m/s. If we want a TWR of at least 0.5, looking at the chart for min TWR=0.5, we see that the best engine is the LV-N.

Update 16/may: the payload range now goes up to 1000 t.

Update 16/may: I've added some extra charts that include the PB-ION at the end of the album.

-----------------

1a. Mass-optimal engine charts for atmospheric operations

These are calculated for the Isp and thrust values at 1 atm of pressure. They are intended as a guide for launch vehicle first stage engine selection.

Javascript is disabled. View full album

Update 16/may: added these charts upon request.

-----------------

2. Total ship mass charts

These complementary charts, each one computed for a (payload mass, minimum TWR) pair, show the total mass (payload + propellant + tanks + engines) of the ship as a function of desired ÃŽâ€v for all engines. The discontinuous jumps occur when the number of engines changes to accomodate the TWR restriction.

Javascript is disabled. View full album

For easier browsing, I've also set up direct links to specific (payload, TWR) pairs:

Payload mass, followed by TWR restrictions

0.1 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

0.2 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

0.5 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

1 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

2 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

5 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

10 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

20 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

50 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

100 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

200 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

500 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

1000 t: no TWR | 0.2 | 0.5 | 1.0 | 1.5 | 2.0

How to read these charts: go to the chart with the (closest) desired payload mass and minimum TWR. Find the desired ÃŽâ€v on the bottom axis, and read the corresponding total ship mass on the vertical axis for any engine. The lowest curve is that of the optimal engine.

Example: revisiting the previous example (20 t payload and minimum TWR of 0.5), by looking at the corresponding chart we confirm that for 3000 m/s the optimal engine is the LV-N, and we see that the total ship mass would be about 55 tonnes. By counting the number of jumps we see that the ship would need 3 LV-N's (so it achieves a TWR of 0.5). We also notice that the next runner-ups are the LV-909, the Poodle and the Aerospike, but they yield ships almost 15 tonnes heavier.

Update 16/may: added charts for 200, 500 and 1000 t payloads

-----------------

3. Maximum ÃŽâ€v curves (single chart)

This additional plot shows the absolute maximum theoretical ÃŽâ€v possible for each engine type as a function of minimum TWR. In practice, once your desired ÃŽâ€v starts getting close to this, the total ship mass will grow exponentially and quickly become impractical.

uYmKuh9l.png

How to read this chart: find your minimum acceptable TWR on the bottom axis. For each engine the value of the curve will tell how much ÃŽâ€v can be obtained, in the absolute limit, from that engine.

Example: If you need 5000 m/s and a minimum TWR of 1.0, engines like the LV-N, LV-1/LV1-R, RAPIER, Mk-55 and 24-77 are no-go. The KR-2L, Poodle and KS-25x4 are probably the best choices.

Note that the engine with the highest maximum ÃŽâ€v for a given TWR is not necessarily the best, as that will depend on how close the actual desired ÃŽâ€v is to the engine's limit. Refer to the first two series of charts to find this out.

Added 16/may: the following is an alternate version of this plot showing the full LV-N curve, as well as two curves for the PB-ION (not included in the general analysis). The curve labelled ION+SPs is the PB-ION with its mass increased by 100 kg, which is about the weight of the solar panels needed to fully satisfy the electricity demand at Kerbin distance. Note that Xenon tanks have wet-to-dry mass ratios of about 2.3 (so α about 1.3).

OXHJ2tnm.png

============================================

Assumptions and additional details

  • Single-stage ship. As we all know, dropping mass allows reaching higher ÃŽâ€v values, but I'm keeping it simple here. Above ~5000 m/s, it's probably better to use multiple stages.
  • "Payload" is defined as everything that is not the propellant, tanks or engines used to push the actual payload around. This means "payload" includes stuff like structural elements required to mate the actual payload to the tanks/engines.
  • Propellant quantity is treated as a continuous value, so tanks are considered infinitely divisible. While this is not entirely realistic, one could approximate this in practice by using a large numbers of small tanks. In this respect tavert's analysis is still superior.
  • Solutions consider a restriction on the minimum acceleration (or, equivalently, Kerbin-relative TWR) of the final ship. This is done so they remain remain relatively practical (sure, a single LV-N will push 1000 tonnes to huge ÃŽâ€v's, but it'll take forever).
  • Assumes the full-to-dry mass ratio of the tanks is 9 (α=8) in general, except where noted. All "rocket" LFO tanks have this ratio in 1.0.2, while the "spaceplane" LFO tanks (i.e. Mk2-Mk3 tanks) have slightly worse ratios, very close to 8 (α=7). Note that my parameter α (alpha) is equivalent to the conventional full-to-dry mass ratio minus one.
  • The change to liquid fuel only for LV-N is accounted for, and I've used a tank full-to-dry mass ratio of 8 (α=7), which matches closely the ratios of the Mk2 and Mk3 liquid fuel-only fuselages.
  • The O-10 monopropellant engine is also included, even though it doesn't excel anywhere. The full-to-dry mass ratio of the RCS tanks vary, but I've set it to 7 (α=6) which is close to the average value for the larger tanks.
  • For the RAPIER, closed-cycle mode is assumed, i.e. "rocket mode" using liquid fuel and oxidizer.
  • Engine specs for 1.0.2 are used throughout, extracted from the corresponding .cfg files.
  • The number of engines is limited to 50 in the mass-optimal engine charts, but there's no limit in the total mass charts. This is to try to stay within the bounds of reason. I can recompute charts for a different limit under request.
  • Some engines are left out of the analysis: the LV-1R (no point including it since the LV-1 is always superior), the LFB KR-1x2 liquid fuel booster (would require a different computation), and, notably, the PB-ION ion engine (with 1/r^2 solar power scaling and fuel cells, this engine deserves its own separate analysis). Also, for now, all airbreathing engines and SRBs.

-----------------

Formulas used in the calculations

For a given desired ÃŽâ€v and payload mass (m_payload), the optimal (i.e. minimum) total mass of the ship for a given engine is:

vxRIrJm.png

where m_engine is the mass of the individual engine, I_sp its specific impulse, g0 standard gravity (assumed to be 9.82 m/s^2 in these charts; but see note below), and the number of engines, n_engines, is given by

GDEVWVN.png

where TWR_min > 0 is the minimum required Kerbin-relative thrust-to-weight ratio of the ship, TWR_engine that of the engine itself, and 807e2debc359ab4b141d93f1b47e6742.png is the ceiling function, which indicates that the result should be rounded up to the next integer. If no TWR restriction is imposed, n_engines is simply 1.

In these two formulas, the parameter alpha (α) is defined as the propellant-to-dry mass ratio of the tanks (as opposed to the full-to-dry mass ratio, which is more common):

9sTrH8C.png

Finally, the maximum theoretical ÃŽâ€v of a given engine depends on α and the minimum TWR as:

PVEL6Mg.png

Note that this relation implies that the TWR of the ship is limited to be smaller than the TWR of the engine themselves, and the maximum ÃŽâ€v possible approaches zero as the TWR of the ship approaches that of the engines.

-----------------

Whew! That's it for now. Hope these charts are useful and I welcome any error reports and suggestions on how to improve them.

A special thanks goes to Slashy for cross-checking some of my figures, which helped me find a couple of typos in the engine specs.

These charts are calculated using Python and plotted with the matplotlib library.

-----------------

Note 16/may: g0 correction. After posting these charts, Slashy pointed out that the game seems to be using a value for g0 much closer to the standard value of 9.80665 m/s^2, as opposed to the reported 9.82 used pre 1.0. The impact of this on the charts is very small, so I've left the charts computed with the old 9.82 m/s^2 value. I'll be using the standard value of g0 from now on.

-----------------

Edited by Meithan
Link to comment
Share on other sites

"You must spread some Reputation around before giving it to Meithan again."

These charts are going to be indispensable for the community.

I nominate this thread for a sticky.

One possible (unconfirmed) error: I've gotten word that the Isp conversion factor may have been fixed in KSP 1.0 and is no longer 9.82 like it was when this script was originally made. I'll try to get this nailed down for you.

Best,

-Slashy

Edited by GoSlash27
Link to comment
Share on other sites

I love these charts, but as I colorblind person I have difficulty reading them. I can use the little Digital Color Meter application to point at the colors and read the RGB values and match them with the RGB values in the key, but because these images are saved as JPEGs, the compression artifacts can cause some colors to appear in the chart areas that don't exist in the key, which is especially true with the smaller colored areas.

Could you please post these in some format (possibly PNG-8) that does not have compression artifacts? This would help me use the charts.

Thank you!

Link to comment
Share on other sites

First of all, these charts are awesome, so thanks! If you have the source code and are willing to share, I would love to look at it (I <3 Python).

Second, it would also be great to also have a set of charts for TWR 1.2 - 4.0 for Kerbin sea level to use for first stage liftoff optimization.

Third, it may seem absurd, but some would probably find value in going up one log higher to 1000 tons payload

Question: Based on these charts, I can see the maximum theoretical dV for all of the engines except the LV-N. Did you, or can you, get a result for what this is?

It looks to be around 16k dV to me.

Edited by cybersol
Link to comment
Share on other sites

"You must spread some Reputation around before giving it to Meithan again."

I got you covered. Though I had to use my rep point to give one for you, so we're still one down :D

VERY cool charts. I'm'a use these. And it's nice to see lots of engines being good in different situations! No more "Should I bring the LV-N or the 48-7S?"

Link to comment
Share on other sites

One possible (unconfirmed) error: I've gotten word that the Isp conversion factor may have been fixed in KSP 1.0 and is no longer 9.82 like it was when this script was originally made. I'll try to get this nailed down for you.

Thanks for your comments, Slashy.

If g0 indeed changed, do let me know, and I'll update the value. Won't really make much a difference, though.

I love these charts, but as I colorblind person I have difficulty reading them. [...] Could you please post these in some format (possibly PNG-8) that does not have compression artifacts? This would help me use the charts.

The images are PNG (which is lossless). Be sure to open the full resolution image by clicking on the small gear icon in the upper right of the album images.

But I can also try to prepare colorblind-friendly charts. Since there are many engines it's a bit hard to choose a good color set, even for non-colorblind people. I had trouble finding one for these (and I'm still not happy about a couple of colors). Any suggestions on how I can help here? Are these good?

I can also limit the color key on each chart to only the engines that appear on that particular chart (currently all engines are shown, even if they don't appear).

Question: Based on these charts, I can see the maximum theoretical dV for all of the engines except the LV-N. Did you, or can you, get a result for what this is?

Here's an updated maximum ÃŽâ€v chart where the curve for the LV-N is fully shown. I've also thrown in the PB-ION curves as a bonus. The curve labelled ION+SPs is the PB-ION with its mass increased by 100 kg, which is about the weight of the solar panels needed to fully satisfy the electricity demand at Kerbin distance.

OXHJ2tnm.png

I've added this graph to the original post.

First of all, these charts are awesome, so thanks! If you have the source code and are willing to share, I would love to look at it (I <3 Python).

I will share the code as soon as I clean it up a little bit. Currently it's a mess, and I want to make a version that does not require matplotlib and has a friendlier user interface.

Second, it would also be great to also have a set of charts for TWR 1.2 - 4.0 for Kerbin sea level to use for first stage liftoff optimization.

Yep, I'm working on these.

By the way, is there a point in going beyond TWR of 2 for vacuum engines?

Third, it may seem absurd, but some would probably find value in going up one log higher to 1000 tons payload.

I've updated the charts (both the optimal engine charts and the total mass charts) to include payloads in the 100 to 1000 t range.

Link to comment
Share on other sites

Thanks for your comments, Slashy.

If g0 indeed changed, do let me know, and I'll update the value. Won't really make much a difference, though.

Meithan,

My testing shows that it has. Fuel consumption, thrust, and Isp now line up where g0=9.8066. For example...

g0test_zpskznaxwyc.jpg

Also note that the mass consumption figures in the engine's popup now agree with the actual consumption in-game.

Best,

-Slashy

Link to comment
Share on other sites

This looks like valuable information for players who use a lot of maths while playing the game.

klesh,

It's actually most valuable to players who *don't* use a lot of maths.

They can now just refer to these charts to tell them which engine to use for a mission instead of having to do the math (or guess).

Those of us that use a lot of maths run these calculations ourselves during mission planning and design as a matter of course.

Best,

-Slashy

Edited by GoSlash27
Link to comment
Share on other sites

Bookmarked. Well done, OP.

Hopefully you'll get a chance to do a version of the charts for atmospheric Isps. :)

Thanks, Iron Crown. I'm working on the atmospheric charts.

Should I keep the same engine set, and just use the 1 atm Isp and thrust values? What worries me is that they change quite a bit with atmospheric pressure now, so I'm not sure charts for 1 atm would really be that useful.

Also, curious how including ions would have changed the landscape at lower TWRs.

I've added some extra optimal engine charts that include the bare PB-ION at the end of the album.

As expected, for no TWR restriction the PB-ION just dominates all around (except at very low mass / low ÃŽâ€v, where the lighter LV-1 is better). And up to ~0.6 TWR it finds its place at the low mass / high ÃŽâ€v region (remember I'm limiting the calculation to 50 engines, which is why it doesn't appear at higher masses for TWR > 0). Starting from 0.7 TWR, it's no longer in the charts.

Link to comment
Share on other sites

Thanks, Iron Crown. I'm working on the atmospheric charts.

Should I keep the same engine set, and just use the 1 atm Isp and thrust values? What worries me is that they change quite a bit with atmospheric pressure now, so I'm not sure charts for 1 atm would really be that useful.

I use 1atm thrust and 1/2atm Isp for planning purposes for 1st stage boosters where there's 3 or more stages following. Calculating for sea level thrust and Isp hasn't proved useful for me because we climb out of the soup so rapidly now.

Best,

-Slashy

Edited by GoSlash27
Link to comment
Share on other sites

I would say calculate at 1atm with the same engine set, it's at liftoff that TWR matters most. We can interpolate what will be best from the 1atm and vacuum charts for other conditions.

Thanks for the ion update, they're a lot more feasible now with the larger xenon tanks cutting down on part count.

Link to comment
Share on other sites

Meithan,

My testing shows that it has. Fuel consumption, thrust, and Isp now line up where g0=9.8066. For example...

Well, I hope it's using the full number internally and what we're seeing is rounding errors from the interface... g0 is 9.80665 exactly..

Link to comment
Share on other sites

Meithan,

My testing shows that it has. Fuel consumption, thrust, and Isp now line up where g0=9.8066. For example...

http://i52.photobucket.com/albums/g13/GoSlash27/KSP/g0test_zpskznaxwyc.jpg

Also note that the mass consumption figures in the engine's popup now agree with the actual consumption in-game.

Best,

-Slashy

Very nice find, Slashy.

I did some uncertainty propagation to see how much the uncertainty in the values shown in that screenshot affect your final estimation of g0, and it comes out as +/- 0.0021 m/s^2 (so the actual value should be in the range 9.8039 - 9.8080). It's definitely no longer 9.82 m/s^2; I'd say they're using the "standard" value of 9.80665 now.

I just recomputed one chart with a nominal value of 9.806. The difference is almost imperceptible: see this gif animation. I think I'll leave the charts as they are and add a note.

I'll be using the corrected value for future calculations, though. Nice work pointing this out.

Link to comment
Share on other sites

Well, I hope it's using the full number internally and what we're seeing is rounding errors from the interface... g0 is 9.80665 exactly..

Renegrade,

Yeah, this is due to rounding errors. You can only get the consumption to so many digits, so you have to limit the results to the same resolution.

If you test with something monstrous, you can get higher resolution and it does trend to the correct value.

Meithan,

Credit for the discovery goes to Umbral Raptor. I'm just the messenger ;)

Best,

-Slashy

Edited by GoSlash27
Link to comment
Share on other sites

You've done a lot of work, Meithan. Your charts/ graphs cover quite a range of needs. I didn't notice these on the Tutorials page; some people might miss this thread since its in General Discussion. I put up a graph of specific engine tests (60% dry mass, TWR 1.2 in VAB, so just over 1 on the pad). Its rather crude in comparison to your calculated graphs, but you might like to compare it with your work. Thanks for sharing with us!

Link to comment
Share on other sites

Renegrade,

Yeah, this is due to rounding errors. You can only get the consumption to so many digits, so you have to limit the results to the same resolution.

If you test with something monstrous, you can get higher resolution and it does trend to the correct value.

Excellent news! I'd updated my own personal toolset to use the proper value for standard gravity based on rumors that I'd heard during the run-up and release of 1.0, but it's good to know it definitely made it in.

Link to comment
Share on other sites

There's a set of calculations for fuel-cell powered ion engines in http://forum.kerbalspaceprogram.com/threads/116611-New-ion-craft-using-fuel-cell - the overall Isp is 1293, engine TWR of 5.4 with necessary fuel cells to run it, fuel unit ratio of 100 xenon == 4.495 LF+O to power the fuel cells. (I added some numbers starting on page 5 of the thread)

Is that enough to add as another engine in your (utterly fantastic) charts? I think it might be a viable alternative for missions past Dres.

Edited by DancesWithSquirrels
Link to comment
Share on other sites

I think at least some of this data would be amazing as a plugin in-game. It should be relatively trivial to pull the data for each engine from the data files; and chart it in a new in-game window. This would also allow use in the VAB/SPH; and auto scale to modded engines and things like RO.

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...