Models

class ionworkspipeline.data_fits.models.MSMRHalfCellModel(electrode, options=None)

A class for the MSMR half-cell model of the open-circuit potential (OCP).

Parameters

electrodestr

The electrode to use for the model.

optionsdict, optional
A dictionary of options to pass to the model. The options include:
  • capacity function

    The capacity function to use for the model. Default is None.

  • species format

    The species format to use for the model. Can be “Qj” for capacity or “Xj” for mole fraction. Default is “Qj”.

  • direction

    The direction to use for the model. Can be None, “delithiation” or “lithiation”. Default is None.

build(parameter_values, data, voltage_limits=None)

Build the model.

Parameters

parameter_valuespybamm.ParameterValues

The parameter values to use for the model.

datadict

The data to use for the model.

voltage_limitstuple, optional

The voltage range over which to evaluate the variables returned by the solve_full method. Default is None, in which case the full range of the data is used.

default_capacity_function(electrode, parameter_values, species_format='Qj', direction=None, differential=False)

Get the default capacity function for the model. Returns ionworkspipeline.objectives.get_q_half_cell_msmr.

Parameters

electrodestr

The electrode to use for the model.

parameter_valuespybamm.ParameterValues

The parameter values to use for the model.

species_formatstr, optional

The species format to use for the model. Default is “Qj”.

directionstr, optional

The direction to use for the model. Default is None.

differentialbool, optional

Whether to return the differential capacity function. Default is False.

solve(inputs, calculate_dQdU=False, calculate_dUdQ=False)

Solve the model at the given inputs.

Parameters

inputsdict

The inputs to use to evaluate the OCP.

calculate_dQdUbool, optional

Whether to calculate the differential capacity [Ah/V]. Default is False.

calculate_dUdQbool, optional

Whether to calculate the differential voltage [V/Ah]. Default is False.

Returns

dict

The outputs of the model. Should include “Capacity [A.h]”, “Differential capacity [Ah/V]”, “Differential voltage [V/Ah]”.

solve_full(inputs)

Solve the model over the voltage range specified by the voltage_limits option in the build method.

Parameters

inputsdict

The inputs to use to evaluate the OCP.

Returns

dict

The outputs of the model (“Full voltage [V]”, “Full capacity [A.h]”, “Full differential capacity [Ah/V]”, “Full differential voltage [V/Ah]”).

class ionworkspipeline.data_fits.models.MSMRFullCellModel(negative_electrode_model, positive_electrode_model, options=None)

A class for the MSMR full-cell model of the open-circuit potential (OCP).

Parameters

negative_electrode_modelMSMRHalfCellModel

The model for the negative electrode.

positive_electrode_modelMSMRHalfCellModel

The model for the positive electrode.

build(parameter_values, data, negative_voltage_limits, positive_voltage_limits)

Build the model.

Parameters

parameter_valuespybamm.ParameterValues

The parameter values to use for the model.

datadict

The data to use for the model.

negative_voltage_limitstuple

The voltage range over which to evaluate the negative electrode model.

positive_voltage_limitstuple

The voltage range over which to evaluate the positive electrode model.

solve(inputs)

Solve the model at the given inputs.

Parameters

inputsdict

The inputs to use to evaluate the OCP.

Returns

dict

The outputs of the model. Should include “Capacity [A.h]” and “Differential voltage [V/Ah]”.

class ionworkspipeline.data_fits.models.LumpedSPMR(options=None)

Lumped Single Particle Model with Resistance

Parameters

optionsdict
Dictionary of options to override default options. Options are:
  • thermal: str, thermal model to use. Can be “isothermal” or “lumped”.

  • surface_temperature: str, surface temperature model to use. Can be “ambient” or “lumped”.

  • working_electrode: str, working electrode to use. Can be “both”, “negative” or “positive”.

Extends: pybamm.models.base_model.BaseModel

property default_geometry

Returns a dictionary of the default geometry for the model, which is empty by default.

property default_spatial_methods

Returns a dictionary of the default spatial methods for the model, which is empty by default.

property default_submesh_types

Returns a dictionary of the default submesh types for the model, which is empty by default.

property default_var_pts

Returns a dictionary of the default variable points for the model, which is empty by default.

class ionworkspipeline.data_fits.models.ECM(options=None)

Equivalent Circuit Model

Parameters

optionsdict
Dictionary of options to override default options. Options are:
  • thermal: str, thermal model to use. Can be “isothermal” or “lumped”.

  • surface_temperature: str, surface temperature model to use. Can be “ambient” or “lumped”.

Extends: pybamm.models.base_model.BaseModel