Lithium plating reaction overpotential inconsistent with the model definition

Hello everyone,

I am simulating lithium plating with “OKane2022” dataset using SPMe model.

As per the documentation given here, I expected that all the values for an arbitrary ‘x’ in the given domain would be the same. But I see different values for lithium plating reaction overpotential for each ‘x’. Could someone explain why and which value I should use to be consistent with the SPM theory?

Here’s the MWE:

import pybamm
from pybamm.expression_tree.functions import exp
import numpy as np

parameter_values = pybamm.ParameterValues(“OKane2022”)

c_n_max = parameter_values[“Maximum concentration in negative electrode [mol.m-3]”]
c_p_max = parameter_values[“Maximum concentration in positive electrode [mol.m-3]”]
Q = parameter_values[“Nominal cell capacity [A.h]”]

init_soc = 0.5
x_init, y_init = pybamm.lithium_ion.get_initial_stoichiometries(init_soc, parameter_values=parameter_values)
parameter_values[“Initial concentration in negative electrode [mol.m-3]”] = x_init * c_n_max
parameter_values[“Initial concentration in positive electrode [mol.m-3]”] = y_init * c_p_max

parameter_values[“Current function [A]”] = “[input]”

options = {“lithium plating”: “partially reversible”}
model = pybamm.lithium_ion.SPMe(options = options)
current_input = np.array([-1 * Q])

options = { “dt_init”: 0.5, “dt_min”: 0, “dt_max”: 10}

sim for training

solver = pybamm.IDAKLUSolver(root_method=‘casadi’, options = options)

sim = pybamm.Simulation(model, parameter_values=parameter_values, solver=solver)

sim.step(dt=2, inputs={“Current function [A]”: current_input}, save=False)

sol = sim.solution

sol[“Negative electrode lithium plating reaction overpotential [V]”].entries[:,-1]

Thanks in advance for your help!

Hi everyone,

Any thoughts on this?