Saturday, October 1, 2022

Rocket Engine Calculations

Update 11-24-2023:  corrected an error in figure 7 brought to my attention by a commenter. 

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

These are simple formulae,  spreadsheet-automated for easy iteration.  Anyone can do this,  if they have a proper guide.  The actual sequence of use is not obvious from typical textbook presentations,  but that is explicitly covered here.  These formulae were arranged in the proper sequence and automated with an Excel spreadsheet file named “liqrockets.xls”. 

There are several worksheets in this spreadsheet file.  Some are data libraries,  others are parts of the calculation sequence.  The best worksheet for either sizing,  or reverse-engineering,  rocket engines is “allin1des”,  so named to recognize that all of the calculation sequences are in the one worksheet.

The examples used here are calculations done while reverse-engineering the SpaceX Raptor 1 and 2 engine versions,  both the sea level and vacuum variants.   The addendum addresses a -2 vac variant.

Basic Notions                   

The typical liquid-propellant engine whose ballistics need calculating comprises a chamber,  a contraction-to-a-throat,  the min-area throat itself,  and an expansion bell,  as shown in Figure 1.  Not shown is the turbopump assembly and pre-burners that drive it.  The chamber pressure of interest is the stagnation pressure just ahead of the contraction.  

Figure 1 – Basic Notions

All the turbopump-related stuff is higher-pressure,  and located upstream.  The exact “cycle” of the turbo-pump assemblies and their drive systems are just not applicable to the engine performance ballistics,  with one exceptionSome cycles tap gas,  drive the turbopumps with it,  and then dump that gas overboard,  without it going through the nozzle.  Others more recently do not. 

We need a figure for the percent of propellant drawn from the tanks that is dumped overboard instead of going through the engine nozzle.  For the rocket equation to work correctly estimating vehicle performance,  the engine specific impulse (Isp) must reflect the propellant massflow drawn from the tanks,  not just the massflow that went through the nozzle! 

The engine performance ballistics then simply reflect the nozzle area ratios and dimensions,  the chamber area and dimensions,  and the expanded pressure at the nozzle exit versus the ambient atmospheric back pressures.  There is a nozzle massflow associated with that,  and you must account for the bleed gas dumped overboard,  to actually get the massflow drawn from the tanks,  which is what you need for calculating the correct value of Isp.

There are also some empirical rules of thumb for some of the less important variables.  These get you into the right ballpark.  They do not really affect thrust and Isp much at all,  but they do get you fairly realistic dimensions.  What I show here is how you rough-out a design for more detailed analysis!

Nozzle Analysis               

We start with nozzle analysis.  These calculations are based on the compressible isentropic flow of an ideal gas.  This is the Mach number – area ratio stuff that is so well documented in NACA Technical Report 1135 “Equations Tables and Charts For Compressible Flow” (1953) for air.  We cannot use the NACA 1135 tables for rocket engines,  because our hot combustion gases have a different specific heat ratio than air does.  So we have to use the equations for compressible flow,  with an appropriate specific heat ratio,  and do the calculations directly.  See Figure 2.

In the figure,  the equations for the static temperature and static pressure distributions are shown in terms of Mach number down the nozzle (assuming choked flow Mach 1 at the min area throat).  The compressible streamtube-area equation is also shown,  which is how one relates nozzle local area to local average flow Mach number. 

Note all the factors made up from specific heat ratio g in the figure,  used as coefficients and exponents.  You need a good value,  and you cannot use air’s g = 1.40.  This is best computed from a thermochemical calculation for your propellant combination,  at your intended chamber pressure level.  However,  for nearly all rocket propellant combinations,  a guess of g = 1.2 is a very,  very close guess!

The definition of the thrust coefficient CF is the nozzle thrust divided by the chamber (stagnation) pressure Pc and min throat geometric area At.  There is a momentum term and a two-part exit plane pressure term.  The two parts of the pressure term involve the expanded static pressure at the exit plane,  and the surrounding ambient atmospheric pressure,  most often termed the “backpressure”. 

If you have used the compressible flow analysis,  you know the exit plane Mach number,  and the ratio of exit plane static to chamber pressure.  You also know your expansion area ratio Ae/At,  and the atmospheric backpressure.  You end up with an equation for the vacuum thrust coefficient CFvac which is independent of atmospheric and chamber pressures,  and a correction term involving the actual chamber and atmospheric pressures.  The difference shown is the operating thrust coefficient CF.

As indicated in the figure,  you also have to modify your nozzle analysis for two real-world effects:  (1) the boundary layer along the wall reduces the effective flow area slightly below the geometric value,  and (2) the exiting streamlines of the flow are not all parallel to the nozzle centerline. 

Because the ratios of effective to geometric area are so similar at throat and exit (and everywhere else),  they “divide out” of the area ratio,  as indicated in the figure,  and so you can just use the geometric area ratio for your calculations,  at any station down the nozzle.

The off-centerline streamline directions do not cancel out.  Things are “perfect” on the nozzle centerline,  and “worst” right at the nozzle wall.  Momentum is a vector quantity in physics,  so the cosine component notion applies here.  As it turns out,  the average of 1 and the cosine of the nozzle wall angle is a very,  very good empirical estimate of the streamline divergence factor we need to apply to the momentum term in the thrust,  as indicated in the figure.  It does not apply to the two-part pressure term in thrust,  which is why it is located where it is,  in the CFvac equation.

Figure 2 – Nozzle Analysis Using Compressible Isentropic Flow Analysis

The boundary layer displacements cancel-out in the area ratio,  as indicated,  but not in the massflow equation that involves Pc,  At,  and the ratio of effective to geometric area at the throat.  This effective area ratio is termed “discharge coefficient” (CD),  and is determined experimentally in calibration flow tests.  It is usually quite high for a “well-designed” nozzle:  in the 0.98 to 0.995 range.  The massflow equation where this is used is discussed below.

The nozzle half angle “a” is a simple constant value in conical nozzle designs.  In curved bells,  it is usually computed as the average of just-past-throat and exit-lip values.  Thrust will vary with altitude because of the backpressure portion of the pressure term in thrust.  This term acts to reduce thrust,  but it zeroes as you go into vacuum.  At low altitudes there is another real-world limit,  when the backpressure is excessive relative to the exit plane static pressure.  If the backpressure is too high,  the flow separates (detaches from the wall).  This not only sharply reduces thrust,  it also endangers the survival of the engine from a regenerative cooling/heat transfer point of view.  It is imperative to avoid separation.

There are many empirical ways to estimate the separation backpressure for a design.  I use a very simple correlation developed for the conical nozzles used most often in solid rockets for missiles.  It is only slightly conservative,  for those designs.  Curved bells are a bit more resistive to separation than straight conical bells,  because the exit lip angle is lower for the curved bell design.  So my simple correlation is a tad more conservative for curved bells,  but still in the ballpark.  The proof is experimental test!

               Psep/Pc = (1.5 Pe/Pc)0.8333             empirical separation criterion

If you know your operating Pc,  and you know Pe/Pc from your nozzle analysis,  then you use the separation criterion to estimate Psep/Pc,  and thus from it and Pc the expected separation backpressure Psep for your design.

Nozzle Massflow Model

The nozzle massflow equation,  which presumes a choked throat (Mach 1 at At),  was not given in any of the figures,  but is given here:

               w  =  Pc CD At gc / c*,  where gc is the gravity constant that makes the units consistent

In this equation,  c* is the chamber characteristic velocity,  which is computed from chamber stagnation temperature and gas properties as indicated in Figure 3.  There is also a c* efficiency,  usually quite high,  that causes real-world c* to be a few percent short of the values computed by theoretical thermochemical methods. 

Both the theoretical c* and the c* efficiency are pressure-dependent upon the value of Pc.  The best empirical model of this,  is the power function of pressure as indicated in the figure.  Experimental test is the best guide to c* values.  Done at multiple pressures,  the exponent in the power function can be determined.  Thus experimental c* varies with chamber pressure Pc in an easily-computed way.

Not shown in the figure is a model for r,  the ratio of oxidizer massflow to fuel massflow,  in the propellant combination.  That value shifts weaky with pressure experimentally,  which I modeled as a simple linear variation.  I did not include it in the c* model,  precisely because values of r are already experimentally-optimized versus Pc levels,  in testing.

What will happen in the ballistics calculations,  is that you have a Pc and a desired thrust level,  and your nozzle analysis has determined your thrust coefficient CF.  You use the thrust equation F = CF Pc At to size At.  Then you use that throat ,  your Pc,  your value of c* at Pc,  and your estimate of CD to determine the nozzle propellant massflow by means of w = Pc CD At gc / c*.  From there,  use your geometric ratios to determine all the other areas and associated dimensions.  And the total massflow.

Once all that is done,  you are ready to do the performance calculations versus altitude.  The only problems are allowing for nozzle separation,  and engine throttleability.  That is what complicates the overall analysis,  breaking it into a nozzle design sized at min Pc,  an engine ballistics design sized at max Pc and max required thrust,  and finally the performance-versus-altitude calculations.

Figure 3 – About Characteristic Velocity c*

Calculational Logic         

The resulting layout of the calculation sequence is illustrated in Figure 4.  There are the indicated 3 analyses:  nozzle sizing,  engine ballistic sizing,  and performance versus altitude.  You go into the nozzle analysis with your max Pc,  the pressure turndown ratio (P-TDR),  your specific heat ratio g,  the average half-angle “a” for the bell design approach you want to use,  and your design expanded exit plane pressure.  The calculation determines expansion ratio Ae/At from the exit plane pressure input,  and a min Pc computed as max Pc / P-TDR.

There is an option here if you want to design to a fixed expansion ratio Ae/At,  instead of an input expanded exit plane pressure.  Because this is a spreadsheet,  it is quite easy to iterate.  Simply iteratively change your input exit plane pressure,  until the output Ae/At is the value you want.

You come out of the nozzle analysis knowing the min Pc,  the exit plane Mach number Me,  the bell expansion area ratio Ae/At,  the vacuum thrust coefficient CFvac,  and the separation pressure ratio Psep/Pc.  Because you already know max and min Pc,  you thus know the actual separation pressure values Psep at max and min Pc.  And,  the analysis figures the Pc value required,  so that Psep is the ambient atmospheric pressure Pbaro at sea level.

The engine ballistics and sizing block defines flow rates and all the areas and dimensions from the required value of max vacuum thrust Fvac at max Pc. 

You can iterate input Fvac levels to hit a desired throat dimension and flow rate!  That is important if you wish to use the same gas generator power head with different bells for sea level and vacuum variants,  of otherwise the same engine design.  If that is indeed the case,  then design the vacuum variant first,  and then just iteratively choose the Fvac level for the sea level variant,  such that you get the same throat dimension and flow rate as was obtained for the vacuum variant.

The c* and r models,  the throat CD,  and the dumped-mass bleed factor all get input into the engine ballistics block,  along with ballpark values for chamber contraction ratio Ac/At and chamber L*.  What comes out is the massflow scale-up factor,  max and min flow rates (both through the nozzle and from the tanks),  and all the engine dimensions,  excluding the turbopump portion.  

Figure 4 – Calculational Logic

The estimated performance block uses these results,  without further user inputs,  to determine engine performance versus altitude,  at max Pc and also at min Pc.  These outputs show up as both data tables and automatically-generated plots.  The data comprises actual operating thrust coefficient CF,  engine thrust F,  and specific impulse Isp based on the massflows drawn from the tanks.  These are all given versus altitude,  at each of the two Pc levels.   

You may interpolate linearly between the CF,  F,  Isp,  and w values corresponding to the min and max Pc values,  for other chamber pressure settings Pc,  as long as the exit bell flow is not separated!  The data tables include values for ambient atmospheric pressure Pbaro versus altitude.  Using the Psep values output from the nozzle analysis block,  you need to exclude any altitude whose Pbaro exceeds the appropriate Psep value!  I recommend that you highlight those excluded points. 

Calculation Block Details

For the nozzle analysis calculation block,  all the calculations are defined for every cell,  in Figure 5.  The figure is quite self-explanatory,  and not discussed further.  Similarly,  the calculations for every cell in the engine ballistics calculation block are defined in Figure 6,  again self-explanatory.  The performance versus altitude calculations are defined for every cell in Figure 7.  

Figure 5 – All the Details in the Nozzle Sizing Block

Figure 6 – All the Details in the Engine Ballistics Block

Figure 7 – All the Details in the Performance Block (corrected 11-24-2023)

The worksheet also makes performance plots automatically.  These are illustrated in Figure 8.  As noted,  if you copy this worksheet to another worksheet,  the plots will no longer update at all!  That is just a foible with the Excel spreadsheet software.  Use the nonfunctional plots as templates to create your own plots in the new worksheet,  then delete the old nonfunctional plots.  Simple as that.  

Figure 8 – About the Automatically-Generated Plots

Modeling SpaceX Raptor 2 Engines in 2022

Starting with the SpaceX Vacuum Raptor 2,  I sized the nozzle to a nominal 150:1 area ratio,   per “hearsay” from SpaceX.  I sized it to a 551,000 lb vacuum thrust level,  also per “hearsay” from SpaceX.  I did this at the 4400 psia max Pc that “hearsay” from SpaceX indicates they are now achieving with the new redesigned turbopump assemblies.  That thrust level nominally equates to a 250 (metric) tons-force level,  which is not an SI-metric unit,  but seems to be what SpaceX likes to quote.  Note that very little reliable information is available on the Raptor engine designs on the SpaceX website anymore,  unlike a few years back.  My results tables are in Figure 9.  

Figure 9 – Results Tabulated For Vacuum Raptor 2

The sea level Raptor 2 I sized to a nominal 40:1 area ratio,  per “hearsay” from SpaceX.  I sized iteratively to a Fvac level that produces the same flow rate and throat dimensions as those I got for the vacuum Raptor 2.  These results tables are given in Figure 10. 

I put the plotted performance results for both the sea level Raptor 2 and the vacuum Raptor 2 in Figure 11,  for a direct visual comparison.  First,  note that the sea level Raptor 2 has a smaller change in thrust  from sea level to vacuum than the vacuum Raptor 2.  This is because (1) the sea level Raptor 2 has a lower Ae/At,  reducing the effects of the backpressure term,  and (2) because the vacuum Raptor 2,  while possibly not separated near sea level,  is very definitely adversely affected by the large adverse backpressure term below the perfect expansion altitude. 

The sea level Raptor 2 can be fired at about 41% Pc at sea level,  without any separation risk,  as computed with my conservative separation criterion.  In contrast,  the vacuum Raptor 2 may (or may not) separate at sea level,  even at 100% Pc.  My separation criterion says it will separate,  but as I indicated,  that criterion is conservative,  and especially so for a curved bell.  Fully throttled down to 20% Pc,  it seems rather likely that the vacuum Raptor 2 will flow-separate at altitudes near 40-50,000 feet.  Perhaps SpaceX has actual test data on this.  I do not. 

Figure 10 – Results Tabulated for Sea Level Raptor 2

Figure 11 – Plotted Results For Both Sea Level Raptor 2 and Vacuum Raptor 2

There is one definite conclusion here:  even if the vacuum Raptor 2 does not separate at sea level and full throttle,  it is not an engine one would want to use at low altitudes!  The adverse backpressure term below around 50-60,000 feet sharply reduces thrust and specific impulse.  While such a design is convenient for ground verification testing,  it is demonstrably inadequate for actual vehicle ascents in the atmosphere.  The sea level Raptor 2 is much better for such ascents in the atmosphere.   

Compare Raptor 2 to Raptor 1  

I had reverse-engineered Raptor-1 (sea level and vacuum) about 2 years ago,  using the then-projected full 4400 psia Pc as my max Pc for calculation.  According to the SpaceX “hearsay”,  those engines never actually achieved the full intended operating pressure,  so they never achieved the full intended thrust and Isp levels in test.  They were adequate for the earlier “Starship” single-stage flight tests,  but were not adequate for any full “Starship/Superheavy” two-stage flights. 

According to the SpaceX “hearsay”,  the Raptor-2 turbopump design has a higher flow capacity,  which seems to enable it to achieve the full 4400 psia max operating pressure,  and perhaps just a bit more.  The same SpaceX “hearsay” hints that the Raptor 2 gas generator has a slightly-larger throat diameter than Raptor 1,  which is exactly what I found here,  running those estimates.  That corresponds to a higher flow rate,  which is also what I found.  There’s not any significant visual distinction grossly apparent to the eye,  in the bell diameters that I found.  See Figure 12 for a dimensional comparison.

Figure 12 – Comparison of Dimensions and Flow Rates For Raptors 1 and 2

I have meanwhile revised my 2020 estimates of Raptor 1 performance,  in the light of SpaceX “hearsay” regarding “finally beating the Russian RD-180 engine’s Pc level of 268 bar”.  That would correspond to the Raptor 1 gas generators operating somewhere in the 80-90% percent range,  of the intended max Pc of 4400 psia = 303 bar (nominally “300 bar”). 

I copied those data for both Raptor 1 designs,  and added a fourth table of performance interpolated between the max and min Pc values,  for the 80 and 90%-of-Pc levels. 

I did this for the vacuum Raptor 1 in Figure 13,  and the sea level Raptor 1 in Figure 14.  Note that the Raptor 1 bells were sized for a 4400 psia Pc level that was never actually achieved!  This is attributed by me to a shortfall in the Raptor 1 turbopump design capacity,  but only SpaceX “knows for sure”!  

Figure 13 – Revised Vacuum Raptor 1 Estimates for 2022

Figure 14 – Revised Sea Level Raptor 1 Estimates for 2022                                          

The thrusts available with the Raptor 2 designs are significantly higher than those that were available with the Raptor 1 designs.  Those larger thrusts (and the higher Superheavy engine counts) come a lot closer to meeting a lift-off thrust to weight ratio T/W = 1.5,  which according to the SpaceX “hearsay”,  they really want.  Such does greatly improve the takeoff kinematics,  and decrease somewhat the propellant mass consumed getting initially clear of the launch pad.  Basically,  you end up with a slightly higher staging speed capability,  all else equal. 

Concluding Remarks

Contact me if you want a copy of this Excel spreadsheet file.  It is named “liqrockets.xls”.  It comes with a user manual document.  What you want to use is the “allin1des” worksheet,  plus the “combinations” worksheet for the database on c* and r models. 

Addendum:  Vacuum Raptor-2 with Shorter Nozzle Bell

My friend Bob Clark,  who has the https://exoscientist.blogspot.com site,  asked me about a variant of the Raptor-2 vacuum engine with a shorter bell at only Ae/At = 107.  Supposedly,  this engine can be fired at full thrust in the open air at sea level without separating.  I ran that in my spreadsheet-based analysis,  iterating expanded pressure to hit Ae/At = 107,  then iterating vacuum thrust to hit exactly the same throat diameter and nozzle flowrate that I had for the earlier Raptor-2 estimates. 

My analysis still indicates a sea level separation risk,  even at full throttle,  although my separation criterion is conservative.  It does seem fairly likely that this variant of the vacuum Raptor-2 engine could be tested for verification in the open air at sea level.  However,  it suffers the same kind of severe loss of performance due to high backpressure,  that the 200:1 version shows.

Those results are given here as Figures 15 and 16. 

Figure 15 – Tabular Results for Vacuum Raptor-2 with Smaller Expansion

Figure 16 – Plotted Results for Vacuum Raptor-2 with Smaller Expansion

 


2 comments:

  1. Thx, best breakdown and details i've found on raptor ! I found a minor typo in above "Figure 7 – All the Details in the Performance Block":

    F34: Isp @ max Pc = F34 / $F23 ...
    should be:
    F34: Isp @ max Pc = E34 / $F23 ...

    Regards, LB.

    ReplyDelete