Skip to content

Documentation

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

THIS SECTION IS OUT OF DATE. UPDATES IN PROGRESS.


Using the Tool

  1. Load desired nozzle, propellant, and chamber values into config.ini
  2. Enter mass flow rate (as float) when prompted.
  3. Pray nothing breaks.
  4. Log bugs in the Issue Tracker
  5. Debug ¯_(ツ)_/¯

Features

Implemented features:

  • Command line input
  • Command line output
  • Simulate the system for a single set of parameters
  • Load default engine configurations from a file (.ini)

Intended features:

  • GUI input
  • Graphical output (Graphs and/or visual representations of the system)
  • Simulate the system over a range (for graphs)
  • Load and save engine configurations from/to a file (.ini)

Code structure

Classes

Objects of each class may have user-defined attributes, derived attributes, and/or properties. These designations are only relevant in terms of the code theory for this tool.

User-defined attributes are set when the instance of an object is created, and represent intensive properties like specific heat ratio or density. These attributes are not intended to be modified after an instance is created. All user-defined attributes shall be set by loading values from a configuration file.

Derived attributes are not able to be modified by the user and are defined using other attributes or properties of the object. These attributes allow extensive properties and certain object parameters to be retrieved by a get() method, mostly for convenience. Derived attributes usually define extensive properties like mass or area.

Properties are easily modified by methods or the user. Properties are intended for parameters that are often changed (during an iterative calculation, for example).

Prop

This class defines propellant objects. Each instance has attributes for the gas properties specific to that type of propellant. Gas properties include specific heat ratio k and molecular weight mMol. The propellant specific gas constant R.

Chamber

This class defines pressure chamber objects. Each instance has attributes for the temperature Tc and pressure Pc of the chamber (or at the nozzle inlet). For a cold-gas thruster, Tc and Pc are the same as the conditions of the stored propellant. For a resistojet, this object may contain additional parameters for the temperature and pressure at the inlet, after being heated by a power source.

Nozzle

This class defines nozzle objects. Each instance may be assigned a material density and wall thickness as attributes. Nozzle geometry remains flexible, defined by properties to allow for tweaking. Thermodynamic conditions and exhaust fluid flow characteristics are contained as derived attributes.

Thruster

This class defines thruster objects. Each instance contains a Prop, Chamber, and Nozzle object and computes the overall thruster performance. This class is useful when defining or comparing different combinations of Props, Chambers, and Nozzles while keeping their characteristics separate. This class may also be handy for saving configurations.

Config

The configuration file is config.ini located in the same directory as the tool. The config file is parsed by the ConfigParser module and is formatted as such. (See *ConfigParserExamples for formatting help.)

Each section of the config file corresponds to a class within the main script, and has options that define all user-defined attributes.

Upon startup, the tool creates Prop, Nozzle, and Chamber objects based on config.ini.

Input

command line

Output

save to file graphs raw output

Ae and At are computed/updated upon retrieval


Calculations

For equations and derivations, see Theory.

Anything specific or interesting about how math is performed here? Calculations for arrays are handled by....

Clone this wiki locally