How to implement new coupled intercalation kinetics #2978
Replies: 3 comments
-
I think implementing this might be easier than you suggest. I am not too familiar with the various versions of Butler Volmer, but that looks to me as an asymmetric version of Butler Volmer (see here). Currently, our asymmetric version takes the same I am not sure if we should keep the functionality of passing a single |
Beta Was this translation helpful? Give feedback.
-
Don't worry about the order, we try the submodels in a loop until all the variables have been found. I think we should have a version of asymmetric Butler-Volmer with one |
Beta Was this translation helpful? Give feedback.
-
I find that the values of those four variables (Negative/Postive particle surface concentration [mol.m-3], Average negative/postive particle concentration [mol.m-3], Negative/Postive electrolyte concentration [mol.m-3], X-averaged negative/postive electrolyte concentration [mol.m-3]) can be got in class BaseKinetics (implemented in base_kinetics.py), which is the superclass of classes in butler_volmer.py. Therefore, we can pass values from class BaseKinetics to class SymmetricButlerVolmer to implement the new coupled intercalation kinetics and even other intercalation kinetics. Solution has been found. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello, everyone.



I want to implement a new intercalation kinetics, just like equation (5) below, coming from reference [1] and [2].
The implemention of equation (5) needs the implementation of Negative/Postive particle surface concentration [mol.m-3], Average negative/postive particle concentration [mol.m-3], Negative/Postive electrolyte concentration [mol.m-3], X-averaged negative/postive electrolyte concentration [mol.m-3] and maybe other variables in advance.
However, in current PyBaMM dfn models, these variables are implemented in {self.set_particle_submodel() -> pybamm.particle.FickianDiffusion} and {self.set_electrolyte_concentration_submodel() -> pybamm.electrolyte_diffusion.Full} after the implementation of intercalation kinetics in {self.set_intercalation_kinetics_submodel(). -> pybamm.kinetics.SymmetricButlerVolmer).
This means, if we just rebuild intercalation kinetics code, bugs like 'variables missing' will occur.
To implement equation (5), we may need to rebuild electrolyte concentration submodel, particle submodel and intercalation kinetics submodel together at once. However, I cannot complete this task on my own. So i am looking for help. Here is my rebuilt intercalation kinetics codes for reference.
class SymmetricButlerVolmer(BaseKinetics):
[1] Chayambuka K, Mulder G, Danilov D L, et al. Physics-based modeling of sodium-ion batteries part II. Model and validation[J]. Electrochimica Acta, 2022, 404: 139764.
[2] Danilov D, Niessen R A H, Notten P H L. Modeling all-solid-state Li-ion batteries[J]. Journal of the Electrochemical Society, 2010, 158(3): A215.
Beta Was this translation helpful? Give feedback.
All reactions