pybop.applications.ocp_methods#
Classes#
Estimate the equilibrium open-circuit potential (OCP) by averaging the charge |
|
Estimate the stoichiometry from a measurement of open-circuit voltage versus |
|
Generate a representative open-circuit potential (OCP) without hysteresis by |
Module Contents#
- class pybop.applications.ocp_methods.OCPAverage(ocp_discharge: pybop.Dataset, ocp_charge: pybop.Dataset, n_sto_points: int = 101, allow_stretching: bool = True, cost: pybop.ErrorMeasure | pybop.LogLikelihood | None = None, optimiser: pybop.BaseOptimiser | None = None, optimiser_options: pybop.OptimiserOptions | None = None)[source]#
Bases:
pybop.BaseApplicationEstimate the equilibrium open-circuit potential (OCP) by averaging the charge and discharge branches, using a method loosely based on method 4(a) proposed by Lu et al. (2021) available at: https://doi.org/10.1149/1945-7111/ac11a5
- Parameters:
ocp_discharge (pybop.Dataset) – A dataset containing the “Stoichiometry” and “Voltage [V]” obtained from a discharge measurement.
ocp_charge (pybop.Dataset) – A dataset containing the “Stoichiometry” and “Voltage [V]” obtained from a charge measurement.
n_sto_points (int, optional) – The number of points in stoichiometry at which to calculate the voltage.
allow_stretching (bool, optional) – If True, the OCPs are allowed to stretch as well as shift with respect to the stoichiometry (default: True)
cost (pybop.ErrorMeasure | pybop.LogLikelihood, optional) – The cost function to quantify the error (default: pybop.RootMeanSquaredError).
optimiser (pybop.BaseOptimiser, optional) – The optimisation algorithm to use (default: pybop.SciPyMinimize).
optimiser_options (pybop.OptimiserOptions, optional) – Options for the optimiser.
- allow_stretching = True#
- cost#
- differential_capacity_interpolant#
- n_sto_points = 101#
- ocp_charge#
- ocp_discharge#
- optimiser#
- optimiser_options#
- class pybop.applications.ocp_methods.OCPCapacityToStoichiometry(ocv_dataset: pybop.Dataset, ocv_function: collections.abc.Callable, cost: pybop.ErrorMeasure | pybop.LogLikelihood | None = None, optimiser: pybop.BaseOptimiser | None = None, optimiser_options: pybop.OptimiserOptions | None = None)[source]#
Bases:
pybop.BaseApplicationEstimate the stoichiometry from a measurement of open-circuit voltage versus charge capacity.
- Parameters:
ocv_dataset (pybop.Dataset) – A dataset containing the “Charge capacity [A.h]” and “Voltage [V]” obtained from an OCV measurement.
ocv_function (Callable) – The open-circuit voltage as a function of stoichiometry.
cost (pybop.ErrorMeasure | pybop.LogLikelihood, optional) – The cost function to quantify the error (default: pybop.RootMeanSquaredError).
optimiser (pybop.BaseOptimiser, optional) – The optimisation algorithm to use (default: pybop.SciPyMinimize).
optimiser_options (pybop.OptimiserOptions, optional) – Options for the optimiser.
- cost#
- ocv_dataset#
- ocv_function#
- optimiser#
- optimiser_options#
- class pybop.applications.ocp_methods.OCPMerge(ocp_discharge: pybop.Dataset, ocp_charge: pybop.Dataset, n_sto_points: int = 101)[source]#
Bases:
pybop.BaseApplicationGenerate a representative open-circuit potential (OCP) without hysteresis by merging the provided charge and discharge branches of the OCP.
- Parameters:
ocp_discharge (pybop.Dataset) – A dataset containing the “Stoichiometry” and “Voltage [V]” obtained from a discharge measurement.
ocp_charge (pybop.Dataset) – A dataset containing the “Stoichiometry” and “Voltage [V]” obtained from a charge measurement.
n_sto_points (int, optional) – The number of points in stoichiometry at which to calculate the voltage.
- n_sto_points = 101#
- ocp_charge#
- ocp_discharge#