Circuits¶
-
class
impedance.models.circuits.circuits.
BaseCircuit
(initial_guess=[], constants=None, name=None)[source]¶ Base class for equivalent circuit models
Methods
fit
(frequencies, impedance[, bounds, …])Fit the circuit model get_param_names
()Converts circuit string to names and units load
(filepath[, fitted_as_initial])Imports a model from JSON plot
([ax, f_data, Z_data, kind])visualizes the model and optional data as a nyquist, predict
(frequencies[, use_initial])Predict impedance using an equivalent circuit model save
(filepath)Exports a model to JSON -
fit
(frequencies, impedance, bounds=None, weight_by_modulus=False, **kwargs)[source]¶ Fit the circuit model
Parameters: - frequencies: numpy array
Frequencies
- impedance: numpy array of dtype ‘complex128’
Impedance values to fit
- bounds: 2-tuple of array_like, optional
Lower and upper bounds on parameters. Defaults to bounds on all parameters of 0 and np.inf, except the CPE alpha which has an upper bound of 1
- weight_by_modulus : bool, optional
Uses the modulus of each data (|Z|) as the weighting factor. Standard weighting scheme when experimental variances are unavailable. Only applicable when global_opt = False
- kwargs
Keyword arguments passed to impedance.models.circuits.fitting.circuit_fit, and subsequently to scipy.optimize.curve_fit or scipy.optimize.basinhopping
Returns: - self: returns an instance of self
-
load
(filepath, fitted_as_initial=False)[source]¶ Imports a model from JSON
Parameters: - filepath: str
filepath to JSON file to load model from
- fitted_as_initial: bool
If true, loads the model’s fitted parameters as initial guesses
Otherwise, loads the model’s initial and fitted parameters as a completed model
-
plot
(ax=None, f_data=None, Z_data=None, kind='altair', **kwargs)[source]¶ - visualizes the model and optional data as a nyquist,
- bode, or altair (interactive) plots
Parameters: - ax: matplotlib.axes
axes to plot on
- 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
- kind: {‘altair’, ‘nyquist’, ‘bode’}
type of plot to visualize
Returns: - ax: matplotlib.axes
axes of the created nyquist plot
Other Parameters: - **kwargs : optional
- If kind is ‘nyquist’ or ‘bode’, used to specify additional
matplotlib.pyplot.Line2D properties like linewidth, line color, marker color, and labels.
If kind is ‘altair’, used to specify nyquist height as size
-
predict
(frequencies, use_initial=False)[source]¶ Predict impedance using an equivalent circuit model
Parameters: - frequencies: ndarray of numeric dtype
- use_initial: boolean
If true and the model was previously fit use the initial parameters instead
Returns: - impedance: ndarray of dtype ‘complex128’
Predicted impedance
-
-
class
impedance.models.circuits.circuits.
CustomCircuit
(circuit='', **kwargs)[source]¶ Methods
fit
(frequencies, impedance[, bounds, …])Fit the circuit model get_param_names
()Converts circuit string to names and units load
(filepath[, fitted_as_initial])Imports a model from JSON plot
([ax, f_data, Z_data, kind])visualizes the model and optional data as a nyquist, predict
(frequencies[, use_initial])Predict impedance using an equivalent circuit model save
(filepath)Exports a model to JSON
-
class
impedance.models.circuits.circuits.
Randles
(CPE=False, **kwargs)[source]¶ A Randles circuit model class
Methods
fit
(frequencies, impedance[, bounds, …])Fit the circuit model get_param_names
()Converts circuit string to names and units load
(filepath[, fitted_as_initial])Imports a model from JSON plot
([ax, f_data, Z_data, kind])visualizes the model and optional data as a nyquist, predict
(frequencies[, use_initial])Predict impedance using an equivalent circuit model save
(filepath)Exports a model to JSON