HalfCatSim

HalfCatSim is a tool for simulation of nitrous oxide blowdown liquid bipropellant motors using a fuel piston. It is intended to be used in combination with the design principles given on this website so that anyone can create a liquid bipropellant motor both in practice and in theory - most sources will give you one or the other, but we strive to provide a complete solution.

The following is a brief guide to using HalfCatSim. All instructions needed to use the program are embedded in the spreadsheet. Please send any feedback to contact@halfcatrocketry.com or use our contact form.

If you find HalfCatSim useful, please consider donating. A lot of time went into making an easy-to-use simulator backed by real data that allows anyone to design a flyable liquid bipropellant motor with a high degree of confidence.

HalfCatSim v1.3.8 has been released.

See bottom of page for complete changelog

Home Page

The home page gives an overview of the program, as well as a basic index of all the tabs. Please read all of the notifications and warnings, and observe the standoff distance table.

Motor Simulation

The simulation page is the main interface of HalfCatSim. Here you will enter all the parameters of your design and the spreadsheet will automatically output a simulation. It is important to give it realistic and reasonable inputs, otherwise it will break and give garbage results. Oftentimes it will be fail to give a result because something about the engine would not work. Example: If at some point the feed pressure drops below combustion pressure, the calculation will break.

Some cells are “Advanced Settings” as noted in the cells of particular inputs. These may be ignored by less experienced users, but are available for those who want finer control over certain aspects of the simulation.

The back-end calculations can be found in the Math tab, but it is not meant to be interacted with. Since it began as back-of-the-envelope calculations and slowly evolved into a much more sophisticated program, it is built on a very rudimentary calculation system of discrete time-steps that propagate down a large number of rows. It also relies on a lot of hand-waving and approximations in the first few rows to prevent the simulation from becoming unstable and breaking immediately; this is not the most optimal way to do it, but it is one that works quite robustly.

In the top right there is a block for generating a thrust curve. The only values that can be entered in this are the three under the “Thrust Curve” table. These values (the actual diameter, length, and dry weight of your engine) are translated into the rightmost column, which you can copy and paste into a text file with an .eng extension to create a thrust curve that OpenRocket, RockSim, and RASAero will recognize. The units are all drop-downs to switch between English and metric. Sometimes, it is necessary to manually edit the .eng file so that the final thrust value is zero (or else the file may not be recognized).

Please read all of the notes by highlighting the red markers. They explain what each parameter does.

Pressure Vessel

This page is a companion to the “How to Design a Rocket Motor Casing” guide. The PDF on that page goes into great depth on the calculations and has worked examples.

The Fuel, N2O, References, and Isentropic Flow tabs contain reference information that is used by the back-end calculations. You do not need to interact with these. ‘License’ has a copyright statement and version 3 of the GNU General Public License stating that you may freely distribute and modify the program, as long as you attribute Half Cat Rocketry and also make any modifications freely available.


Changelogs

V1.3.8

  • Calculation

    • Further adjusted damping coefficients

    • The program should now be able to handle much lower stiffnesses than previously

V1.3.7

  • Calculation

    • Adjusted damping coefficient methodology to eliminate corner cases where behavior became unusual

    • Numerical oscillations may still be present in chamber pressure and thrust curves; these are not a concern, but they may be mitigated by changing the timestep

V1.3.6

  • Renamed Math to Calculation

  • Calculation

    • Added new damping coefficients to Pc and Thrust (F) to reduce numerical oscillations, especially at low stiffness

    • Enforced the timestep at 0.01s for the first 15 iterations to implement damping mitigations during the startup

V1.3.5

  • Motor Simulation

    • Broke Isp out into ‘Start’ and ‘Cumulative. Start is the same as past versions, displaying Isp at the beginning of the burn. Cumulative displays Isp for the entire burn (total impulse divided by propellant weight).

V1.3.4

  • Math

    • Fixed dP calculation so it includes the Cv pressure loss now (was only taking line loss)

V1.3.3

  • Motor Simulation

    • Finally actually for real fixed the thrust curve generation. It now works properly in all cases.

    • Fixed issue with burn time not being able to accurately figure out when burnout occurs

    • Added Cv input field for adding valves, etc which calculates to a dP. Only has one input (one component) for now, but will be expanded later

  • Pressure Vessel

    • Rearranged modules

    • Added thrust chamber clamping force calculator for chambers like Mojave Sphinx

  • Changed all fonts to Bahnschrift SemiCondensed

V1.3.2

  • Motor Simulation

    • KNOWN ISSUE: Thrust curve generation is still not giving the last value correctly (it should have a time value along with the zero thrust)

    • Added stiffness and pressure delta for fuel

V1.3.1

  • Motor Simulation

    • Fixed bug in thrust curve generation so that it correctly sets the propellant and empty masses

    • Minor quality of life changes

V1.3.0

  • Home page

    • Removed reference to the Tripoli Research Safety Code

    • Added standoff distance table

  • Pressure vessel

    • Fixed minor error in screw tear out calculation

    • Changed all “safety factors” to margins of safety for yield and ultimate strength

  • Motor Simulation

    • Many results are now in imperial units by default, but have dropdowns to pick between imperial and metric units

    • Altitude no longer rounds to the nearest 500 ft, and will work for any altitude

    • Ambient pressure calculates at any altitude

    • Added nozzle half-angle as an input to correctly account for the cosine loss of a nozzle

    • Added contraction ratio and L* as results under the Combustion Chamber block

    • Swapped tank inner diameter inputs for wall thickness, and made ID an output instead

    • N2O temperature is now available in 1°F increments

    • Added decay constant inputs for liquid and gas phase to help with data anchoring

    • Fuel choices now include:

      • Isopropanol

      • Ethanol

      • E98

      • E85

      • Diesel #2 (kerosene)

      • Acetone

      • Toluene

      • Meowjave Green

      • Methanol

      • Nitro 50-50

    • Added feed system blocks for both propellants as an advanced setting to calculate line losses

    • Made injector hole diameters a dropdown of available drill bit sizes, since most users were looking up this table anyway

    • Annulus element input now multiplies by element number

    • Added oxidizer vent block to estimate the fill time of a rocket, depending on tank size and temperature

    • Burn time now counts to when mass flow has dropped off to near zero

    • Added tank O:F ratio result to show how closely matched the loaded propellant masses are to the injector

    • Motor classification now correctly uses the average thrust value

    • Added unit converter blocks

  • Math

    • Added columns for calculating line pressure losses

    • Changed thermochemistry model to directly pull c* from CEA data

    • Several downstream effects from this, and anchors better to Mojave Sphinx test data

  • Propellants

    • Separated N2O and Fuel tabs since information about both propellants grew substantially

    • N2O now includes data for both liquid and gaseous phases in 1°F increments

    • Fuel now includes c* data