Circuit elements
The following elements are available. Since prefixes are possible, each element is referred to as by a special name. The elements’ parameters are called as in the original function. This is the concept of LMFIT.
Names for building the model
Name |
Corresponding function |
|---|---|
R |
|
C |
|
L |
|
W |
|
Wo |
|
Ws |
|
Cstray |
|
ADIbR |
|
ADIaR |
|
ADIIR |
|
ADIbA |
|
ADIaA |
|
ADIIA |
API reference
- impedancefitter.elements.Z_ADII_a(omega, Rw, wd, gamma)[source]
Anomalous diffusion II with absorbing boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Resistance
wd (double) – \(\omega_d\)
gamma (double) – \(\gamma\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is described in [Bisquert2001].
- impedancefitter.elements.Z_ADII_r(omega, Rw, wd, gamma)[source]
Anomalous diffusion II with reflecting boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Resistance
wd (double) – \(\omega_d\)
gamma (double) – \(\gamma\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is described in [Bisquert2001].
- impedancefitter.elements.Z_ADIa_a(omega, Rw, wd, gamma)[source]
Anomalous diffusion Ia with absorbing boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Resistance
wd (double) – \(\omega_d\)
gamma (double) – \(\gamma\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is described in [Bisquert2001].
- impedancefitter.elements.Z_ADIa_r(omega, Rw, wd, gamma)[source]
Anomalous diffusion Ia with reflecting boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Resistance
wd (double) – \(\omega_d\)
gamma (double) – \(\gamma\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is described in [Bisquert2001].
- impedancefitter.elements.Z_ADIb_a(omega, Rw, wd, gamma)[source]
Anomalous diffusion Ib with absorbing boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Resistance
wd (double) – \(\omega_d\)
gamma (double) – \(\gamma\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is described in [Bisquert2001].
- impedancefitter.elements.Z_ADIb_r(omega, Rw, wd, gamma)[source]
Anomalous diffusion Ib with reflecting boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Resistance
wd (double) – \(\omega_d\)
gamma (double) – \(\gamma\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is described in [Bisquert2001].
References
- impedancefitter.elements.Z_C(omega, C)[source]
Capacitor impedance.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.C (double) – capacitance of capacitor
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
- impedancefitter.elements.Z_CPE(omega, k, alpha)[source]
CPE impedance.
\[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.elements.Z_L(omega, L)[source]
Impedance of an inductor.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.L (double) – inductance
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
- impedancefitter.elements.Z_R(omega, R)[source]
Create array for a resistor.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.R (double) – Resistance.
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
- impedancefitter.elements.Z_stray(omega, Cs)[source]
Stray capacitance in pF.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Cs (double) – Stray capacitance, for numerical reasons in pF.
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
- impedancefitter.elements.Z_w(omega, Aw)[source]
Warburg element.
\[Z_\mathrm{W} = A_\mathrm{W} \frac{1-j}{\sqrt{\omega}}\]- Parameters:
omega (
numpy.ndarray) – List of frequencies.Aw (double) – Warburg coefficient
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
- impedancefitter.elements.Z_wo(omega, Rw, wd)[source]
Warburg open element with reflecting boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Warburg coefficient
wd (double) – \(\omega_d\)
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is also referred to as finite-length Warburg element with reflective boundary [Barsoukov2018]. Here, the formulation from [Bisquert2001] is used
\[Z_\mathrm{W} = \frac{R_\mathrm{W} (\omega_d j \omega)^{1/2}} {\tanh\left( \sqrt{j \omega / \omega_d}\right)}\]is implemented.
- impedancefitter.elements.Z_ws(omega, Rw, wd)[source]
Warburg short element with absorbing boundary.
- Parameters:
omega (
numpy.ndarray) – List of frequencies.Rw (double) – Warburg resistance
wd (double) – Second coefficient
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex
Notes
This element is also referred to as finite-length Warburg element with transmissive boundary [Barsoukov2018]. Here, the formulation from [Bisquert2001] is used
\[Z_\mathrm{W} = R_\mathrm{W} \sqrt{\omega_d / (j \omega)} \tanh\left(\sqrt{j \omega / omega_d}\right)\]is implemented.
- impedancefitter.elements.eps(Z1, make_eps)[source]
Return complex permittivity for LMFIT.
- Parameters:
Z1 (
numpy.ndarray, complex) – Impedance 1 (model fit)make_eps (
numpy.ndarray, complex) – Output of functionimpedancefitter.utils.make_eps()
- impedancefitter.elements.log(Z1, dummy)[source]
Return logarithm of impedance for LMFIT.
- Parameters:
Z1 (
numpy.ndarray, complex) – Impedance 1 (model fit)dummy (
numpy.ndarray, complex) – Array full of ones, such that np.log10(dummy) is zero.
- impedancefitter.elements.parallel(Z1, Z2)[source]
Return values of parallel circuit.
- Parameters:
Z1 (
numpy.ndarray, complex) – Impedance 1Z2 (
numpy.ndarray, complex) – Impedance 2
- Returns:
Impedance array
- Return type:
numpy.ndarray, complex