Fix non-deterministic ShapeError in 3D FEM gradient method #5143
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR resolves a non-deterministic
ShapeError
that occurred in theScikitFiniteElement3D
spatial method when simulating 3D thermal models.The problem was when evaluating the gradient of a constant parameter, like thermal conductivity (lambda_eff), which PyBaMM simplifies to a pybamm.Scalar. The gradient method was not designed to handle a scalar input and would attempt an invalid matrix-scalar multiplication.
Fixes #5142
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:
nox -s pre-commit
nox -s tests
nox -s doctests