[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4586: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4588: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4589: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4590: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
• View topic - Setting the stage

Setting the stage

Anything that doesn't belong in one of the other forums goes here.

Setting the stage

Postby lavalamp » Wed Jul 07, 2010 4:04 pm

Hello all, this is my first post here, but I've been following the N prize for a while, ever since I stumbled upon the half baked page quite a while ago.

I'm not affiliated with any team, and will probably never launch anything into space myself, primarily because I lack all of the necessary skills (not to mention disposable income) to do so. But that doesn't stop me from being interested in the various problems surrounding rocketry, in particular low budget rocketry.

This is probably where I should stop typing now, but I shall not. Fair warning, there are lots of words ahead, and some numbers.

Lately I've been thinking about what an optimal design would be, ideally using the simplest concepts and minimum of materials. I guess this could be rephrased as, "how to build a SMALL dumb booster." Initially I figured that one way would be to build several identical stages and simply stack them, and drop them when spent. All would be the same mass, diameter etc. However when I wrote some code to simulate this, it didn't take me long to realise that this was horribly inefficient.

So then I moved on to more traditional staging, heaviest first, then each stage getting progressively lighter. I also discovered pretty fast that if each stage had the same fuel mass fraction and specific impulse, then the optimal rocket was one where each stage provided the same delta-v to the remaining stack. However, it is pretty unlikely that some quite different sized stages operating at different altitudes would have the same fuel fraction and specific impulse. So then I started simulating 2, 3 and 4 stage rockets with varying parameters and collected a reasonable amount of data into a spread sheet. For the last few days I've been stuck, trying to find a simple way to calculate the optimal delta-v for each stage without having to run countless trial-and-error iterations on each possible combination.

However, I believe I have just found the answer (though I'm sure much smarter people have found it long before me), so for anyone who is interested (or still reading by this point), here is how I believe the optimal staging for a rocket can be calculated.

Suppose you want a 4 stage rocket, you want a total delta-v of 10,000 m/s, and the stages have the following fuel fractions and exhaust velocities at their corresponding operating altitudes:
stage 1 fuel mass fraction = 0.85, stage 1 v_e = 2900 m/s
stage 2 fuel mass fraction = 0.83, stage 2 v_e = 3000 m/s
stage 3 fuel mass fraction = 0.81, stage 3 v_e = 3100 m/s
stage 4 fuel mass fraction = 0.8, stage 4 v_e = 3200 m/s

I should point out that any interstage sections should be counted towards the mass of whichever stage they stay attached to after separation (usually the one being dropped).

Now calculate the maximum delta-v for each stage, (ie: as if each stage was launched solo, with no payload):
stage 1 max delta-v = 2900 * ln(1 / (1-0.85)) = 2900 * ln(1 / 0.15) = 5501.65 m/s
stage 2 max delta-v = 3000 * ln(1 / (1-0.83)) = 3000 * ln(1 / 0.17) = 5315.87 m/s
stage 3 max delta-v = 3100 * ln(1 / (1-0.81)) = 3100 * ln(1 / 0.19) = 5148.27 m/s
stage 4 max delta-v = 3200 * ln(1 / (1-0.8)) = 3200 * ln(1 / 0.2) = 5150.20 m/s

Subtract the lowest delta-v value from all the stages, I'll call this the "bonus" for each stage:
stage 1 bonus = 353.38 m/s
stage 2 bonus = 167.60 m/s
stage 3 bonus = 0
stage 4 bonus = 1.93 m/s

Add these up and subtract them from the desired delta-v:

remainder = 10000 - 522.91957831244939334702598397861 = 9477.08 m/s

Divide by 4 and add it on to the bonus for each stage and it will give you the optimum delta-v for each stage:
stage 1 optimum delta-v = 2722.65 m/s
stage 2 optimum delta-v = 2536.87 m/s
stage 3 optimum delta-v = 2369.27 m/s
stage 4 optimum delta-v = 2371.20 m/s

If you add these up you'll actually get 9999.99 m/s due to rounding errors, but you'll always want a little extra fuel in the tanks just in case anyway. From these optimum delta-v values, it is easy to calculate the mass and fuel required for each stage using the rocket equation, just remember to start at the last stage and work down.

Everything I have just said could be complete nonsense, if that's the case I hope someone will tell me so. I do not have any formal training in aerospace, I have merely followed where the numbers led me, I could easily have read them wrong.

The reason why I worked all this out is partly because I find it interesting, but also because I couldn't find any such information elsewhere. In fact one place I found simply said there wasn't any such method to calculate optimal staging and that you must simply run the aforementioned countless trial-and-error iterations to find it. So if this helps anyone in anyway, then I'm glad.

I have more thoughts on the matter, but I think this is probably long enough for 100 first posts already.
lavalamp
 
Posts: 31
Joined: Thu Feb 18, 2010 11:14 am

Re: Setting the stage

Postby Sage » Mon Jul 12, 2010 4:02 pm

That's a great first post!

Delta V partitioning does not necessarily optimize in line with individual (no payload) delta V stage performance. For instance, consider a relatively low specific impulse stage (we'll call it “Stage X”) with a very low structural coefficient; the theoretical delta V is relatively high. Now assume that the other stages are typically performing rocket stages equivalent to each other; your algorithm would bias the optimization towards Stage X in all cases.

However, when you add the subsequent stages (or the payload itself) to our hypothetical Stage X, the mass ratio of the partial rocket plummets (the most severe case is when Stage X is the booster). Because of this, the actual performance of the resulting partial rocket is relatively low (low specific impulse and now lower mass ratio); the mass of Stage X must increase to reduce the payload fraction (thereby increasing the mass ratio) in order to attain your estimated delta V fraction. We are now increasing the mass of a more poorly performing partial rocket in our system; the optimization fails unless this partial rocket's performance still outperforms the remaining stages, which would generally be an atypical (special) case.

Note that this represents a particular example to illustrate a failure mode in the strategy; recognize it does not have to be an extreme condition. Particular combinations of structural coefficients, specific impulses, and resulting mass ratios can generate optimal stage delta V fractions contrary to individual stage delta V performances. For instance (as noted) stages which exhibit high independent delta Vs due to relatively low structural coefficients, though possessing relatively low specific impulses, will tend to influence such improper biasing.

Here's a (rough) example of a three(3) stage rocket (via the approach you've presented) (all numbers are rough and irreverently rounded):

Rocket Outline:
Stage 1: Isp = 250.0; Structural Coefficient=0.05
Stage 2: Isp = 350.0; Structural Coefficient=0.15
Stage 3: Isp = 350.0; Structural Coefficient=0.15

Individual Delta-V performance:
Stage 1: 9.8 * 250.0 * ln (1.0/0.05) = 7339.54
Stage 2: 9.8 * 350.0 * ln (1.0/0.15) = 6507.12
Stage 3: 9.8 * 350.0 * ln (1.0/0.15) = 6507.12

Difference Factor:
Stage 1: 832.42
Stage 2: 0
Stage 3: 0

Difference Application:
10000.0 – (832.42) = 9167.58

Partition for Global Correction Factor (Divide by Number of Stages):
9167.58/3 = 3055.86

Apply Correction Factor (Summation) (Estimated Improved Delta V Fraction):
Stage 1: 3888.28 m/s
Stage 2: 3055.86 m/s
Stage 3: 3055.86 m/s

As you can see, this is an incorrect optimization (at least from a pure theoretical optimum perspective in disregard to other factors, but not necessarily from some particular design perspective).

In order to provide such delta V in the first stage (given the payload mass) the rocket needs to be larger than in other partitioning allocations. Say the payload is 1.0 unit:

Stage 3: 3055.86 = 9.8 * 350 * ln(MR) → MR = ~2.437; MF = ~0.59
Stage 2: 3055.86 = 9.8 * 350 * ln(MR) → MR = ~2.437; MF = ~0.59
Stage 1: 3888.28 = 9.8 * 250 * ln(MR) → MR = ~4.890; MF = ~0.796

Stage 3 Mass: (s3 + 1.00) * (0.59)=(s3*0.85); s3= 2.27
Stage 2 Mass: (s2 + 2.27+1.0) * (0.59)=(s2*0.85); s2= 7.42
Stage 1 Mass: (s1 + 7.42+2.27+1.0) * (0.796)=(s1*0.95); s1= 55.255

The entire rocket is thus ~65.95 units.


Now let's use a more accurate optimization (obtained from one of my numerical estimators):

Stage1: 3080 m/s
Stage2: 3460 m/s
Stage3: 3460 m/s

Calculation of Mass:
Stage 3: 3460.0 = 9.8 * 350 * ln(MR) → MR = ~2.742; MF = ~0.635
Stage 2: 3460.0 = 9.8 * 350 * ln(MR) → MR = ~2.742; MF = ~0.635
Stage 1: 3080.0 = 9.8 * 250 * ln(MR) → MR = ~3.515; MF = ~0.716

Stage 3 Mass: (s3 + 1.0) * (0.635)=(s3*0.85); s3= 2.953
Stage 2 Mass: (s2 + 2.953+1.0) * (0.635)=(s2*0.85); s2= 11.675
Stage 1 Mass: (s1 + 11.675+2.953+1.0) * (0.716)=(s1*0.95); s1= 47.819

The entire rocket is thus ~63.45 units.


This second case represents an overall mass savings of ~3.8% over the first case.


Before I conclude this, I want to mention that the rough strategy you outlined (and/or similar delta V strategies) will not generate completely off the mark numbers in all cases; it (they) will sometimes produce values similar to optimum calculations when (for instance) the structural coefficients are stacked (generally inversely but not exclusively) with the specific impulse. For example, the LMR rocket itself (with a relatively low specific impulse, high structural coefficient first stage and better performing, similarly matching upper stages) optimizes to almost the same values as produced by such simplified delta V correction estimates (such as your approach); the structural coefficient has a less biasing influence in this case.

I examined this optimization issue many years ago; rather than sticking with the numerous analytical and/or iterative methods that had been applied to the problem (Lagrangian multipliers, gradient decent solvers, etc) I formulated several ad hoc methods that incorporated delta V stage corrections plus modifiers (and/or cases) for the structural coefficient stack; several produced reasonable results, but my numerical optimizers (and genetic algorithms) were generally quicker, easier, and more accurate.

Note that this type of optimization (meaning such detail beyond a reasonable delta V partition) is more of an academic exercise (especially early in the development cycle) since there are many unknowns in the system and numerous considerations that feed into the overall design. In general, optimum design is more about finding an “optimum” within a particular set of constraints and/or specific requirements; not just a theoretically optimum design within relatively pseudo-ideal conditions (although such can still be important (and useful) information to have).

That said, notice how small this overall mass difference is (even given errant biasing and the delta V spread); there are numerous factors far more important than abstract delta V partitioning at early design time (which will be influenced by implementation aspects in nearly all cases). For most moderate energy chemical systems, simply splitting the delta V evenly is (at least usually, depending on specific conditions) a reasonable enough first pass estimate since certain aspects of the design will change during implementation. In the case of LOX/HC boosters and LOX/H2 (or other higher energy) upper stages, you might partition the booster a bit lower for the initial pass (but again, this is dependent on many additional factors).

Anyway, I could go on and on here (especially with regards to microscale launch vehicles) since so many aspects are constrained/influenced by mission requirements, fabrication issues, control strategies, trajectory approaches, various loss considerations (gravity, drag, steering, etc.), and so forth – all of which feed into an overall “optimum” design in practice.

If you haven't yet done so, please be sure to take a look at the LMR website (); I've posted some information/insight about how certain figures for a multistage vehicle might be initially arrived at in first-pass (see the blog entries).

Though the direct application of this type of optimization can be somewhat limited due to the aforementioned reasons, it can still provide useful information and can potentially help suggest design targets where reasonable and/or applicable. As such, I have developed several types of multistage optimizers (including stand alone versions); if there's enough interest, I might consider making something available (in addition to the other materials already available through the LMR site).

Sage
www.littlemonsterrocket.com
Sage
 
Posts: 6
Joined: Tue May 11, 2010 1:51 am

Re: Setting the stage

Postby lavalamp » Tue Jul 13, 2010 9:06 pm

lavalamp
 
Posts: 31
Joined: Thu Feb 18, 2010 11:14 am

Re: Setting the stage

Postby Sage » Wed Jul 14, 2010 7:39 pm

As I mentioned, you'll find fairly little overall difference across a relatively wide range of (reasonable) delta V fractions in any case. Still, it's an interesting problem (even if a largely academic one).

That said, if you're interested in a solution without Lagrange multipliers you can try an approach I developed years ago (I mentioned it above) using the delta Vs and a heuristic stack bias. It gave me reasonable approximates (not exact values) but was not as simple nor accurate as my numerical estimators.

From what you've written though, I don't think such an approximation is what you're looking for; you said you wanted a “perfect” solution. As such, you'll probably go back to the standard constraint optimization solution with Lagrange multipliers.

Note that in the case of stage optimization, the known minimization solutions are transcendental (a sum of natural logarithms) meaning that you're not going to locate an exact algebraic solution (unless you overturn much of known mathematics or otherwise invent an unknown technique). Typically, the optimization is solved numerically because finding analytic solutions to such transcendental functions is relatively difficult when compared to numerical methods.

With significant effort, you might derive an analytic solution but it will generally be approximate (truncated) when evaluated (potential strategies might include using an Euler transformed Mercator series, then substituting the transcendental solution, or possibly using the Lambert W function and Lagrange inversion theorem). Solving these by hand would be tedious (and more difficult than numeric solutions). From what you've mentioned, I think you're looking for a simpler technique – of which a numerical method (iterative approach) is quite probably your best bet. But, if you do choose to go forward with finding an analytic solution, good luck!


Sage
www.littlemonsterrocket.com

P.S. As a note, even 100 g is a gigantically huge satellite (at least compared to the scale I'm presently concentrating on)...
Sage
 
Posts: 6
Joined: Tue May 11, 2010 1:51 am

Re: Setting the stage

Postby lavalamp » Thu Jul 15, 2010 11:27 am

I know that 100 g is much more than 9.99 to 19.99 g, and I know that 1 to 2 kg is much more again, but as I said, it is not just for the satellite but also for, "any required support and deployment structure". To be honest I was thinking that deployment could be as simple as a short barrel out of which the nano sat is shot with excess helium from pressurising the tanks, not to give it any significant delta-v change, but just to separate it from the upper stage. However, to be on the safe side, I went with a large mass.

Additionally, launching just 20g at a time, while it would win the prize, wouldn't be very useful afterwards. Whereas if you can put 1 to 2 kg into orbit, you can useful things up there such as cube sats, not to mention winning that new NASA prize (so long as you can do it twice in a week).

About the only thing I can think of under 20g that would be useful are varying size, but constant mass, white balloons. With enough of them this would allow real-time monitoring of atmospheric density at various altitudes. Besides this, you'd be limited to space burials or orbiting small personal mementos (and they shouldn't expect to get them back).

Unless you don't care about commercial applications and are doing it just to see if you can, which is fine too of course, but it seems a shame to put all this effort in and walk away after one launch.

As far as finding the perfect solution for stage optimisation, I think it has already gone beyond my limited mathematical knowledge. Perhaps I will just have to be contented with a formula that gets close enough and then possibly augment it with an iterative solution.
lavalamp
 
Posts: 31
Joined: Thu Feb 18, 2010 11:14 am

Re: Setting the stage

Postby Sage » Thu Jul 15, 2010 5:21 pm

Even 1 gram can be an exceptionally useful payload; 20 g is already incredibly huge. I might put a treatment on my blog about this, because it seems there is a general misconception regarding the potential a few grams of payload holds. I should note that personally, I'm more interested in everything past LEO (near earth objects, the Moon, interplanetary space, the rest of the solar system, and beyond; my concentration is more towards microspacecraft in general).

Sage
www.littlemonsterrocket.com
Sage
 
Posts: 6
Joined: Tue May 11, 2010 1:51 am

Re: Setting the stage

Postby lavalamp » Thu Jul 15, 2010 10:42 pm

lavalamp
 
Posts: 31
Joined: Thu Feb 18, 2010 11:14 am


Return to General chit-chat. All welcome.

Who is online

Users browsing this forum: No registered users and 9 guests

cron