pybamm-team / PyBaMM

Fast and flexible physics-based battery models in Python
https://www.pybamm.org/
BSD 3-Clause "New" or "Revised" License
1.06k stars 528 forks source link

Add solvent consumption model into PyBaMM #4276

Open RuiheLi opened 2 months ago

RuiheLi commented 2 months ago

Description

This model considers the effect of solvent consumtion due to SEI layer growth, which corresponds to the model in this paper: Li, Ruihe, O'Kane, Simon, Marinescu, Monica, & Offer, Gregory J. (2022). Modelling solvent consumption from SEI layer growth in lithium-ion batteries. Journal of The Electrochemical Society, 169(6), 14. doi:10.1149/1945-7111/ac6f84. It enables the discussion on the initial amount of electrolyte injected into the cell during manufacturing and model the possible dry-out of electrode area at late stage of degradation.

Motivation

For the following two SEI reactions:

  1. 2Li+ + 2(C3H4O3)(EC) + 2e- <=> (CH2OCO2Li)2 + C2H4
  2. 2Li+ + C3H6O3(DMC) + 2e- <=> Li2CO3 + C2H6 apart from the lithium ions being consumed which leads to LLI, solvent components like EC and DMC are also being consumed, which may lead to electrolyte dry-out, as observed in this work. image

Having a solvent consumption model will extend the ability of PyBaMM to capture more degradation mechanisms.

Possible Implementation

Now this model works as a wrapper, i.e., it doesn't not makes changes to the PyBaMM model itself but only changes the concentration of Li+ and EC (or any solvent assumed) that relates to the DFN model and SEI model, see below: image

Given its current implementation, I think the easiest way to add it into PyBaMM may be as an example notebook, like this one here?

Additional context

Now that the notebook has already existed here, will it make sense to tidy up this notebook according to the Coding style guidelines and make a PR? Any suggestions will be appreciated.

valentinsulzer commented 2 months ago

It makes sense to add this as an example notebook if it can be cleaned up and simplified to run in under 10 seconds