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 |
|
ColeCole2 |
|
ColeCole2tissue |
|
ColeCole3 |
|
ColeCole4 |
|
ColeColeR |
|
Randles |
|
RandlesCPE |
|
DRC |
|
RCfull |
|
RC |
|
RCtau |
|
ParticleSuspension |
|
ParticleSuspensionBH |
|
SingleShell |
|
SingleShellBH |
|
SingleShellWall |
|
SingleShellWallBH |
|
DoubleShell |
|
DoubleShellBH |
|
DoubleShellWall |
|
DoubleShellWallBH |
|
CPE |
|
CPECT |
|
CPECTW |
|
CPETissue |
|
CPECTTissue |
|
CPEonset |
|
LR |
|
LCR |
|
HavriliakNegami |
|
HavriliakNegamiTissue |
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 frequenciesc0 (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 frequenciesc0 (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 frequenciesc0 (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 frequenciesc0 (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 frequenciesRinf (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 frequenciesc0 (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 frequenciesc0 (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 frequenciesc0 (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 frequenciesc0 (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 \(\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 frequenciesc0 (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 frequenciesc0 (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 frequenciesem (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 frequenciesc0 (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 frequenciesc0 (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 frequenciesem (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 frequenciesc0 (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 frequenciesc0 (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 frequenciesc0 (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!
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 frequenciesc0 (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
-
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 pFem (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}\)
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 frequenciesc0 (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
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
- 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 frequenciesc0 (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}\)
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 frequenciesem (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 \(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
See also
-
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
See also
-
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
See also
-
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.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 (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 frequenciesRd (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 frequenciesRE (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 (
numpy.ndarray, double) – list of frequenciesc0 (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 frequenciesRk (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 (
numpy.ndarray, double) – list of frequenciesRct (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 frequenciesRct (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
See also