# Lithium plating reaction overpotential inconsistent with the model definition

**URL:** <https://pybamm.discourse.group/t/lithium-plating-reaction-overpotential-inconsistent-with-the-model-definition/401>\
**Category:** General\
**Created:** [5 October 2025 05:20 UTC](https://pybamm.discourse.group/t/lithium-plating-reaction-overpotential-inconsistent-with-the-model-definition/401 "2025-10-05T05:20:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![appana.3](https://avatars.discourse-cdn.com/v4/letter/a/b782af/32.png) [@appana.3](https://pybamm.discourse.group/u/appana.3)\
**Post date:** [5 October 2025 05:20 UTC](https://pybamm.discourse.group/t/lithium-plating-reaction-overpotential-inconsistent-with-the-model-definition/401/1 "2025-10-05T05:20:36Z")

</div>

Hello everyone,

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

As per the documentation given [here](https://github.com/pybamm-team/PyBaMM/blob/develop/docs/source/examples/notebooks/models/SPM.ipynb), 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!

---

<div class="post-metadata">

**Author:** ![appana.3](https://avatars.discourse-cdn.com/v4/letter/a/b782af/32.png) [@appana.3](https://pybamm.discourse.group/u/appana.3)\
**Post date:** [9 October 2025 00:43 UTC](https://pybamm.discourse.group/t/lithium-plating-reaction-overpotential-inconsistent-with-the-model-definition/401/2 "2025-10-09T00:43:06Z")

</div>

Hi everyone,

Any thoughts on this?
