Jump to content

Mass-optimal engine type vs delta-V, payload, and min TWR


tavert

Recommended Posts

Thanks!

Yes, actually. I'm no good at making user interfaces, that's the main part that's been stopping me (well that and real work). I've had some ideas where you would start with a payload and min TWR, and for each stage you could plot delta-V versus stage mass (along with engine type and number for each point, basically a horizontal slice through these plots), select the stage you want, and repeat building lower stages, with a switch for whether or not upper-stage engines are used asparagus-style.

Link to comment
Share on other sites

There are a few spreadsheets out there that let you build up a design manually, that's not much different than trial-and-error in the VAB with MechJeb/KER showing you the stats. Doing an optimization over all the possibilities is where things start to get interesting.

Link to comment
Share on other sites

  • 3 weeks later...
Thanks!

Yes, actually. I'm no good at making user interfaces, that's the main part that's been stopping me (well that and real work). I've had some ideas where you would start with a payload and min TWR, and for each stage you could plot delta-V versus stage mass (along with engine type and number for each point, basically a horizontal slice through these plots), select the stage you want, and repeat building lower stages, with a switch for whether or not upper-stage engines are used asparagus-style.

Sounds perfect! So I could have a 7T payload that I want to send 4500Dv and I could find the most efficient way of doing that at a set TWR? (Like I input 7.65T, 4500Dv 0.5TWR and the output is `1 orange tank, 2 oscars, 3 NERVA` or similar so when I add those to my payload I get 4500Dv at 0.5TWR at the best efficiency?

In a perfect world it would just make that as a subassembly so you could just add that stage and strut it up but that is complete pie in the sky stuff.

Link to comment
Share on other sites

The really tricky problem is if you want multiple stages. If you want to look at a single stage at a time and a single engine type at a time, RadHazard's been putting together a little Java interface here: http://forum.kerbalspaceprogram.com/threads/48744-Transfer-Stage-Design-Helper-v1-2

At the moment he's assuming infinitely divisible tanks so it's largely equivalent to a spreadsheet method, but we worked out some integer programming formulations that could account for discrete fuel tank choices, just not put into a UI yet.

Link to comment
Share on other sites

So I went and made an interactive version, you can check it out at http://dl.dropboxusercontent.com/u/8244638/KSP%20Design%20Optimizer%20v01.html

You'll need the Wolfram CDF Player plugin to use this, hopefully it should tell you so if you don't have it installed but if not, see http://www.wolfram.com/cdf-player/

Dropbox link seems to be broken. Glad to see this is still coming along, I got busy at work and forgot about it. I think JRE or a web interface is the best way to provide easy access to the widest audience.

Link to comment
Share on other sites

Can you be more specific than "broken"? Screenshot of what you're seeing perhaps? Did you download the CDF Player plugin?

If you're on Linux, it looks like the CDF browser plugin isn't available, you have to download the standalone player which is a much bigger download on Linux than elsewhere for whatever reason. Anyway, if you're on Linux or want an offline version, download http://dl.dropboxusercontent.com/u/8244638/KSP%20Design%20Optimizer%20v01%20web.cdf and use the standalone CDF player application.

Edited by tavert
Link to comment
Share on other sites

  • 2 weeks later...

I'm in the process of regenerating these for 0.22.0, and it's looking a little ridiculous. The 48-7S got a serious buff despite already being overpowered, having its thrust increased from 20 kN to 30 kN with nothing else being changed. This means its TWR is now better than the mainsail. For TWR >= 1, the 48-7S is the engine of choice in vacuum for pretty much everything now - until you get tired of the part count, anyway.

Here's an updated interactive version: http://dl.dropboxusercontent.com/u/8244638/KSP%20Design%20Optimizer%20v02.html

Link to comment
Share on other sites

Did you download the Wolfram CDF plugin (http://www.wolfram.com/cdf-player/) and restart your browser?

I think I checked it in an OSX VM, I could go boot it up again...

Edit: you might need to give it a few seconds to fire up the CDF plugin. I just tweaked things so the loading animation should show up at the top of the page instead of halfway down the long document. You can't scroll down to see the Mathematica code any more, if you want to see the rest of it then download http://dl.dropboxusercontent.com/u/8244638/KSP%20Design%20Optimizer%20v02%20web.cdf

Edited by tavert
Link to comment
Share on other sites

Updated 10/16/13 for KSP 0.22.0. The 48-7S was given 50% higher thrust but maintains the same mass and Isp, so now dominates even more than it used to when you need TWR much higher than 1.

Great work, and so fast!

Jeez, the 48-7S is now everywhere. But how many would I need to push a 20 tons payload and have, say, 5000 m/s, and a TWR of at least 1.0? Surely a ridiculous number.

Was that the only engine that had its specs changed?

Link to comment
Share on other sites

Great work, and so fast!

Jeez, the 48-7S is now everywhere. But how many would I need to push a 20 tons payload and have, say, 5000 m/s, and a TWR of at least 1.0? Surely a ridiculous number.

Was that the only engine that had its specs changed?

63. Total mass with 48-7S: 191.11 tons

Close alternatives: 32 LV-N, total mass 195.67 tons

Or 9 LV-T30, total mass 196.63 tons

The aerospike now has a normal drag coefficient, otherwise I think all engines and fuel tanks remain the same as in 0.21.

Link to comment
Share on other sites

Ridiculous. Albeit a bit less now that we have subassemblies. You could rig together a cluster of ~8 48-7Ss and save it as a subassembly. It's still a lot of parts.

I think I'd settle for 9 LV-T30s, just for sanity's sake. It's not a huge difference in total mass.

Link to comment
Share on other sites

  • 3 months later...

In case anyone was having issues with the Wolfram spreadsheet version (I think it's a scrolling problem with Firefox. Opening in a Private Window or in Chrome may or may not fix it, or clicking on whatever you can see then hitting page up.), I went and implemented the same thing using the OpenOffice Solver here https://dl.dropboxusercontent.com/u/8244638/KSP%20Design%20Optimizer.ods

This should allow adding mod engines, fuel tanks, and/or SRB's. Just change the "Number of __ types" on the relevant sheet so the macro knows how many to loop through, and add the listed part stats. You'll need to enable macros in your OpenOffice security settings for this to run. Excel won't load the formulas or macros properly, so OpenOffice is required for this to do anything useful. The Excel Solver might work for this too, but the macro would probably need to be rewritten.

Link to comment
Share on other sites

Nice work, Tavert. Would there be any point to adding the jet engines and the RAPIER to your charts?

The Rapier as a bipropellant engine is uniformly worse than an aerospike, so like the Poodle or Mark 55, it won't show up anywhere. Air-breathing TWR depends on craft speed and Isp depends on altitude, so there are more variables with jets than rockets. For stages that operate in oxygenated atmospheres, you want to use jets as often as possible due to their dramatically superior efficiency.

Link to comment
Share on other sites

  • 2 months later...

I think there's a link to the code somewhere in here, do you have Matlab? I've been thinking of porting the code to Julia (http://julialang.org/) so anyone can run it, but as Pecan helpfully mentioned I have been paying rather little attention to KSP lately.

A few things would need to be tweaked to bring the code up-to-date. Obviously the new engines should be added. The new fuel tanks have an inferior mass ratio than the old tanks so you really only want to use the new tanks for part-count reasons, not mass-efficiency. The combination of adding tweakables and the new liquid fuel boosters that combine engine and fuel tank into the same part mean some of the assumptions underlying the code are no longer valid. I would have to refactor things to properly account for the case that a partially-filled fuel tank (or LFB) might be a better choice than multiple full smaller tanks. And lastly, if any of the new engine types show up in the updated results, I'd need to manually assign them readable colors.

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