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

Allow using IDAKLU(output_variables=...) with Experiments #4534

Merged
merged 14 commits into from
Oct 28, 2024

Conversation

pipliggins
Copy link
Contributor

@pipliggins pipliggins commented Oct 21, 2024

Description

Allows users to use the output_variables option with the IDAKLU solver within an experiment.

Fixes #4386

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)

Key checklist:

  • No style issues: $ 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)
  • All tests pass: $ python run-tests.py --all (or $ nox -s tests)
  • The documentation builds: $ 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:

  • Code is commented, particularly in hard-to-understand areas
  • Tests added that prove fix is effective or that feature works

Copy link

codecov bot commented Oct 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.42%. Comparing base (9560875) to head (a5f0847).
Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #4534   +/-   ##
========================================
  Coverage    99.42%   99.42%           
========================================
  Files          299      299           
  Lines        22716    22736   +20     
========================================
+ Hits         22585    22605   +20     
  Misses         131      131           

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

Copy link
Member

@MarcBerliner MarcBerliner left a comment

Choose a reason for hiding this comment

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

Looks good @pipliggins, just a few minor changes. The changelog needs updating as well

src/pybamm/solvers/solution.py Outdated Show resolved Hide resolved
src/pybamm/solvers/solution.py Outdated Show resolved Hide resolved
src/pybamm/solvers/solution.py Outdated Show resolved Hide resolved
src/pybamm/solvers/solution.py Outdated Show resolved Hide resolved
tests/integration/test_solvers/test_idaklu.py Outdated Show resolved Hide resolved
@MarcBerliner MarcBerliner merged commit 3864e5d into pybamm-team:develop Oct 28, 2024
26 checks passed
pkalbhor pushed a commit to pkalbhor/PyBaMM that referenced this pull request Nov 15, 2024
…m#4534)

* Add test for idaklu+output_variables+experiment

* edit Solution.last_state to pull y_event if all_ys is empty

* Ensure ProcessedVariableComputed variables are passed through Solution copies during an Experiment
Don't compute 'Change in x' summary variables if output_variables are specified

* populate first_state using the initial condition if output_variables used
Remove warnings about 'Change in x' summary variables

* Add to computed processed variable tests

* Add test for solution::add with computed variables

* add test for solution::copy with computed variables

* add check for idaklu on copy test

* Add 'variables_returned' attribute to Solution
Indicates if 'output_variables' are specified in solver
and therefore empty state vector

* Use `variables_returned` in `_update_variable()`, update test

* Update CHANGELOG

* Add test
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 this pull request may close these issues.

Make IDAKLU output variables compatible with Experiments
2 participants