Skip to content

Commit a6add74

Browse files
fix: handle broadcasted equations and array variables in ODESystem constructor
1 parent 9e2c9bc commit a6add74

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/systems/diffeqs/odesystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ function ODESystem(deqs::AbstractVector{<:Equation}, iv, dvs, ps;
218218
iv′ = value(iv)
219219
ps′ = value.(ps)
220220
ctrl′ = value.(controls)
221-
dvs′ = value.(dvs)
221+
dvs′ = value.(symbolic_type(dvs) === NotSymbolic() ? dvs : [dvs])
222222
dvs′ = filter(x -> !isdelay(x, iv), dvs′)
223223
if !(isempty(default_u0) && isempty(default_p))
224224
Base.depwarn(
@@ -253,6 +253,7 @@ function ODESystem(deqs::AbstractVector{<:Equation}, iv, dvs, ps;
253253
end
254254

255255
function ODESystem(eqs, iv; kwargs...)
256+
eqs = collect(eqs)
256257
# NOTE: this assumes that the order of algebraic equations doesn't matter
257258
diffvars = OrderedSet()
258259
allunknowns = OrderedSet()

0 commit comments

Comments
 (0)