Skip to content

Add PyBaMM 26.10 support - #23

Closed
DavidMStraub wants to merge 2 commits into
pathsim:masterfrom
DavidMStraub:pybamm_26_10
Closed

DavidMStraub wants to merge 2 commits into
pathsim:masterfrom
DavidMStraub:pybamm_26_10

Conversation

@DavidMStraub

Copy link
Copy Markdown
Collaborator

Under the 6-release support policy, 26.4 is dropped and 26.10 is added.

  • pybamm>=26.5,<26.11 (was >=26.4,<26.10)
  • CI: all Python versions run against 26.10; the older-release rows are now 26.5–26.9
  • Updated the supported-version range in a test comment

Raising the lower bound means the next pathsim-batt release must be a minor release.

Note: 26.10 deprecates pybamm.CasadiSolver, which the LOQS workaround for PyBaMM < 26.7 uses. 26.5 and 26.6 should age out under the policy before PyBaMM removes it.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The PR scope is materially under-described, and the README overstates compatibility with arbitrary PyBaMM models.

2 open findings
What changed in this PR

Adds PyBaMM 26.10 support and introduces monolithic DAE model integration.

Changes:

  • Updates PyBaMM and PathSim dependency requirements and CI coverage.
  • Adds DAE support for DFN and lead-acid models.
  • Expands integration tests and documentation.
File Description
src/​pathsim_batt/​cells/​pybamm_cell.py Implements DAE integration and algebraic-state handling.
tests/​cells/​test_pybamm_cell.py Tests DAE behavior and DFN integration.
tests/​cells/​test_lead_acid.py Extends monolithic coverage to lead-acid DAEs.
README.md Documents broader model support.
pyproject.toml Updates PathSim and PyBaMM requirements.
.github/​workflows/​test.yml Tests PyBaMM 26.5–26.10.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread README.md
## PyBaMM models

Thermal sub-model and heat-source options are injected automatically — pass the bare model class with no `options=`.
All blocks accept any PyBaMM battery model, e.g. `lithium_ion.SPM`, `SPMe`, `DFN`, `lead_acid.LOQS`, `lead_acid.Full` or `equivalent_circuit.Thevenin`. Thermal sub-model and heat-source options are injected automatically — pass the bare model class with no `options=`.


class _CellBase(DynamicalSystem):
class _CellBase(SemiExplicitDAE):
@DavidMStraub

Copy link
Copy Markdown
Collaborator Author

Wrong branch

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.

2 participants