tidy3d.plugins.smatrix.CoaxialLumpedPort#

class CoaxialLumpedPort[source]#

Bases: AbstractLumpedPort, AbstractAxesRH

Class representing a single coaxial lumped port

Parameters:
  • attrs (dict = {}) – Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields, attrs are mutable. For example, the following is allowed for setting an attr obj.attrs['foo'] = bar. Also note that Tidy3D` will raise a TypeError if attrs contain objects that can not be serialized. One can check if attrs are serializable by calling obj.json().

  • name (ConstrainedStrValue) – Unique name for the port.

  • impedance (Union[tidycomplex, ComplexNumber] = 50) – [units = ohm]. Reference port impedance for scattering parameter computation.

  • num_grid_cells (Optional[PositiveInt] = 3) – Number of mesh grid cells associated with the port along each direction, which are added through automatic mesh refinement. A value of None will turn off automatic mesh refinement.

  • center (Tuple[float, float, float] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z.

  • outer_diameter (PositiveFloat) – [units = um]. Diameter of the outer coaxial circle.

  • inner_diameter (PositiveFloat) – [units = um]. Diameter of the inner coaxial circle.

  • normal_axis (Literal[0, 1, 2]) – Specifies the axis which is normal to the concentric circles.

  • direction (Literal['+', '-']) – The direction of the signal travelling in the transmission line. This is needed in order to position the path integral, which is used for computing conduction current using Ampère’s circuital law.

Example

>>> port1 = CoaxialLumpedPort(center=(0, 0, 0),
...             outer_diameter=4,
...             inner_diameter=1,
...             normal_axis=2,
...             direction="+",
...             name="coax_port_1",
...             impedance=50
...         )

Attributes

injection_axis

Required for inheriting from AbstractLumpedPort.

main_axis

Required for inheriting from AbstractAxesRH.

attrs

Methods

compute_current(sim_data)

Helper to compute current flowing through the port.

compute_voltage(sim_data)

Helper to compute voltage across the port.

to_current_monitor(freqs, snap_center)

Field monitor to compute port current.

to_load(snap_center)

Create a load resistor from the lumped port.

to_source(source_time, snap_center, grid)

Create a current source from the lumped port.

to_voltage_monitor(freqs, snap_center)

Field monitor to compute port voltage.

Inherited Common Usage

center#
outer_diameter#
inner_diameter#
normal_axis#
direction#
property main_axis#

Required for inheriting from AbstractAxesRH.

property injection_axis#

Required for inheriting from AbstractLumpedPort.

to_source(source_time, snap_center, grid)[source]#

Create a current source from the lumped port.

to_load(snap_center)[source]#

Create a load resistor from the lumped port.

to_voltage_monitor(freqs, snap_center)[source]#

Field monitor to compute port voltage.

to_current_monitor(freqs, snap_center)[source]#

Field monitor to compute port current.

compute_voltage(sim_data)[source]#

Helper to compute voltage across the port.

We arbitrarily choose the positive first in-plane axis as the location for the path. Any of the four possible choices should give the same result.

compute_current(sim_data)[source]#

Helper to compute current flowing through the port.

The contour is a closed loop around the inner conductor. It is positioned at the midpoint between inner and outer radius of the annulus.

__hash__()#

Hash method.