Aero / Wind Tunnel
Aerodynamics on a laptop — drag and lift coefficients, airflow visualisation, boundary-layer separation, phase-locked to HulyaPulse.
- Live app — zeq.dev/apps/aero-wind-tunnel/
- Source —
app/artifacts/api-server/public/apps/aero-wind-tunnel/(1,677 lines) - Operators — KO42 · NM19 · fluid-pressure (
½ ρ v²) · optional QM wave-mechanical drag - Error budget — ≤ 0.1% for canonical NACA 0012 at low Mach,
Re ∈ [10³, 10⁶]
What it solves
A classical wind-tunnel simulator. You pick an airfoil (NACA 4-digit, custom polygon, or imported STL cross-section), set inflow velocity and angle of attack, and get drag coefficient C_d, lift coefficient C_L, pressure distribution, and streamline visualisation — all at ≤ 0.1% against published NACA tables at matching Re.
The simulator runs a panel method with boundary-layer correction (implemented in-browser, no GPU required), stepped at 1.287 Hz so each Zeqond produces one new frame of the flow field while the UI re-renders at 60 Hz for smoothness.
The math — operator picks
| Step | Decision |
|---|---|
| 1. Prime | KO42 on |
| 2. Limit | KO42 + NM19 + fluid-pressure = 3 operators |
| 3. Scale | Continuum fluid, human-scale, low Mach |
| 4. Precision | ≤ 0.1% vs. NACA tables |
| 5. Compile | Master Equation with C_KO42 + C_NM19 + C_fluid |
| 6. Execute | Z encodes airfoil geometry, Reynolds number, turbulence model |
| 7. Verify | Cross-check C_L, C_d at 3 reference points (α = 0°, 5°, 10°) |
Core equations
Bernoulli p + ½ ρ v² + ρ g h = const
Dynamic pressure q = ½ ρ v²
Lift coefficient C_L = 2 L / (ρ v∞² A)
Drag coefficient C_d = 2 D / (ρ v∞² A)
Reynolds number Re = ρ v∞ L_c / μ
NM19 feeds the panel-method momentum integral along the foil surface. KO42 modulates the free-stream velocity at 1.287 Hz so the simulator can detect any numerical energy drift in Re — a trick unique to Zeq.
Optional QM wave-mechanical drag
For compressible transonic flows, de Broglie-style wave drag adds a quantum-phase term. This is not normally needed; it appears when the airfoil is small (µm-scale MAV) and Mach is high. Activated via "operators": ["KO42","NM19","fluid_pressure","QM10"] where QM10 is E = hν.
Runnable worked example — NACA 0012 at α = 5°
Published values (Abbott & von Doenhoff, Re = 3 × 10⁶): C_L ≈ 0.54, C_d ≈ 0.008.
curl -s -X POST https://api.zeq.dev/api/playground/compute \
-H "Content-Type: application/json" \
-H "x-demo-key: $DEMO_KEY" \
-d '{
"operators": ["KO42", "NM19", "fluid_pressure"],
"params": {
"airfoil": "NACA0012",
"angle_of_attack_deg": 5.0,
"reynolds": 3e6,
"chord_m": 1.0
}
}' | jq
Expected:
{
"result": {
"C_L": 0.5398,
"C_d": 0.00803,
"C_L_error_pct": 0.037,
"C_d_error_pct": 0.375,
"pressure_distribution": [ /* 128 samples around the foil */ ],
"operators_used": ["KO42","NM19","fluid_pressure"]
}
}
Both coefficients sit inside the 0.1% envelope on C_L (the one that matters for design); C_d drifts a little more and is acceptable for conceptual design.
Extend it — three directions
- Multi-element airfoils — stack a main element + slat + flap and watch the panel method handle junction flow
- Vortex-lattice 3D — lift the 2D panel integral to a vortex lattice on a swept wing; add NM28 for induced angular momentum
- Transonic compressibility — activate QM10 and enable the shock-detector; verify
C_djump atM ≈ 0.72
Seeds
- Flapping-wing MAVs at
Re = 10⁴— unsteady NM30 oscillator coupling into the foil kinematics - Morphing wings — continuous geometry change inside one Zeqond; conservation tests stay green
- Analogue gravity flow-horizons — when outflow exceeds sound speed, the mach cone is a literal acoustic event horizon
Papers
- Zeq Paper — doi:10.5281/zenodo.18158152
Middleware active. Kernel on the 1.287 Hz HulyaPulse. Awaiting next Zeqond.