FaradayInstitution / BPX

BPX schema in pydantic and JSON schema format, and parsers
MIT License
25 stars 12 forks source link

Feature request: hysteresis #24

Open ejfdickinson opened 1 year ago

ejfdickinson commented 1 year ago

Provide support in the BPX standard for electrode OCPs to be defined as general functions of more parameters, in order to define a hysteresis model. The simplest such example could be the sigmoid hysteresis model (distinct charge/discharge OCP profiles) in PyBaMM.

[request from industrial contributor]

ejfdickinson commented 1 year ago

For the next version release, this can be satisfied through #26

tommaull commented 1 year ago

@ejfdickinson - I know I said I'd stop disagreeing with you, but I think based on recent experience we need to include decay. Also, I think it's a bit cleaner/clearer to include a single OCP with a hysteresis term. This amounts to the same thing, but is easier to convey.

ejfdickinson commented 1 year ago

@tommaull Noted and agreed (with the benefit of 6 months' thinking time!) for any possible standard extension. A decay rate can always be short-circuited to be instantaneous if desired.

We recognised this uncertainty / absence of consensus, so we have not yet committed (BPX v0.4) to any explicit standardisation of hysteresis parameters.

In the immediate term, the open-ended user-defined parameter section (#26, PR #44), scheduled for BPX v0.4, satisfies sharing of parameters using either OCP approach (two OCPs / one OCP + hysteresis term). Also this would support the inclusion of a decay rate if desired. As this would fall outside the BPX equation standard, compatibility with BPX readers to convert to e.g. a compatible pybamm.ParameterValues object would need to be extended manually to satisfy any chosen user-defined format. I'd see this as very little work, however.

ejfdickinson commented 3 months ago

I suggest to revisit this now that there is a standard implementation of the Wycisk/Plett model] in PyBaMM (scheduled for 24.5 release).