We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
structural_simplify
@mtkbuild
JumpSystem
1 parent eb329c2 commit d21883eCopy full SHA for d21883e
src/systems/systems.jl
@@ -28,7 +28,7 @@ function structural_simplify(
28
end
29
if newsys isa ODESystem
30
@set! newsys.parent = complete(sys; split)
31
- else
+ elseif has_parent(newsys)
32
33
34
newsys = complete(newsys; split)
@@ -49,6 +49,11 @@ function structural_simplify(
49
return newsys
50
51
52
+
53
+function __structural_simplify(sys::JumpSystem, args...; kwargs...)
54
+ return sys
55
+end
56
57
function __structural_simplify(sys::AbstractSystem, io = nothing; simplify = false,
58
kwargs...)
59
sys = expand_connections(sys)
test/jumpsystem.jl
@@ -256,7 +256,17 @@ dp2 = DiscreteProblem(js2, u0, tspan)
256
dp3 = DiscreteProblem(js3, u0, tspan, ps)
257
dp4 = DiscreteProblem(js4, u0, tspan)
258
259
-jp1 = JumpProblem(js1, dp1, Direct())
260
-jp2 = JumpProblem(js2, dp2, Direct())
261
-jp3 = JumpProblem(js3, dp3, Direct())
262
-jp4 = JumpProblem(js4, dp4, Direct())
+@test_nowarn jp1 = JumpProblem(js1, dp1, Direct())
+@test_nowarn jp2 = JumpProblem(js2, dp2, Direct())
+@test_nowarn jp3 = JumpProblem(js3, dp3, Direct())
+@test_nowarn jp4 = JumpProblem(js4, dp4, Direct())
263
264
+# Ensure `structural_simplify` (and `@mtkbuild`) works on JumpSystem (by doing nothing)
265
+# Issue#2558
266
+@parameters k
267
+@variables X(t)
268
+rate = k
269
+affect = [X ~ X - 1]
270
271
+j1 = ConstantRateJump(k, [X ~ X - 1])
272
+@test_nowarn @mtkbuild js1 = JumpSystem([j1], t, [X], [k])
0 commit comments