{
  "title": "LinearLumpedElement",
  "public_path": "flex_rf.tidy3d.LinearLumpedElement",
  "lookup_path": "tidy3d.rf.LinearLumpedElement",
  "slug": "flex_rf/tidy3d/LinearLumpedElement",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/linearlumpedelement/",
  "object_kind": "class",
  "introduction": "Lumped element representing a network consisting of resistors, capacitors, and inductors.",
  "notes": "Implementation is based on the equivalent medium introduced by [1].",
  "examples": "```python\nRL_series = RLCNetwork(resistance=75,  # doctest: +SKIP\n                       inductance=1e-9,\n                       network_topology=\"series\"\n            )\nlinear_element = LinearLumpedElement(  # doctest: +SKIP\n                        center=[0, 0, 0],\n                        size=[2, 0, 3],\n                        voltage_axis=0,\n                        network=RL_series,\n                        name=\"LumpedRL\"\n                  )\n```",
  "references": "**[1]** J. A. Pereda, F. Alimenti, P. Mezzanotte, L. Roselli and R. Sorrentino, \"A new algorithm for the incorporation of arbitrary linear lumped networks into FDTD simulators,\" IEEE Trans. Microw. Theory Tech., vol. 47, no. 6, pp. 943-949, Jun. 1999.",
  "signature": "class LinearLumpedElement(RectangularLumpedElement)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/lumped_element.py",
    "url": "",
    "lineno": 1880,
    "endlineno": 2186
  },
  "bases": [
    "RectangularLumpedElement"
  ],
  "parameter_rows": [
    {
      "name": "network",
      "annotation": "NetworkType",
      "default": "",
      "description": "The linear element produces an equivalent medium that emulates the voltage-current relationship described by the `network` field.",
      "origin": "declared"
    },
    {
      "name": "dist_type",
      "annotation": "LumpDistType",
      "default": "'on'",
      "description": "Switches between the different methods for distributing the lumped element over the grid.",
      "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": "center",
      "annotation": "TracedCoordinate",
      "default": "(0.0, 0.0, 0.0)",
      "description": "Center of object in x, y, and z.",
      "origin": "inherited"
    },
    {
      "name": "size",
      "annotation": "TracedSize",
      "default": "",
      "description": "Size in x, y, and z directions.",
      "origin": "inherited"
    },
    {
      "name": "name",
      "annotation": "str",
      "default": "",
      "description": "Unique name for the lumped element.",
      "origin": "inherited"
    },
    {
      "name": "num_grid_cells",
      "annotation": "PositiveInt | None",
      "default": "DEFAULT_LUMPED_ELEMENT_NUM_CELLS",
      "description": "Number of mesh grid cells associated with the lumped element along each direction. Used in generating the suggested list of `MeshOverrideStructure` objects. A value of `None` will turn off mesh refinement suggestions.",
      "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 element for more accurate modelling.",
      "origin": "inherited"
    },
    {
      "name": "voltage_axis",
      "annotation": "Axis",
      "default": "",
      "description": "Specifies the axis along which the component is oriented and along which the associated voltage drop will occur. Must be in the plane of the element.",
      "origin": "inherited"
    },
    {
      "name": "snap_perimeter_to_grid",
      "annotation": "bool",
      "default": "True",
      "description": "When enabled, the perimeter of the lumped element is snapped to the simulation grid, which improves accuracy when the number of grid cells is low within the element. Sides of the element perpendicular to the `voltage_axis` are snapped to grid boundaries, while the sides parallel to the `voltage_axis` are snapped to grid centers. Lumped elements are always snapped to the nearest grid boundary along their `normal_axis`, regardless of this option.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "admittance",
      "kind": "function",
      "signature": "admittance(freqs: np.ndarray)",
      "description": "Returns the admittance of this lumped element at the frequencies specified by `freqs`."
    },
    {
      "name": "estimate_parasitic_elements",
      "kind": "function",
      "signature": "estimate_parasitic_elements(grid: Grid)",
      "description": "Provides an estimate for the parasitic inductance and capacitance associated with the connections. These wire or sheet connections are used when the lumped element is not distributed over the voltage axis."
    },
    {
      "name": "impedance",
      "kind": "function",
      "signature": "impedance(freqs: np.ndarray)",
      "description": "Returns the impedance of this lumped element at the frequencies specified by `freqs`."
    },
    {
      "name": "to_PEC_connection",
      "kind": "function",
      "signature": "to_PEC_connection(grid: Grid)",
      "description": "Converts the `LinearLumpedElement` object to a `Structure`, representing any PEC connections."
    },
    {
      "name": "to_structure",
      "kind": "function",
      "signature": "to_structure(grid: Grid, frequency_range: FreqBound | None = None)",
      "description": "Converts the `LinearLumpedElement` object to a `Structure`, which enforces the desired voltage-current relationship across one or more grid cells."
    },
    {
      "name": "to_structures",
      "kind": "function",
      "signature": "to_structures(grid: Grid, frequency_range: FreqBound | None = None)",
      "description": "Converts the `LinearLumpedElement` object to a list of `Structure` which are ready to be added to the `Simulation`. Passes `frequency_range` through to `to_structure`; for `CircuitImpedanceModel` networks, if omitted, the model's `freq_range` is used (e.g. after injection by `TerminalComponentModeler`)."
    }
  ],
  "group": "flex_rf.tidy3d"
}
