# ROEB-Aero: 2D Airfoil — Tier 1 benchmark kit

Small starter pack for external teams who want to understand the benchmark, inspect data layout,
and prepare a submission to the [AIPhysics leaderboard](https://aiphysics.org/leaderboard).

**Tier 1 is not a full training dataset.** It includes the DOE, simulation input geometry,
AoA/freestream documentation, two example solved cases, and official holdout scalar targets.

## Contents

| Path | Description |
|------|-------------|
| `doe/cases.csv` | All 21 CFD cases: AoA (deg), Cl, Cd, solver metadata |
| `doe/holdout_scalars.csv` | Five official holdout AoA values + reference Cl/Cd for scoring |
| `simulation/` | **Shared STL mesh, AoA docs, OpenFOAM freestream helper** |
| `examples/case_aoa_0_train/` | Solved example at AoA = 0° (yaml + VTU) |
| `examples/case_aoa_5_train/` | Solved example at AoA = 5° |
| `spec/benchmark.json` | Machine-readable benchmark definition |
| `submit/README.md` | How to package and upload results |

## Benchmark summary

- **Input:** angle of attack **AoA** [°] — set via **freestream velocity**, not mesh rotation (see `simulation/HOW_AoA_WORKS.md`)
- **Outputs:** **Cl**, **Cd** (global); fields **Cp**, **Ux**, **Uy**, **p**, **nut**, **nuTilda** on the mesh
- **Solver:** OpenFOAM `simpleFoam`, Re = 2×10⁶, U∞ = 29.2 m/s

## Quick start

1. Read `simulation/HOW_AoA_WORKS.md` — **start here if re-running CFD**
2. Inspect `simulation/mesh/case_data.stl` and example VTUs in `examples/`
3. Sweep AoA values from `doe/cases.csv` (or holdouts from `doe/holdout_scalars.csv`)
4. Match output fields per `simulation/postprocessing/README.md`
5. Submit via `/submit` on AIPhysics.org

## License / attribution

Simulation data generated with OpenFOAM. Benchmark governed by AIPhysics.org consortium terms.
