Skip to content

axonyxquantum/novaturbo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NovaTurbo AI — Micro Turbojet Engine Viewer

NovaTurbo AI

AI-Powered Micro Turbojet Engine Design System
Inspired by LEAP 71's Noyron — computational engineering for autonomous engine design

FeaturesQuick StartArchitecture3D ViewerContributingDiscordLicense


What is NovaTurbo?

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

Features

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)
✈️ Professional Blade Geometry 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

Quick Start

Prerequisites

  • Python 3.10+
  • ~2 GB disk (for generated datasets)
  • GPU optional (CPU works for inference & small training runs)

Installation

git clone https://github.com/bxf1001g/novaturbo.git
cd novaturbo
pip install -r requirements.txt

Generate Design Dataset

python app.py --generate 10000    # Generate 10K design variants (CPU: ~30 min)

Train the Surrogate Model

python app.py --train data/generated/dataset_10000.csv

Launch the 3D Viewer

python app.py --ui
# Open http://localhost:5000 in your browser

Run Physics Analysis

python app.py --brayton     # Brayton cycle analysis + material validation
python app.py --geometry    # Engine geometry summary

Architecture

┌─────────────────────────────────────────────────────────────┐
│                     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       │
                    └──────────────────┘

Project Structure

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

3D Viewer

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

CFD Calibration (Optional)

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.

Contributing

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

How to Contribute

  1. Fork the repository
  2. Create a branch (git checkout -b feature/your-feature)
  3. Make your changes and add tests
  4. Submit a Pull Request with a clear description

See CONTRIBUTING.md for detailed guidelines.

Ideas for First Contributions

  • 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)

Thermal Barrier Coatings (TBC)

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.

Blade Geometry

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)

Engine Specifications (Default)

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

License

MIT License — see LICENSE for details.

Acknowledgments

About

AI-Powered Micro Turbojet Engine Design System — Computational engineering for autonomous engine design

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors