Skip to content

Latest commit

 

History

History
131 lines (86 loc) · 8 KB

File metadata and controls

131 lines (86 loc) · 8 KB

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.