You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the output_variables option of the IDAKLU solver is used in a simulation with an event, the solve fails with the error message below when trying to get the event reason
Steps to Reproduce
deftest(solver):
model=pybamm.lithium_ion.DFN()
parameter_values=pybamm.ParameterValues("Chen2020")
sim=pybamm.Simulation(
model,
parameter_values=parameter_values,
solver=solver,
)
sol=sim.solve(np.linspace(0, 3600, 1000))
sol=sol["Terminal voltage [V]"].entriestest(pybamm.IDAKLUSolver(output_variables=["Terminal voltage [V]"]))
Relevant log output
Traceback (most recent call last):
File "/home/mrobins/git/tmp/test.py", line 17, in<module>
test(pybamm.IDAKLUSolver(output_variables=["Terminal voltage [V]"]))
File "/home/mrobins/git/tmp/test.py", line 14, intest
sol = sim.solve(np.linspace(0, 3600, 1000))
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/simulation.py", line 584, in solve
self._solution = solver.solve(self.built_model, t_eval, **kwargs)
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/solvers/base_solver.py", line 959, in solve
solutions[i], termination = self.get_termination_reason(
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/solvers/base_solver.py", line 1303, in get_termination_reason
final_event_values[event.name] = event.expression.evaluate(
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/expression_tree/binary_operators.py", line 132, in evaluate
right = self.right.evaluate(t, y, y_dot, inputs)
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/expression_tree/binary_operators.py", line 132, in evaluate
right = self.right.evaluate(t, y, y_dot, inputs)
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/expression_tree/binary_operators.py", line 132, in evaluate
right = self.right.evaluate(t, y, y_dot, inputs)
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/expression_tree/symbol.py", line 778, in evaluate
return self._base_evaluate(t, y, y_dot, inputs)
File "/home/mrobins/git/tmp/env/lib/python3.10/site-packages/pybamm/expression_tree/state_vector.py", line 284, in _base_evaluate
raise ValueError(
ValueError: y is too short, so value with slice is smaller than expected
(env) ➜ tmp pip list |grep pybamm
The text was updated successfully, but these errors were encountered:
PyBaMM Version
24.1
Python Version
3.10
Describe the bug
When the output_variables option of the IDAKLU solver is used in a simulation with an event, the solve fails with the error message below when trying to get the event reason
Steps to Reproduce
Relevant log output
The text was updated successfully, but these errors were encountered: