Circuits

There exist a few predefined circuits that were implemented based on published papers. Usually, those circuits are rather complex and cannot be built by the existing elements or feature parameters in certain ranges or units that are not consistent with the generally chosen unit set.

Cole-Cole circuits

impedancefitter.cole_cole.cole_cole_2_model(omega, c0, epsinf, deps1, deps2, tau1, tau2, a1, a2, sigma)[source]

Standard 2-Cole-Cole impedance model.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for unit capacitance, in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • deps1 (double) – value for \(\Delta\varepsilon_1\)

  • deps2 (double) – value for \(\Delta\varepsilon_2\)

  • deps3 (double) – value for \(\Delta\varepsilon_3\)

  • tau1 (double) – value for \(\tau_1\), in ps

  • tau2 (double) – value for \(\tau_2\), in ns

  • a1 (double) – value for \(1 - \alpha_1 = a\)

  • a2 (double) – value for \(1 - \alpha_2 = a\)

  • sigma (double) – conductivity value

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

The original model has been described in [Gabriel1996]. Here, two instead of four dispersions are used.

impedancefitter.cole_cole.cole_cole_2tissue_model(omega, c0, epsinf, deps1, deps2, tau1, tau2, a1, a2, sigma)[source]

2-Cole-Cole impedance model for tissues.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for unit capacitance, in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • deps1 (double) – value for \(\Delta\varepsilon_1 \cdot 10^3\)

  • deps2 (double) – value for \(\Delta\varepsilon_2 \cdot 10^6\)

  • tau1 (double) – value for \(\tau_1\), in us

  • tau2 (double) – value for \(\tau_2\), in ms

  • a1 (double) – value for \(1 - \alpha_1 = a\)

  • a2 (double) – value for \(1 - \alpha_2 = a\)

  • sigma (double) – conductivity value

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

The original model has been described in [Gabriel1996]. Here, two instead of four dispersions are used.

impedancefitter.cole_cole.cole_cole_3_model(omega, c0, epsinf, deps1, deps2, deps3, tau1, tau2, tau3, a1, a2, a3, sigma)[source]

Standard 3-Cole-Cole impedance model.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for unit capacitance, in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • deps1 (double) – value for \(\Delta\varepsilon_1\)

  • deps2 (double) – value for \(\Delta\varepsilon_2\)

  • deps3 (double) – value for \(\Delta\varepsilon_3\)

  • tau1 (double) – value for \(\tau_1\), in ps

  • tau2 (double) – value for \(\tau_2\), in ns

  • tau3 (double) – value for \(\tau_3\), in us

  • a1 (double) – value for \(1 - \alpha_1 = a\)

  • a2 (double) – value for \(1 - \alpha_2 = a\)

  • a3 (double) – value for \(1 - \alpha_3 = a\)

  • sigma (double) – conductivity value

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

The original model has been described in [Gabriel1996]. Here, three instead of four dispersions are used.

impedancefitter.cole_cole.cole_cole_4_model(omega, c0, epsinf, deps1, deps2, deps3, deps4, tau1, tau2, tau3, tau4, a1, a2, a3, a4, sigma)[source]

Standard 4-Cole-Cole impedance model.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for unit capacitance, in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • deps1 (double) – value for \(\Delta\varepsilon_1\)

  • deps2 (double) – value for \(\Delta\varepsilon_2\)

  • deps3 (double) – value for \(\Delta\varepsilon_3\)

  • deps4 (double) – value for \(\Delta\varepsilon_4\)

  • tau1 (double) – value for \(\tau_1\), in ps

  • tau2 (double) – value for \(\tau_2\), in ns

  • tau3 (double) – value for \(\tau_3\), in us

  • tau4 (double) – value for \(\tau_4\), in ms

  • a1 (double) – value for \(1 - \alpha_1 = a\)

  • a2 (double) – value for \(1 - \alpha_2 = a\)

  • a3 (double) – value for \(1 - \alpha_3 = a\)

  • a4 (double) – value for \(1 - \alpha_4 = a\)

  • sigma (double) – conductivity value

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

The original model has been described in [Gabriel1996].

References

Gabriel1996(1,2,3,4)

Gabriel, S., Lau, R. W., & Gabriel, C. (1996). The dielectric properties of biological tissues: III. Parametric models for the dielectric spectrum of tissues. Physics in Medicine and Biology, 41(11), 2271–2293. https://doi.org/10.1088/0031-9155/41/11/003

impedancefitter.cole_cole.cole_cole_R_model(omega, Rinf, R0, tau, a)[source]

Standard Cole-Cole circuit for macroscopic quantities.

See for example [Schwan1957] for more information.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • Rinf (double) – value for \(R_\infty\)

  • R0 (double) – value for \(R_0\)

  • tau (double) – value for \(\tau\), in ns

  • a (double) – value for \(1 - \alpha = a\)

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Equation for calculations:

\[Z_\mathrm{Cole} = R_\infty + \frac{R_0-R_\infty}{1+(j\omega \tau)^a}\]

Warning

The time constant tau is in ns!

References

Schwan1957

Schwan, H. P. (1957). Electrical properties of tissue and cell suspensions. Advances in biological and medical physics (Vol. 5). ACADEMIC PRESS INC. https://doi.org/10.1016/b978-1-4832-3111-2.50008-0

impedancefitter.cole_cole.cole_cole_model(omega, c0, epsl, tau, a, sigma, epsinf)[source]

Cole-Cole model for dielectric properties.

The model was implemented as presented in [Sabuncu2012]. You need to provide the unit capacitance of your device to get the dielectric properties of the Cole-Cole model.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for \(c_0\), unit capacitance in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • epsl (double) – value for \(\varepsilon_\mathrm{l}\)

  • tau (double) – value for \(\tau\), in ns

  • sigma (double) – value for \(\sigma_\mathrm{dc}\)

  • a (double) – value for \(1 - \alpha = a\)

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The time constant tau is in ns!

Equations for calculations:

\[\varepsilon^\ast = \varepsilon_\infty + \frac{\varepsilon_\mathrm{l}-\varepsilon_\infty}{1+(j \omega \tau)^a} - \frac{j \sigma_\mathrm{dc}}{\omega \varepsilon_\mathrm{0}}\]
\[Z = \frac{1}{j\varepsilon^\ast \omega c_\mathrm{0}}\]

References

Sabuncu2012

Sabuncu, A. C., Zhuang, J., Kolb, J. F., & Beskok, A. (2012). Microfluidic impedance spectroscopy as a tool for quantitative biology and biotechnology. Biomicrofluidics, 6(3). https://doi.org/10.1063/1.4737121

impedancefitter.cole_cole.havriliak_negami(omega, c0, epsinf, deps, tau, a, beta, sigma)[source]

Havriliak-Negami relaxation.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for \(c_0\), unit capacitance in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • deps (double) – value for \(\Delta\varepsilon\)

  • tau (double) – value for \(\tau\), in ns

  • sigma (double) – value for \(\sigma_\mathrm{dc}\)

  • a (double) – value for \(1 - \alpha = a\)

  • beta (double) – value for \(\beta\)

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The time constant tau is in ns!

Equations for calculations:

\[\varepsilon^\ast = \varepsilon_\infty + \frac{\Delta\varepsilon}{\left(1 + (j \omega \tau)^{a}\right)^\beta} - \frac{j\sigma_{\mathrm{DC}}}{\omega \varepsilon_0} \enspace ,\]
\[Z = \frac{1}{j\varepsilon^\ast \omega c_\mathrm{0}}\]
impedancefitter.cole_cole.havriliak_negamitissue(omega, c0, epsinf, deps, tau, a, beta, sigma)[source]

Havriliak-Negami relaxation.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for \(c_0\), unit capacitance in pF

  • epsinf (double) – value for \(\varepsilon_\infty\)

  • deps (double) – value for \(\Delta\varepsilon\)

  • tau (double) – value for \(\tau\), in \(\mu\)s

  • sigma (double) – value for \(\sigma_\mathrm{dc}\)

  • a (double) – value for \(1 - \alpha = a\)

  • beta (double) – value for \(\beta\)

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The time constant tau is in \(\mu\)s!

Equations for calculations:

\[\varepsilon^\ast = \varepsilon_\infty + \frac{\Delta\varepsilon}{\left(1 + (j \omega \tau)^{a}\right)^\beta} - \frac{j\sigma_{\mathrm{DC}}}{\omega \varepsilon_0} \enspace ,\]
\[Z = \frac{1}{j\varepsilon^\ast \omega c_\mathrm{0}}\]

Single-Shell model

impedancefitter.single_shell.single_shell_model(omega, em, km, kcp, ecp, kmed, emed, p, c0, dm, Rc)[source]

Single Shell model

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for \(c_0\), unit capacitance in pF

  • em (double) – membrane permittivity, value for \(\varepsilon_\mathrm{m}\)

  • km (double) – membrane conductivity, value for \(\sigma_\mathrm{m}\) in \(\mu\)S/m

  • ecp (double) – cytoplasm permittivity, value for \(\varepsilon_\mathrm{cp}\)

  • kcp (double) – cytoplasm conductivity, value for \(\sigma_\mathrm{cp}\)

  • emed (double) – medium permittivity, value for \(\varepsilon_\mathrm{med}\)

  • kmed (double) – medium conductivity, value for \(\sigma_\mathrm{med}\)

  • p (double) – volume fraction

  • dm (double) – membrane thickness, value for \(d_\mathrm{m}\)

  • Rc (double) – cell radius, value for \(R_\mathrm{c}\)

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF!

Equations for the single-shell-model [Feldman2003]:

\[\nu_1 = \left(1-\frac{d_\mathrm{m}}{R_\mathrm{c}}\right)^3\]
\[\varepsilon_\mathrm{m} = \varepsilon_\mathrm{m} - j \frac{\sigma_\mathrm{m}}{\varepsilon_0 \omega}\]
\[\varepsilon_\mathrm{cp} = \varepsilon_\mathrm{cp} - j \frac{\sigma_\mathrm{cp}}{\varepsilon_0 \omega}\]
\[\varepsilon_\mathrm{cell}^\ast = \varepsilon_\mathrm{m}^\ast \frac{2 (1 - \nu_1) + (1 + 2 \nu_1) E_1}{(2 + \nu_1) + (1 - \nu_1) E_1}\]
\[E_1 = \frac{\varepsilon_\mathrm{cp}^\ast}{\varepsilon_\mathrm{m}^\ast}\]
\[\varepsilon_\mathrm{sus}^\ast = \varepsilon_\mathrm{med}^\ast \frac{(2 \varepsilon_\mathrm{med}^\ast + \varepsilon_\mathrm{cell}^\ast) - 2 p (\varepsilon_\mathrm{med}^\ast - \varepsilon_\mathrm{cell}^\ast)} {(2 \varepsilon_\mathrm{med}^\ast + \varepsilon_\mathrm{cell}^\ast) + p (\varepsilon_\mathrm{med}^\ast - \varepsilon_\mathrm{cell}^\ast)}\]
\[Z = \frac{1}{j \varepsilon_\mathrm{sus}^\ast \omega c_0}\]

References

Feldman2003(1,2)

Feldman, Y., Ermolina, I., & Hayashi, Y. (2003). Time domain dielectric spectroscopy study of biological systems. IEEE Transactions on Dielectrics and Electrical Insulation, 10, 728–753. https://doi.org/10.1109/TDEI.2003.1237324

Double-Shell model

impedancefitter.double_shell.double_shell_model(omega, km, em, kcp, ecp, ene, kne, knp, enp, kmed, emed, p, c0, dm, Rc, dn, Rn)[source]

Double Shell model.

Parameters
  • omega (numpy.ndarray, double) – list of frequencies

  • c0 (double) – value for \(c_0\), unit capacitance in pF

  • em (double) – membrane permittivity,membrane permittivity, value for \(\varepsilon_\mathrm{m}\)

  • km (double) – membrane conductivity, value for \(\sigma_\mathrm{m}\) in \(\mu\)S/m

  • ecp (double) – cytoplasm permittivity, value for \(\varepsilon_\mathrm{cp}\)

  • kcp (double) – cytoplasm conductivity, value for \(\sigma_\mathrm{cp}\)

  • ene (double) – nuclear envelope permittivity, value for \(\varepsilon_\mathrm{ne}\)

  • kne (double) – nuclear envelope conductivity, value for \(\sigma_\mathrm{ne}\) in mS/m

  • enp (double) – nucleoplasm permittivity, value for \(\varepsilon_\mathrm{np}\)

  • knp (double) – nucleoplasm conductivity, value for \(\sigma_\mathrm{np}\)

  • emed (double) – medium permittivity, value for \(\varepsilon_\mathrm{med}\)

  • kmed (double) – medium conductivity, value for \(\sigma_\mathrm{med}\)

  • p (double) – volume fraction

  • dm (double) – membrane thickness, value for \(d_\mathrm{m}\)

  • Rc (double) – cell radius, value for \(R_\mathrm{c}\)

  • dn (double) – nuclear envelope thickness, value for \(d_\mathrm{n}\)

  • Rn (double) – nucleus radius, value for \(R_\mathrm{n}\)

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF!

Equations for the single-shell-model [Feldman2003]:

\[\nu_1 = \left(1-\frac{d_\mathrm{m}}{R_\mathrm{c}}\right)^3\]
\[\nu_\mathrm{2} = \left(\frac{R_\mathrm{n}}{R-d}\right)^3\]
\[\nu_\mathrm{3} = \left(1-\frac{d_\mathrm{n}}{R_\mathrm{n}}\right)^3\]
\[\varepsilon_\mathrm{c}^\ast = \varepsilon_\mathrm{m}^\ast\frac{2(1-\nu_\mathrm{1})+(1+2\nu_\mathrm{1})E_\mathrm{1}}{(2+\nu_\mathrm{1})+(1-\nu_\mathrm{1})E_\mathrm{1}}\]
\[E_\mathrm{1} = \frac{\varepsilon_\mathrm{cp}^\ast}{\varepsilon_\mathrm{m}^\ast} \frac{2(1-\nu_\mathrm{2})+(1+2\nu_\mathrm{2})E_\mathrm{2}}{(2+\nu_\mathrm{2})+(1-\nu_\mathrm{2})E_\mathrm{2}}\]
\[E_\mathrm{2} = \frac{\varepsilon_\mathrm{ne}^\ast}{\varepsilon_\mathrm{cp}^\ast}\frac{2(1-\nu_\mathrm{3})+(1+2\nu_\mathrm{3})E_\mathrm{3}}{(2+\nu_\mathrm{3})+(1-\nu_\mathrm{3})E_\mathrm{3}}\]
\[E_\mathrm{3} = \frac{\varepsilon_\mathrm{np}^\ast}{\varepsilon_\mathrm{ne}^\ast}\]
\[\varepsilon_\mathrm{m} = \varepsilon_\mathrm{m} - j \frac{\sigma_\mathrm{m}}{\varepsilon_0 \omega}\]
\[\varepsilon_\mathrm{cp} = \varepsilon_\mathrm{cp} - j \frac{\sigma_\mathrm{cp}}{\varepsilon_0 \omega}\]
\[\varepsilon_\mathrm{ne} = \varepsilon_\mathrm{ne} - j \frac{\sigma_\mathrm{ne}}{\varepsilon_0 \omega}\]
\[\varepsilon_\mathrm{np} = \varepsilon_\mathrm{np} - j \frac{\sigma_\mathrm{np}}{\varepsilon_0 \omega}\]
\[\varepsilon_\mathrm{cell}^\ast = \varepsilon_\mathrm{m}^\ast \frac{2 (1 - \nu_1) + (1 + 2 \nu_1) E_1}{(2 + \nu_1) + (1 - \nu_1) E_1}\]
\[\varepsilon_\mathrm{sus}^\ast = \varepsilon_\mathrm{med}^\ast \frac{(2 \varepsilon_\mathrm{med}^\ast + \varepsilon_\mathrm{cell}^\ast) - 2 p (\varepsilon_\mathrm{med}^\ast - \varepsilon_\mathrm{cell}^\ast)} {(2 \varepsilon_\mathrm{med}^\ast + \varepsilon_\mathrm{cell}^\ast) + p (\varepsilon_\mathrm{med}^\ast - \varepsilon_\mathrm{cell}^\ast)}\]
\[Z = \frac{1}{j \varepsilon_\mathrm{sus}^\ast \omega c_0}\]

In [Ermolina2000] , there have been reported upper/lower limits for certain parameters. They could act as a first guess for the bounds of the optimization method.

Parameter

lower limit

upper limit

\(\varepsilon_\mathrm{m}\)

1.4

16.8

\(\sigma_\mathrm{m}\)

8e-8

5.6e-5

\(\varepsilon_\mathrm{cp}\)

60

77

\(\sigma_\mathrm{cp}\)

0.033

1.1

\(\varepsilon_\mathrm{ne}\)

6.8

100

\(\sigma_\mathrm{ne}\)

8.3e-5

7e-3

\(\varepsilon_\mathrm{np}\)

32

300

\(\sigma_\mathrm{np}\)

0.25

2.2

R

3.5e-6

10.5e-6

\(R_\mathrm{n}\)

2.95e-6

8.85e-6

d

3.5e-9

10.5e-9

\(d_\mathrm{n}\)

2e-8

6e-8

Ermolina2000

Ermolina, I., Polevaya, Y., & Feldman, Y. (2000). Analysis of dielectric spectra of eukaryotic cells by computer modeling. European Biophysics Journal, 29(2), 141–145. https://doi.org/10.1007/s002490050259

Inductance circuits

impedancefitter.loss.Z_in(omega, L, R)[source]

Lead inductance of wires connecting DUT.

Described for instance in [Kordzadeh2016].

Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • L (double) – inductance

  • R (double) – resistance

Returns

Impedance array

Return type

numpy.ndarray, complex

References

Kordzadeh2016(1,2,3,4)

Kordzadeh, A., & De Zanche, N. (2016). Permittivity measurement of liquids, powders, and suspensions using a parallel-plate cell. Concepts in Magnetic Resonance Part B: Magnetic Resonance Engineering, 46(1), 19–24. https://doi.org/10.1002/cmr.b.21318

Notes

As mentioned in [Kordzadeh2016], the unit of the inductance is nH.

impedancefitter.loss.Z_loss(omega, L, C, R)[source]

Impedance for high loss materials, where LCR are in parallel.

Described for instance in [Kordzadeh2016].

Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • L (double) – inductance

  • C (double) – capacitance

  • R (double) – resistance

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

As mentioned in [Kordzadeh2016], the unit of the capacitance is pF and the unit of the inductance is nH.

CPE circuits

impedancefitter.cpe.cpe_ct_model(omega, k, alpha, Rct)[source]

Constant Phase Element in parallel with charge transfer resistance.

Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • k (double) – CPE factor

  • alpha (double) – CPE phase

  • Rct (double) – charge transfer resistance

Returns

Impedance array

Return type

numpy.ndarray, complex

impedancefitter.cpe.cpe_ct_tissue_model(omega, k, alpha, Rct)[source]

Constant Phase Element in parallel with charge transfer resistance.

Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • k (double) – CPE factor

  • alpha (double) – CPE phase

  • Rct (double) – charge transfer resistance

Returns

Impedance array

Return type

numpy.ndarray, complex

impedancefitter.cpe.cpe_ct_w_model(omega, k, alpha, Rct, Aw)[source]
Constant Phase Element in parallel with

charge transfer resistance, which is in series with Warburg element.

Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • k (double) – CPE factor

  • alpha (double) – CPE phase

  • Rct (double) – charge transfer resistance

  • Aw (double) – Warburg coefficient

Returns

Impedance array

Return type

numpy.ndarray, complex

impedancefitter.cpe.cpe_model(omega, k, alpha)[source]

Constant Phase Element.

\[Z_\mathrm{CPE} = k^{-1} (j \omega)^{-\alpha}\]
Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • k (double) – CPE factor

  • alpha (double) – CPE phase

Returns

Impedance array

Return type

numpy.ndarray, complex

impedancefitter.cpe.cpe_onset_model(omega, f0, nu, Z0)[source]

Alternative Constant Phase Element Formulation.

Notes

\[Z_\mathrm{CPE} = Z_0 \left(j \frac{\omega}{2 \pi f_0} \right)^{-\nu}\]

See for example [Ishai2012].

Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • k (double) – CPE factor

  • alpha (double) – CPE phase

Returns

Impedance array

Return type

numpy.ndarray, complex

References

Ishai2012

Ishai, P. Ben, Sobol, Z., Nickels, J. D., Agapov, A. L., & Sokolov, A. P. (2012). An assessment of comparative methods for approaching electrode polarization in dielectric permittivity measurements. Review of Scientific Instruments, 83(8). https://doi.org/10.1063/1.4746992

impedancefitter.cpe.cpetissue_model(omega, k, alpha)[source]

Constant Phase Element.

\[Z_\mathrm{CPE} = k^{-1} (j \omega)^{-\alpha}\]
Parameters
  • omega (numpy.ndarray) – List of frequencies.

  • k (double) – CPE factor

  • alpha (double) – CPE phase

Returns

Impedance array

Return type

numpy.ndarray, complex

RC circuits

impedancefitter.RC.RC_model(omega, Rd, Cd)[source]

Simple RC model, resistor in parallel with capacitor.

Parameters
  • omega (double or array of double) – list of frequencies

  • Rd (complex) – Resistance.

  • Cd (double) – Capacitance

Returns

Impedance array

Return type

numpy.ndarray, complex

impedancefitter.RC.drc_model(omega, RE, tauE, alpha, beta)[source]

Distributed RC circuit.

Parameters
  • omega (double or array of double) – list of frequencies

  • RE (double) – resistance

  • tauE (double) – relaxation time, in ns

  • alpha (double) – Cole-Cole exponent

  • beta (double) – DRC exponent, beta = 1 equals Cole-Cole model

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Described for example in [Emmert2011].

Warning

The time constant tauE is in ns!

References

Emmert2011

Emmert, S., Wolf, M., Gulich, R., Krohns, S., Kastner, S., Lunkenheimer, P., & Loidl, A. (2011). Electrode polarization effects in broadband dielectric spectroscopy. European Physical Journal B, 83(2), 157–165. https://doi.org/10.1140/epjb/e2011-20439-8

impedancefitter.RC.rc_model(omega, c0, kdc, eps)[source]

Simple RC model to obtain dielectric properties.

Parameters
  • omega (double or array of double) – list of frequencies

  • c0 (double) – unit capacitance in pF

  • eps (double) – relative permittivity

  • kdc (double) – conductivity

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Warning

C0 is in pF!

impedancefitter.RC.rc_tau_model(omega, Rk, tauk)[source]

Compute RC model without explicit capacitance.

Parameters
  • omega (double or array of double) – list of frequencies

  • Rk (double) – resistance

  • tauk (double) – relaxation time

Notes

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Used for example in the Lin-KK test [Schoenleber2014].

The impedance reads

\[Z = \frac{R_\mathrm{k}}{1+ j \omega \tau_\mathrm{k}}\]

Randles circuits

impedancefitter.randles.Z_randles(omega, Rct, Rs, Aw, C0)[source]

Randles circuit.

Parameters
  • omega (double or array of double) – list of frequencies

  • Rct (double) – Resistance in series with Warburg element, e.g. charge transfer resistance

  • Rs (double) – Resistance of the DUT, e.g. electrolyte resistance

  • Aw (double) – Warburg coefficient

  • C0 (double) – capacitance

Returns

Impedance array

Return type

numpy.ndarray, complex

Notes

Function holding the Randles equation with capacitor in parallel to resistor in series with Warburg element and another resistor in series.

Equations for calculations:

Impedance of resistor and Warburg element:

\[Z_\mathrm{RW} = R_0 + A_\mathrm{W} \frac{1 - j}{\sqrt{\omega}}\]

Impedance of capacitor:

\[Z_C = (j \omega C_0)^{-1}\]
\[Z_\mathrm{fit} = R_s + \frac{Z_C Z_\mathrm{RW}}{Z_C + Z_\mathrm{RW}}\]
impedancefitter.randles.Z_randles_CPE(omega, Rct, Rs, Aw, k, alpha)[source]

Randles circuit with CPE instead of capacitor.

Parameters
  • omega (double or array of double) – list of frequencies

  • Rct (double) – Resistance in series with Warburg element, e.g. charge transfer resistance

  • Rs (double) – Resistance of the DUT, e.g. electrolyte resistance

  • Aw (double) – Warburg coefficient

  • k (double) – CPE coefficient

  • alpha (double) – CPE exponent

Returns

Impedance array

Return type

numpy.ndarray, complex