-
-
Notifications
You must be signed in to change notification settings - Fork 568
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
[Bug]: The NCA_Kim2011 OCP curve CSV value is inconsistent with the original Article Function #2744
Comments
The CSV Data is
|
Let's switch to the function. Can you plot it from 0.3 to 1 to make sure the extrapolation behavior is ok? |
Looks good. Can you open a PR replacing the csv with the function? Let me know if you need help for this.
This is actually useful for making sure we hit the voltage cut-off, instead of the particle stoichiometry going above 1 |
Fixing pybamm-team#2744. to make sure we hit the voltage cut-off, instead of the particle stoichiometry going above 1. Using the function in Kim2011 article to take the place of pybamm\input\parameters\lithium_ion\data\nca_ocp_Kim2011_data.csv for parameter 'Positive electrode OCP[V]' in Kim2011 parameter set. The function 'nca_ocp_Kim2011(sto)' in pybamm\input\parameters\lithium_ion\NCA_Kim2011.py is edited.
PyBaMM Version
22.11.1
Python Version
3.9.13
Describe the bug
I am using the parameter set NCA_Kim2011. When I set the initial soc to 1 and begin my simulation just like
solver_used = pybamm.CasadiSolver(mode="safe")
sim = pybamm.Simulation(model_dfn, parameter_values=params_values_used, experiment = experiment_used, solver = solver_used)
sim.build_for_experiment(initial_soc=1)'
sim.solve()
then I come to the bug 'interpolation bounds were exceeded' "Interpolant 'nca_ocp_Kim2011_data' lower bound".
So I go to the nca_ocp_Kim2011_data.csv and find that the maxnimum sto provided is 0.993382838635443. This will arise problems not only when we set initial soc to 1, but also when we charge the battery to the Upper Voltage Cut-off. Therefore, I wanted to replace CSV Data with Function. However, when I compare the OCP curve provided from the CSV and the Kim2011 Article, I find that there are difference between them. The CSV Data Curve is higher than the Function Curve. The difference is much more obvious when sto is close to 1 or 0.37.
My question is:
1.Which curve is reliable.
2.If the CSV Data Curve is correct, to provide additional interpolation points, what the Voltage is when sto equals to 1?
Steps to Reproduce
1.CSV
Open pybamm\input\parameters\lithium_ion\data\nca_ocp_Kim2011_data.csv
Draw picture using scatter diagram.
2.Original Article
https://iopscience.iop.org/article/10.1149/1.3597614
Open page 8 of the article, see Table III, Positive electrode U+(V) item.
Draw picture using your code, or just like
x = 0.37:0.01:0.99
U_posi = 1.638*(x.^10) - 2.222*(x.^9) + 15.056*(x.^8) - 23.488*(x.^7) + 81.246*(x.^6) - 344.566*(x.^5) + 621.3475*(x.^4) - 554.774*x.^3 + 264.427*(x.^2) - 66.3691*x + 11.8058 - 0.61386*exp(5.8201*x.^136.4);
U_nega = 0.124 + 1.5*exp(-70*x) - 0.0351*tanh((x-0.286)/0.083) - 0.0045*tanh((x-0.9)/0.119) - 0.035*tanh((x-0.99)/0.05) -0.0147*tanh((x-0.5)/0.034) - 0.102*tanh((x-0.194)/0.142) - 0.022*tanh((x-0.98)/0.0164) - 0.011*tanh((x-0.124)/0.0226) + 0.0155*tanh((x-0.105)/0.029);
plot(x,U_posi,x,U_nega)
Compare the difference between them.
Relevant log output
No response
The text was updated successfully, but these errors were encountered: