acoustic_fem_submit
Submit acoustic FEM jobs to solve duct or cavity Helmholtz problems asynchronously, returning a job ID to poll for verified pressure or resonance results.
Instructions
Acoustic FEM via Elmer HelmholtzSolve (SIMULATION_NEXT Tier B1),
asynchronous — the higher-order twin of acoustic_screen, gated against its
exact closed forms. Requires ElmerSolver; when absent this returns {ok:false,
reason, install} rather than raising.
kind='duct': a closed duct driven p=1 at x=0, rigid at x=L, at f = kL·c/(2πL)
(keep kl off the quarter-wave resonances) — the rigid-end pressure has the
exact oracle 1/cos(kL), so p_end_ratio ≈ 1 machine-tight. kind='cavity': a
rigid lx_m × ly_m cavity excited by a corner Wave Flux source, swept ±span_pct%
around the exact (mode_nx, mode_ny) eigenfrequency in n_steps Scanning steps;
the in-phase corner-probe response flips sign through resonance, and the 1/A
zero-crossing gives f_solved_hz with mode_ratio ≈ 1 (<0.1%). Also accepts
a prepared case_dir.
Returns the degradation dict or {job_id, status, cache_hit}; poll job_result for duct {ok, p_end_re, p_end_exact, p_end_ratio (≈1), p_mean_ratio, frequency_hz, case_dir} | cavity {ok, f_solved_hz, f_exact_hz, mode_ratio (≈1), mode, case_dir}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kl | No | ||
| nx | No | ||
| ny | No | ||
| sif | No | case.sif | |
| kind | No | duct | |
| lx_m | No | ||
| ly_m | No | ||
| c_m_s | No | ||
| mode_nx | No | ||
| mode_ny | No | ||
| n_steps | No | ||
| case_dir | No | ||
| length_m | No | ||
| span_pct | No | ||
| n_elements | No |