Circuit Elements

impedance.models.circuits.elements.C(p, f)[source]

defines a capacitor

\[Z = \frac{1}{C \times j 2 \pi f}\]
impedance.models.circuits.elements.CPE(p, f)[source]

defines a constant phase element

Notes

\[Z = \frac{1}{Q \times (j 2 \pi f)^\alpha}\]

where \(Q\) = p[0] and \(\alpha\) = p[1].

exception impedance.models.circuits.elements.ElementError[source]
impedance.models.circuits.elements.G(p, f)[source]

defines a Gerischer Element as represented in [1]

Notes

\[Z = \frac{R_G}{\sqrt{1 + j \, 2 \pi f \, t_G}}\]

where \(R_G\) = p[0] and \(t_G\) = p[1]

Gerischer impedance is also commonly represented as [2]:

\[Z = \frac{Z_o}{\sqrt{K+ j \, 2 \pi f}}\]

where \(Z_o = \frac{R_G}{\sqrt{t_G}}\) and \(K = \frac{1}{t_G}\) with units \(\Omega sec^{1/2}\) and \(sec^{-1}\) , respectively.

[1] Y. Lu, C. Kreller, and S.B. Adler, Journal of The Electrochemical Society, 156, B513-B525 (2009) doi:10.1149/1.3079337.

[2] M. González-Cuenca, W. Zipprich, B.A. Boukamp, G. Pudmich, and F. Tietz, Fuel Cells, 1, 256-264 (2001) doi:10.1016/0013-4686(93)85083-B.

impedance.models.circuits.elements.Gs(p, f)[source]

defines a finite-length Gerischer Element as represented in [1]

Notes

\[Z = \frac{R_G}{\sqrt{1 + j \, 2 \pi f \, t_G} \, tanh(\phi \sqrt{1 + j \, 2 \pi f \, t_G})}\]

where \(R_G\) = p[0], \(t_G\) = p[1] and \(\phi\) = p[2]

[1] R.D. Green, C.C Liu, and S.B. Adler, Solid State Ionics, 179, 647-660 (2008) doi:10.1016/j.ssi.2008.04.024.

impedance.models.circuits.elements.K(p, f)[source]

An RC element for use in lin-KK model

Notes

\[Z = \frac{R}{1 + j \omega \tau_k}\]
impedance.models.circuits.elements.L(p, f)[source]

defines an inductor

\[Z = L \times j 2 \pi f\]
impedance.models.circuits.elements.La(p, f)[source]

defines a modified inductance element as represented in [1]

Notes

\[Z = L \times (j 2 \pi f)^\alpha\]

where \(L\) = p[0] and \(\alpha\) = p[1]

[1] EC-Lab Application Note 42, BioLogic Instruments (2019).

exception impedance.models.circuits.elements.OverwriteError[source]
impedance.models.circuits.elements.R(p, f)[source]

defines a resistor

Notes

\[Z = R\]
impedance.models.circuits.elements.T(p, f)[source]

A macrohomogeneous porous electrode model from Paasch et al. [1]

Notes

\[Z = A\frac{\coth{\beta}}{\beta} + B\frac{1}{\beta\sinh{\beta}}\]

where

\[A = d\frac{\rho_1^2 + \rho_2^2}{\rho_1 + \rho_2} \quad B = d\frac{2 \rho_1 \rho_2}{\rho_1 + \rho_2}\]

and

\[\beta = (a + j \omega b)^{1/2} \quad a = \frac{k d^2}{K} \quad b = \frac{d^2}{K}\]

[1] G. Paasch, K. Micka, and P. Gersdorf, Electrochimica Acta, 38, 2653–2662 (1993) doi: 10.1016/0013-4686(93)85083-B.

impedance.models.circuits.elements.TLMQ(p, f)[source]

Simplified transmission-line model as defined in Eq. 11 of [1]

Notes

\[Z = \sqrt{R_{ion}Z_{S}} \coth \sqrt{\frac{R_{ion}}{Z_{S}}}\]

[1] J. Landesfeind et al., Journal of The Electrochemical Society, 163 (7) A1373-A1387 (2016) doi: 10.1016/10.1149/2.1141607jes.

impedance.models.circuits.elements.W(p, f)[source]

defines a semi-infinite Warburg element

Notes

\[Z = \frac{A_W}{\sqrt{ 2 \pi f}} (1-j)\]
impedance.models.circuits.elements.Wo(p, f)[source]

defines an open (finite-space) Warburg element

Notes

\[Z = \frac{Z_0}{\sqrt{ j \omega \tau }} \coth{\sqrt{j \omega \tau }}\]

where \(Z_0\) = p[0] (Ohms) and \(\tau\) = p[1] (sec) = \(\frac{L^2}{D}\)

impedance.models.circuits.elements.Ws(p, f)[source]

defines a short (finite-length) Warburg element

Notes

\[Z = \frac{Z_0}{\sqrt{ j \omega \tau }} \tanh{\sqrt{j \omega \tau }}\]

where \(Z_0\) = p[0] (Ohms) and \(\tau\) = p[1] (sec) = \(\frac{L^2}{D}\)

impedance.models.circuits.elements.Zarc(p, f)[source]

An RQ element rewritten with resistance and and time constant as paramenters. Equivalent to a Cole-Cole relaxation in dielectrics.

Notes

\[Z = \frac{R}{1 + (j \omega \tau_k)^\gamma }\]
impedance.models.circuits.elements.element(num_params, units, overwrite=False)[source]

decorator to store metadata for a circuit element

Parameters
num_paramsint

number of parameters for an element

unitslist of str

list of units for the element parameters

overwritebool (default False)

if true, overwrites any existing element; if false, raises OverwriteError if element name already exists.

impedance.models.circuits.elements.p(parallel)[source]

adds elements in parallel

Notes

\[Z = \frac{1}{\frac{1}{Z_1} + \frac{1}{Z_2} + ... + \frac{1}{Z_n}}\]
impedance.models.circuits.elements.s(series)[source]

sums elements in series

Notes

\[Z = Z_1 + Z_2 + ... + Z_n\]