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.

Names for building the model

To build your equivalent circuit model, choose a model from the following list. The function, which tells you the parameter names for the respective model is linked to each model.

Name

Corresponding function

ColeCole

impedancefitter.cole_cole.cole_cole_model()

ColeCole2

impedancefitter.cole_cole.cole_cole_2_model()

ColeCole2tissue

impedancefitter.cole_cole.cole_cole_2tissue_model()

ColeCole3

impedancefitter.cole_cole.cole_cole_3_model()

ColeCole4

impedancefitter.cole_cole.cole_cole_4_model()

ColeColeR

impedancefitter.cole_cole.cole_cole_R_model()

Randles

impedancefitter.randles.Z_randles()

RandlesCPE

impedancefitter.randles.Z_randles_CPE()

DRC

impedancefitter.RC.drc_model()

RCfull

impedancefitter.RC.RC_model()

RC

impedancefitter.RC.rc_model()

RCtau

impedancefitter.RC.rc_tau_model()

ParticleSuspension

impedancefitter.particle_suspension.particle_model()

ParticleSuspensionBH

impedancefitter.particle_suspension.particle_model_bh()

SingleShell

impedancefitter.single_shell.single_shell_model()

SingleShellBH

impedancefitter.single_shell.single_shell_bh_model()

SingleShellWall

impedancefitter.single_shell_wall.single_shell_wall_model()

SingleShellWallBH

impedancefitter.single_shell_wall.single_shell_wall_bh_model()

DoubleShell

impedancefitter.double_shell.double_shell_model()

DoubleShellBH

impedancefitter.double_shell.double_shell_bh_model()

DoubleShellWall

impedancefitter.double_shell_wall.double_shell_wall_model()

DoubleShellWallBH

impedancefitter.double_shell_wall.double_shell_wall_bh_model()

CPE

impedancefitter.cpe.cpe_model()

CPECT

impedancefitter.cpe.cpe_ct_model()

CPECTW

impedancefitter.cpe.cpe_ct_w_model()

CPETissue

impedancefitter.cpe.cpetissue_model()

CPECTTissue

impedancefitter.cpe.cpe_ct_tissue_model()

CPEonset

impedancefitter.cpe.cpe_onset_model()

LR

impedancefitter.loss.Z_in()

LCR

impedancefitter.loss.Z_loss()

HavriliakNegami

impedancefitter.cole_cole.havriliak_negami()

HavriliakNegamiTissue

impedancefitter.cole_cole.havriliak_negamitissue()

ECISLoFerrier

impedancefitter.ecis.Z_ECIS_Lo_Ferrier()

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}}\]
impedancefitter.cole_cole.raicu(omega, c0, epsinf, deps, tau, alpha, beta, gamma, sigma)[source]

Raicu 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}\)

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

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

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

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Model was described in [Raicu1999].

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[ (j \omega \tau)^\alpha + (j \omega \tau)^{1-\beta}\right]^\gamma} - \frac{j\sigma_{\mathrm{DC}}}{\omega \varepsilon_0} \enspace ,\]
\[Z = \frac{1}{j\varepsilon^\ast \omega c_\mathrm{0}}\]

Note that \(f_c = 2 \pi / \tau\). The formulation using fc has for example been used in [Stoneman2007].

References

[Raicu1999]

Raicu, V. (1999). Dielectric dispersion of biological matter: Model combining Debye-type and `universal’ responses. Physical Review E - Statistical Physics, Plasmas, Fluids, and Related Interdisciplinary Topics, 60(4), 4677–4680. https://doi.org/10.1103/PhysRevE.60.4677

[Stoneman2007]

Stoneman, M. R., Kosempa, M., Gregory, W. D., Gregory, C. W., Marx, J. J., Mikkelson, W., … Raicu, V. (2007). Correction of electrode polarization contributions to the dielectric properties of normal and cancerous breast tissues at audio/radiofrequencies. Physics in Medicine and Biology, 52(22), 6589–6604. https://doi.org/10.1088/0031-9155/52/22/003

Particle suspension model

impedancefitter.particle_suspension.particle_bh_model(omega, ep, kp, kmed, emed, p, c0)[source]

Single particle in Bruggeman-Hanai suspension model.

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

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

  • ep (double) – particle permittivity, value for \(\varepsilon_\mathrm{p}\)

  • kp (double) – particle conductivity, value for \(\sigma_\mathrm{p}\) in \(\mu\)S/m

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

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

  • p (double) – volume fraction

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The particle conductivity is in uF/m!

impedancefitter.particle_suspension.particle_model(omega, ep, kp, kmed, emed, p, c0)[source]

Single particle in suspension model.

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

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

  • ep (double) – particle permittivity, value for \(\varepsilon_\mathrm{p}\)

  • kp (double) – particle conductivity, value for \(\sigma_\mathrm{p}\) in \(\mu\)S/m

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

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

  • p (double) – volume fraction

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The particle conductivity is in uF/m!

Single-Shell model

impedancefitter.single_shell.eps_cell_single_shell(omega, km, em, kcp, ecp, dm, Rc)[source]

Complex permittivity of single shell model.

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

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

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

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

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

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

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

Returns:

Complex permittivity array

Return type:

numpy.ndarray, complex

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

Impedance of single shell model using Bruggeman-Hanai approach.

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!

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

Impedance of 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

impedancefitter.single_shell_wall.eps_cell_single_shell_wall(omega, km, em, kcp, ecp, kw, ew, dm, Rc, dw)[source]

Single shell model with cell wall.

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

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

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

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

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

  • ew (double) – cell wall permittivity, value for \(\varepsilon_\mathrm{w}\)

  • kw (double) – cell wall conductivity, value for \(\sigma_\mathrm{w}\)

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

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

  • dw (double) – cell wall thickness, value for \(R_\mathrm{c}\)

Returns:

Complex permittivity array

Return type:

numpy.ndarray, complex

Note

Asami, K. (2002). Characterization of biological cells by dielectric spectroscopy. Journal of Non-Crystalline Solids, 305(1–3), 268–277. https://doi.org/10.1016/S0022-3093(02)01110-9

impedancefitter.single_shell_wall.single_shell_wall_bh_model(omega, km, em, kcp, ecp, kw, ew, kmed, emed, p, c0, dm, Rc, dw)[source]

Impedance of single shell model using Bruggeman-Hanai approach.

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}\)

  • ew (double) – cell wall permittivity, value for \(\varepsilon_\mathrm{w}\)

  • kw (double) – cell wall conductivity, value for \(\sigma_\mathrm{w}\)

  • 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}\)

  • dw (double) – cell wall thickness, value for \(d_\mathrm{w}\)

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The membrane conductivity is in uS/m!

See also

impedancefitter.single_shell.single_shell_wall_model()

impedancefitter.single_shell_wall.single_shell_wall_model(omega, km, em, kcp, ecp, kw, ew, kmed, emed, p, c0, dm, Rc, dw)[source]

Impedance of 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}\)

  • ew (double) – cell wall permittivity, value for \(\varepsilon_\mathrm{w}\)

  • kw (double) – cell wall conductivity, value for \(\sigma_\mathrm{w}\)

  • 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}\)

  • dw (double) – cell wall thickness, value for \(d_\mathrm{w}\)

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF! The membrane conductivity is in uS/m!

See also

impedancefitter.single_shell.single_shell_wall_model()

Double-Shell model

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

Impedance of 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, 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!

Note that here the Bruggeman-Hanai formula is used.

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

Impedance of 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, 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

impedancefitter.double_shell.eps_cell_double_shell(omega, km, em, kcp, ecp, kne, ene, knp, enp, dm, Rc, dn, Rn)[source]

Complex permittivity of double shell model.

Parameters:
  • omega (numpy.ndarray, double) – list of frequencies 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}\)

  • 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}\)

  • 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:

Permittivity array

Return type:

numpy.ndarray, complex

impedancefitter.double_shell_wall.double_shell_wall_bh_model(omega, km, em, kcp, ecp, kne, ene, knp, enp, kw, ew, kmed, emed, p, c0, dm, Rc, dn, Rn, dw)[source]

Impedance of double shell model with cell wall using Bruggeman-Hanai approach.

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}\)

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

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

  • kw (double) – cell wall conductivity, value for \(\sigma_\mathrm{w}\) in S/m

  • ew (double) – cell wall permittivity, value for \(\varepsilon_\mathrm{w}\)

  • 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}\)

  • dw (double) – wall thickness, value for \(d_\mathrm{w}\)

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF!

Note that here the Bruggeman-Hanai formula is used.

impedancefitter.double_shell_wall.double_shell_wall_model(omega, km, em, kcp, ecp, kne, ene, knp, enp, kw, ew, kmed, emed, p, c0, dm, Rc, dn, Rn, dw)[source]

Impedance of double shell model with cell wall.

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}\)

  • 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}\)

  • kw (double) – cell wall conductivity, value for \(\sigma_\mathrm{w}\) in S/m

  • ew (double) – cell wall permittivity, value for \(\varepsilon_\mathrm{w}\)

  • 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}\)

  • dw (double) – cell wall thickness

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

Warning

The unit capacitance is in pF!

impedancefitter.double_shell_wall.eps_cell_double_shell_wall(omega, km, em, kcp, ecp, kne, ene, knp, enp, kw, ew, dm, Rc, dn, Rn, dw)[source]

Complex permittivity of double shell model with cell wall.

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

  • 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}\)

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

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

  • kw (double) – cell wall conductivity, value for \(\sigma_\mathrm{w}\) in S/m

  • ew (double) – cell wall permittivity, value for \(\varepsilon_\mathrm{w}\)

  • 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}\)

  • dw (double) – wall thickness, value for \(d_\mathrm{w}\)

Returns:

Complex permittivity array

Return type:

numpy.ndarray, complex

Note

Asami, K. (2002). Characterization of biological cells by dielectric spectroscopy. Journal of Non-Crystalline Solids, 305(1–3), 268–277. https://doi.org/10.1016/S0022-3093(02)01110-9

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.

impedancefitter.loss.Z_skin(omega, L, Rb, gamma)[source]

Lead inductance of wires connecting DUT considering skin effect.

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

  • L (double) – inductance

  • Rb (double) – resistance of wire, about mOhm

  • gamma (double) – exponent (should be about 0.5 probably)

Returns:

Impedance array

Return type:

numpy.ndarray, complex

References

[Levitskaya2000]

Levitskaya, T. M., & Sternberg, B. K. (2000). Laboratory measurement of material electrical properties: extending the application of lumped-circuit equivalent models to 1 GHz. Radio Science, 35(2), 371–383. https://doi.org/10.1029/1999RS002186

Notes

Described for instance in [Levitskaya2000]. The idea is to take frequency-dependent resistance.

The unit of the inductance is nH. The wire resistance is about mOhm. The impedance is computed by

\[Z = R_b \omega^{\gamma} + j \omega L\]

Note that the frequency omega in this formula is in MHz.

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

  • f0 (double) – center frequency

  • nu (double) – CPE phase

  • Z0 (double) – CPE amplitude

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 (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 (numpy.ndarray, double) – list of frequencies

  • Rd (double) – Resistance.

  • Cd (double) – Capacitance

Notes

Warning

Cd is in pF!

Returns:

Impedance array

Return type:

numpy.ndarray, complex

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

Distributed RC circuit.

Parameters:
  • omega (numpy.ndarray, 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 of a lossy dielectric to obtain dielectric properties.

Parameters:
  • omega (numpy.ndarray, 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 (numpy.ndarray, double) – list of frequencies

  • Rk (double) – resistance

  • tauk (double) – relaxation time

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 (numpy.ndarray, 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 (numpy.ndarray, 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

ECIS models

impedancefitter.ecis.Z_ECIS_Lo_Ferrier(omega, aecis, Lecis, Wecis, Rb, Cm, Rm, Zn=None)[source]

ECIS impedance model as described in Lo and Ferrier, 1998.

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

  • aecis (double) – \(alpha\) parameter, Eq. 12

  • Lecis (double) – \(L\) parameter

  • Wecis (double) – \(W\) parameter

  • Rb (double) – junctional resistance \(R_\mathrm{b}\)

  • Cm (double) – membrane capacitance

  • Rm (double) – membrane resistance

  • Zn (numpy.ndarray) – impedance to normalize Needs to be provided, only none because of LMFIT interface!

Returns:

Impedance array

Return type:

numpy.ndarray, complex

Notes

The model is described in [Lo1998].

Thanks to Paula Respondek (Uni Rostock) who initially implemented the model.

References

[Lo1998]

Chun-Min Lo and Jack Ferrier (1998). Impedance analysis of fibroblastic cell layers measured by electric cell-substrate impedance sensing. Physical Review E, 57(6), 6982-6987. https://dx.doi.org/10.1103/PhysRevE.57.6982