tidy3d.LinearLumpedElement#
- class LinearLumpedElement[source]#
Bases:
RectangularLumpedElementLumped element representing a network consisting of resistors, capacitors, and inductors.
- 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,
attrsare mutable. For example, the following is allowed for setting anattrobj.attrs['foo'] = bar. Also note that Tidy3D` will raise aTypeErrorifattrscontain objects that can not be serialized. One can check ifattrsare serializable by callingobj.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] = 3) β Number of mesh grid cells associated with the lumped element along each direction. Used in generating the suggested list of
MeshOverrideStructureobjects. A value ofNonewill turn off mesh refinement suggestions.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_axisare snapped to grid boundaries, while the sides parallel to thevoltage_axisare snapped to grid centers. Lumped elements are always snapped to the nearest grid boundary along theirnormal_axis, regardless of this option.network (Union[RLCNetwork, AdmittanceNetwork]) β The linear element produces an equivalent medium that emulates the voltage-current relationship described by the
networkfield.
Notes
Implementation is based on the equivalent medium introduced by [1].
References
Example
>>> RL_series = RLCNetwork(resistance=75, ... inductance=1e-9, ... network_topology="series" ... ) >>> linear_element = LinearLumpedElement( ... center=[0, 0, 0], ... size=[2, 0, 3], ... voltage_axis=0, ... network=RL_series, ... name="LumpedRL" ... )
Attributes
Methods
admittance(freqs)Returns the admittance of this lumped element at the frequencies specified by
freqs.impedance(freqs)Returns the impedance of this lumped element at the frequencies specified by
freqs.to_structure([grid])Converts the
LinearLumpedElementobject to aStructureready to be added to theSimulationInherited Common Usage
- network#
- to_structure(grid=None)[source]#
Converts the
LinearLumpedElementobject to aStructureready to be added to theSimulation
- admittance(freqs)[source]#
Returns the admittance of this lumped element at the frequencies specified by
freqs.Note
Admittance is returned using the physics convention for time-harmonic fields \(\exp{-j \omega t}\), so the imaginary part of the admittance will have an opposite sign compared to the expected value when using the engineering convention.
- impedance(freqs)[source]#
Returns the impedance of this lumped element at the frequencies specified by
freqs.Note
Impedance is returned using the physics convention for time-harmonic fields \(\exp{-j \omega t}\), so the imaginary part of the impedance will have an opposite sign compared to the expected value when using the engineering convention.
- __hash__()#
Hash method.