-
-
Notifications
You must be signed in to change notification settings - Fork 563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add multiple advanced SEI and lithium plating submodels #1807
Comments
We're going to move all the SEI models to a single model with if statements, and same for both plating models. It should be clearer after that. |
Ok, thanks. Any estimate when this will be done? I am targeting to get this finished by the end of next week, so if it takes longer, I will try to work with the currently existent code, but if you are modifying it in a matter of days anyways, please let me know, then I will delay my changes because I'd only generate merge conflicts and do redundant work. |
Will be done in the next few days |
Done. Take a look at https://github.com/pybamm-team/PyBaMM/blob/develop/pybamm/models/submodels/interface/sei/sei_growth.py and https://github.com/pybamm-team/PyBaMM/blob/develop/pybamm/models/submodels/interface/lithium_plating/plating.py. Hopefully it is clearer now how to add a new model, you just need to add a new option for sei/plating and the corresponding if statement in the submodel |
Thanks a lot for the quick help, I will look into this and check how I can implement my own models. |
Question: Where do I find the param property names mapped to strings from pv = pybamm.ParameterValues(chemistry=my_chemistry)
pv["any parameter name"] = the_value I don't know what |
The symbols for the parameters are all defined here. |
I think there is a mistake in line 98 or 89 of https://github.com/pybamm-team/PyBaMM/blob/develop/pybamm/models/submodels/interface/sei/sei_growth.py. |
And could you maybe link the papers where these formulas are from, apart from Yang 2017? That would make it a lot easier to understand |
Hi there @ehtec have you been able to find any more information on what |
@PippaVossen ec reaction limited uses eqns 10 and 11 from Yang (2017). @ehtec Re the question about units: note the equations in pybamm are written in dimensionless form. Would need to chase the refs for the other models, we have an issue for this #1260 |
Many thanks @rtimms ! |
Hello, |
Closing this. New issues can be opened for specific models. |
I need to add the following submodels to PyBaMM:
Coupling between Li plating and SEI growth:
Possibilities: Arora, Doyle and White, Yang et al. and Zhao et al.
Combined model of Mn dissolution, SEI formation and Mn deposition on the NE:
Possibilities: Lin et al.
Combined model of Mn dissolution, SEI formation and Mn deposition on the NE + semi-empirical model of SEI formation on cracks in particles:
Possibilities: Li, Landers and Park
SEI growth on the NE, the same model applied to pSEI growth on the PE and an empirical model for loss of electrical contact due to particle cracking in both electrodes:
Possibilities: Jin et al.
SPM incorporating a NE SEI model:
Possibilities: Reniers, Mulder and Howey
P2D model combining SEI growth, SEI formation on cracks and partially reversible Li plating:
Possibilities: Keil and Jossen
From these combined models, three different possible explanations for the transition between stabilisation and saturation stages emerge:
stabilisation stage is dominated by SEI growth on the NE while the saturation stage is dominated by acid dissolution of the PE
the transition is caused by SEI-induced pore clogging, which in turn causes Li plating, neglecting the role of the PE completely
partially reversible Li plating could explain the transition
empirical model of electrical contact loss also reproduces the saturation stage
I have all the necessary formulas from the papers, but I have not yet added any submodel to PyBaMM before. I had a look at the documentation
https://pybamm.readthedocs.io/en/latest/tutorials/add-model.html
but it mainly focuses on adding a full new model, whereas I want to add submodels which can be used with SPM and DFN. Furthermore, I see there has already been some work done on this topic, and also used it successfully
https://github.com/pybamm-team/PyBaMM/blob/develop/pybamm/models/submodels/interface/sei/base_sei.py
https://github.com/pybamm-team/PyBaMM/blob/develop/pybamm/models/submodels/interface/lithium_plating/base_plating.py
Is there a way to use this work to simplify my submodels? I do not want to write redundant code.
Please give me some advice how to go forward here. There is not too much documentation on that topic, and it's a little bit difficultto try to understand everything from the source code.
Thanks in advance.
The text was updated successfully, but these errors were encountered: