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 PyBaMM’s built-in EIS functionality to simulate the 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).
- model: :class:
- simulation_kwargs: dict
Keyword arguments to pass to the simulation (
pybamm.EISSimulation). Default is None.
- callbacks
ionworkspipeline.callbacks.Callbackor 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.InitialStateOfChargeMixin- build(parameter_values)¶
Build the objective.
Parameters¶
- parameter_valuespybamm.ParameterValues
The parameter values to use for the 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