Patches, frontend changes, and V&V milestones. Reverse chronological. Tags: solver frontend V&V fix infra.
Two-week debt cleared: 11 pages authored 2026-05-05..16 plus three modified pages landed in three logical commits. Coverage and changelog snapshots refreshed to 2026-05-22 to reflect the radiation V&V buildout, AKSource landing, and MC tuning done in the interim.
#)
After every sweep + postprocess, /tmp/combined_rad_vv.pdf is auto-emailed
to the engineering recipient via local msmtp (Gmail SMTP). Preferred over the Gmail
MCP for multi-MB attachments. Workflow rule persisted across sessions.
Low-Mach combustion kernels — TFC, EDC, Detonation, Fireball — land in the reactive solver as Patch 0008; smoke runs clean. Lagrangian spray Python translator + ParmParse contract land alongside (full C++ linkage deferred to a build-env step). 32 + 18 new tests, 534 total green.
G-batch: mixture flash, wind-profile, Peng-Robinson EOS, receptor framework, frequency / lineage hashing, scenario binding, multi-source superposition, REST dispatch_payload, 12-case V&V benchmark library, PNGRB markdown report. Follow-up: 14 MB production LUT (11.5 M cells), MTT closure dimensional fix, 12 V&V YAMLs, HazmatDB JSON externalisation, JWT auth + tenant isolation + rate limiting. Williamson BLEVE matches the published 58.0 m exactly. 484 total tests green.
Unified source-modelling tensor + vessel ODE + LUT + MTT hand-off + sub-grid closures, spanning all 10 consequence types (Dispersion · Jet/Pool/Flash fire · Deflagration · Detonation · DDT · BLEVE · Cryogenic · RPT). Tier-1 becomes a projection of AKSource. 269 P0-P12 tests + 155 adjacent = 424 green.
Accuracy: A4 + A5 + ST1 + ST3 + ST4 + T2#8 + T2#9 (face-centred qr extraction 1.5·qr_bdry − 0.5·qr_inside, adaptive sampling N ∝ τ_max). Speed: S2 Russian-roulette bounce scale, S3 Sobol stream reuse, S4 WSGGM band pool. Mode-2 directional probes gain Cumber-I cos·sin hemisphere sampling. R009 wall-flux imbalance dropped 6× / 4× / 3× at κ_L = 2 / 5 / 10.
Machine-checked YAML schema + linter + migrator; all 40 VC-R case files migrated. Altaç-Tekkalmaz 2008 BMP-A through BMP-F digitised from Tables 3–8 (with 3 typo corrections vs the published source). Phase 2 adds T1R-004/005/006 AB+CD; Phase 3 adds 15 new cases. VC-R006 cylinder rebuilt around Henson §6.1.2 Case B — wall flux PASS at ±15 % on all three κ (4.6 % / 7.3 % / 0.5 %).
New coverage.html (Tests · Verification · Validation, 13
categories), new casebook.html (per-case index, filterable),
new erdmp.html regulatory guide, plus dispersion workflow +
Tier-1 ↔ Tier-2 bridge added to index.html.
grid_convergence.html (was pointing at non-existent docs.html#grid_convergence)Five Brinkman / EB / TurbInflow improvements landed together. Smoke-verified: AMR + turb 240 s clean, Brinkman + AMR 60 s clean (3 levels active).
Switched D(x) post-sweep analyzer from mean-FAC2 to worst-arc metric. New winner under
stricter scoring: D_far = 20, transition x = 200 m. Applied to
inputs.pg-turb-8m-optimal.
Three radiation features for outdoor fire scenarios: qinc(x) field + iso-line export (Mode 4), Wayne atmospheric attenuation, ground & sky outdoor BCs. All default-off ParmParse flags so V&V cases stay indoor-canonical.
Unified P1 + MC runner with single-pass AgniKawach PDF report. 28 cases total. 15 / 27 PASS at ± 15 % wall flux. WSGGM accumulation bug fixed.
2-D Sobol sequence on (azimuth, polar) for MC modes 1 / 2 / 3 / 4. Default on. Cumber (2009) hot-ray adaptive sampling auto-fires for narrow / localised emitters.
Landing page · scenario builder · 3D viewer · dashboards · QRA · SCADA live · FastAPI backend · WebSocket job monitor · branded PDF · Docker compose stack — all in tree.
P1 wall flux formula was wrong (Lambert). Replaced with Marshak. Neither formula passes at τ < 0.5 — that is why MC is the default radiation engine.
Gas absorption coefficient with composition selection (pelerad.wsggm_composition).
Auto-rule: gray for κ-uniform / single-band, WSGGM otherwise. Soot Rayleigh small-particle
κ wired through.
Mode 1 (full-field), Mode 2 (monitor probes, directional or omni), Mode 3 (hemisphere wall flux, default-on per VC-R case). Anisotropic scattering supported.
Coverage audit: Tier-2 87 % · Tier-1 65 % · postprocess 13 %. Mandatory test-coverage policy adopted: every new code change must ship with tests, no exceptions.
PeleLMeX binary now links Hypre v2.28 (user-local, no MPI). Switch via
mac_proj.bottom_solver = hypre. Native MLMG remains default — Hypre adds
~35 % overhead on cases native handles.
peleLM.gravity = 0 and encode stability via reduced Cs / Dσ_eff = √(σ²Pasquill + r²release) applied automatically. The near-source "under-prediction" was a comparison artefact, not a solver bug. Standard practice for AERMOD / ADMS / HEGADAS.