Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Aero Engine Lab: High-Precision Dual-Spool Visualizer

By: SAMUELSON G

Three.js WebGL JavaScript License

An interactive, WebGL-powered 3D visualization and simulation suite for aerospace propulsion systems. Featuring aerodynamically accurate NACA airfoil blade profiles, dual-spool concentric shaft kinematics ($N_1$ and $N_2$), dynamic particle flow streams, and a responsive telemetry HUD.


Overview

Aero Engine Lab provides aerospace students, engineers, and enthusiasts with a browser-based, high-fidelity CAD viewer for jet and rocket engines. Built entirely with Three.js and modern ES modules, it combines real-time graphics rendering with aerodynamic engineering principles—all without requiring external asset downloads or server dependencies.


Key Features

  • Aerodynamically Accurate Blades: Extruded NACA cambered airfoil geometries with realistic suction/pressure surfaces, spanwise twist, and high-pressure compression stage tapering.
  • Dual-Spool Kinematics: Independent rotation of $N_1$ (low-pressure spool driving fan/booster/LPT) and $N_2$ (high-pressure spool driving 8-stage HPC/HPT) scaled to real-world relative RPM ratios.
  • Collision-Free HUD Shell: Modern flex/grid responsive UI layout ensuring control panels, station ribbons, and telemetry cards never overlap across screen sizes.
  • Real-Time Telemetry HUD: Live performance output calculating $N_1$/$N_2$ RPM, net thrust (kN), $T_4$ combustion temperatures (K), Overall Pressure Ratio (OPR), and mass airflow rate (kg/s).
  • Interactive Dissection & Inspection:
    • Exploded View: Dynamic longitudinal separation slider to inspect individual compressor and turbine stages.
    • Cutaway Mode: Precision clipping plane showing internal annular combustor liners, 16 fuel injector nozzles, and concentric shaft assemblies.
    • Airflow Streamlines: Dynamic, color-coded WebGL particle system simulating air intake, high-pressure compression, heat addition, and exhaust acceleration.
  • Multi-Engine Library:
    1. Dual-Spool High-Bypass Turbofan (24-blade fan, 3-stage LP booster, 8-stage HPC, 16-injector combustor, HPT, 4-stage LPT).
    2. Supersonic Turbojet (Variable intake spike, 7-stage axial compressor, afterburner manifold, convergent nozzle petals).
    3. Liquid Rocket Engine (Dual turbopumps, fuel injector dome, spherical reaction chamber, regeneratively-cooled expansion nozzle).

Tech Stack

  • Rendering Engine: Three.js (r160)
  • Post-Processing: EffectComposer, RenderPass, UnrealBloomPass
  • Camera Controls: OrbitControls
  • UI & Layout: HTML5, CSS Variables, CSS Flexbox & Grid
  • Language: Vanilla JavaScript (ES6+ Modules)

Quick Start

Since the application is fully self-contained in a single file with CDN-based ES module imports, no package installation or build step is required.

Local Setup

  1. Clone the repository:
    git clone [https://github.com/your-username/aero-engine-lab.git](https://github.com/your-username/aero-engine-lab.git)
    cd aero-engine-lab
    
  2. Run the application:
  • Open index.html directly in any WebGL-compliant web browser.
  • Alternatively, serve it via a local web server (e.g., VS Code Live Server, npx serve, or python -m http.server 8000).

Engine Station Reference

The app organizes engine visual components using standard aerospace station numbering:

Station Designation Description
Station 0 Inlet Free-stream air entry and supersonic shock wave management
Station 2 Fan / LPC Wide-chord front fan and Low-Pressure Booster Compressor
Station 3 HPC 8-stage High-Pressure Compressor driven by $N_2$ spool
Station 4 Combustor Annular reaction chamber with 16 dual-swirl fuel nozzles
Station 5 HPT / LPT Single-stage HP turbine ($N_2$) and 4-stage LP turbine ($N_1$)
Station 7 Nozzle Exhaust bypass mixing duct and thrust nozzle expansion

Controls Guide

  • Rotate: Left-click + drag
  • Pan: Right-click + drag
  • Zoom: Mouse wheel scroll
  • Throttle Slider: Scales engine spool speeds ($N_1$/$N_2$), combustor glow, particle velocity, and telemetry output.
  • Explode Slider: Physically separates internal rotor and stator stages along the longitudinal X-axis.
  • Station Ribbon Buttons: Triggers smooth camera transitions directly to specific engine components.
  • Hotspot Pins: Click or hover over interactive visual anchors for component descriptions.

Project Conclusion

The Aero Engine Lab successfully bridges real-time interactive 3D web graphics with aerodynamic engine modeling. By replacing basic placeholder shapes with NACA airfoil blade profiles, true dual-spool co-axial kinematics ($N_1$ and $N_2$ shafts), and station-based flow dynamics, the visualizer delivers high physical fidelity while remaining performant in standard WebGL environments. Furthermore, the responsive flex/grid UI shell permanently resolves panel and text collision issues, offering a clean, professional telemetry HUD across various screen resolutions.


Future Enhancements

1. High-Fidelity Physics & Thermodynamics Engine

  • Real-Time Brayton Cycle Calculations: Calculate thermodynamic state variables ($T_0$, $P_0$, enthalpy) across stations 0 through 7 using the net thrust equation:

$$F_{\text{net}} = \dot{m}_{\text{air}} \left( v_e - v_0 \right) + \dot{m}_{\text{fuel}} v_e + A_e \left( p_e - p_0 \right)$$

  • Dynamic Thermal Heatmaps: Implement custom GLSL shaders to dynamically shift casing and blade metal surfaces from cool metallic blues to incandescent thermal glows based on local $T_4$ combustion temperatures.
  • Flight Envelope Model: Add interactive sliders for Altitude (0–40,000 ft) and Mach Number (0–2.2 M) to model air density drop-offs, choked nozzle flows, and compressor stall boundaries.

2. Graphics Rendering & WebGPU Compute Shaders

  • WebGPU CFD Streamlines: Offload particle kinematics to WebGPU compute shaders, scaling flow particles from 1,200 to over 100,000 to visualize boundary layer flows, blade tip vortices, and shock diamonds.
  • Volumetric Exhaust Shaders: Implement ray-marched volumetric fog and fire shaders inside the combustor liner and afterburner nozzle for realistic flame propagation.
  • Blade Wear Textures: Apply PBR metalness/roughness maps simulating thermal barrier coatings (TBC), oxidation patterns, and mechanical wear on turbine stages.

3. Sound Synthesis & Immersive WebXR

  • Procedural Acoustic Engine: Synthesize dual-spool acoustics using the Web Audio API, generating dynamic high-frequency turbine whines and low-frequency jet rumble scaled directly to $N_1$ and $N_2$ RPM values.
  • WebXR Inspection Mode: Add VR/AR support (three/addons/webxr/) allowing users to walk inside the engine bypass duct or inspect engine components at a 1:1 scale in virtual reality.

4. CAD Interoperability & Structural Diagnostics

  • glTF / STEP File Loader: Implement a file drop-zone allowing aerospace engineers to import custom CAD assemblies (.gltf, .glb, or converted .step files) into the viewer.
  • Interactive Component Assembly Tree: Provide a collapsible tree UI to isolate, measure, hide, or highlight specific components such as bearings, fuel nozzles, or individual stator vanes.
  • Data Logging & CSV Export: Enable real-time telemetry logging to export thrust, fuel flow, and specific fuel consumption (SFC) performance curves for academic analysis.

License

Distributed under the MIT License. See LICENSE for more information.

About

Interactive 3D WebGL aero engine visualizer featuring NACA airfoil blades, dual-spool (N1/N2) kinematics, station cutaways, flow particles, and real-time telemetry. Built with Three.js.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages