Table of Contents
Probes (2D FDTD)
A probe records one field component at a fixed grid location. It observes the simulation without injecting a value, producing a time history instead of a full spatial image.
add_probe(i, j, component) returns an identifier used to retrieve the results:
const auto id = sim.add_probe(160, 128, fdtd::TMz::Component::Ez); sim.run(400); const auto values = sim.probe_data(id); const auto times = sim.probe_times(id);
Probes must be registered before the first run. Their records continue across subsequent runs, allowing a simulation to advance in smaller pieces without losing the earlier measurements.
Electric and magnetic records have different timestamps. After the first step, an $E_z$ record corresponds to $\Delta t$, while an $H_x$ or $H_y$ record corresponds to $\Delta t/2$. probe_times() includes this offset from time stepping.
The driver records $E_z$ with --probe I,J and writes each trace to probe_<k>.csv. Probe traces are useful for measuring pulse arrival, checking reflected signals, or comparing backends without storing every grid sample at every step.
