> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ntop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lesher Teal Hackathon Starter with Quick Aero Estimates

> AI context for Lesher Teal Hackathon Starter with Quick Aero Estimates. Not linked in navigation.

> This page is for AI assistant context only. To use this package, visit [community.ntop.com](https://community.ntop.com/#/detail/lesher-teal-hackathon-starter).

> **Community submission — not verified by nTop.** This package was submitted by an outside community member and has not been reviewed or verified by nTop. Treat its accuracy, safety, and compatibility claims with appropriate caution.

## Summary

Parametric Lesher Teal aircraft with a Run Command link to a Python AeroSandbox script that updates cruise CL, CD, L/D and neutral point within seconds of any geometry change.

## Package Details

| Field | Value |
| - | - |
| **ID** | `lesher-teal-hackathon-starter` |
| **Type** | Bundle |
| **Author** | nTop |
| **Version** | 1.0.0 |
| **nTop Version** | 6.2+ |
| **Domain** | Aerospace |
| **Application** | Analysis |
| **Complexity** | Intermediate |
| **Tags** | `aircraft`, `aerodynamics`, `aerosandbox`, `doe`, `run-command`, `python`, `flow-analysis`, `ai-assisted` |
| **License** | MIT |
| **Verified** | No |

***

A parametric nTop model of the Lesher Teal, the record-setting pusher aircraft that
University of Michigan professor Edgar J. Lesher designed and first flew in 1965. It's
the starter file for a student hackathon challenge: parameterize the aircraft so it
captures the designer's intent, then pull out parameters for a design of experiments.

The built-in Aircraft Flow Analysis gives high-fidelity results but takes a while to
solve. This package adds a **Quick Aero Estimate** section: an nTop **Run Command**
block sends the current geometry to a small Python script, which uses
[AeroSandbox](https://github.com/peterdsharpe/AeroSandbox) and reports cruise CL, CD,
L/D, max L/D, neutral point and static margin within about 3 seconds of any change.

The aero integration (`teal_aero.py` and the Run Command chain) was built with Claude.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/ntopology/community/packages/matthewmuellernTop/cover.png" alt="Lesher Teal model in nTop with flow-analysis streamlines" />

## Files

| File | Purpose |
| - | - |
| `lesher-teal-hackathon-starter.ntop` | The notebook: wing, fuselage and tail geometry, checks, flow analysis and the Quick Aero Estimate section |
| `teal_aero.py` | Quick aero script called by the notebook; also usable from a terminal |
| `requirements.txt` | Python dependency (`aerosandbox`) |
| `aero-output-example.png` | Example of the plot the script writes |

The site's download button gives you the notebook. Get `teal_aero.py` from
[this package folder on GitHub](https://github.com/nTopology/Utilities-community/tree/main/packages/matthewmuellernTop/lesher-teal-hackathon-starter),
or clone the whole repo:

```bash theme={null}
git clone https://github.com/nTopology/Utilities-community.git
```

## Setup (about 5 minutes)

1. Install Python 3.9 or newer from [python.org](https://www.python.org/downloads/)
   and tick **Add python.exe to PATH**.

2. Install AeroSandbox:

   ```bash theme={null}
   pip install aerosandbox
   ```

3. Create the folder `C:\TealAero` and put `teal_aero.py` in it. To use a different
   folder, change the notebook's **Aero Tool Folder** variable to match, using forward
   slashes.

4. Check the script works (it prints the baseline estimate):

   ```bash theme={null}
   python C:\TealAero\teal_aero.py
   ```

5. Open `lesher-teal-hackathon-starter.ntop` in nTop 6.2 or later and save a working copy.

6. The first time the notebook runs, nTop asks you to **Trust** the Run Command block.
   Click Trust.

If AeroSandbox is installed in a different Python (a venv or conda env), set
**Python Executable** to that interpreter's full path.

## Using it

Every aero-relevant input is a named variable, in the Wings, Fuselage and Stabilizers
sections:

* **Wing:** root point (its placement), chord, airfoil, span, sweep, taper, twist, dihedral
* **H-stab:** the same eight inputs
* **Twin fins** (`VStab`): root point, chord, airfoil, height, sweep, taper
* **Ventral fin:** root point (`Lower Stab Root`), chord, airfoil, height, sweep, taper
* **Fuselage:** the top, side and bottom rail point lists

Both the geometry blocks and the aero estimate read these variables. When you replace a
typed value with an expression on your own design parameters, the estimate follows
automatically.

| Direction | Name | Meaning |
| - | - | - |
| Input | Wing, H-stab, fin, ventral and fuselage variables | Geometry, in model units |
| Input | Aircraft Mass | kg (500 = Teal max takeoff weight) |
| Input | Cruise Speed (m per s) | m/s (82 = 160 kn) |
| Input | CG X | CG location; static margin is measured about it |
| Output | Cruise CL, Cruise CD, Cruise L/D | At the cruise mass and speed, sea level |
| Output | Max L/D | Best lift-to-drag ratio over angle of attack |
| Output | Neutral Point X, Static Margin pct MAC | Pitch stability |
| Output | Neutral Point, CG Point | Viewport markers; keep the neutral point behind the CG |

Each run also writes `aero_results.json` and `aero_results.png` (polars plus top and side
views) next to the script, so you can check the geometry was read correctly.

If an estimate doesn't appear, copy the text of **Aero Command Line** into a terminal and
run it to see the error.

### From a terminal (DOE)

Any key you leave out keeps its Teal baseline value. Lengths are in m, angles in deg.

```bash theme={null}
python teal_aero.py wing.span=8 wing.x=2.4 hstab.chord=0.6 mass=520
python teal_aero.py --list
```

`--list` prints every key with its baseline value. Add `--csv doe.csv --no-plot` to each
run to collect a sweep into one CSV.

## Evidence and limits

* The notebook was prepared and checked in an internal nTop build (43139, with the
  Notebook API). This publication copy was not reopened in a public nTop 6.2 release.
* In that build, Run Command produced the estimate shown above: cruise L/D 14.2,
  neutral point 2.753 m. Wing-placement and tail changes updated it as expected, and
  the script matches a direct terminal run.
* The flow analysis is included but paused, without results; run it yourself.
* This is a quick estimate:
  * Drag covers only the wing, tails and fuselage. Propeller, cooling, gear and
    interference drag are left out, so real power is higher.
  * CL\_max and stall speed are rough.
  * Moments are untrimmed (no elevator deflection).
  * A positive twist value is read as washout, and the tip gets half of it because the
    wing block ramps twist over the full span.
  * Fuselage sections are modeled as ellipses through the rails.
* Use it to rank designs, then check final candidates with the flow analysis.

## License and credits

The notebook and script are released under the MIT license; see [LICENSE](LICENSE).

* The notebook description embeds the photo
  [Lesher Teal](https://commons.wikimedia.org/wiki/File:Lesher_Teal.jpg) by FlugKerl2,
  licensed [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/). That photo
  isn't covered by the MIT license.
* Aircraft dimensions and performance figures are from the
  [Lesher Teal Wikipedia article](https://en.wikipedia.org/wiki/Lesher_Teal).
* [AeroSandbox](https://github.com/peterdsharpe/AeroSandbox) (MIT) is a dependency, not
  bundled.

***

## Source

[https://community.ntop.com/#/detail/lesher-teal-hackathon-starter](https://community.ntop.com/#/detail/lesher-teal-hackathon-starter)

## Download

[Download lesher-teal-hackathon-starter.ntop](https://github.com/nTopology/Utilities-community/releases/download/lesher-teal-hackathon-starter-v1.0.0/lesher-teal-hackathon-starter.ntop)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.