Skip to content

Fix Q_heat always zero for isothermal cells; add unit tests#9

Merged
DavidMStraub merged 2 commits intopathsim:masterfrom
DavidMStraub:fix/isothermal-heat-source
May 5, 2026
Merged

Fix Q_heat always zero for isothermal cells; add unit tests#9
DavidMStraub merged 2 commits intopathsim:masterfrom
DavidMStraub:fix/isothermal-heat-source

Conversation

@DavidMStraub
Copy link
Copy Markdown
Collaborator

Turns out the CellEletrical wasn't actually working as PyBaMM wasn't computing the heat source term.

Fixed, plus added tests that would have detected it...

- Enable 'calculate heat source for isothermal models' option for
  CellElectrical and CellCoSimElectrical via _thermal_extra_options
  class variable, wired into both _CellBase and _CoSimCellBase
- Fix _CoSimCellBase._initial_outputs: bm.y0 is None in PyBaMM 26.x
  before the first step; return zero-filled placeholder with SOC set
- Pass save=False to pybamm.Simulation.step() to prevent unbounded
  memory growth on long co-sim runs
- Add tests: Q_heat nonzero during discharge, temperature input
  effectiveness — for all four cell classes
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes Q_heat being identically zero for the isothermal PyBaMM-backed electrical cell blocks by enabling PyBaMM’s heat-source calculation for isothermal models, and adds integration tests to prevent regressions.

Changes:

  • Pass an additional PyBaMM model option for isothermal cells to compute heat-source terms (calculate heat source for isothermal models).
  • Add integration tests asserting (a) Q_heat is non-zero under discharge and (b) temperature inputs materially affect voltage/temperature outputs across electrical/electrothermal + co-sim variants.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
src/pathsim_batt/cells/pybamm_cell.py Adds support for extra PyBaMM thermal options and enables isothermal heat-source calculation for electrical cell defaults.
tests/cells/test_pybamm_cell.py Adds regression tests covering non-zero heat generation and temperature-input coupling behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/pathsim_batt/cells/pybamm_cell.py
Comment thread src/pathsim_batt/cells/pybamm_cell.py Outdated
Comment thread src/pathsim_batt/cells/pybamm_cell.py Outdated
@DavidMStraub DavidMStraub force-pushed the fix/isothermal-heat-source branch 2 times, most recently from 05a2ee6 to ee3f7cb Compare May 5, 2026 14:54
@DavidMStraub DavidMStraub merged commit 44e58a3 into pathsim:master May 5, 2026
5 checks passed
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