tidy3d.AdmittanceNetwork#

class AdmittanceNetwork[source]#

Bases: Tidy3dBaseModel

Class for representing a network consisting of an arbitrary number of resistors, capacitors, and inductors. The network is represented in the Laplace domain as an admittance function. Provides additional functionality for representing the network as an equivalent medium.

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

  • a (Tuple[NonNegativeFloat, ...]) – A tuple of floats describing the coefficients of the numerator polynomial. The length of the tuple is equal to the order of the network.

  • b (Tuple[NonNegativeFloat, ...]) – A tuple of floats describing the coefficients of the denomiator polynomial. The length of the tuple is equal to the order of the network.

Notes

The network is described by the supplied coefficients as an admittance function that relates voltage to the current in the Laplace domain and is equivalent to a frequency-dependent complex conductivity \(\sigma(\omega)\).

\[I(s) = Y(s)V(s)\]
\[Y(s) = \frac{a_0 + a_1 s + \dots + a_M s^M}{b_0 + b_1 s + \dots + b_N s^N}\]

An equivalent PoleResidue medium is constructed using an equivalent frequency-dependent complex permittivity defined as

\[\epsilon(s) = \epsilon_\infty - \frac{\Delta}{\epsilon_0 s} \frac{a_0 + a_1 s + \dots + a_M s^M}{b_0 + b_1 s + \dots + b_N s^N}.\]

The admittance is scaled depending on the geometric properties of the lumped element by the scaling factor \(\Delta\). Implementation is based on the equivalent medium introduced by [1].

References

Example

>>> R = 50
>>> C = 1e-12
>>> a = (1, R * C) # Coefficients for an RC parallel network
>>> b = (R, 0)
>>> RC_parallel = AdmittanceNetwork(a=a,
...                                 b=b
...               )

Attributes

Methods

Inherited Common Usage

a#
b#
__hash__()#

Hash method.