em_fullwave_submit
Submit asynchronous full-wave FDTD electromagnetic simulations to openEMS for waveguide sweeps or dipole S11 analysis, returning a job ID to poll for results.
Instructions
Full-wave FDTD EM solve on openEMS, asynchronous (OFF the MCP channel) — the
real-field twin of the analytic waveguide_cutoff / dipole_resonance
oracles. openEMS is GPL-3.0 and is run ONLY out-of-process via
ankusdrive/em_fullwave_gpl_runner.py; degrades to {ok:false, reason, install}
when no openEMS venv resolves.
problem='waveguide_sweep' (default): hollow rectangular guide, broad wall
a_mm/narrow wall b_mm (default a/2), length length_mm (default 60), TE10
port at each end. Sweep f_start_ghz..f_stop_ghz (default 4..10 GHz —
straddling the WR-90 cutoff 6.56 GHz) in n_freq points, nrts max timesteps,
cells_per_wl mesh density, eps_r fill. The result's fc_crossing_ghz
(half-power transmission) vs the analytic c/(2a) (fc_ratio≈1, evanescent_mean
≈0, propagating_mean≈1) IS the gate. problem='dipole_s11': centre-fed thin
dipole (length_mm, gap_mm, radius_mm), sweep S11, report first resonance.
Returns the degradation dict, or {job_id, status, cache_hit}; poll job_result for {ok, fc_analytic_ghz, freq_ghz[], s21_db[], transmission_norm[], fc_crossing_ghz, fc_ratio, evanescent_mean, propagating_mean, n_cells, wall_s} (waveguide) or {freq_ghz[], s11_db[], resonance_ghz} (dipole).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| a_mm | No | ||
| b_mm | No | ||
| nrts | No | ||
| eps_r | No | ||
| gap_mm | No | ||
| n_freq | No | ||
| problem | No | waveguide_sweep | |
| timeout | No | ||
| length_mm | No | ||
| radius_mm | No | ||
| f_stop_ghz | No | ||
| f_start_ghz | No | ||
| cells_per_wl | No |