acoustic_radiation_submit
Submit an asynchronous exterior-acoustics boundary-element solve on Bempp for radiation, scattering, or FreeCAD mesh models, returning a job ID to poll for results.
Instructions
Exterior-acoustics boundary-element solve on Bempp, asynchronous (OFF the MCP
channel) — the real-field twin of the analytic monopole_sphere /
rigid_sphere_scattering oracles. Bempp is MIT but needs meshio>=4 (clashing
with solidspy's meshio==3 in the shared venv), so it is run ONLY out-of-process
via ankusdrive/bempp_runner.py under a dedicated .venv-bempp; degrades to
{ok:false, reason, install} when no bempp venv resolves.
problem='radiation' (default): a pulsating (monopole) sphere of radius a_m,
uniform surface velocity u_amp at freq_hz, into air (rho,c), mesh size
h (fraction of a). The result's radiated_power_w / farfield_pressure_x_r
vs the monopole_sphere oracle (ratio≈1) IS the gate. problem='scattering': a
rigid sphere insonified by a unit plane wave; sweep ka_list, report the
far-field form function at theta_deg angles (h_per_wl elements/wavelength) —
gated against the rigid_sphere_scattering Mie oracle. problem='mesh_solve': a
radiation solve on a REAL FreeCAD model (handle), tessellated to a surface
mesh here and fed to the BEM engine (scale_to_m mm→m, linear_deflection
mesh tolerance).
Returns the degradation dict, or {job_id, status, cache_hit}; poll job_result for {ok, ka, radiated_power_w, farfield_pressure_x_r, surface_pressure_abs_mean, n_elements, wall_s} (radiation/mesh_solve) or {results:[{ka, form_function_abs{}, backscatter_abs, n_elements}]} (scattering).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| c | No | ||
| h | No | ||
| a_m | No | ||
| r_m | No | ||
| rho | No | ||
| model | No | ||
| u_amp | No | ||
| freq_hz | No | ||
| ka_list | No | ||
| problem | No | radiation | |
| timeout | No | ||
| h_per_wl | No | ||
| theta_deg | No | ||
| scale_to_m | No | ||
| linear_deflection | No |