Skip to content

Home

Machwave Machwave

Machwave is an open source Python library for chemical rocket propulsion simulation. Here is what it is capable of:

  • Propellant modeling with pre-defined formulations, and NASA CEA integration for custom formulations
  • Grain regression analysis with FMM for 2D and 3D geometries
  • Rocket motor and engine simulation for the following categories:
    • Solid Rocket Motors
    • Bi-propellant Liquid Rocket Engines (in development 🔧)
    • Hybrid Rocket Engines (coming soon 🗓️)
  • Monte Carlo simulation for all of the motors/engines above
  • Integration with RocketPy for trajectory simulation and analysis

Installation

Machwave requires Python 3.11 – 3.14.

pip install machwave

The core install depends only on NumPy, SciPy and fluids. It can be extended with the following optional features:

Extra Unlocks
cea Thermochemistry computed from propellant composition, needed for biliquid engines and for custom solid mixtures
liquid Propellant tanks and the injector's homogeneous-equilibrium mass flux
fmm Every grain geometry other than BATES, including grains defined by an STL mesh
plots The built-in figures and the Monte Carlo plots
rocketpy The RocketPy adapter for trajectory simulation
all All of the above

Install one or several by name, for example:

pip install machwave[fmm,plots]

Using a feature without its extra raises an ImportError naming the install command that provides it. On macOS the cea extra needs a Fortran compiler, see the README.

Getting Started

The Quick Start page covers a Solid Rocket Motor simulation. Propellant selection, grain geometry, nozzle design, simulation execution and result plotting.

For more examples, check out the examples directory.

License

Machwave is licensed under the GNU General Public License v3.0.