flex_rf.tidy3d.MicrowaveTerminalSource
Type: class │ Base(s): AbstractModeSource
Description
Section titled “Description”Injects current source to excite a specific terminal mode.
Example(s)
Section titled “Example(s)”from tidy3d import GaussianPulse, AxisAlignedCurrentIntegralSpec, CustomImpedanceSpecpulse = GaussianPulse(freq0=10e9, fwidth=1e9)
# Define impedance spec for terminalcurrent_spec = AxisAlignedCurrentIntegralSpec( center=(0, 0, 0), size=(2, 1, 0), sign="+")impedance_spec = CustomImpedanceSpec(current_spec=current_spec)
# Create terminal mode specterminal_spec = MicrowaveTerminalModeSpec( num_modes=1, impedance_specs={"port1": impedance_spec})
# Create terminal sourceterminal_source = MicrowaveTerminalSource( size=(10, 10, 0), source_time=pulse, mode_spec=terminal_spec, terminal_label="port1", direction='+')Parameters
Section titled “Parameters”size [TracedSize] |
|
Size in x, y, and z directions. |
source_time [SourceTimeType] |
|
Specification of the source time-dependence. |
direction [Direction] |
|
Specifies propagation in the positive or negative direction of the injection axis. |
name [str | None] = None |
|
Optional name for the source. |
center [TracedCoordinate] = (0.0, 0.0, 0.0) |
|
Center of object in x, y, and z. |
num_freqs [int] = 1 |
|
Number of points used to approximate the frequency dependence of the injected field. For ‘chebyshev’, a Chebyshev interpolation is used with ‘num_freqs’ terms (max 20). For ‘pole_residue’, the mode solver samples at ‘num_freqs’ uniform frequencies and fits ceil((num_freqs - 1) / 3) poles; higher values provide denser sampling and more poles for the fit (max 50). |
broadband_method [Literal['chebyshev', 'pole_residue']] = 'chebyshev' |
|
Method for representing the frequency dependence of the injected field. ‘chebyshev’ uses Chebyshev polynomial interpolation (default). ‘pole_residue’ uses a pole-residue (vector fitting) decomposition with auxiliary differential equation (ADE) time stepping. The pole-residue method can be more accurate for highly dispersive modes and uses fewer broadband terms than frequency samples. |
use_colocated_integration [bool] = True |
|
If |
frame [PECFrame | None] = None |
|
Add a thin frame around the source during the FDTD run to improve the injection quality. The frame is positioned along the primal grid lines so that it aligns with the boundaries of the mode solver used to obtain the source profile. |
mode_spec [MicrowaveTerminalModeSpec] = ... |
|
Specification for terminal modes with explicit impedance definitions. Defines how voltage, current, and impedance are computed for each terminal. |
terminal_label [str] = ... |
|
String identifier for the terminal to excite. Must match the label of a terminal (single-ended or differential pair). |