Half-cell OCV-R modeling for battery formation dynamics.
A pre-print of this work is available here.
Runs on Python 3.8.8.
-
Clone this repository.
-
Make sure you have Python 3.8.8 installed. Another version of Python will probably work, but no guarantees!
-
Set up your Python virtual environment
- Make sure you're in the root directory of the repo
- Create the virtual environment:
python -m venv venv
- You should see a new folder called
venv
- You should see a new folder called
- Install the relevant packages
- Make sure your virtual environment is activated
- Run
source venv/bin/activate
- You should see
(venv)
appear on the Terminal prompt
- You should see
- Also check that
pip
is pointing to the instance from the venv, not from system:which pip
- Run
- Install the packages using
pip install -r requirements.txt
- Download the data files
- Follow the link in the
data
folder
- Fix oscillations at higher C-rates and during the CV hold
- Refactor the numerical integration scheme to be standard form (dxdt = f(x, t, ...)
- Reparameterize Rn, Ln, Lp based on the full expansion model
- Fix anode expansion function (there's a kink; the equation from Mohtat2020 may have some typos)
- Fix
$\delta_p + \delta_n \neq \delta_{tot}$ issue - Reparameterize
$U_n$ and$U_p$ to align with the measured initial full cell voltage before formation
- Define simulation output metrics directly in the model itself for
convenience and modularization
- CE, Qd, and Qc for cycles 1, 2, 3
- dQ/dV peak positions
- Run the initial formation charge at different C-rates
- Run the initial formation charge at different CV hold conditions
- Run calendar aging experiments at different SOCs following formation