Skip to content

Commit

Permalink
#1477 fix mass matrix inv bug
Browse files Browse the repository at this point in the history
  • Loading branch information
martinjrobins committed Aug 2, 2021
1 parent f9daa06 commit 241af9a
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions pybamm/solvers/base_solver.py
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,8 @@ def jacp(*args, **kwargs):
# equations, then we also need to update the mass matrix
if calculate_sensitivities_explicit:
n_inputs = model.len_rhs_sens // model.len_rhs
if model.mass_matrix.shape[0] == model.len_rhs_and_alg:
if (model.mass_matrix is not None
and model.mass_matrix.shape[0] == model.len_rhs_and_alg):
model.mass_matrix_inv = pybamm.Matrix(
block_diag(
[model.mass_matrix_inv.entries] * (n_inputs + 1),
Expand All @@ -624,10 +625,11 @@ def jacp(*args, **kwargs):
)
else:
# take care if calculate_sensitivites used then not used
if model.mass_matrix.shape[0] > model.len_rhs_and_alg:
if (model.mass_matrix is not None and
model.mass_matrix.shape[0] > model.len_rhs_and_alg):
model.mass_matrix_inv = pybamm.Matrix(
model.mass_matrix_inv.entries[:model.len_rhs_and_alg,
:model.len_rhs_and_alg]
model.mass_matrix_inv.entries[:model.len_rhs,
:model.len_rhs]
)
model.mass_matrix = pybamm.Matrix(
model.mass_matrix.entries[:model.len_rhs_and_alg,
Expand Down

0 comments on commit 241af9a

Please sign in to comment.