Jump to content

Estimate the duration of a burn


Kaleb

Recommended Posts

When you make a maneuver, you want to start your burn early, so that half of it occurs before the maneuver node, and half of it occurs after the node. The navball usually tries to estimate your burn time for you, but I've noticed that more often than not, it says "N/A" -- especially if you're using RCS or Ion engines -- and sometimes it isn't reliable. I decided to determine the formula for burn time myself, and then I found a simple (-ish?) way to estimate it. This is all pretty straightforward stuff, but I thought I'd share it in case it helps someone.

=== Derivation ===

First, some basic definitions:

m0 = Mass of spacecraft before burn (in metric tons, i.e. Mg).

m1 = Mass of spacecraft after burn.

dv = Change in velocity that will result from our burn (m/s).

ve = Our engines' effective exaust velocity (m/s) = g0 Isp.

g0 = Standard gravity = 9.81 m/s^2 (you can estimate this as 10, if needed).

Isp = Our engines' specific impulse (s) -- we'll assume a single type of engine.

dm = Mass of fuel expended during burn (Mg)

mdot = Fuel flow rate (Mg/s)

t = Duration of burn (s)

T = Total thrust of all firing engines (kN)

We can use the rocket equation to find the mass of the fuel that we burn (dm):

dv/ve = ln(m0/m1)

m0/m1 = e^(dv/ve)

dm = m0-m1 = m0 (1 - m1/m0) = m0 (1 - e^(-dv/ve))

Then, given the fuel flow rate (mdot), we can find out how long it takes us to burn that fuel (t).

dm = mdot t, so t = dm / mdot

We can find the fuel flow rate from our thrust (T):

T = mdot ve, so mdot = T / ve

Substituting the formulas for dm and mdot into the formula for t, we get the following formula for burn time:

t = (m0 ve / T) (1 - e^(-dv/ve))

That's the exact equation for the burn time. Don't let it seem too intimidating, because we're going to simplify it in a bit. One thing to notice at this point though, is that burn time is proportional to your starting mass, and inversely proportional to thrust. If you double your mass, the burn time doubles. If you double the thrust, the burn time is cut in half. This may seem obvious, but rocket science isn't always obvious -- for instance, notice that the burn time doesn't scale linearly with dv. That's because our ship is getting lighter as we burn, so our ship gets more bang for the buck (actually, it bucks more for the same amount of bang). That's the nature of the rocket equation.

=== Estimation ===

With that exponential term in the formula, its not very easy to use this on the fly. In fact, you might start to pull out a spreadsheet to compute this for you (when the navball doesn't). But that may not be necessary, because we can use a simple linear estimation.

To start off, I'm going to define x = dv/ve (that is, the ratio of the burn's required delta-v to your engines' effective exaust velocity). When x is relatively small (dv < ve) we can reasonably approximate 1-e^(-x) with a linear function, kx (for some value of k, TBD). This will give us the following estimation:

t ~ (m0 / T) k dV

Note that the ve in the denominator of x cancelled with the ve in the formula, so that this estimate is independent of your engines' efficiency. All that's left is to determine a good k. When I was originally deriving this, this is the point where I went nuts for a bit, and tried (unsuccessfully) to use crazy integrations and least squares curve fitting to optimize k. It's actually a lot easier than that...

It turns out that if x (= dv/ve) is sufficiently close to 0, k = 1. This represents the case where your burn is small enough to ignore the effect of becoming lighter as you burn. I realized later that it can also be derived from the first-order term of the Taylor series for e^x.

As the size of your burn increases, the effect of becoming lighter becomes more important, so k decreases. Earlier, when I said this was a linear approximation -- I sort of lied... We're actually going to use x to fine-tune our linear constant, so its not strictly linear (we're essentially using a second-order approximation). If we go all the way to x = 1 (dv = ve), its simple to show that k = (1-e^(-1)) ~ .63. So as x varies from 0 to 1, k varies from 1 to 0.6. This suggests a general rule of thumb to determine k:

Compare dv to ve.

If dv is close to 0% ve, use k = 1. (I check if dv < 10% ve)

If dv is close to 25% ve, use k = 0.9.

If dv is close to 50% ve, use k = 0.8.

If dv is close to 75% ve, use k = 0.7.

If dv is close to 100% ve, use k = 0.6.

=== Examples ===

Q: You have a 20 ton craft that needs to make a 30 m/s orbital adjustment using 8 RCS quads. How long will this take?

A: For 8 RCS quads, T = 8 * 1kN, and ve ~2600. Our dv is small enough that k = 1.

t ~ 20/8 * 30 = 75 s

Oof! That's a long burn using RCS.

Q: How much shorter would that burn be if we used 2 LV-909's?

A: Our new thrust is T = 2 * 50 kN = 100 kN. And 30 m/s is still less than 10% of our new ve (~3900).

t ~ 20/(2*50) * 30 = 6 s

That's much better! Of course, if we only had one LV-909, it would take twice that, or 12 s.

Q: How long will you be burning your 4 LV-Ns to send your 100 ton space station to the Mun, if the Manuever Node says it takes 600 m/s?

A: Our thrust is T = 4 * 60 kN = 240 kN. For LV-N, ve ~8000. Our maneuver is still less than 10% ve...

t ~ 100/(4*60) * 600 = 250 s

That's over 4 minutes -- that station is heavy!

Q: How long would that burn take using 4 Poodle's instead? (For convenience, lets also say the station is 110 tons now...)

A: Thrust is increased (T = 4*220), but now our ve is decreased to ~3900. Our burn is getting close to a quarter of that, so we'll use k = 0.9.

t ~ 110/(4*220) * 0.9 * 600 = 270/4 = 135/2 = 67.5 s

Only slightly more than a minute.

Link to comment
Share on other sites

You roughly have 4 times the thrust of the nukes with half the efficiency for slightly more engine weight. Since you are already in orbit and pushing a large mass to Mun, I would stick with the nukes and save on the fuel needed to get it into Mun orbit. That is different advice for those sending probes to long distances when the Nukes become a disadvantage due to their mass in comparison to the payload they are pushing.

For all but the shortest maneuver burns, add a couple of seconds to allow the engines to develop full power. For Min or Minmus encounter, throttle down as you approach the end of the burn and have your finger ready to hit x the second you have reached the encounter as shown on your maneuver burn planner.

Do plan on a midway correction burn although once you get good at them, you should be able to hit the target zone on the first try.

Link to comment
Share on other sites

You're absolutely correct about the nukes being more fuel efficient, of course -- the Poodles burn for less time, but use a lot more fuel. But I was just using these cases as examples to demonstrate the formula. But this formula isn't meant to evaluate engine efficiency; it just determines whether a specific manuever with a given engine is, for example, a quick 2 second burst, or a long 5 minutes of thrusting. And granted, I did forget to account for throttle up/down time. Actually, I deliberately ignored it, in the interest of keeping things simple. That's left as an exercise for the reader. :wink: (although for, say, a minute long burn, the effect is negligible).

Link to comment
Share on other sites

  • 1 month later...

I am talking to myself a bit here, but this is especially useful because the current time estimate is so flaky in KSP. There is basically no way to know the burn time precisely until you start the burn. And mechjeb often isn't much better. For example when you have several rocket engines in your stage, but you deactivated a couple of them, mechjeb will start the burn at the wrong time.

The simplest way to use the information presented here is to just click this link, and then just substitutes these variables in the textfield there:

m0 = Mass of spacecraft before burn (in metric tons). I think there's a reading in map view?

dv = Change in velocity that the maneuver node gives you (m/s).

Isp = Our engines' specific impulse (s) -- we'll assume a single type of engine. So 800 for LV-N for example.

T = Total thrust of all firing engines (kN) - add them up.

Then press enter and you get a result in seconds!

This is the result for my craft and my maneuver. Of course you can just use google, I just like Wolfram a bit more.

Edited by Jackissimus
Link to comment
Share on other sites

Mapview will give you a mass in tons.

800 is the fuel efficiency. 60 is the specific impulse on the LV-N. You also need an equation for the drop in mass as fuel is consumed. That is where the efficiency of the engine would comes in to the equation.

Comment on the LV-N. For long range use, their efficiency will overcome the extra mass of the engine both in getting into orbit and in use for going to the other planets. For landers, their extra weight will become a disadvantage in spite of their efficienty and if an atmosphere is involved, the efficiency vanishes quickly.

Link to comment
Share on other sites

  • 1 year later...
  • 2 years later...

Come on, I got BetterBurnTime, but I need to calculate the dV for RCS with minimal adjustments, like the perfect geostationary orbit of a small satellite.

Either an engine is overpowered and not able to burn 0.5 m/s dV on the  tip or it's massively underpowered like an ion thruster which makes more sense on interplanetary transit - if PersistentThrust works ...

And last but not least does BetterBurnTime not really work, I just posted there a couple of hours ago.

Edited by Gordon Dry
Link to comment
Share on other sites

1 hour ago, Gordon Dry said:

Come on, I got BetterBurnTime, but I need to calculate the dV for RCS with minimal adjustments, like the perfect geostationary orbit of a small satellite.

You have very strange notions of what's relevant to "Estimate the duration of a burn." :)

1 hour ago, Gordon Dry said:

Either an engine is overpowered and not able to burn 0.5 m/s dV on the  tip

Try the Thrust Limiter option. You can reduce an engine down to a few percent of its normal thrust if you really need precision.

lbKO1ch.jpg

1 hour ago, Gordon Dry said:

or it's massively underpowered like an ion thruster which makes more sense on interplanetary transit - if PersistentThrust works ...

Presumably that's a perfect fit for your geostationary orbit adjustments, though.

1 hour ago, Gordon Dry said:

And last but not least does BetterBurnTime not really work, I just posted there a couple of hours ago.

It's unfortunate that you've encountered a problem, but that doesn't mean BBT doesn't work in general. It just means that something is going wrong for you, which you or someone else would have to investigate to fix.

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