{
  "title": "CoaxialLumpedPort",
  "public_path": "flex_rf.tidy3d.CoaxialLumpedPort",
  "lookup_path": "tidy3d.rf.CoaxialLumpedPort",
  "slug": "flex_rf/tidy3d/CoaxialLumpedPort",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/coaxiallumpedport/",
  "object_kind": "class",
  "introduction": "Class representing a single coaxial lumped port.",
  "notes": "",
  "examples": "```python\nport1 = CoaxialLumpedPort(center=(0, 0, 0),\n            outer_diameter=4,\n            inner_diameter=1,\n            normal_axis=2,\n            direction=\"+\",\n            name=\"coax_port_1\",\n            impedance=50\n        )\n```",
  "references": "",
  "signature": "class CoaxialLumpedPort(AbstractLumpedPort, AbstractAxesRH)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/plugins/smatrix/ports/coaxial_lumped.py",
    "url": "",
    "lineno": 40,
    "endlineno": 425
  },
  "bases": [
    "AbstractLumpedPort",
    "AbstractAxesRH"
  ],
  "parameter_rows": [
    {
      "name": "center",
      "annotation": "Coordinate",
      "default": "(0.0, 0.0, 0.0)",
      "description": "Center of object in x, y, and z.",
      "origin": "declared"
    },
    {
      "name": "outer_diameter",
      "annotation": "PositiveFloat",
      "default": "",
      "description": "Diameter of the outer coaxial circle.",
      "origin": "declared"
    },
    {
      "name": "inner_diameter",
      "annotation": "PositiveFloat",
      "default": "",
      "description": "Diameter of the inner coaxial circle.",
      "origin": "declared"
    },
    {
      "name": "normal_axis",
      "annotation": "Axis",
      "default": "",
      "description": "Specifies the axis which is normal to the concentric circles.",
      "origin": "declared"
    },
    {
      "name": "direction",
      "annotation": "Direction",
      "default": "",
      "description": "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.",
      "origin": "declared"
    },
    {
      "name": "attrs",
      "annotation": "dict",
      "default": "factory: dict",
      "description": "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.model_dump_json()`.",
      "origin": "inherited"
    },
    {
      "name": "name",
      "annotation": "str",
      "default": "",
      "description": "Unique name for the port.",
      "origin": "inherited"
    },
    {
      "name": "impedance",
      "annotation": "Complex",
      "default": "DEFAULT_REFERENCE_IMPEDANCE",
      "description": "Reference port impedance for scattering parameter computation.",
      "origin": "inherited"
    },
    {
      "name": "num_grid_cells",
      "annotation": "PositiveInt | None",
      "default": "DEFAULT_PORT_NUM_CELLS",
      "description": "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.",
      "origin": "inherited"
    },
    {
      "name": "enable_snapping_points",
      "annotation": "bool",
      "default": "True",
      "description": "When enabled, snapping points are automatically generated to snap grids to key geometric features of the lumped port for more accurate modelling.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "compute_current",
      "kind": "function",
      "signature": "compute_current(sim_data: SimulationData)",
      "description": "Helper to compute current flowing through the port."
    },
    {
      "name": "compute_voltage",
      "kind": "function",
      "signature": "compute_voltage(sim_data: SimulationData)",
      "description": "Helper to compute voltage across the port."
    },
    {
      "name": "injection_axis",
      "kind": "function",
      "signature": "injection_axis()",
      "description": "Required for inheriting from AbstractTerminalPort."
    },
    {
      "name": "main_axis",
      "kind": "function",
      "signature": "main_axis()",
      "description": "Required for inheriting from AbstractAxesRH."
    },
    {
      "name": "to_current_monitor",
      "kind": "function",
      "signature": "to_current_monitor(freqs: FreqArray, snap_center: float | None = None, grid: Grid | None = None)",
      "description": "Field monitor to compute port current."
    },
    {
      "name": "to_load",
      "kind": "function",
      "signature": "to_load(snap_center: float | None = None)",
      "description": "Create a load resistor from the lumped port."
    },
    {
      "name": "to_source",
      "kind": "function",
      "signature": "to_source(source_time: SourceTimeType, snap_center: float | None = None, grid: Grid | None = None, **kwargs: Any)",
      "description": "Create a current source from the lumped port."
    },
    {
      "name": "to_voltage_monitor",
      "kind": "function",
      "signature": "to_voltage_monitor(freqs: FreqArray, snap_center: float | None = None, grid: Grid | None = None)",
      "description": "Field monitor to compute port voltage."
    }
  ],
  "group": "flex_rf.tidy3d"
}
