-
-
Notifications
You must be signed in to change notification settings - Fork 553
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 "voltage as a state" option #4507
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #4507 +/- ##
========================================
Coverage 99.42% 99.42%
========================================
Files 299 299
Lines 22691 22715 +24
========================================
+ Hits 22560 22584 +24
Misses 131 131 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks. Those timings are crazy - is that even with the latest changes from Marc?
Yep. Evaluating all those |
…yBaMM into voltage-as-a-state
* add voltage as a state option * improve coverage * update CHANGELOG --------- Co-authored-by: Valentin Sulzer <[email protected]>
Description
Adds an option "voltage as a state" that can be "false" (default) or "true". If "true" adds an explicit algebraic equation for the voltage. This can be used to reformulate the SPM(e) as a DAE rather than and ODE. This increases the solve time but evaluating the voltage as an explicit state rather than as a function of other state variables can be faster if the time eval is dense.
returns
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.
Key checklist:
$ pre-commit run
(or$ nox -s pre-commit
) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)$ python run-tests.py --all
(or$ nox -s tests
)$ python run-tests.py --doctest
(or$ nox -s doctests
)You can run integration tests, unit tests, and doctests together at once, using
$ python run-tests.py --quick
(or$ nox -s quick
).Further checks: