Sources, monitors and post-processing#

Plane-wave source (TF/SF)#

Plane-wave illumination uses the total-field/scattered-field (TF/SF) technique: the domain is split by a virtual box; consistency corrections on the six box faces inject the incident wave into the total-field region while the exterior carries only scattered field (sources/plane_wave.py, DD-013). The TF/SF formulation is due to Merewether, Fisher and Smith [52] and Umashankar and Taflove [53]; textbook treatment in [5]. The incident samples are converted to FIT grid quantities per edge/face, so amplitudes are physical (V/m) on any grid — an in-house calibration (DD-085).

Field, flux and frequency monitors#

  • MonitorFieldTime — time snapshots of E/H in a region, streamed to the on-disk store.

  • MonitorFieldFrequency — running (accumulated) discrete Fourier transform of the fields at selected frequencies during the march; the running-DFT-during-timestepping technique is standard practice in time-domain solvers [5].

  • MonitorFluxTime — Poynting flux through a plane, \(\sum \hat e \cdot \hat h\) in the FIT pairing (physical Watt after DD-085).

  • MonitorWallLoss — see the conductor-losses chapter.

All monitors return physical SI units; the calibration (C = 1 pinned at the excitation source) is in-house bookkeeping (DD-085).

A plotted field plane is one layer of cells, sampled at their centres, not a mathematical plane — the plane coordinate printed in the title is the cell-centre coordinate the request snapped to. Geometry overlays follow the same rule: thin wires, discrete ports and lumped elements are drawn when they lie inside the displayed layer, so a wire declared on the grid nodes half a cell away still appears in the picture of the field around it (DD-175).

Signal processing#

Excitation waveforms are Gaussian-family pulses with prescribed spectral occupancy; S-parameters divide recorded spectra by the excitation spectrum (standard practice [5]). CW measurements use lock-in phasor extraction over an integer number of periods after settling (cw_lockin_phasors) — standard signal processing.

A frequency monitor is divided by the same spectrum, and for the same reason. Its running sum \(\sum_n F(t_n)\,e^{+j\omega t_n}\,\Delta t\) is the transient folded with the excitation, so it carries an extra factor of time and the pulse’s own spectral shape. Since the excitation waveform is the incident power-wave amplitude \(a(t)\) in \(\sqrt{\rm W}\) (DD-078), dividing it out leaves the field of a 1 W CW excitation at each monitor frequency — E in V/m, H in A/m, per \(\sqrt{\rm W}\) of incident power. A run performs that division on its own monitors, so .data is in those units from the moment the run returns; .data_raw exposes the undivided bins for callers who want the transient itself.

Project store, checkpointing, resume#

Runs stream results append-only into an HDF5-based on-disk project store (SWMR single-writer/multi-reader), with periodic checkpoints and bit-exact resume (DD-070). File formats: HDF5, XDMF/VTK for field visualisation. This is engineering infrastructure, not a research method; the formats are community standards.