Skip to content

Add Model for Multilayer Stacked Pouch Cells with thru-stack heat generation & diffusion. - #5489

Draft
mleot wants to merge 9 commits into
pybamm-team:mainfrom
mleot:multilayer-pouch-throughstack-thermal-variance
Draft

mleot wants to merge 9 commits into
pybamm-team:mainfrom
mleot:multilayer-pouch-throughstack-thermal-variance

Conversation

@mleot

@mleot mleot commented May 1, 2026 •

Copy link
Copy Markdown
Contributor

Description

This PR adds a new 3D thermal model, capable of simulating multi-layer stacked pouch cells, where independent electrochemical environments can exist as different stack layers in the cell. Heat is generated differentially at different layers.

Fixes #5505

multilayer_model_comparison SPM 3D Temperature SPM Multilayer

Type of change

Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #)

Important checks:

Please confirm the following before marking the PR as ready for review:

  • No style issues: nox -s pre-commit
  • All tests pass: nox -s tests
  • The documentation builds: nox -s doctests
  • Code is commented for hard-to-understand areas
  • Tests added that prove fix is effective or that feature works

@aabills

aabills commented May 12, 2026

Copy link
Copy Markdown
Contributor

Hey @mleot, we're going to figure out what to do with this after #5511 gets figured out

Adds a multi-layer pouch SPM in which each layer solves the 1D heat
equation across the electrode sandwich (negative electrode | separator |
positive electrode) with the standard finite-volume resolution, rather
than the 2-node-per-layer profile the 3D thermal models produce when
mesh_h >> L_x.

Adjacent layers conduct across the inter-layer thermal contact
resistance, ported from MultiLayer3DThermalSPM: the interface flux
q = (T_right,i - T_left,i+1) / R_th is applied as a matched pair of
Neumann conditions, so the heat leaving layer i at its right face is the
heat entering layer i+1 at its left face. Note that PyBaMM's
finite-volume Neumann value is dT/dx rather than the outward normal
derivative, so both sides take dT/dx = -q / lambda.

Includes an example script plotting the through-stack temperature
profile and a changelog entry.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@BradyPlanden

Copy link
Copy Markdown
Member

Hi @mleot - I've ported this over to the model zoo in #5815. Please take a look and let me know if you see anything that needs to be addressed. If all looks good, let's close this PR and merge that one.

@mleot

mleot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

Hi @BradyPlanden I will review this today thanks for the ping.

This branch has not been deployed

No deployments
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.

Multi-Layer Pouch Cell Thermal Model Formulation

3 participants