The image shown is the image of the spreadsheet I have been using recently to evaluate multi-burn performance of rocket vehicles. The specific one illustrated is that used for analyzing the Spacex “Starship” on a direct-landing moon mission, with direct return. It is the same spreadsheet layout as was used to analyze that vehicle on a two-way Mars mission. That Mars article is 6-21-2020 “2020 Starship/Superheavy Estimates for Mars”. The lunar trajectory delta-vee (dV) data came from 7-3-2020 “Cis-Lunar Orbits and Requirements”. The moon mission analysis is 7-5-2020 “2020 Estimates for Spacex’s “Starship” to the Moon”.
The spreadsheet has a block of weight-statement reference data above the main calculation block. These weight statements apply to the outbound and return legs of the mission. Only the yellow highlighted items are inputs. That is because the inert structural mass and loadable propellant mass do not change. The dead-head payload mass does not have to be the same during the return as it was during the outbound voyage, so it is an input. The pre-calculated items are highlighted tan.
Return leg items D3 (an identifier), E3 (inert structural mass in metric tons), and G3 (propellant max load in metric tons) are set equal to outbound leg inputs D2, E2, and G2, respectively. The ultimate outbound ignition mass in H2 is the sum of E2 and F2 and G2. Similarly, the ultimate return ignition mass in H3 is the sum of E3 and F3 and G3. The ultimate “dry tanks” masses in I2 and I3 are the sums of E2 and F2, and E3 and F3, respectively. All masses are metric tons.
This vehicle has a mix of two different engines, a vacuum design and a sea level design. The sea level design has both sea level and vacuum performance, the vacuum design has only vacuum performance. The performance index is specific impulse (Isp) in seconds. Values are input for the outbound leg, and they do not change for the return leg. Those values are merely set equal to the outbound values.
For the main calculation block, row 6 contains the headings. The input kinematic dV values (km/s) are in column C, rows 7 through 12, highlighted yellow. In this analysis, each leg of the voyage has a departure burn, a course correction burn, and a landing burn. The “jigger factor” factors which multiply these dV values are located in column D, rows 7 through 12. All of these are actually user inputs, though not all are highlighted yellow in this image. The mass ratio-effective dV values (km/s) are in column E, rows 7 through 12. E7 is D7 multiplied by C7, E8 is D8 times C8, etc.
The engine selections and performance values are given in columns F, G, and H, rows 7 through 12. The names and Isp values are actually user inputs and should be highlighted yellow, although these are not in the image. The names should match the identifiers in row 1, items J, K, or L, as appropriate. The Isp values should match row 2 / J through L as appropriate for the outbound leg, and row 3 / J through L as appropriate for the return leg. For this model as illustrated, the orbit departure and course correction burns, plus the takeoff from the moon, are all done with the vacuum engines. The two landings require the thrust vectoring available only with the sea level engines, despite their being used in vacuum on the moon, and at sea level on Earth. The exhaust velocity values (km/s) in column H, rows 7 through 12, are all computed from the Isp data in column G. That computation is Vex = 9.80667*Isp/1000. It is done by rows: H7 = G7*9.80667/1000., H8 = G8*9.80667/1000., etc.
It is the individual-burn ignition weights in column I, rows 7 through 12, that allow one to tailor this model between refueled or unrefueled missions. For the outbound leg, it is presumed the vehicle departs fully fueled from LEO. Thus I7 must be set equal to H2. The velocity ratios in column J are simply the factored dV data in column E divided by the exhaust velocity data in column H. This is done row-by-row: J7 = E7/H7, J8 = E8/H8, etc. The mass ratio data in column K for each burn are the base-e exponentials of the velocity ratio data in column J, done row-by-row: K7 = EXP(J7), K8 = EXP(J8), etc. The mass at end-of-burn data is in column L. This is the burn ignition mass in column I, divided by the mass ratio data in column K, done row-by-row: L7 = I7/K7, L8 = I8/K8, etc.
The “trick” is in the details of how the burn ignition mass data in column I are computed. For the unrefueled lunar mission shown, the ignition mass for the burn at hand is the previous end-of-burn mass, all the way down to row 12: I8 = L7, I9 = L8, etc, with one exception. The ignition mass for the return leg launch must reflect the return payload, not the outbound payload. Thus I10 is not just L9, but is I10 = L9 -F2 + F3, which subtracts the outbound payload F2 from that weight statement, and then adds in the return leg payload F3 from that weight statement.
For the Mars mission, which is presumed to be fully refueled on Mars before its return launch, you set the launch burn ignition mass in I10 directly to the ignition mass H3 in the return leg weight statement: I10 = H3. Doing the “right thing” with return launch ignition mass is exactly how one refuels-or-not, and what payload one carries. That is the utility of having the weight statements as a closely-adjacent reference data block.
For each burn, the change in mass from ignition to end-of-burn is literally the mass of propellant used to make that burn. Propellant increments used are in column M, done row-by-row: M7 = I7 – L7, M8 = I8 – L8, etc. What one wants to book-keep is propellant-remaining, which would be the propellant mass you started with, minus the sum of what you have used so far. This is the blue-highlighted data in column N. When that number goes negative, you have tried to use more than what you had available. The analysis becomes infeasible, and you can tell exactly at what point in the mission this infeasibility sets in. The most straightforward way to adjust this outcome is to adjust that leg’s payload in the corresponding weight statement.
For the lunar mission, which is unrefueled on the moon, you model the Earth departure burn in row 7 by setting propellant remaining N7 to what you originally started with G2 less what you just burned M7: N7 = G2 - M7. After that, you just use the previous propellant remaining value and subtract your current usage from that: N8 = N7 - M8, N9 = N8 – M9, etc, all the way down to row 12. For the Mars mission, you launch the return leg fully fueled, so you set propellant remaining after the first burn N10 to what you start the leg with G3, less what you just used M10: N10 = G3 – M10. Otherwise, the recursion pattern is the same.
I put a little calculation block out to the right to investigate the sensitivity of these results to the inert mass in the weight statements. The inert mass as it is in Q6 gets set to E2. You set a lower revised inert mass in Q7. The difference Q6-Q7 is the change in non-propellant mass. Payload mass as it is in Q9 gets set to the weight statement value F2. What the payload could become is its current value plus the difference in inert masses: Q10 = Q8 + Q9. These numbers apply to the outbound voyage, and only have physical meaning if that outbound voyage shows as feasible (positive propellant-remaining values in column N, specifically N7 through N9).
If you need to model more than 3 burns per leg, insert more rows. Remember, the modeling controls for refueling-or-not, and what payload you carry in each leg, are in the initial-burn selections for ignition mass, and for propellant-remaining, for each leg. The modeling controls for what engine performance to use are in those columns. The rest is nothing but a straight recursion of cell updates down each column.
Update 7-6-20: This is what the spreadsheet looks like when I clean it up, make it run two cases in the one worksheet, and include all the instructions and notes upon it. It is in effect its own user’s manual, and a template for all sorts of analyses. What one should do is copy this to another worksheet, then edit that copy’s inputs to represent the analysis you want to run. Keep this one as a template.
The first case is departure from circular low Earth orbit (LEO) at 300 km altitude with “Starship”, to a direct landing that is an out-of-propellant stranding upon the moon. You can tell by the negative numbers for propellant remaining for the return trip burns, with only a small fraction of a ton remaining upon landing on the moon. One iteratively inputs payloads until that criterion is satisfied: fractional-ton propellant remaining at whatever condition is the end-of-mission. The payload carriable in this scenario is considerable, but the vehicle is lost: this is a one-way trip! Very unattractive for a vehicle design whose two major attractive characteristics are (1) its large payload size, and (2) its low cost because of its reusability.
The second case departs from elliptic LEO (300 x 1400 km altitudes), and is actually able to return all the way to direct Earth entry and landing. You can tell by the positive fractional-ton remaining propellant after the Earth landing. This is a two-way trip, but the return payload is restricted to zero in order to maximize payload brought to the moon. Unfortunately, the delta-vee demanded of the round trip is just too high, resulting in a rather trivial payload-to-the-moon capability. Reducing the inert mass (120 metric tons) to goal levels (100 metric tons) does not change that outcome all that materially-much: payload is still too small to be attractive.
The message from comparing these two cases is that the delta-vee requirement demanded of the design must reduce further still. That is the biggest difference between the two missions shown. Either this vehicle should deliver payload into lunar orbit instead of the surface, or else a far more elliptical LEO is needed, to decrease the departure delta-vee further. That last would incur an apogee well into the dangerous Van Allen radiation belts, while in elliptic LEO. It also reduces the payload the vehicle can carry to LEO.