Skip to content

Composite porosity#4417

Merged
kratman merged 55 commits into
pybamm-team:developfrom
DrSOKane:composite-porosity
Jan 13, 2025
Merged

Composite porosity#4417
kratman merged 55 commits into
pybamm-team:developfrom
DrSOKane:composite-porosity

Conversation

@DrSOKane

@DrSOKane DrSOKane commented Sep 5, 2024

Copy link
Copy Markdown
Contributor

Description

Modified reaction_driven_porosity.py so that porosity change still works for composite electrodes

Fixes # (issue)

Type of change

Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

  • New feature (non-breaking change which adds functionality)
  • Optimization (back-end change that speeds up the code)
  • Bug fix (non-breaking change which fixes an issue)

@codecov

codecov Bot commented Sep 5, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.66%. Comparing base (a7253b8) to head (07c6ff6).
Report is 141 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4417      +/-   ##
===========================================
- Coverage    99.22%   98.66%   -0.56%     
===========================================
  Files          303      303              
  Lines        23070    23225     +155     
===========================================
+ Hits         22891    22915      +24     
- Misses         179      310     +131     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@brosaplanella brosaplanella left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Simon! The PR looks nice, just the tests need addressing. Note that once the unit tests are updated to increase coverage, it will also have the same parameter issues as the integration tests.

@DrSOKane

DrSOKane commented Sep 6, 2024

Copy link
Copy Markdown
Contributor Author

Hi Simon! The PR looks nice, just the tests need addressing. Note that once the unit tests are updated to increase coverage, it will also have the same parameter issues as the integration tests.

That's odd. My working example ran just fine 10 days ago before I went on holiday, but it's now throwing the same parameter error as the automated tests. Was there a recent change to how phase parameters are handled?

@valentinsulzer

Copy link
Copy Markdown
Member

@parkec3 has also been working on some changes to make composite electrodes compatible with more cases

@parkec3

parkec3 commented Sep 6, 2024

Copy link
Copy Markdown
Contributor

It looks like the degradation parameters need to be updated to be defined by phase. I'm finishing up work getting the LAM submodel compatible with composite electrodes. I had to make a custom parameter set from Chen2020 composite and Ai2020 for my own local testing. The default parameter set doesn't have those defined.

@DrSOKane

DrSOKane commented Sep 7, 2024

Copy link
Copy Markdown
Contributor Author

The SEI parameters are defined by phase, but not by domain, which was the underlying cause of the bug. I rewrote the code with if statements to cover three possibilities:

  • Both electrodes have only one phase, in which case phase_name and pref are empty strings
  • domain has only one phase, in which case phase_name is empty but pref = "Primary: "
  • domain has more than one phase, in which case phase_name and pref are different for each phase

There is still a potential error if the electrode with SEI has one phase and the other has two. This can be fixed by giving all the SEI parameter domains, but that would be a separate PR...

@DrSOKane

DrSOKane commented Sep 9, 2024

Copy link
Copy Markdown
Contributor Author

UPDATE: I've simply set it so that L_sei_0 is zero if there is no SEI on that domain. Much more elegant and means the code will run in some edge cases that would have caused an error before.

@kratman kratman mentioned this pull request Sep 24, 2024
8 tasks
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@DrSOKane DrSOKane added the release blocker Issues that need to be addressed before the creation of a release label Jan 13, 2025
@rtimms

rtimms commented Jan 13, 2025

Copy link
Copy Markdown
Contributor

@aabills might be good for you to review this one since you've been looking at the composite code a lot recently

@aabills

aabills commented Jan 13, 2025

Copy link
Copy Markdown
Contributor

@aabills might be good for you to review this one since you've been looking at the composite code a lot recently

I'm going to review this after a meeting this morning

@kratman kratman merged commit 4c0604e into pybamm-team:develop Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release blocker Issues that need to be addressed before the creation of a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants