Circuits¶
-
class
eisfit.circuits.
BaseCircuit
(initial_guess=None, name=None, algorithm='leastsq', bounds=None)[source]¶ Base class for equivalent circuit models
Methods
fit
(frequencies, impedance)Fit the circuit model plot
([f_data, Z_data, CI])a convenience method for plotting Nyquist plots predict
(frequencies)Predict impedance using a fit equivalent circuit model -
fit
(frequencies, impedance)[source]¶ Fit the circuit model
Parameters: - frequencies: numpy array
Frequencies
- impedance: numpy array of dtype ‘complex128’
Impedance values to fit
Returns: - self: returns an instance of self
-
plot
(f_data=None, Z_data=None, CI=True)[source]¶ a convenience method for plotting Nyquist plots
Parameters: - f_data: np.array of type float
Frequencies of input data (for Bode plots)
- Z_data: np.array of type complex
Impedance data to plot
- CI: boolean
Include bootstrapped confidence intervals in plot
Returns: - ax: matplotlib.axes
axes of the created nyquist plot
-
-
class
eisfit.circuits.
DefineCircuit
(circuit=None, **kwargs)[source]¶ Methods
fit
(frequencies, impedance)Fit the circuit model plot
([f_data, Z_data, CI])a convenience method for plotting Nyquist plots predict
(frequencies)Predict impedance using a fit equivalent circuit model
-
class
eisfit.circuits.
FlexiCircuit
(max_elements=None, generations=2, popsize=30, initial_guess=None)[source]¶ Methods
fit
(frequencies, impedances)Fit the circuit model plot
([f_data, Z_data, CI])a convenience method for plotting Nyquist plots predict
(frequencies)Predict impedance using a fit equivalent circuit model
-
class
eisfit.circuits.
Randles
(CPE=False, **kwargs)[source]¶ A Randles circuit model class
Methods
fit
(frequencies, impedance)Fit the circuit model plot
([f_data, Z_data, CI])a convenience method for plotting Nyquist plots predict
(frequencies)Predict impedance using a fit equivalent circuit model
-
eisfit.circuit_elements.
E
(p, f)[source]¶ defines a constant phase element
Notes
\[Z = \frac{1}{Q \times (j 2 \pi f)^\alpha}\]where \(Q\) = p[0] and \(\alpha\) = p[1].
-
eisfit.circuit_elements.
G
(p, f)[source]¶ defines a Gerischer Element
Notes
\[Z = \frac{1}{Y \times \sqrt{K + j 2 \pi f }}\]
-
eisfit.circuit_elements.
W
(p, f)[source]¶ defines a blocked boundary Finite-length Warburg Element
Notes
\[Z = \frac{R}{\sqrt{ T \times j 2 \pi f}} \coth{\sqrt{T \times j 2 \pi f }} # noqa: E501\]where \(R\) = p[0] (Ohms) and \(T\) = p[1] (sec) = \(\frac{L^2}{D}\)