-
Notifications
You must be signed in to change notification settings - Fork 3
Documentation
- Load desired nozzle, propellant, and chamber values into
config.ini - Enter mass flow rate (as
float) when prompted. - Pray nothing breaks.
- Log bugs in the Issue Tracker
- Debug ¯_(ツ)_/¯
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)
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).
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.
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.
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.
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.
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.
command line
save to file graphs raw output
Ae and At are computed/updated upon retrieval
For equations and derivations, see Theory.
Anything specific or interesting about how math is performed here? Calculations for arrays are handled by....