Skip to main content

A Python library for rocket engine simulation and design.

Project description

Pyskyfire is a simulation framework for regeneratively cooled, liquid propellant rocket engines.


License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyskyfire-0.1.2.tar.gz (95.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyskyfire-0.1.2-py2.py3-none-any.whl (104.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyskyfire-0.1.2.tar.gz.

File metadata

  • Download URL: pyskyfire-0.1.2.tar.gz
  • Upload date:
  • Size: 95.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pyskyfire-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b4f5d9df43aeede67f41a88e903affa6487e05c3584b24426646811705945e94
MD5 f5870ee553ba7a18f6e6dd08534553cc
BLAKE2b-256 b1b9d82060a7fde3137f08eba2f994f7700827175855d49b00b88b37b10f0426

See more details on using hashes here.

File details

Details for the file pyskyfire-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pyskyfire-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 104.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pyskyfire-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 714ab468e0806f6bec12e2dae7559ff06d7414179bf0ad03d77a37a83a91e2d9
MD5 e213e5ed8d6f61f5286d51173e7fdf37
BLAKE2b-256 0cb73c369706cd4223a9f87c8970c744021c3d1c42298baf3e738264e1015904

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page