EM Fullwave Submit
em_fullwave_submitRun asynchronous full-wave FDTD EM solves for waveguide cutoff or dipole resonance, returning S-parameters and decay-ratio validation.
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 120), 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, end_criteria energy stop (1e-6).
THE GATE IS alpha_ratio≈1: voltage probes along the guide read the SOLVED
field's decay rate below cutoff at decay_f_ratio·f_c (default 0.7) against
the exact α = sqrt((π/a)² − k²); it degrades under a coarse mesh or a truncated
nrts. alpha_ratio is null with a decay_note when the guide is too short
for the probe window. fc_ratio (half-power crossing vs c/2a) is only a
PORT-SETUP CHECK: openEMS's analytic port β zeroes every sub-cutoff sample, so
it reads the frequency grid, not the field. A degenerate mesh/length (port
blocks overlapping) returns {ok:false, error}.
problem='dipole_s11': centre-fed thin dipole (length_mm, gap_mm,
radius_mm, each resolved by its own mesh lines), sweep S11, report first
resonance. Mesh is mesh_res_mm, else λ(mesh_f_ghz, default f_stop) /
cells_per_wl (default 30) — pin it to vary the sweep window alone.
Returns the degradation dict, or {job_id, status, cache_hit}; poll job_result for {ok, fc_analytic_ghz, freq_ghz[], s21_db[], transmission_norm[], alpha_fdtd, alpha_exact, alpha_ratio, decay_freq_ghz, decay_probe_z_mm[], decay_fit_rms_np, fc_crossing_ghz, fc_ratio, evanescent_mean, propagating_mean, mesh_res_mm, n_cells, wall_s} (waveguide) or {freq_ghz[], s11_db[], resonance_ghz, resonance_s11_db, mesh_res_mm, n_cells} (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 | ||
| mesh_f_ghz | No | ||
| f_start_ghz | No | ||
| mesh_res_mm | No | ||
| cells_per_wl | No | ||
| end_criteria | No | ||
| decay_f_ratio | No |