Skip to content
Philip Linden edited this page Jul 20, 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 project proposal for this project calls for the design and fabrication of 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 and 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.

Let me see the math!

See Theory.

Clone this wiki locally