-
-
Notifications
You must be signed in to change notification settings - Fork 712
Open
Labels
bugSomething isn't workingSomething isn't working
Description
PyBaMM Version
24.11.2
Python Version
3.12.12
Describe the bug
I see the demo can run 4000s cycling at 1/12C, 5/12, 10/12, and 1C. But in my environment setup (PyBaMM 24.11.2, Python 3.12.12), the longest runable time is 3420s under 0.0005C. Higher C-rates can only run a shorter period of time. I am not sure the source of problem. The problem may comes from some kinetic-related functions? or my environment setting? Constructive reply will be highly appreciated.
Cathy
Steps to Reproduce
C_rates = [1 / 12, 5 / 12, 10 / 12, 1]
solutions = []
for C_rate in C_rates:
sim = pybamm.Simulation(model, C_rate=C_rate)
sol = sim.solve([0, 4000 / C_rate])
solutions.append(sol)
pybamm.dynamic_plot(solutions)
Relevant log output
At t = 164.02, repeated recoverable residual errors.
At t = 164.02, repeated recoverable residual errors.
---------------------------------------------------------------------------
SolverError Traceback (most recent call last)
Cell In[13], line 6
4 for C_rate in C_rates:
5 sim = pybamm.Simulation(model, C_rate=C_rate)
----> 6 sol = sim.solve([0, 4000 / C_rate])
7 solutions.append(sol)
9 pybamm.dynamic_plot(solutions)
File c:\Users\29028\.conda\envs\pybamm\Lib\site-packages\pybamm\simulation.py:546, in Simulation.solve(self, t_eval, solver, save_at_cycles, calc_esoh, starting_solution, initial_soc, callbacks, showprogress, inputs, t_interp, **kwargs)
534 if dt_eval_max > np.nextafter(dt_data_min, np.inf):
535 warnings.warn(
536 f"The largest timestep in t_eval ({dt_eval_max}) is larger than "
537 f"the smallest timestep in the data ({dt_data_min}). The returned "
(...) 543 stacklevel=2,
544 )
--> 546 self._solution = solver.solve(
547 self._built_model, t_eval, inputs=inputs, t_interp=t_interp, **kwargs
548 )
550 elif self.operating_mode == "with experiment":
551 callbacks.on_experiment_start(logs)
File c:\Users\29028\.conda\envs\pybamm\Lib\site-packages\pybamm\solvers\base_solver.py:962, in BaseSolver.solve(self, model, t_eval, inputs, nproc, calculate_sensitivities, t_interp)
958 solve_time = timer.time()
960 for i, solution in enumerate(solutions):
...
1521 )
1522 elif self._on_extrapolation == "warn":
1523 name = solution.all_models[-1].name
SolverError: Solver failed because the following interpolation bounds were exceeded: ["Interpolant 'k_n' lower bound", "Interpolant 'U_n' lower bound"]. You may need to provide additional interpolation points outside these bounds.
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working