A Python library for rocket engine simulation and design.
Project description
Pyskyfire is a simulation framework for regeneratively cooled, liquid propellant rocket engines.
Description
Pyskyfire is an open-source python package, meant as an alternative to RPA, NPSS, ESPSS and other regenerative cooling and engine cycle analysis software. It is however a work in progress, and no responsibility for the results of this program can be provided.
The first iteration of pyskyfire was written as part of the master thesis of Ask Haugerud Hovik, which can be read here. The motivation to start writing the software came purely from a curiosity standpoint and from an innate wish to spread the understanding of rocket engines and propel us further into the space age. Please use this software responsibly and make sure you, your team memebers and everyone else stay safe in your rocket engine endeavours.
Program Capabilities
Features of pyskyfire include thrust chamber chemical equilibrium analysis, multi-pass regenerative cooling, thrust chamber contour generation, pump and turbine utilities, and full rocket engine cycle analysis.
Regenerative Cooling
A cornerstone of pyskyfire is its built-in regenerative cooling solver. The solver supports multi pass regenerative cooling with multiple propellants. Here demonstrated is the one-and-a-half pass cooling arrangement of the venerable RL10 engine.
Coolant Pressure
Coolant Temperature
Wall Heat Flux
Wall Temperature
In addition, multiple propellants can be used as coolants in the same thrust chamber, and multiple wall layers can be added, simulating such things as thermal barrier coatings.
Multi-Pass, Thermal Barrier Coating Example
Estimate of Temperature Profile
Contour Generation
Pyskyfire can generate optimal contours using either a "Rao" nozzle or a conical nozzle.
Bell Nozzle Example
Aerothermodynamic Properties
The aerothermodynamic properties of the hot gas as it moves through the nozzle is predicted by the program, either using Cantera or NASA CEA.
Full Cycle Analysis
By combining built-in modules for pumps and turbines, the whole engine cycle thermodynamic state can be predicted. Here compared with the RL10 cycle.
The whole engine can be represented in an engine network, and through the use of PT-diagrams.
Engine Network Example
Methane-Side Path
Oxygen-Side Path
Engine Visualisation
The engine cooling channels can be visualised in 3D, with interlacing between different cooling loops, and inner and outer wall of each cooling channel rendered. Cross sections through any plane of this render can also be made. Here, the RL10 with its semicircular cooling channels is shown
Installation
The package is available on PyPI, and is simply installed with
pip install pyskyfire
Contributions
The pyskyfire project started as my master thesis, but it is now out in the open. I would love for other students and professionals to contribute to pyskyfire. If you are interested in propulsion, is great at coding, and want to use simulation as a path for learning about rocket engines, please reach out.
Getting Started
The documentation and examples for pyskyfire is still under construction. Currently, the best way to learn how to use the package is to look in the examples/ and validation/ folders and study the different cases. In particular, validation/regen_vali/RL10_simulation/RL10_simulation_cantera.py is a good place to start.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyskyfire-0.2.1.tar.gz.
File metadata
- Download URL: pyskyfire-0.2.1.tar.gz
- Upload date:
- Size: 109.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ca82002fc202305e4743845d49b67b41f5a3ca037fdceac523f07e8e9250dce
|
|
| MD5 |
b288e4b06a6ba53d9672df0c5343bf7e
|
|
| BLAKE2b-256 |
684600331bbc4515d2d400894fd8f6d4cd4b67d7029e58cd95a58d970b573068
|
File details
Details for the file pyskyfire-0.2.1-py2.py3-none-any.whl.
File metadata
- Download URL: pyskyfire-0.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 119.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f75be531afd43b8f3057d3e1ed60011411ecf2f1142b78d1d1839502f5a85f0
|
|
| MD5 |
48e49d1ce949fa13e1b6439305a800d4
|
|
| BLAKE2b-256 |
1c6b3028292c0f959245f2cb0b106e8863d48f18019a162a4ff32ffa650b6ceb
|