File size: 5,179 Bytes
79f1342 f1697d2 79f1342 6dce8a7 79f1342 3280bf0 f71429b 3280bf0 f71429b 3280bf0 f71429b 3280bf0 f71429b 3280bf0 f71429b 3c0ed30 3280bf0 f71429b 3280bf0 f71429b 3280bf0 f71429b 84db0a4 f71429b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
---
title: Transport Wing Selector
emoji: 🛩️
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: "5.47.2"
app_file: app.py
pinned: false
---
# Transport Wing Selector — AI-Assisted Wing Design
An **AI-driven design tool** that automates 3D wing generation from a 2D airfoil and optional polar data.
The system evaluates 160 candidate wings using a trained **multilayer perceptron (MLP)** selector model and returns the best geometry based on your chosen aerodynamic objective:
- **min_cd** – minimize drag
- **max_cl** – maximize lift
- **max_ld** – maximize lift-to-drag ratio
It converts a traditionally slow, intuition-based process into a transparent, interpretable, and reproducible workflow—delivering optimal wing geometries in seconds.
---
## What This App Does
- **Generates** candidate 3D wing geometries from a user-provided 2D airfoil (.dat/.txt)
- **Scores and ranks** each design across lift, drag, and efficiency objectives
- **Selects the top candidate**, visualizing it as:
- A **static PNG** rendering
- An **interactive 3D model** (Plotly viewer)
- A downloadable **CAD-ready STL file**
- A structured **JSON summary** of aerodynamic and geometric parameters
- **Validates** the best wing using strip-theory sweep plots (lift, drag, efficiency)
- **Explains** results through a grounded **LLM summary** comparing the top design with close alternatives
---
## How It Works
1. **Input:** Upload your airfoil geometry (and optional polar data).
2. **Objective:** Choose your design target (min_cd, max_cl, or max_ld).
3. **Candidate Generation:**
The MLP model evaluates 160 deterministic wing geometries parameterized by span, taper, twist, and chord vectors.
4. **Selection & Visualization:**
The top-scoring wing is rendered as an interactive 3D mesh and validated with strip-theory sweeps.
5. **Explanation:**
A lightweight language model summarizes why this candidate performs best, grounding the response in numerical features like span, taper, aspect ratio, and score.
Example:
> “The chosen wing achieves high efficiency by combining a long span, moderate taper, and strong negative washout, lowering induced drag while maintaining lift.”
---
## Features
| Feature | Description |
|----------|-------------|
| **Objective Selection** | min_cd / max_cl / max_ld |
| **Deterministic Mode** | Reproducible results with identical geometry and scoring |
| **Top-k Comparison** | View multiple top candidates ranked by score |
| **Validation Sweep** | Strip-theory verification for lift/drag trends |
| **Exports** | `.png`, `.stl`, `.json` artifacts |
| **Grounded LLM Explanation** | Physics-based summary of the chosen design |
---
## How to Use
1. Upload your **airfoil** file (`.dat` or `.txt`) and optionally a **polar** file.
2. Choose an optimization **objective**.
3. Adjust parameters (Top-k slider, deterministic mode, AoA sweep).
4. Click **“Find Best Wing.”**
5. View results, export files, and read the **AI-generated design explanation.**
---
### Top-K Candidate Interpretation
The output for the top-k candidates is presented in two parts to help with analysis:
1. **Candidate Results Table**
This table shows the top-ranked wings predicted by the model. It lists their specific geometric features and the model's validation outputs. **These are the real, absolute values for each wing design.**
2. **Normalized Comparison Plot**
The plot that follows the table visualizes how each candidate wing compares to the others across different features. To make them comparable, all values in this plot are **normalized to a common scale**.
**Important:** Do not use the plot to get the actual numbers for a wing's features. For the true geometric and performance data, please refer to the **preceding table**.
---
## System Overview
- **Selector Model:** MLP trained on 500+ generated wings, each labeled with aerodynamic metrics (CL, CD, L/D)
- **Validation:** Deterministic scoring and strip-theory consistency checks
- **LLM Wrapper:** Qwen2.5-1.5B-Instruct, constrained via structured JSON prompt to prevent hallucination
- **Deployment:** Gradio app on Hugging Face Spaces with STL/JSON export pipeline
---
## References & Credits
Developed by **Emily Copus** and **Kevin Kyi**
*Carnegie Mellon University — 24-679 Designing and Deploying AI/ML Systems*
Instructor: **Dr. Chris McComb**
- [Transport Wing Selector Space](https://huggingface.co/spaces/kevinkyi/Project1_Airfoil_Interface)
- [ViewSTL](https://www.viewstl.com/) – for external STL visualization
- [3D Viewer.net](https://3dviewer.net/) – quick in-browser CAD preview
- [Introduction to Aerospace Flight Vehicles — ERAU](https://eaglepubs.erau.edu/introductiontoaerospaceflightvehicles/chapter/wing-shapes-and-nomenclature/)
---
## License & Notes
Educational demonstration.
Not validated for production or certification use.
Outputs and explanations are deterministic, data-grounded, and intended to accelerate conceptual design only.
Final app.py and deployment scripts created with the assistance of Generative AI.
|