tidy3d.rf.AdmittanceNetwork#
- class AdmittanceNetwork[source]#
Bases:
MicrowaveBaseModelClass 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:
a (tuple[NonNegativeFloat, ...]) – A
tupleof floats describing the coefficients of the numerator polynomial. The length of thetupleis equal to the order of the network.b (tuple[NonNegativeFloat, ...]) – A
tupleof floats describing the coefficients of the denomiator polynomial. The length of thetupleis equal to the order of the network.warning:: (..) – This class may be renamed to
AdmittanceModelin a future release. For building networks from SPICE files or component lists, useCircuitImpedanceModel(e.g.CircuitImpedanceModel.from_spice()).
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
PoleResiduemedium 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
Recommended: build the same RC parallel network with
CircuitImpedanceModel(no warning):>>> comps = ( ... LumpedCircuitComponent(element_type="R", node_plus="1", node_minus="0", value=50.0, name="R1"), ... LumpedCircuitComponent(element_type="C", node_plus="1", node_minus="0", value=1e-12, name="C1"), ... ) >>> model = CircuitImpedanceModel(components=comps, freq_range=(1e9, 2e9))
Legacy (a, b) form; constructing
AdmittanceNetworkemits a rename warning. To suppress it, uselog.suppress_output():>>> with log.suppress_output(): ... R, C = 50, 1e-12 ... a = (1, R * C) # RC parallel numerator ... b = (R, 0) # denominator ... RC_parallel = AdmittanceNetwork(a=a, b=b)
Attributes
- a#
- b#