Skip to content
Philip Linden edited this page Jul 21, 2016 · 22 revisions

Introduction

Small satellites such as CubeSats require propulsion systems in order to perform orbital maneuvers in Low Earth Orbit (LEO), and the average lifespan of a CubeSat in LEO at an altitude of 400 km is about 4 years. The mission lifetime of such vehicles could be extended by years or even decades given the ability to execute short maneuvers which compensate for orbital decay. A delta-V impulse of roughly 100-300 m/s is sufficient to prolong a CubeSat’s orbit or deorbit the craft from LEO. RIT Space Exploration is pursuing a project which requires a 100 m/s impulse in LEO.

A resistojet is a method of propulsion by which an inert gas stored at ambient temperature, a.k.a. a “cold-gas,” is released from a pressurized vessel (or driven by a pump) is heated by an electric heating element before being expelled out of a nozzle. This system, known as an electrothermal rocket engine, is advantageous for use by small satellites since the engines may be small in size, have few moving parts, and do not use combustible fuels. Resistojet engines produce less thrust than chemical rocket engines, but are more efficient, do not require ignition, and are easy to store for long periods.

The end goal for this project is to design and fabricate a resistojet electrothermal engine (using air or helium as fuel) for use by a 1U or 3U CubeSat, with preference to 1U, and a test stand to quantify the performance of the engine.

This tool

The thruster's nozzle, propellant, and chamber conditions each have a huge impact on performance. The fluid mechanics that model engine effectiveness are pretty complicated, unfortunately. The purpose of this script 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.

Scope

  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.

Documentation

See Documentation.

Miscellaneous

This section of the wiki is reserved for other concepts or rationale regarding the intent or purpose of this tool (and other meta).

Why 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.

While Matlab, Mape or Mathematica are just as capable to do this, I intend to write this script in Python. 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.

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!

See Theory.

Clone this wiki locally