Skip to content

Commit 27905ac

Browse files
fix test
1 parent 18aac33 commit 27905ac

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

tests/unit/test_solvers/test_casadi_solver.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -491,27 +491,27 @@ def test_dae_solver_algebraic_model(self):
491491
solver.solve(model, t_eval)
492492

493493
def test_interpolant_extrapolate(self):
494-
model = pybamm.lithium_ion.DFN()
495-
param = pybamm.ParameterValues("NCA_Kim2011")
496-
experiment = pybamm.Experiment(
497-
["Charge at 1C until 4.2 V"], period="10 seconds"
498-
)
494+
x = np.linspace(0, 2)
495+
var = pybamm.Variable("var")
496+
rhs = pybamm.FunctionParameter("func", {"var": var})
499497

500-
param["Upper voltage cut-off [V]"] = 4.8
498+
model = pybamm.BaseModel()
499+
model.rhs[var] = rhs
500+
model.initial_conditions[var] = pybamm.Scalar(1)
501+
502+
# Bug: we need to set the interpolant via parameter values for the extrapolation
503+
# to be detected
504+
def func(var):
505+
return pybamm.Interpolant(x, x, var, interpolator="linear")
506+
507+
parameter_values = pybamm.ParameterValues({"func": func})
508+
parameter_values.process_model(model)
509+
510+
solver = pybamm.CasadiSolver()
511+
t_eval = [0, 5]
501512

502-
sim = pybamm.Simulation(
503-
model,
504-
parameter_values=param,
505-
experiment=experiment,
506-
solver=pybamm.CasadiSolver(
507-
mode="safe",
508-
dt_max=0.001,
509-
extrap_tol=1e-3,
510-
extra_options_setup={"max_num_steps": 500},
511-
),
512-
)
513513
with self.assertRaisesRegex(pybamm.SolverError, "interpolation bounds"):
514-
sim.solve()
514+
solver.solve(model, t_eval)
515515

516516
def test_casadi_safe_no_termination(self):
517517
model = pybamm.BaseModel()

0 commit comments

Comments
 (0)