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

Revise hierarchy of "Electrode" parameters, include parameters for inert composition #55

Open
ejfdickinson opened this issue Jun 19, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@ejfdickinson
Copy link
Collaborator

Simon Clark (SINTEF) wrote:

Generally, I am thinking if we can structure this in a way that will support higher dimensions (e.g. P3D, P4D) in the future? That is affected mostly by the electrode parameter structure. As it currently is implemented, the electrode level contains information about the coating (e.g. thickness, porosity, transport efficiency, etc.) and the active material (e.g. stoichiometry, OCP, etc.) while omitting information about the current collectors. While the current collectors are not important for P2D models, they can be very important in P4D models. Also, enabling the possibility to set the composition of the coating (e.g. X wt% active material, Y wt% carbon black) would be good – even if it is not directly supported by PyBaMM at the moment. That would look something like this (just as a pseudo-code example):

{ 
    "Negative electrode": { 
        "Coating": { 
            "Thickness [m]": 4.44e-05, 
            "Porosity": 0.20666, 
            "Transport efficiency": 0.09395, 
            "Active material": { 
                "name": "Graphite", 
                "Mass fraction": 0.92, 
                "Diffusivity [m2.s-1]": 9.6e-15, 
                "OCP [V]": "5.29210878e+01 * exp(-1.72699386e+02 * x) - 1.17963399e+03 + 1.20956356e+03 * tanh(6.72033948e+01 * (x + 2.44746396e-02)) + 4.52430314e-02 * tanh(-1.47542326e+01 * (x - 1.62746053e-01)) + 2.01855800e+01 * tanh(-2.46666302e+01 * (x - 1.12986136e+00)) + 2.01708039e-02 * tanh(-1.19900231e+01 * (x - 5.49773440e-01)) + 4.99616805e+01 * tanh(-6.11370883e+01 * (x + 4.69382558e-03))", 
                "Entropic change coefficient [V.K-1]": "(-0.1112 * x + 0.02914 + 0.3561 * exp(-((x - 0.08309) ** 2) / 0.004616)) / 1000", 
                "Conductivity [S.m-1]": 7.46, 
                "Surface area per unit volume [m-1]": 473004, 
                "Reaction rate constant [mol.m-2.s-1]": 6.872E-06, 
                "Minimum stoichiometry": 0.0016261 
            }, 
            "Conductive additive": { 
                "name": "Carbon black", 
                "Mass Fraction": 0.04 
            }, 
            "Binder": { 
                "name": "CMC", 
                "Mass fraction": 0.04 
            } 
        }, 
        "Current collector": { 
            "name": "Copper foil", 
            "Thickness [µm]": 10 
        } 
    } 
} 
@ejfdickinson ejfdickinson added the enhancement New feature or request label Jun 19, 2024
@ejfdickinson
Copy link
Collaborator Author

Better expression of electrode composition is important (#41), but I don't think that BPX is really the place for capturing general informational content about a cell, independent from a model. Parameters should be introduced to BPX only when they appear in a supported mathematical model.

@valentinsulzer
Copy link

+1 for separating material-level information from electrode-level information, especially as this is already what is done by BPX for blended electrodes. Specifically, I wish we had defined PyBaMM to use "active fraction of solid" (between 0 and 1) instead of "active material volume fraction" (between 0 and 1-porosity)

@ejfdickinson
Copy link
Collaborator Author

ejfdickinson commented Jun 20, 2024

I think mass fraction will always be preferred, because (unlike volume fraction) it's pressure/temperature-independent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants