Jump to content

What did I did wrong? (see tags)


Recommended Posts

WARNING, Math ahead.

So I was trying to find an intuitive way of approximating the reverse rocket equation by hand (without havinng to developp an exponential) :

M = m.exp(DV/ve)

And came up with that :

(1) M1 = m.(DV/ve)

As the mass of fuel required to propel the playload mass up by a desired DV, with an exhaust velocity of ve (conservation of momentum).

(2) Mn+1 = (Mn/2).(DV/ve)

As the mass of fuel required to carry the mass of fuel Mn while accelerating (by summing over a triangle, one can see you only need to propel up to Dv/2 on average).

Edit : here is exactly where the above formula comes from :

Spoiler

One possible rigourous way to establish

(2.0) M2 = M1.(2DV/ve)

is to rewritte M1 = m.(DV/ve) as :

(4.0) M1 = m.(TWR.Dt/ISP)

Where Dt is the length of the burn (for example using ve = g.ISP and DV = g.TWR.Dt but an independant direct proof is possible), which can be generalized considering infinitesimal burn :

(4) dM1 = m.(TWR.dt/ISP)*

Which means to push a mass m during a laspse of time dt, you'll need dM1 as expressed.

To find (1) from (4), it suffices to sum over times varying from 0 to Dt = (ISP/TWR).(DV/ve), the duration of the burn.

 

(4) still holds when it comes to the second fuel mass carrying the first one, except, M1 varies with time :

(4') dM = m(t).(TWR.dt/ISP)        , in particular :                 dM2 =M1(t).(TWR.dt/ISP)

Now if we make the reasonable assumption f a constant thrust,

M1(t) = M1(0)(1 - (t/Dt))

And summing for t in [0 ; 1] yield the factor 1/2 :

M2 = (1/2).M1.(TWR.Dt/ISP) = (1/2).M1.(DV/ve)

Which is (2.0).

 

Still working under the reasonable assumption that the thrust is constant the formula immediately extends to the subsequent fuel masses needed to lift M2, M3 and so on, and we have

(2) Mn+1 = (1/2)Mn.(DV/ve)

 

If DV < 2.ve, then the sum (Mn)n>=0with M0=m is convergent and easy to compute by hand. Its sum is :

(3) M = m. (2ve + DV)/(2ve - DV)

Which is not consistent with the correct reverse rocket equation.

Close enough for small DeltaV : if you take r = M/m, and z = DV/ve, we find

r(z) = (2+7)/(2-z) = 1 + z + z2/2 + z3/4 + o(z3)

Instead of

r(z) = exp(z) = 1 + z + z2/2 + z3/6 + o(z3)

For r > e, (z > 1), at interstage mass ratio that are not unseen, the approximation gets significantly off (in a conservative way at least).

https://prnt.sc/jnq406

But more importantly, I don't know why I don't end up getting the correct formula, altough I strongly suspect step (2) to be at fault, and I'd like to be enlighten.

Edited by Kesa
Link to comment
Share on other sites

37 minutes ago, Pand5461 said:

How exactly did you arrive to (2)? That looks kinda weird.

in :

M1 = m.(DV/ve)

M1is the mass needed to psuh the useful mass to the desired velocity. But that fuel is not burned all at onnce and has to be pushed along. If you had to pushe the mass of fuel M1 all along, you'd have to push it with a mass : M2 = M1.(DV/ve)

But halfway through the burn, half of the mass M1 is gone, you don't need to push it all the way. So for short, we take the average betwee nothing to push and everything to push. What's hidden here is the area of a M1 by DV/ve triangle (while M1 is the area of a m by DV/ve rectangle).

 

One possible rigourous way to establish

(2.0) M2 = M1.(2DV/ve)

is to rewritte M1 = m.(DV/ve) as :

(4.0) M1 = m.(TWR.Dt/ISP)

Where Dt is the length of the burn (for example using ve = g.ISP and DV = g.TWR.Dt but an independant direct proof is possible), which can be generalized considering infinitesimal burn :

(4) dM1 = m.(TWR.dt/ISP)*

Which means to push a mass m during a laspse of time dt, you'll need dM1 as expressed.

To find (1) from (4), it suffices to sum over times varying from 0 to Dt = (ISP/TWR).(DV/ve), the duration of the burn.

 

(4) still holds when it comes to the second fuel mass carrying the first one, except, M1 varies with time :

(4') dM = m(t).(TWR.dt/ISP)        , in particular :                 dM2 =M1(t).(TWR.dt/ISP)

Now if we make the reasonable assumption f a constant thrust,

M1(t) = M1(0)(1 - (t/Dt))

And summing for t in [0 ; 1] yield the factor 1/2 :

M2 = (1/2).M1.(TWR.Dt/ISP) = (1/2).M1.(DV/ve)

Which is (2.0).

 

Still working under the reasonable assumption that the thrust is constant the formula immediately extends to the subsequent fuel masses needed to lift M2, M3 and so on, and we have

(2) Mn+1 = (Mn/2).(DV/ve)

Quote

(the whole point of this effort evades my understanding, but I'm trying to be polite)

It has more to do with playing math than with playing KSP. I see it as a cute little paradox, or as an elaborate (false and) deceptive proof that 1+1 = 0.

 

As I write this I've realised where the error lies but won't give any clue, mostly out of tiredom after such a long post.

 

*Note that this equation is straightforward if you understand the definition of ISP, which is surprising given ISP was invented to circumvent translation issues of exhaust veocity between unit systems rather than to be something understandable.

Link to comment
Share on other sites

12 hours ago, Kesa said:

As I write this I've realised where the error lies but won't give any clue, mostly out of tiredom after such a long post.

OK, I'm glad you could find the source of the error.

I still don't get your maths, frankly. After getting to the infinitesimals, I just can't resist the urge of taking the integral and getting the rocket equation.

I'm assuming, it's something about having a product of the form (1 + A1z + A2z2 + o(z2))×(1 + B1z + o(z2)) which gives a third-order polynomial but is insufficient to get a correct third-order expansion.

Link to comment
Share on other sites

6 hours ago, Pand5461 said:

I still don't get your maths, frankly. After getting to the infinitesimals, I just can't resist the urge of taking the integral and getting the rocket equation.

Indeed, but I did not use infinitesimal to establish (2), not explicitely at least. I used infinitesimal as the fastest and clearest way to explain how to get there, but I initially got there with reasoning like I also have to push M1 but half of M1 disappears midburn, then taking the area under a triangle, rather than using calculus to solve a differential equation.

But when looking very carefully, one can't just assume that "the thrust is constant" after writting (4) and assuming the TWR hence the acceleration is constant. So M2 is actually a parabola rather than an affine function. And so on, M3 is a third order polynomial, and the area summed correspond exactly to the coefficient of an exponential.

 

8 hours ago, Pand5461 said:

I'm assuming, it's something about having a product of the form (1 + A1z + A2z2 + o(z2))×(1 + B1z + o(z2)) which gives a third-order polynomial but is insufficient to get a correct third-order expansion.

Yeah, it's more like why it cannot work, than why it does not work, and the approximation built is more of the kind (A0 + A1z)/(1 + B1z)

A second order approximation of exponential is already really good though, if done somewhere useful rather than around 0 (eg at e, which I think is a typical ratio between stages),  and gives an upper bound where a simple developpemet (1+z+z^2/2) gives a lower bound and vice versa. It is also possible to make it require as little computation (4 operations), if put in the form A + B/(C+z). All of that of course did not required the twisted path I took.

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