Swordfish

M-420 “Swordfish” is an M-class, liquid bipropellant rocket engine, capable of 420 lbf of operating thrust I developed with a friend of mine in 2024 (Junior year of undergrad). Swordfish is propelled by kerosene and (liquid) Nitrous oxide at a mass mixture ratio of 8.3, pressure-fed by gaseous Nitrogen ullage for a specific impulse of 238s. The thrust chamber implements a numerically-optimized de Laval nozzle contour, an ox-centric, pintle style propellant injector, and a regenerative cooling network. Combustion is initiated by an augmented spark igniter integrated into the injector body.

I used Swordfish as a means to develop my skills related to combustor and test system design/implementation. While Swordfish had no stable static fire tests, the learning process was invaluable and enabled me to proceed with Low Flow Test Stand with confidence.

Test Stand

See AIAA publication on this project.

Thrust Chamber Assembly

Swordfish’s TCA is what makes this project unique. Most collegiate groups that develop regeneratively-cooled bipropellant engines either opt for a chamber saddle-jacket (CSJ) design to enclose the regen circuit, or 3D print the coolant channels integral to the TCA. We decided to instead form the cooling circuit by coupling the diverging and converging sections together using the fuel inlet manifold (below), which provides stiffness and establishes a seal. This design allowed for all components to be fabricated on 4-axis CNC machines.

Nozzle

While I co-designed the TCA, I was solely responsible for the implementation of Swordfish’s test stand. It’s a fairly standard bipropellant test stand, with two prop tanks and the required ullage and prop feed routing. The tanks are pressurized either from a Nitrogen bottle or by Nitrous ullage gas; in either case, the propellant tanks operate at the same pressure, and the downstream hardware was sized accordingly.

I designed my first Main Propellant Valve for Swordfish, four of which made it onto this particular system for engine and spark igniter feed. While predicting pressure drops is useful for first-order approximations, I wanted to allow for more complete control of flow rates. As such, I designed the stand to “supercharge” the Nitrous tank, eliminating the temperature-dependence of ullage. I also implemented two needle valves to fine-tune the flow rates during cold flows.

The control electronics were primitive — an Arduino received signals from a remote laptop that ran a simple user interface, and fed pressure data back to that interface.

As a pedagogical exercise, my friend and I developed an in-house Method of Characteristics script in Python to achieve an optimal nozzle contour. Below are images of the script’s outputs, along with an ANSYS Fluent 2D sim on the nozzle. We designed Swordfish to operate at around 0.5 bar atmospheric pressure (for a flight engine), but ran the CFD at 1 atmosphere to predict the exhaust behavior during ground static fire tests.