DiaphragmCalc

Validation

Generated by node scripts_validation.js from the shipped engine. Hand values are computed independently from the textbook formula in the right column (not by calling the engine).

CaseQuantityEngineHand calcFormula
V1 Square 1000×20 µm Si, 1 barw₀ (µm)1.11381.11380.00126 q a⁴/D
σ_edge (MPa)76.9576.950.3078 q (a/h)²
f₀ (kHz)282.23282.23λ²/(2πa²)√(D/ρh)
bridge (mV/V), P(N)=1, avg=149.73349.733(π₄₄/2)(1−ν)σ
V2 Circle Ø1000×15 µm Si, 1 barw₀ (µm)2.04622.0462q a⁴/64D
σ_edge (MPa)83.33383.3330.75 q (a/h)²
f₀ (kHz)240.19240.19λ²/(2πa²)√(D/ρh)
bridge (mV/V), P(N)=1, avg=153.85953.859(π₄₄/2)(1−ν)σ
large-defl. residual0.136410.13641w/h + 0.488(w/h)³ = w_lin/h
V3 Square 2000×10 µm, 10 kPa, ν=0.3w₀ (µm)17.1517.150.00126 q a⁴/D
σ_edge (MPa)123.12123.120.3078 q (a/h)²
f₀ (kHz)32.16432.164λ²/(2πa²)√(D/ρh)
bridge (mV/V), P(N)=1, avg=161.2161.21(π₄₄/2)(1−ν)σ
V4 Circle Ø1000×5 µm, 2 bar, ν=0.3 (large deflection)w₀ (µm)100.96100.96q a⁴/64D
σ_edge (MPa)150015000.75 q (a/h)²
f₀ (kHz)83.75983.759λ²/(2πa²)√(D/ρh)
bridge (mV/V), P(N)=1, avg=1725.03725.02(π₄₄/2)(1−ν)σ
large-defl. residual20.19220.192w/h + 0.488(w/h)³ = w_lin/h

Sanity ranges

Issues found and fixed during audit

DateIssueFix
2026-09-27Large-deflection solver used Roark's rounded K₁ = 5.33/(1−ν²) while the linear model uses the exact 16/3. At low load w_NL exceeded w_lin by 0.06 %, giving a small negative nonlinearity.K₁ now derived from the exact linear coefficient for both shapes; regression test "results are finite across a wide input grid" asserts w_NL ≤ w_lin.
2026-09-27Circular diaphragm entered as radius was error-prone for users who think in diameter.UI takes diameter and converts; engine keeps radius.

Test suite

npm test runs engine tests (formulas, scaling, validation, insights, grid robustness) and API tests (analytics whitelist, rate limit, lead validation and honeypot, license validation, webhook signature and idempotency, admin auth).