Skip to content
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

Half-cell model for Li-ion battery #983

Closed
schweini2409 opened this issue May 6, 2020 · 9 comments · Fixed by #1121
Closed

Half-cell model for Li-ion battery #983

schweini2409 opened this issue May 6, 2020 · 9 comments · Fixed by #1121
Assignees

Comments

@schweini2409
Copy link

Summary
Could a half cell model (vs Li foil) be added along with the already-existed full cell model for Li-ion battery? It could be useful to simulate lab tests as they're frequently built in this configuration.

@valentinsulzer
Copy link
Member

I'm not familiar with half-cell models, would this include the separator or just a single electrode?

@schweini2409
Copy link
Author

The only difference compared to the full-cell is on the anode side. The anode is now Li foil. Since the reactions ((Li+) + (e-) -> Li) occur at the surface of the Li foil (no thickness), the micromodel that solves the solid-diffusion in the particles can be removed. A Butler-Volmer equation is needed to represent the reaction and a boundary condition that yields the sum of exchange current jk from BV to equal to the total current I.

@valentinsulzer
Copy link
Member

Makes sense, and I assume there is then a flux condition for the electrolyte concentration at the separator/anode interface?

@schweini2409
Copy link
Author

Indeed, there is a no flux condition for the electrolyte at the interface separator/anode (Li foil) just like for the current collector (Ne,n (x=0) = 0).

@brosaplanella
Copy link
Member

Isn't the condition at the separator-Li foil interface -De d ce / dx = I / F (with diffusion De, lithium ion concentration in the electrolyte ce, applied current density I and Faraday constant F)? Then Ne should be equal to (1-t^+) I / F which I guess it is the contribution of the negative ions.

@schweini2409
Copy link
Author

schweini2409 commented May 7, 2020

Isn't there a missing term in what you wrote? (1-t^+) should be on the right side as well?
I think the boundary condition at the li foil is that the flux of the anion is zero. Then the diffusion term of the anion is balanced by the migration term :
-De d(ce)/d(x) ) = (1-t^+)I/F
You can find the base equations for half cell model in this paper :
https://link.springer.com/chapter/10.1007/0-306-47508-1_13#citeas
Thomas K.E., Newman J., Darling R.M. (2002) Mathematical Modeling of Lithium Batteries. In: van Schalkwijk W.A., Scrosati B. (eds) Advances in Lithium-Ion Batteries. Springer, Boston, MA

@hzgezi-lynette
Copy link

In a half-cell, it contains an electrode (cathode or anode) as working electrode, a separator, a piece of pure Li foil as the reference electrode and counter electrode, electrolyte, current collector etc. So the potential discussed in a half cell is the voltage gap between the working electrode and the Li foil. In terms of the amount of Li ions resource from this Li foil, it can be considered as excessive. Practically, half-cell is commonly used as the first step: breaking the question into cathode and anode separately. And then based on the capacity, mass balance, to design a full-cell accordingly.

@tanhweejien
Copy link

tanhweejien commented Jun 23, 2020

Yeah, it would be really useful to be able to simulate a half cell. In the following paper the authors model a NMC111 half cell at different electrode thicknesses. It is very much the same as what has already been implemented in PyBaMM. I hope the maths in the paper help.

Modeling the effect of electrode thickness with experimental validation
https://www.sciencedirect.com/science/article/pii/S0360544219315361

@schweini2409
Copy link
Author

I do agree with this! The half cell model is well-known and I think it's quite straightforward to implement it and it should be a default model besides the full cell model.

@brosaplanella brosaplanella self-assigned this Jun 26, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 20, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 20, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 20, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 20, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 27, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 28, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 28, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 28, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 28, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Jul 28, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
@brosaplanella brosaplanella mentioned this issue Aug 3, 2020
6 tasks
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 3, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 4, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 8, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 8, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 10, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 10, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 11, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 11, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 11, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 11, 2020
brosaplanella added a commit to brosaplanella/PyBaMM that referenced this issue Aug 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants