Skip to content

SEI Growth by Electron Diffusion & Migration #3769

@MichaPhilipp

Description

@MichaPhilipp

Description

The feature contains SEI growth models based on the diffusion and migration of electrons through the SEI (L.v. Kolzenberg, A. Latz, B. Horstmann, ChemSusChem 2020, 13, 3901-3910). The model is dervied to describe SEI growth during storage and battery operation.

Motivation

This feature supports the simulation of SEI growth under different operating conditions. Thereby it extends the set of available SEI growth models on PyBaMM and enables the comparison of SEI growth for different operating protocols.

Possible Implementation

The simplest to implement is to add these lines into sei_growth.py

OCP_n = variables["Negative electrode open-circuit potential [V]"]
j0 = variables["Negative electrode exchange current density [A.m-2]"]

elif self.options["SEI"] == "electron-diffusion limited":
            # L. v. Kolzenberg, ChemSusChem 2020 (eq. 25)
            chem_pot_Li = 0.1803
            eta_int = 2/F_RT*pybamm.arcsinh(j/(2*j0))
            j_ED = -(phase_param.D_li * phase_param.c_li_0 * param.F / L_sei_outer) * pybamm.exp(-F_RT*(eta_int + OCP_n + chem_pot_Li))
            j_sei = j_ED

elif self.options["SEI"] == "electron-migration limited":
            # L. v. Kolzenberg, ChemSusChem 2020 (eq. 27a & 27b)
            chem_pot_Li = 0.1803
            eta_int = 2/F_RT*pybamm.arcsinh(j/(2*j0))
            j_migr = pybamm.minimum(param.F**2 * phase_param.D_li * phase_param.c_li_0 / (2 * param.R * T * phase_param.kappa_inner) *j*pybamm.exp(-F_RT*(eta_int + OCP_n + chem_pot_Li)),0)
            j_sei = j_migr

Additional context

In the following all cited equations refer to the equations from this work (L.v. Kolzenberg, A. Latz, B. Horstmann, ChemSusChem 2020, 13, 3901-3910).

The equations described in "Possible Implementation" origin from the general equation for the SEI current density under different operating conditions (eq. 19). Looking at different limits this equation reduces to the reaction limited (eq. 23), electron diffusion limited (eq. 25) and migration limited cases (eq. 27 a+b). Note that this "electron-migration limited" case differs from the mechanism already implemented in PyBaMM under the same name. Even though the basic equation for electromigration (see eq. 5) can yield both "migration" mechanisms, the major difference lies in the interpretation of conductivity and the origin of the gradient in the electrical potential in the SEI. Here the intercalation current of Li-ions is assumed to cause the gradient in the electrical potential. This leads then to SEI growth proportional to the intercalation current density and it goes linear with time (eq. 28).

Both mechanisms (electron diffusion & migration) depend on the overpotential of the SEI (eta_SEI), which is directly linked to the intercalation overpotential (eta_int). The latter is defined through the difference in potentials (eq. 10) and linked to the resulting intercalation current (eq. 9). In the above suggested implementation of the models we assume that j_SEI << j_int and therefore j_int ~ j. This let's us use eq. 9 directly to compute eta_int and insert it in the needed SEI overpotential (see eq. 18). Depending on the application this assumption may not be justified. Some attempts were made to keep the intercalation current a variable, and let the solver get a correct solution for j_int and j_SEI. However, I was not able to get numerical stability.

To fully capture the correct dependencies and smooth transitions from reaction to diffusion to migration limited SEI growth it would be necessary to implement eq. 19. In theory this captures the linear to square-root to linear growth regimes of the SEI, depending on transport parameters and current SEI thickness. Unfortunately i was not able to achieve any solutions due to solver problems.

Looking forward to thoughts on this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions