EIS objective

Objectives for fitting the data generated by an Electrochemical Impedance Spectroscopy (EIS) experiment.

class ionworkspipeline.objectives.EIS(data_input, options=None, callbacks=None, custom_parameters=None, constraints=None, penalties=None, parameters=None)

Objective for electrochemical impedance spectroscopy (EIS) data. Simulates the model response at the given frequencies and compares the impedance to the data.

This objective uses the pybammeis package to simulate the EIS experiment in the frequency domain.

Parameters

data_inputstr or dict

The data to use for the fit, see FittingObjective.

optionsdict, optional

A dictionary of options to pass to the objective.

  • model: :class:pybamm.BaseModel

    The model to fit. No default is provided, but this option is required (a model must be passed in).

  • simulation_kwargs: dict

    Keyword arguments to pass to the simulation (pybeis.EISSimulation). Default is None.

callbacksionworkspipeline.callbacks.Callback or list of callbacks

A class with methods that get called at various points during the datafit process

custom_parametersdict, optional

A dictionary of custom parameters to use for the objective. Deprecated, use parameters instead.

constraintslist[Constraint], optional

A list of equality and inequality constraints to apply to the objective.

penaltieslist[Penalty], optional

A list of penalties to apply to the objective.

parametersdict or pybamm.ParameterValues, optional

Objective-specific parameter values merged into the global parameter values before fitting. Default is None.

Extends: ionworkspipeline.data_fits.objectives.fitting_objective.FittingObjective

build(parameter_values)

Build the objective.

Parameters

parameter_valuespybamm.ParameterValues

The parameter values to use for the objective.

classmethod default_options() dict[str, Any]

Return the default options for the EIS objective.

prepare_validation_results(results: dict, summary_stats: list) tuple[list[dict[str, float]], dict[str, float]]

Prepare validation results for EIS objective.

Parameters

resultsdict

The raw results from running the objective.

summary_statslist

List of summary statistic cost functions to compute.

Returns

tuple[list[dict[str, float]], dict[str, float]]

A tuple of (computed_statistics, validation_result) where: - computed_statistics is a list of dictionaries with computed metric names and values - validation_result is a dictionary of validation data