tidy3d.components.lumped_element.RectangularLumpedElement#

class RectangularLumpedElement[source]#

Bases: LumpedElement, Box

Class representing a rectangular element with zero thickness. A RectangularLumpedElement is appended to the list of structures in the simulation as a Medium2D with the appropriate material properties given their size, voltage axis, and the network they represent.

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().

  • center (Union[tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]], Box] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z.

  • size (Union[tuple[Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box], Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box], Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box]], Box]) – [units = um]. Size in x, y, and z directions.

  • name (ConstrainedStrValue) – Unique name for the lumped element.

  • num_grid_cells (Optional[PositiveInt] = 1) – 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.

  • enable_snapping_points (bool = True) – When enabled, snapping points are automatically generated to snap grids to key geometric features of the lumped element for more accurate modelling.

  • voltage_axis (Literal[0, 1, 2]) – 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.

  • snap_perimeter_to_grid (bool = True) – 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.

Attributes

lateral_axis

Lateral axis of the lumped element.

monitor_name

normal_axis

Normal axis of the lumped element, which is the axis where the element has zero size.

attrs

Methods

to_geometry([grid])

Converts the RectangularLumpedElement object to a Box.

to_mesh_overrides()

Creates a suggested MeshOverrideStructure list for mesh refinement both on the plane of lumped element, and along normal axis.

to_monitor(freqs)

Creates a field monitor that can be added to the simulation, which records field data that can be used to later compute voltage and current flowing through the element.

to_snapping_points()

Creates a suggested snapping point list to ensure that the element is aligned with a grid boundary in the normal direction, and the endpoints aligned with grids in the voltage axis.

Inherited Common Usage

voltage_axis#
snap_perimeter_to_grid#
property normal_axis#

Normal axis of the lumped element, which is the axis where the element has zero size.

property lateral_axis#

Lateral axis of the lumped element.

to_mesh_overrides()[source]#

Creates a suggested MeshOverrideStructure list for mesh refinement both on the plane of lumped element, and along normal axis. In the normal direction, we’ll make sure there are at least 2 cell layers above and below whose size is the same as the in-plane cell size in the override region.

to_snapping_points()[source]#

Creates a suggested snapping point list to ensure that the element is aligned with a grid boundary in the normal direction, and the endpoints aligned with grids in the voltage axis.

to_geometry(grid=None)[source]#

Converts the RectangularLumpedElement object to a Box.

to_monitor(freqs)[source]#

Creates a field monitor that can be added to the simulation, which records field data that can be used to later compute voltage and current flowing through the element.

property monitor_name#
__hash__()#

Hash method.