pybop.applications.ocp_methods#
Classes#
Estimate the equlilibrium 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.BaseCost | None = pybop.MeanAbsoluteError, optimiser: pybop.BaseOptimiser | None = pybop.SciPyMinimize, verbose: bool = True)[source]#
Bases:
pybop.BaseApplicationEstimate the equlilibrium 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.BaseCost, optional) – The cost function to quantify the error (default: pybop.MeanAbsoluteError).
optimiser (pybop.BaseOptimiser, optional) – The optimisation algorithm to use (default: pybop.SciPyMinimize).
verbose (bool, optional) – If True, progress messages are printed (default: True).
- __call__() pybop.Dataset[source]#
- class pybop.applications.ocp_methods.OCPCapacityToStoichiometry(ocv_dataset: pybop.Dataset, ocv_function: Callable, cost: pybop.BaseCost | None = pybop.RootMeanSquaredError, optimiser: pybop.BaseOptimiser | None = pybop.SciPyMinimize, verbose: bool = True)[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.BaseCost, optional) – The cost function to quantify the error (default: pybop.RootMeanSquaredError).
optimiser (pybop.BaseOptimiser, optional) – The optimisation algorithm to use (default: pybop.SciPyMinimize).
verbose (bool, optional) – If True, progress messages are printed (default: True).
- __call__() pybop.Dataset[source]#
- 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.
- __call__() pybop.Dataset[source]#