I have illustrated the fundamentals of making a TSTO launch
design-sizing calculation as two figures.
This is for an eastward launch at low inclination, to a typical circular low Earth orbit
(LEO). The first figure shows the
trajectory and how the delta-vees (dV’s) are estimated. It also shows a sketched free-body diagram, and the associated Newton’s 3^{rd}
Law solution for vehicle acceleration,
at 3 typical points coming up the trajectory. Typical loss factor estimates are also shown.

** Update 6-21-2023:** made slight corrections to this first figure to make the acceleration formulas accurate, with only the sine component of weight resisting thrust. That sine function is of the path angle above horizontal.

The trajectory during the second stage burn is exo-atmospheric, and very nearly horizontal, so that (1) there are little in the way of losses
to cover, and (2) the thrust can be much
smaller and still get good acceleration in a reasonable time, because the weight statement is
different, with much smaller numbers. If the burn reaches the value estimated for “surface
circular LEO speed”, before reaching
orbit altitude (as often happens), then
the second stage coasts onward to orbit altitude, and makes a small circularization burn
there. That circularization burn is quite
modest, on the order of 100 m/s = 0.1
km/s.

The gravity and drag losses are percentages based on __surface
circular orbit speed__ as a measure of the total mechanical energy needed to
attain orbit speed (kinetic energy) at orbit altitude (potential energy). These losses get applied almost entirely to
the first stage burn. As a “ballpark”
configuration sizing tool, they __all__
get applied to the first stage burn. At
most, there is a __distinct minority__
of the gravity loss, that might apply to
the second stage (maybe 10% of the estimated loss).

The dV required of stage 1 is thus the staging velocity Vstg
plus the sum of the gravity and drag losses.
The dV required of stage 2 is the burn value dV2 plus the
circularization burn dV, where the dV2
burn value is the __surface circular orbit speed__ less the staging
speed.

Typically, in first
stages we are looking at denser propellants to reduce aerodynamic drag losses
and inert tankage weights at large contained volume, with reduced specific impulse (Isp) capability. We are also looking at engine bells sized for
sea level expansion, which also reduces
Isp capability a little further. That, plus shouldering all the losses, means the staging velocity falls __well short
of halfway to orbit speed__, in any
practical design.

Typically, in second
stages we can use lower density propellants without incurring extra drag loss
and inert tankage weights, because the
total propellant mass quantities are far smaller than those in the first stage
(which has to lift the entire loaded second stage as its “payload”). Plus,
the engines can be “vacuum-optimized” (although in reality there is no
such thing, there are only engine bells
that fit within the allowable room),
which makes specific impulse capability a bit better than the sea level
designs.

This allows the second stage to shoulder the great majority
of the total dV required to reach orbit,
as the second figure illustrates.

Once you have determined which propellants each stage will
use, and what numbers of appropriate
engines, thrust levels per engine, and sea level or vacuum bells, you have some idea of the average Isp
capability (and thus the effective exhaust velocity Vex = gc*Isp) of each of
the two stages. From there, the remaining significant variable to set, is the staging velocity Vstg. You run iterative calculations at various
Vstg values to maximize your overall payload fraction at the “best” staging
velocity Vstg. As noted in the
figure, there is NO SINGLE rocket
equation calculation to give you that answer!
It is an inherently iterative search,
__and the result is unique to every design__!

Adding recovery and re-use of stages complicates this
analysis further, and by a huge
amount. You must have at staging
sufficient unburned propellant still aboard the first stage, to support whatever kind of re-entry procedure
and landing scheme that you have in mind.
That will reduce the “optimal” Vstg value, and cause the second stage to “shoulder” more
of the overall dV, driving its required
mass ratio MR higher (thus reducing stage payload fraction). Every design is unique! Those details are beyond scope here.

There is no way to recover and re-use second stages, __except to turn them into fully
re-entry-capable spacecraft, capable of
landing by some means__! This also
involves some amount of unburned propellant still aboard upon reaching
orbit, to support the return flight
operations. That reduces ignition
payload fraction further, causing such
designs to be attractive only in larger sizes,
where there is an economy-of-scale effect. This is also beyond scope here.

If you choose a liquid core with solid strap-on boosters as
your first stage, the odds are very low
that the solids will burn out at the same time as the liquid first stage
core. In that case, you break the first stage burn into two
burns. The first uses a __thrust-averaged
Isp__ for the solids and liquid burning simultaneously. The second uses a liquid-only Isp, and deletes the inert weights of the solids
from its weight statement. Again, that complication is beyond scope here.

The main point of this discussion is that the notion of a
single rocket equation calculation, representing accurately all of the things that
must figure into a two-stage ascent, is
utter nonsense! The rocket equations are
separate for the two stages, with
different Isp’s and different weight statements, and these must be iteratively re-done until
overall payload fraction is optimized at the “best” staging speed.

*There is NO general rule-of-thumb here, not even for simple expendable
two-stage-to-orbit (TSTO) designs!*

__Update 6-24-2023 with Addendum 1__:

This is what is important to TSTO launch, and when it is important. ** The rocket equation always
applies, BUT, the dV it predicts is irrelevant if your
thrust is insufficient to accelerate along the path (everything is “eaten up”
by gravity loss, in that case).** Newton’s 3

^{rd}Law lets you determine whether your pathwise acceleration is adequate or not.

Staging typically occurs just exo-atmospheric, at a rather low path angle, and at a velocity only about 20-35% of the
total velocity the launch vehicle must achieve.
It usually is about 2 km/s, which
is about 25% of orbital velocity at 8 km/s. It is set to maximize the payload fraction out
of a design concept.

The first stage shoulders virtually all the losses, and has the highest thrust requirement, since it must push the heaviest weight up
vertically against drag. If the first
stage dV requirement is modest, one can
afford lower Isp levels in order to get the acceleration required, with simple raw thrust, per Newton.

The second stage has no drag loss and virtually no gravity
loss. The path is nearly
horizontal, so the path-wise weight
component is very small. And with the
first stage separated, the mass that
must be accelerated is very much smaller.
The second stage has a very low thrust requirement, but must supply the larger dV. *So the highest-possible Isp is critical
to second stage designs.*

__Update 6-26-2023 with Addendum 2__:There’s basically 2 cases to consider for book-keeping
payload items: the payload within an
ascent shroud, and payload carried by a
recoverable item (a capsule or an entry-capable spacecraft):

Weight statements are made up of inerts and payload, which sum to stage burnout; plus propellant, which sums with burnout to ignition. Jettisoned payload shrouds are generally
counted as part of the upper stage inert.
A recoverable item is not. The
entire loaded upper stage is the “payload” for the lower stage.

If the upper stage still burns after the shroud is
jettisoned, that has to be a
separately-computed rocket equation calculation, using a separate (and different) weight
statement that __zeroes the shroud from the inert__, __and only has the remaining propellant
aboard the stage__. That portion of
the burn before shroud jettison uses the weight statement with the shroud
included in the inert, __but expels
only that propellant which is used up to the jettison point__.

This complication is not an issue if the payload is contained inside a recoverable item. The recoverable item plus the contained payload is the “payload” carried by the upper stage.

Here’s a summary of things that make up weight statements:What is needed to estimate performance with the rocket equation is the effective exhaust velocity Vex of the propulsion. This is not the actual expansion velocity coming out of the nozzle, although it is similar in magnitude. It is estimated from the specific impulse Isp as Vex = gc * Isp, where gc is the standard acceleration of gravity. There are “delta-vee” values (dV) associated with the launch trajectory. Suitable values of dV and Vex, and a mass ratio MR from the weight statement, are related by the rocket equation: dV = Vex LN(MR), where MR = ignition mass/burnout mass. The real “trick” is getting the right dV values to use, from the launch trajectory, including the effects of real-world losses:

The rocket engine produces thrust with a propellant flow
rate drawn from the tanks. It does that
by expanding the hot gases through a convergent-divergent nozzle, that has a suitable bell expansion
ratio.

Where the atmospheric backpressure is high, expansion potential is more limited, and the thrust is less. The same pump system and combustion chamber
rig can “drive” a bell with larger expansion and thrust, with the same flow rate, out in vacuum.

The usual design for a first stage features “perfect
expansion” to sea level-equivalent expanded pressure, exactly matching the ambient atmospheric
pressure. That same nozzle generates
somewhat more thrust as one flies out into space, because the backpressure term that reduces
delivered thrust goes to zero.

It is possible to design the nozzle (with the same chamber)
at some intermediate altitude for perfect expansion. That will raise the thrust out in vacuum a
little higher than the sea level version,
but the thrust at sea level will be lower than the sea level design. That is usually unacceptable for liftoff.

There really is no such thing as a truly “vacuum-optimized”
nozzle design, which would imply an
infinite expansion to zero expanded pressure.
The size of the exit area and length of the bell would be infinite. *The max dimensions of the bell are
actually set by what will fit in the allowable space at the rear of the stage.*__That__ is what is termed a “vacuum-optimized”
design, but that is really a
misnomer. It is merely the max expansion
that meets the limited space constraint into which the engine must fit.

These “vacuum-optimized” designs have significantly-higher
vacuum thrust because of the greater expansion. They would have a very low sea level thrust
due to a very large backpressure term (driven by the large exit area), except that such designs will usually suffer
flow separation (and thus not produce any significant thrust). __You cannot operate with a separated
bell: the engine will self-destruct__. Clearly the compressible flow “ballistics” of
the nozzle expansion are the main factor driving performance:

The specific impulse Isp = F_{th}/w_{tot}, where w_{tot} is the total propellant
flow rate drawn from the tanks. Isp must
be based on w_{tot} to be consistent with the mass ratio calculations
used in the rocket equation. Unless
there is no pump drive gas dumped overboard,
w_{tot} and the nozzle flow rate w_{noz} are __not the
same__. If the dumped pump drive gas w_{bleed}
is nonzero, as it is in some engine
“cycles”, then the cycle can be
represented easily enough by the bleed fraction BF = w_{bleed}/w_{tot}. This can be used to determine the total flow
from the nozzle flow coming from the nozzle ballistics: w_{tot} = w_{noz}/(1-BF).

There are some cycles that have no pump drive gas dumped
overboard. All the flow, including the pump drive gas, ends up going through the nozzle. For these cycles, just use BF = 0.

The calculation starts with an estimate of the nozzle
kinetic energy efficiency η_{KE} from the average bell half-angle. This models the average of the
cosine-component factors for the exiting streamlines that diverge off the
centerline axis. There is no measurable
friction loss in a proper nozzle design.

For a given chamber pressure, one chooses the appropriate expanded pressure
value Pe, and forms the pressure ratio
PR, and from that the temperature ratio
TR, as shown just above. Expanded Mach number Me can be computed from
TR, as shown. Using TR and Me, find the expansion area ratio Ae/At, as shown.
This procedure works “once-through” for sea level (or any nonzero Pa)
nozzle designs.

If instead a desired Ae/At is the given requirement, then just iterate this very same computation procedure
over several values of Pe to find the one that gives you the desired
Ae/At. That iterative procedure works
for all vacuum designs, where it is the
size of Ae that is your design constraint.

These computed Me,
Ae/At, Pe, and Pc values get used to compute the vacuum
thrust coefficient C_{Fvac}.
That plus the Pa, Pc, and Ae/At values of the backpressure
term, combine as thrust coefficient C_{F}
at Pa.

There is some thrust requirement F_{th} associated
with some backpressure value Pa. Find
the C_{F} for that Pa, and plug
it, the Pc, and the F_{th} value into the thrust
equation F_{th} = C_{F} Pc At,
which sizes the nozzle throat area At,
and then with the Ae/At value, also
sizes the nozzle exit area Ae. However,
if you are using the gas generating item from another calculation for
this one, you will want to keep the At
and sized flow rate values of that other case.
In that case, iteratively adjust
the required F_{th} value at its Pa value, until the desired At and flow rates are
obtained.

So far the only thing dependent upon the propellant
combination is the gas specific heat ratio γ, and that dependence is very weak (nearly all
rocket gases have γ ~ 1.20). Once the
nozzle throat area At has been sized,
the __propellant combination__ gives you a chamber c* velocity as an
empirical function of Pc, and then the
nozzle flow rate equation w_{noz} = Pc C_{D} At gc/c* lets you
determine w_{noz}.

Your engine cycle gets modeled with the BF value. Using it,
we have w_{tot} = w_{noz}/(1-BF). Then,
the __specific impulse that is consistent with the rocket equation__ is
just Isp = F_{th}/w_{tot}.

Or looked at another way,
Isp = [C_{F} c* (1-BF)] / [gc C_{D}].

The only thing about Isp that is truly sensitive to the
propellant combination (and only the propellant combination) is the c*
value. The rest is all coming from the
compressible flow ballistics of nozzles,
and Isp is __very sensitive__ to that.

*Doing the nozzle ballistics from a c* value is the
only way to get a reliable Isp for your propellant combination, as used with a specific nozzle design. *

Tabulated values versus propellant combinations reflect only
some Pc level (yours may be different),
with a perfect nozzle efficiency η_{KE} = 1.000 (about 1 or 2% too
high, usually), and either sea level Pe expansion, or expansion to a specified Ae/At value in
vacuum (where your Ae/At in vacuum may be different). They are therefore inherently some significant
percentage off, as a result. Further, a lot of reported Isp data are based on w_{noz}, not w_{tot}, which introduces a overestimating error of
the same size as the cycle BF! While
calculating corrections is possible,
just doing the scratch ballistics is just as easy, and far more reliable.

Now, if you know how
to do this for yourself, then you can
tell if __someone else’s__ performance prediction software is feeding you
“garbage” instead of “good stuff”. But, if you __don’t know how to do this__, you will never know “garbage” from “good
stuff”. Remember: with computers, it’s GIGO (“garbage in, garbage out”). Computers process bad numbers just as readily
as good numbers. It all looks the same.

Some typical values:

Conical bell, 15 deg half-angle..........η_{KE}
= 0.98296

Curved bell 18 & 8 deg half
angles....η_{KE}
= 0.98719

Well-made throat with smooth
profile..C_{D}
= 0.99 to 0.995

“typical” rocket gases..........................γ ~
1.20

Modeling c* variation with pressure....

.....delivered
c* = K Pc^{m} where m ~ 0.01

.....use a K & m curve fit from real test data

.....includes
c* efficiency = c*/c*^{o}, generally 0.95+

__Update 6-27-2023 with Addendum 3__:The c* value has the units of velocity, and can be calculated from chamber temperature
as chamber gas properties. These are
reported as theoretical values from thermochemical methods or programs (of
which the NASE ODE code is considered to be the “gold standard”).

c* = [ (gc
R Tc/γ)(gfactor
^{exponent}]^{0.5} where
gfactor = (γ
+ 1)/2 and exponent = (γ + 1)/(γ – 1)

However, ** no
rocket ever delivers the theoretical value of c*,** all have some experimental c* efficiency η

_{c*}= c*/c*

^{o}, where c*

^{o}is the theoretical thermochemical value. Typically, these efficiencies are in the vicinity of 0.95+,

__and they vary with pressure as a power function__, as does c*

^{o}itself, using a function of the form

c* = K Pc ^{m} where
the exponent m is usually on the order of 0.01

As a result that function can be used to correlate actual
delivered c* from real engine test data.
Once obtained, this c* value at
the chamber pressure Pc, goes into the
nozzle flow rate equation:

w_{noz}
= Pc C_{D} At gc / c*

In the case of a liquid engine test (or tests), you literally measure the propellant flow
rates fed to the engine, and you measure
the bleed flow rate with a metering orifice and pressure transducers, if there is bleed. You also have a precise before-and-after
measurement of the throat diameter, so
At is known. The gc item is just the
standard Earth gravity acceleration, so
the only other item to quantify is C_{D}. You need a separate flow calibration result
to quantify that as precisely as possible,
although well-designed nozzles have C_{D}’s that fall in the
0.990 to 0.995 range, usually. (A simple drilled orifice operated choked is
closer to C_{D} = 0.80.)

You simply plug in the flow rates, Pc values,
and your At, your C_{D}, and the gc factor, and solve for the corresponding c*. You do that for a lot of tests at a lot of
different Pc values. Then you correlate c*
versus the various levels of Pc, and then
least-squares curve fit that data set with the power function given above. If you do all this correctly, Pearson’s r^{2} parameter will always
exceed 0.99.

Solids are different,
in that there is ** no way to directly measure the instantaneous mass
flow rate**. Under the assumptions
that c* and At are never far from their average values for the test, and that the test design is such that Pc is
crudely constant, the time integral of
the nozzle mass flow equation yields these results, which can be solved for the average c* and
average Pc:

∫w_{noz}
dt = η_{exp}
Wp = [C_{D} At gc/(avg c*)][∫Pc dt]
and (avg Pc) = [∫Pc dt] / t_{B}

where η_{exp} = expelled weight divided by the loaded
propellant weight Wp (which implies a defined weighing configuration), and C_{D} and At are their
best-estimated average values.

A test motor configuration without significant “sliver” is
required for this easily. Most of those
are simple cylindrical segment internal burners. Sizes from about 6 inch diameter on up
usually get c* data that correlate very well indeed with full scale
motors. Smaller ones do not correlate
very well. 2-inch burn rate motors are
essentially useless for correlating c*,
although they are quite good for correlating burn rates.

Again, you correlate
avg c* vs avg Pc, and least-squares
curve-fit the data set with the power function.
Also again, Pearson’s r^{2}
parameter will exceed 0.99 if you do this carefully enough.