Skip to content

Commit 0d70c3b

Browse files
committed
Fix #609
1 parent 39b057f commit 0d70c3b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/systems/diffeqs/odesystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,9 @@ function collect_vars!(states, parameters, expr, iv)
149149
end
150150

151151
function collect_var!(states, parameters, var, iv)
152+
isequal(var, iv) && return nothing
152153
if isparameter(var) || isparameter(operation(var))
153-
isequal(var, iv) || push!(parameters, var)
154+
push!(parameters, var)
154155
else
155156
push!(states, var)
156157
end

test/odesystem.jl

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,3 +234,16 @@ sys = ODESystem([D(x) ~ y, 0 ~ x + z, 0 ~ x - y], t, [z, y, x], [])
234234
sys2 = ode_order_lowering(sys)
235235
M = ModelingToolkit.calculate_massmatrix(sys2)
236236
@test M == Diagonal([1, 0, 0])
237+
238+
# issue #609
239+
@variables t x1(t) x2(t)
240+
@derivatives D'~t
241+
242+
eqs = [
243+
D(x1) ~ -x1,
244+
0 ~ x1 - x2,
245+
]
246+
sys = ODESystem(eqs, t)
247+
@test isequal(sys.iv, t)
248+
@test isequal(states(sys), [x1, x2])
249+
@test isempty(parameters(sys))

0 commit comments

Comments
 (0)