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 npparameter_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_maxparameter_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!