Skip to content

Results and Observables

Result is the object returned by Simulation.run().

FieldMeaningPublic use
statesolver state / checkpoint payloadrestart and debugging
time_seriesrecorded probe values over timeringdown, transient response, Harminv
s_paramslumped/wire port S-matrixmatching, filters, de-embedding
freqsfrequency axis for frequency-domain outputspair with S-parameter and DFT outputs
ntff_datanear-to-far-field accumulationradiation patterns where documented
dft_planesfrequency-domain plane observablesslices and field maps
flux_monitorsplane flux accumulationstransmission / reflection analysis
waveguide_sparamsper-port waveguide diagnosticswaveguide workflows
snapshotssaved field snapshotsvisualization and post-processing
gridmesh metadatareproducibility checks
dttimesteptime-axis conversion
CalculatorResult objectPublic status
run(compute_s_params=True) with lumped/wire add_port(...)Result.s_params, Result.freqsrecommended path for the matching port family
forward(port_s11_freqs=...) with lumped/wire add_port(...)ForwardResult.s_params, ForwardResult.freqsdifferentiable S11 vectors, not a full multi-port matrix
compute_msl_s_matrix(...)MSLSMatrixResultspecialized microstrip-line workflow
compute_waveguide_s_matrix(...)WaveguideSMatrixResultrectangular waveguide workflow
run(...) with a single waveguide portResult.waveguide_sparams[name]diagnostic per-port output

Sources, TFSF, probes, DFT planes, flux monitors, coaxial ports, and Floquet ports do not automatically imply a promoted high-level S-matrix workflow.

BuilderResult fieldTypical use
add_probe(...) / add_vector_probe(...)time_seriestransient response, ringdown, local field traces
add_dft_plane_probe(...)dft_planesfrequency-domain field slices
add_flux_monitor(...)flux_monitorsreflection / transmission bookkeeping
add_ntff_box(...)ntff_data, ntff_boxfar-field accumulation

Result.find_resonances() runs Harminv-style mode extraction on a probe time series.

result = sim.run(n_steps=8000)
modes = result.find_resonances(freq_range=(1.5e9, 3.5e9))

Use this on a clean probe signal when you want a resonance estimate that is less dependent on port calibration than S-parameters.

rfx.validation provides helper functions for checking S-matrix-like arrays for shape, finite values, frequency metadata, port names, and caller-selected passivity / reciprocity limits.

from rfx import validate_port_smatrix, assert_port_smatrix_valid
report = validate_port_smatrix(result, check_passivity=True, passivity_tol=0.02)
print(report.summary())

These helpers are useful for regression checks. They do not by themselves turn an experimental workflow into the recommended default lane.

For public docs, describe observables in simple terms:

  • time_series and Harminv are the recommended resonance path.
  • lumped/wire, MSL, and waveguide S-parameter workflows each have their own calculator.
  • NTFF/far-field outputs should be used where the relevant guide documents the workflow.
  • Other fields are real and useful, but should be treated as analysis surfaces until their support status is explicit.