Mechanical & Aerospace eNgineering at a Minute's notice!
MinuteMAN is a toolkit for rapid solutions to mechanical and aerospace engineering problems. It prioritizes algebraic and ordinary differential equation methods for use in everyday engineering decision-making.
Current and upcoming features include (in no particular order):
- Thermodynamics
- Isentropic flow
- CPG
- Eq.
- 1D nozzle calculations
- Normal shocks
- CPG
- Eq.
- Oblique shocks
- CPG
- Eq.
- Conical shocks (Taylor-Maccoll equations)
- CPG
- Eq.
- Rayleigh flow
- Fanno flow
- Mixed Rayleigh-Fanno flow with varying area
- Sod shock tube solver
- Shock shape predictions for blunt bodies
- calorically perfect gas (CPG)
- equilibrium gas (Eq.)
- 2D Nozzle design via method-of-characteristics
- Gas turbine engines
This package is installable using pip or uv.
git clone git@github.com:jmag722/minuteman.git
cd minuteman
uv syncDocumentation available at https://jmag722.github.io/minuteman/
I've always been amazed by the mathematical prowess of early aerospace engineers. One only needs to skim a few NASA papers from the 1950s-70s to see often laborious derivations leading the reader from intractable PDEs to a closed-form solution. When compute power was limited, they developed an astute intuition for when and how to make critical simplifying assumptions.
Such classical methods may appear of limited use in modern aerodynamics, where the go-to approach is to simply overrefine the mesh, aggressively turn on all the physics, and crank it through STAR-CCM or ANSYS. Modern numerical methods have come far and solved very complicated problems.
But I think these "old-school" methods can still be highly valuable, as they can:
- serve as a quick "back-of-the-envelope" estimate for the real solution
- bound the trade space
- give insight to help reduce the number of iterations needed to create a good CFD mesh (where's the shock, cell height, etc)
- be used for verification of CFD when there is an absence of experimental data
Often at work, I've found myself wishing for such a reliable, open-source implementation of these methods. There is no shortage of GUI-based and web browser alternatives for solving aerospace or compressible flow problems - resources such as (AerospaceWeb or VTT's Compressible Aerodynamics Calculator) are great for a quick calculation. MATLAB supplies its own toolbox for many of these calculations.
This repository is for those who:
-
want a Python-based, FOSS tool that can be integrated directly into their custom workflow (and is non-GPL licensed)
-
need to verify a CFD model in the absence of experimental data
-
desire help preparing and even automating a CFD mesh to account for the estimated solution (shocks, cell sizes, etc)
-
want to perform large trade studies, varying different parameters with multiple values (not feasible in a GUI or browser)
-
are not comfortable entering their CUI or otherwise sensitive data in an LLM or web browser
Minuteman uses the Apache 2.0 license, see the license file for more detail.