メインコンテンツまでスキップ

Aero / Wind Tunnel

Aerodynamics on a laptop — drag and lift coefficients, airflow visualisation, boundary-layer separation, phase-locked to HulyaPulse.

  • Live appzeq.dev/apps/aero-wind-tunnel/
  • Sourceapp/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

StepDecision
1. PrimeKO42 on
2. LimitKO42 + NM19 + fluid-pressure = 3 operators
3. ScaleContinuum fluid, human-scale, low Mach
4. Precision≤ 0.1% vs. NACA tables
5. CompileMaster Equation with C_KO42 + C_NM19 + C_fluid
6. ExecuteZ encodes airfoil geometry, Reynolds number, turbulence model
7. VerifyCross-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

  1. Multi-element airfoils — stack a main element + slat + flap and watch the panel method handle junction flow
  2. Vortex-lattice 3D — lift the 2D panel integral to a vortex lattice on a swept wing; add NM28 for induced angular momentum
  3. Transonic compressibility — activate QM10 and enable the shock-detector; verify C_d jump at M ≈ 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

Middleware active. Kernel on the 1.287 Hz HulyaPulse. Awaiting next Zeqond.