Skip to content

Commit cf940a8

Browse files
test: add required derivative, fix initialization in split parameters test
1 parent 14077c4 commit cf940a8

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

test/split_parameters.jl

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ end
5151

5252
get_value(interp::Interpolator, t) = interp(t)
5353
@register_symbolic get_value(interp::Interpolator, t)
54-
# get_value(data, t, dt) = data[round(Int, t / dt + 1)]
55-
# @register_symbolic get_value(data::Vector, t, dt)
54+
55+
Symbolics.derivative(::typeof(get_value), args::NTuple{2, Any}, ::Val{2}) = 0
5656

5757
function Sampled(; name, interp = Interpolator(Float64[], 0.0))
5858
pars = @parameters begin
@@ -68,11 +68,10 @@ function Sampled(; name, interp = Interpolator(Float64[], 0.0))
6868
output.u ~ get_value(interpolator, t)
6969
]
7070

71-
return ODESystem(eqs, t, vars, [interpolator]; name, systems,
72-
defaults = [output.u => interp.data[1]])
71+
return ODESystem(eqs, t, vars, [interpolator]; name, systems)
7372
end
7473

75-
vars = @variables y(t)=1 dy(t)=0 ddy(t)=0
74+
vars = @variables y(t) dy(t) ddy(t)
7675
@named src = Sampled(; interp = Interpolator(x, dt))
7776
@named int = Integrator()
7877

@@ -84,11 +83,9 @@ eqs = [y ~ src.output.u
8483
@named sys = ODESystem(eqs, t, vars, []; systems = [int, src])
8584
s = complete(sys)
8685
sys = structural_simplify(sys)
87-
@test_broken ODEProblem(
88-
sys, [], (0.0, t_end), [s.src.interpolator => Interpolator(x, dt)]; tofloat = false)
8986
prob = ODEProblem(
9087
sys, [], (0.0, t_end), [s.src.interpolator => Interpolator(x, dt)];
91-
tofloat = false, build_initializeprob = false)
88+
tofloat = false)
9289
sol = solve(prob, ImplicitEuler());
9390
@test sol.retcode == ReturnCode.Success
9491
@test sol[y][end] == x[end]

0 commit comments

Comments
 (0)