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
exception. Some 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
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
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":
ReplyDeleteF34: Isp @ max Pc = F34 / $F23 ...
should be:
F34: Isp @ max Pc = E34 / $F23 ...
Regards, LB.
Thanks. I fixed it. -- GW
DeleteThanks for your hardwork in explaining everything. Is the excel file available?
ReplyDeleteYes. I have an even easier version to use, now. Where should I send it? -- GW
Deletefelix375@gmail.com Thank you very much. I am really interested in the reversing part of the file that you mentioned. I don't think I've seen that anywhere else.
DeleteIs the excel file available? lawrence@pyralink.co.za
ReplyDeleteI actually have a better version now available. Where should I send it? To the signature name that looks like an email address? -- GW
ReplyDeleteCould I get the excel file? Email is lptocco@gmail.com
ReplyDeleteI'll send the latest version.
Delete