Skip to content

flex_rf.tidy3d.TerminalComponentModelerData

Type: class Base(s): AbstractComponentModelerData, MicrowaveBaseModel

Data associated with a TerminalComponentModeler simulation run.

This class serves as a data container for the results of a component modeler simulation, with the original simulation definition, and port simulation data, and the solver log.

S-Parameter Definitions

The s_param_def parameter controls which wave definition is used to compute scattering parameters. Three definitions are supported:

  • "pseudo" (default): Pseudo-waves as defined by Marks and Williams [1]. Uses scaling factor F=Re(Z)/(2Z)F = \sqrt{\text{Re}(Z)} / (2|Z|). Wave amplitudes are a=F(V+ZI)a = F(V + ZI) and b=F(VZI)b = F(V - ZI).

  • "power": Power waves as defined by Kurokawa [3] and described in Pozar [2]. Uses scaling factor F=1/(2Re(Z))F = 1 / (2\sqrt{\text{Re}(Z)}). Wave amplitudes are a=F(V+ZI)a = F(V + ZI) and b=F(VZI)b = F(V - Z^*I) where ZZ^* is the complex conjugate. Ensures a2b2|a|^2 - |b|^2 represents actual power flow.

  • "symmetric_pseudo": Equivalent to pseudo-waves except for the scaling factor. Uses F=1/(2Z)F = 1 / (2\sqrt{Z}) where the square root is complex. This choice of scaling factor ensures the S-matrix will be symmetric when the simulated device is reciprocal.

[1] R. B. Marks and D. F. Williams, “A general waveguide circuit theory,” J. Res. Natl. Inst. Stand. Technol., vol. 97, pp. 533, 1992.

[2] D. M. Pozar, Microwave Engineering, 4th ed. Hoboken, NJ, USA: John Wiley & Sons, 2012.

[3] K. Kurokawa, “Power Waves and the Scattering Matrix,” IEEE Trans. Microwave Theory Tech., vol. 13, no. 2, pp. 194-202, March 1965.

data [SimulationDataMap]

A mapping from task names to SimulationData objects, containing the results of each simulation run.

log [str | None] = None

A string containing the log information from the modeler post-processing run.

modeler [TerminalComponentModeler] = ...

The original TerminalComponentModeler object that defines the simulation setup and from which this data was generated.

renormalized_reference_impedance [RenormalizedReferenceImpedance | None] = None

When set, overrides port_reference_impedances for all S-matrix computations. Accepts: complex (uniform), PortDataArray (per-port diagonal), or TerminalPortDataArray (full matrix).

ab_to_s
check_port_impedance_sign
compute_F
compute_port_VI
compute_power_delivered_by_port
compute_power_wave_amplitudes
change_port_reference_planes(smatrix: MicrowaveSMatrixData, port_shifts: PortNameDataArray = None)

Performs S-parameter de-embedding by shifting reference planes port_shifts um.

compute_port_wave_amplitude_matrices(s_param_def: SParamDef = 'pseudo')

Compute wave amplitude matrices for all port combinations.

compute_power_wave_amplitudes_at_each_port(sim_data: SimulationData, port_reference_impedances: TerminalPortDataArray | None = None)

Compute the incident and reflected power wave amplitudes at each port. The computed amplitudes have not been normalized.

compute_wave_amplitudes_at_each_port(sim_data: SimulationData, port_reference_impedances: TerminalPortDataArray | None = None, s_param_def: SParamDef = 'pseudo')

Compute the incident and reflected amplitudes at each port. The computed amplitudes have not been normalized.

get_antenna_metrics_data(port_amplitudes: dict[NetworkIndex, complex] | None = None, monitor_name: str | None = None)

Calculate antenna parameters using superposition of fields from multiple port excitations.

port_power_wave_matrices()

Compute power-wave amplitude matrices for all port combinations.

port_pseudo_wave_matrices()

Compute pseudo-wave amplitude matrices for all port combinations.

port_reference_impedances()

Calculates the reference impedance matrix for each port across all frequencies.

port_symmetric_pseudo_wave_matrices()

Compute symmetric-pseudo wave amplitude matrices for all port combinations.

port_voltage_current_matrices()

Compute voltage and current matrices for all port combinations.

renormalize(reference_impedance: RenormalizedReferenceImpedance)

Return a new instance whose S-matrix is renormalized to a different reference impedance.

s_to_z(assume_ideal_excitation: bool | None = None, s_param_def: SParamDef = 'pseudo')

Converts the S-matrix to the Z-matrix using the port reference impedances.

smatrix(assume_ideal_excitation: bool | None = None, s_param_def: SParamDef | None = None)

Computes and returns the S-matrix and port reference impedances.

smatrix_deembedded(port_shifts: np.ndarray = None)

Interface function returns de-embedded S-parameter matrix.