Skip to content

v1.8.0 — turbulent wind loading validated against the measured anchor; openEMS one-click on native Windows

Choose a tag to compare

@king-aj3 king-aj3 released this 24 Aug 01:49
· 32 commits to master since this release
  • Turbulent wind loading is validated — transient kOmegaSST on the sharp-edged square section, to Re 1.5×10⁵. The new openfoam_wind_ras gate solves the published anchor (the square cylinder at Re 21,400 — Lyn's 1995 LDV experiment, and Tian 2013, the same case in OpenFOAM 2-D URANS SST) through EMStudio's own writer and runner: Cd 2.14 against the experiment's 2.1, St 0.136 against the measured 0.132 with the documented URANS bias, lift amplitude beside the DNS value. Every tolerance is the published spread, not our own measurement. Circular sections above the shedding regime still refuse honestly — the drag crisis is transition-location physics no single-Re anchor covers, and the validity note says so instead of shipping a plausible number. The domain is part of the benchmark: the case reproduces the sources' ~5 % tunnel blockage, because a more "generous" domain legitimately reads Cd a few percent low (measured, and recorded).
  • openEMS on native Windows: a one-click Install button, proven before it was offered. Solver Setup downloads the official upstream build (sha256-pinned), builds the Python environment the run pipeline needs from the zip's own wheels, heals the measured DLL-closure failure (the wheels bundle no DLLs, and Python ≥3.8 ignores PATH for extension-module dependencies), and refuses before the download if no wheel-compatible Python (3.13/3.14) exists — instead of leaving a "found" solver that cannot run. Verified live on Windows through the unmodified runner first: the patch gate reproduces its published −29 dB S11 reference at 2.435 GHz, and the microstrip notch matches the stored cross-platform reference to the digit (3.6623 GHz).
  • The openEMS progress bar now actually reports progress: the live console prints Timestep: with a colon, which the shipped pattern could never match — on any platform, ever. Fixed against a captured live run, and the deck now flushes its total-timesteps line so the bar learns its denominator before the FDTD output floods the pipe.
  • The wind RAS startup crashes recorded on 2026-08-23 were never the turbulence model: a dev-harness potentialFoam init (which the product never runs) and a too-small domain, both root-caused with field-dump forensics and both recorded in docs/WIND_TURBULENCE_ANCHOR.md.

91 automated validation gates in this repository. Full details in CHANGELOG.md.