AI-Powered Micro Turbojet Engine Design System
Inspired by LEAP 71's Noyron — computational engineering for autonomous engine design
Features • Quick Start • Architecture • 3D Viewer • Contributing • Discord • License
NovaTurbo AI is an open-source computational engineering system that autonomously designs micro turbojet engines for defense-grade VTOL quadcopter drones. Given target specifications (thrust, size, weight, fuel type), it generates optimized, manufacturable engine geometries ready for metal 3D printing (DMLS/SLM).
The system combines parametric geometry generation, Brayton-cycle thermodynamics, a PyTorch neural-network surrogate model, NSGA-II multi-objective optimization, and a rich Three.js web UI with real-time simulation visualizations.
🚀 We're looking for contributors! Especially in aerospace propulsion physics, CFD, and additive manufacturing. See Contributing.
💬 Join our Discord: discord.gg/SQDBr8Mt8
| Feature | Description |
|---|---|
| 🔧 Parametric Geometry | 5 engine components (inlet, compressor, combustor, turbine, nozzle) with full dimensional control |
| 🌡️ Brayton Cycle Solver | Station-by-station thermodynamic analysis (ambient → nozzle exit) |
| 🧠 Neural Surrogate | MLP (144K params) trained on 10K+ design variants for instant performance prediction |
| 📊 NSGA-II Optimizer | Multi-objective optimization (thrust vs. weight vs. TSFC) with Pareto front |
| 🏗️ TPMS Lattice | Internal gyroid/Schwarz-P/diamond lattice structures via slab-warp technique |
| 🛡️ Thermal Barrier Coatings | Bio-inspired + conventional TBC analysis with 1-D heat transfer model (7 coatings) |
| Lofted NACA airfoil turbine blades & curved centrifugal compressor impellers | |
| 🔥 Flame Simulation | FumeFX-style combustion particle system (3500 particles, spiral turbulence) |
| 🌈 Thermal/Airflow/Stress | Color-mapped simulation overlays on 3D engine geometry |
| 📐 Engineering Dashboard | Live parameter sliders, Brayton cycle charts, Pareto front, TBC analysis |
| 🔄 Closed-Loop Training | Save design variants from UI → retrain surrogate model in real-time |
| 🎯 Inverse Design | Specify target thrust/TSFC → AI suggests optimal geometry parameters |
| 🔬 CFD Calibration | Optional OpenFOAM/SU2 integration for physics-calibrated training labels |
| 📦 STL Export | Multi-variant STL export for Fusion 360 / 3D printing workflows |
- Python 3.10+
- ~2 GB disk (for generated datasets)
- GPU optional (CPU works for inference & small training runs)
git clone https://github.com/bxf1001g/novaturbo.git
cd novaturbo
pip install -r requirements.txtpython app.py --generate 10000 # Generate 10K design variants (CPU: ~30 min)python app.py --train data/generated/dataset_10000.csvpython app.py --ui
# Open http://localhost:5000 in your browserpython app.py --brayton # Brayton cycle analysis + material validation
python app.py --geometry # Engine geometry summary┌─────────────────────────────────────────────────────────────┐
│ NovaTurbo AI Pipeline │
├──────────────┬──────────────┬──────────────┬────────────────┤
│ Parametric │ Physics │ AI Engine │ Manufacturing │
│ Geometry │ Solver │ │ Output │
├──────────────┼──────────────┼──────────────┼────────────────┤
│ • Inlet │ • Brayton │ • Surrogate │ • STL Export │
│ • Compressor │ Cycle │ (PyTorch) │ • STEP Export │
│ • Combustor │ • Station │ • NSGA-II │ • Lattice │
│ • Turbine │ Analysis │ Optimizer │ Infill │
│ • Nozzle │ • CFD Bridge │ • Inverse │ • Build Prep │
│ │ │ Design │ │
└──────────────┴──────────────┴──────────────┴────────────────┘
↕
┌──────────────────┐
│ Web UI (Three.js) │
│ • 3D Viewer │
│ • Simulations │
│ • Dashboard │
│ • Flame FX │
└──────────────────┘
novaturbo/
├── app.py # Main entry point (CLI)
├── requirements.txt # Python dependencies
├── config/ # Engine parameters, materials, constraints
├── src/
│ ├── geometry/ # Parametric engine component generators
│ │ └── lattice.py # TPMS lattice (gyroid, Schwarz-P, diamond)
│ ├── physics/ # Thermodynamic & fluid dynamics solvers
│ │ ├── brayton.py # Brayton cycle station analysis
│ │ ├── materials.py # Material database & TBC coating analysis
│ │ ├── blade_analysis.py # XFLR5-style blade profile analysis
│ │ ├── simulation.py # Thermal/flow/stress simulation engine
│ │ ├── validation.py # Brayton validation vs real engines
│ │ └── cfd_calibration.py # OpenFOAM/SU2 calibration bridge
│ ├── ai/ # Neural network surrogate & optimizer
│ │ ├── surrogate.py # MLP surrogate model (PyTorch)
│ │ └── optimizer.py # NSGA-II multi-objective optimizer
│ ├── export/ # STL/STEP export & manufacturing prep
│ └── visualization/ # Matplotlib plots & performance charts
├── ui/
│ ├── server.py # Flask backend with REST API
│ ├── templates/viewer.html # Main 3D viewer page
│ └── static/
│ ├── js/viewer.js # Three.js 3D engine (simulations, flame FX)
│ ├── js/dashboard.js # Engineering dashboard logic
│ └── css/viewer.css # UI styling
├── data/ # Generated datasets & trained models
├── exports/ # Output STL/STEP files
├── tests/ # Test suite
└── notebooks/ # Jupyter exploration notebooks
The web-based viewer provides:
- Component inspector — Click to inspect individual parts (inlet, compressor, combustor, turbine, nozzle, shaft, casing)
- Thermal simulation — Temperature-mapped heatmap overlay
- Airflow simulation — Velocity streamlines with color coding
- Stress simulation — Von Mises stress distribution
- Flame simulation — FumeFX-style combustion particles with real physics temps
- Lattice view — Toggle TPMS internal structure (gyroid/Schwarz-P/diamond variants)
- Dashboard — Adjust parameters live, view Brayton cycle charts, run inverse design
- TBC Analysis — Compare bio-inspired & conventional thermal barrier coatings side-by-side
- Section plane — Adjustable cross-section slider
- STL export — Screenshot & export current design
NovaTurbo can optionally calibrate its fast surrogate model against high-fidelity CFD results:
# Set up OpenFOAM command template
export NOVATURBO_OPENFOAM_CMD_TEMPLATE="simpleFoam -case /tmp/novaturbo_{case_id}"
# Or SU2
export NOVATURBO_SU2_CMD_TEMPLATE="SU2_CFD /tmp/novaturbo_{case_id}.cfg"Then use the Dashboard → Run CFD Calibration button, or enable "Use CFD labels" when training.
We actively welcome contributions! This is an ambitious project and we need help from people with expertise in:
💬 Join the discussion on Discord: discord.gg/SQDBr8Mt8
- 🚀 Aerospace Propulsion — Combustion physics, turbomachinery aerodynamics, nozzle design
- 🌊 CFD / Fluid Dynamics — OpenFOAM/SU2 case setup, mesh generation, validation
- 🔬 Materials Science — High-temp alloys, thermal barrier coatings, bio-inspired materials, additive manufacturing
- 🧠 Machine Learning — Physics-informed neural networks, surrogate model improvements
- 🏗️ CAD/CAM — STEP export, build orientation optimization, support structure generation
- 🎨 3D Visualization — Three.js, WebGL, advanced rendering techniques
- Fork the repository
- Create a branch (
git checkout -b feature/your-feature) - Make your changes and add tests
- Submit a Pull Request with a clear description
See CONTRIBUTING.md for detailed guidelines.
- Integrate TBC-adjusted wall temps into 3D thermal heatmap
- Push TIT to 1400K with TBC and show thrust/efficiency gains
- Add physics-informed loss function to surrogate training
- Implement ensemble model with uncertainty quantification
- Add active learning (auto-sample where model uncertainty is highest)
- Cross-section slicer with thermal/stress overlay
- Design comparison mode (side-by-side)
- Map CFD results back to 3D viewer as ground-truth heatmaps
- STEP file export for manufacturing
- Make flame field CFD-driven (temperature/species/velocity per voxel)
- Add more engine topologies (axial compressor, afterburner)
- Real material property databases (temp-dependent Cp, k, σ_yield)
NovaTurbo includes a 1-D steady-state heat transfer model for thermal barrier coatings with 7 built-in materials:
| Coating | Type | k (W/mK) | Mass | Temp Drop |
|---|---|---|---|---|
| 🦎 Diatomite-Silica | Bio-inspired | 0.06 | +5.7g | ~403K avg |
| 🔬 Prismatic Chitin | Bio-inspired | 0.03 | +4.0g | ~407K avg |
| 🐚 Nacre-Layered | Bio-inspired | 0.80 | +7.6g | ~273K avg |
| 🌿 Ceramic Aerogel | Bio-inspired | 0.015 | +1.2g | ~410K avg |
| 🏭 YSZ Standard | Conventional | 2.00 | +50g | ~365K avg |
| 🏭 YSZ EB-PVD | Conventional | 1.50 | +38g | ~378K avg |
| 🏭 Gadolinium Zirconate | Conventional | 1.60 | +45g | ~374K avg |
Bio-inspired coatings are 10× lighter than conventional YSZ while providing better insulation — enabling higher turbine inlet temperatures (TIT) for more thrust, or dramatically extended blade life at current temps.
Use the Dashboard → 🛡️ TBC Analysis panel to analyze and compare coatings interactively.
Engine blades use professional lofted airfoil geometry:
- Turbine NGV & Rotor — NACA-profile airfoils lofted across 7 span sections, wrapped onto cylindrical surfaces with proper twist and taper
- Compressor Impeller — Curved radial blades with thickness distribution perpendicular to camberline, plus splitter blades at half-pitch offset
- Triangle-strip lofting with end caps for watertight STL meshes (96K vertices, 185K faces)
| Parameter | Value |
|---|---|
| Type | Single-spool micro turbojet |
| Compressor | Centrifugal, single-stage |
| Combustor | Annular |
| Turbine | Single-stage axial |
| Nozzle | Convergent |
| Thrust | ~76 N (7.8 kgf) |
| Max Diameter | 120 mm |
| Total Length | ~232 mm |
| Weight | ~1.87 kg |
| RPM | 100,000 |
| Pressure Ratio | 3.5 |
| TIT | 1100 K |
| TSFC | ~37 g/kN·s |
MIT License — see LICENSE for details.
- Inspired by LEAP 71's Noyron — autonomous computational engineering for rocket engines
- Built with Three.js, PyTorch, Flask, Chart.js
- TPMS lattice algorithms based on triply periodic minimal surface research