@@ -51,6 +51,8 @@ prob2 = DDEProblem(sys,
51
51
constant_lags = [tau])
52
52
sol2_mtk = solve (prob2, alg, reltol = 1e-7 , abstol = 1e-10 )
53
53
@test sol2_mtk. u[end ] ≈ sol2. u[end ]
54
+ @test_nowarn sol2_mtk[[x₀, x₁, x₂ (t)]]
55
+ @test_nowarn sol2_mtk[[x₀, x₁, x₂ (t - 0.1 )]]
54
56
55
57
using StochasticDelayDiffEq
56
58
function hayes_modelf (du, u, h, p, t)
102
104
eqs = [osc1. jcn ~ osc2. delx,
103
105
osc2. jcn ~ osc1. delx]
104
106
@named coupledOsc = System (eqs, t)
105
- @test ModelingToolkit. is_dde (coupledOsc)
106
107
@named coupledOsc = compose (coupledOsc, systems)
107
108
@test ModelingToolkit. is_dde (coupledOsc)
108
109
@named coupledOsc2 = System (eqs, t; systems)
@@ -112,3 +113,10 @@ for coupledOsc in [coupledOsc, coupledOsc2]
112
113
@test length (equations (sys)) == 4
113
114
@test length (unknowns (sys)) == 4
114
115
end
116
+ sys = structural_simplify (coupledOsc)
117
+ prob = DDEProblem (sys, [], (0.0 , 10.0 ); constant_lags = [sys. osc1. τ, sys. osc2. τ])
118
+ sol = solve (prob, MethodOfSteps (Tsit5 ()))
119
+ obsfn = ModelingToolkit. build_explicit_observed_function (
120
+ sys, [sys. osc1. delx, sys. osc2. delx])
121
+ @test_nowarn sol[[sys. osc1. delx, sys. osc2. delx]]
122
+ @test sol[sys. osc1. delx] ≈ sol (sol. t .- 0.01 ; idxs = sys. osc1. x)
0 commit comments