Skip to content
Philip Linden edited this page Oct 1, 2016 · 22 revisions

Introduction

It's a tricky business to make things move in space. One method of spacecraft propulsion is by releasing a pressurized gas through a converging-diverging nozzle, called a "cold-gas" thruster. Other methods extend this idea by heating the propellant gas before it reaches the nozzle, such as resistojet and arcjet thrusters, and even combustion rocket engines utilize converging-diverging nozzles. The fluid mechanics that model engine performance are pretty complicated and time-consuming to do by hand.

The purpose of this Thruster Design Utility (TDU) is to make it easy to see how tweaks in nozzle geometry, propellants, and chamber conditions affect performance in order to find the optimal design solution of a spacecraft thruster.

Currently TDU only supports the design of cold-gas thrusters, but may be extended to include heat transfer models and more complicated chamber conditions.

Objectives

  1. Simulate the performance of a thruster in space for a given set of parameters and output performance metrics.
  2. Output simulation data in a useful manner.
  3. Allow the user to easily tweak parameters.

See Features in Documentation for a complete list of implemented and intended features.

How was the math verified?

Output values such as Mach number, temperature ratio, pressure ratio, etc. were verified by running the program for Air at STP and comparing the results to NASA Report 1135.

Which language(s) will be used?

Python

When approaching engine design, especially with respect to the nozzle, there are many interconnected mathematical relationships that must be considered, and changing one parameter is not always trivial. A script is perfectly suited to perform this job: given a set of inputs that may be varied, compute nozzle performance characteristics.

Python is free, cross-platform, and extensible. For this project, I'll utilize WinPython 3.4.4.2 which includes SciPy, NumPy, SymPy, and matplotlib libraries.

Matlab

I am most proficient in Matlab, so it is used to initially write and verify the math. I intend to port the math to Python when it is verified and complete.

Visual Basic

A GUI is easy to make in Visual Basic, so explorations into UI are made there. Once a good idea of GUI is blocked out in VB, I intend to look into GUI creation with Python and use lessons learned from VB to make a Python GUI. Additional advantages to using VB include packaging it in a single .EXE.

What about electric propulsion?

I do not intend to argue that a cold-gas thruster is the most efficient propulsion method for satellites, especially small ones. A cold-gas or resistojet thruster does have key advantages, though.

  • Materials and components are relatively cheap and readily accessible. As demonstrated by this project, they're relatively easy to design and fabricate as well.
  • Non-volatile, non-toxic, inert propellants may be used. Safety first.
  • Thrust is greater than an electric (hall-effect or ion) engine, and may be throttled.

Let me see the math!

Here you go!