Cycle ageing objective

Objectives for fitting the data generated by a cycle ageing experiment.

class ionworkspipeline.objectives.CycleAgeing(data_input, options=None, callbacks=None, custom_parameters=None)

Objective for fitting summary variables to cycling data.

Parameters

data_inputstr or dict

The data to use for the fit, see Objective.

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).

  • experiment: pybamm.Experiment

    The experiment to use for the simulation. No default is provided, but this option is required (an experiment must be passed in).

  • objective variables: list of strings

    The variables to fit. No default is provided, but this option is required (a list of variables must be passed in). The variables must be a subset of the keys in the data, and must be returned by the function passed to the cycle_variables_fn option.

  • cycle_variables_fn: callable

    A function that takes a simulation and list of cycle numbers and returns a dataframe of cycle variables. Default is get_standard_summary_variables().

  • simulation_kwargs: dict

    Keyword arguments to pass to the simulation (iwp.Simulation). Default is None.

callbackslist of callable, optional

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

custom_parametersdict, optional

A dictionary of parameters to use within this objective only. See Objective.

Extends: ionworkspipeline.data_fits.objectives.objective.SimulationObjective

ionworkspipeline.data_fits.objectives.get_standard_summary_variables(simulation, cycles)

Get a dataframe of standard summary variables from a simulation solution for the given cycle numbers.

Parameters

simulationpybamm.Simulation

The simulation to get the summary variables from.

cycleslist of int

The cycles to get the summary variables for.

Returns

pandas.DataFrame

A dataframe with columns: - “Cycle number”: The cycle number - “Capacity [A.h]”: Discharge capacity - “Loss of lithium inventory [%]”: Percentage loss of cyclable lithium - “Total capacity lost to side reactions [A.h]”: Capacity lost due to side reactions - “Loss of active material in negative electrode [%]”: LAM in negative electrode - “Loss of active material in positive electrode [%]”: LAM in positive electrode - “x_100”: Negative electrode stoichiometry at 100% SOC - “x_0”: Negative electrode stoichiometry at 0% SOC - “y_100”: Positive electrode stoichiometry at 100% SOC - “y_0”: Positive electrode stoichiometry at 0% SOC