Skip to content

Commit 270ec2b

Browse files
add ordering choice in ODESystem construction
1 parent 9acd841 commit 270ec2b

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/systems/diffeqs/diffeqsystem.jl

+10-2
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,21 @@ function ODESystem(eqs)
9797

9898
ODESystem(deqs, iv, dvs, ps)
9999
end
100-
function ODESystem(deqs, iv, dvs, ps)
100+
101+
function ODESystem(deqs::AbstractVector{DiffEq}, iv, dvs, ps)
101102
jac = RefValue(Matrix{Expression}(undef, 0, 0))
102103
Wfact = RefValue(Matrix{Expression}(undef, 0, 0))
103104
Wfact_t = RefValue(Matrix{Expression}(undef, 0, 0))
104105
ODESystem(deqs, iv, dvs, ps, jac, Wfact, Wfact_t)
105106
end
106107

108+
function ODESystem(deqs::AbstractVector{<:Equation}, iv, dvs, ps)
109+
_dvs = [deq.op for deq dvs]
110+
_iv = iv.op
111+
_ps = [p.op for p ps]
112+
ODESystem(getindex.(to_diffeq.(deqs),2), _iv, _dvs, _ps)
113+
end
114+
107115
function _eq_unordered(a, b)
108116
length(a) === length(b) || return false
109117
n = length(a)
@@ -244,7 +252,7 @@ function DiffEqBase.ODEFunction{iip}(sys::ODESystem, dvs, ps,
244252
Wfact_f_safe = nothing
245253
Wfact_f_t_safe = nothing
246254
Wfact_f = nothing
247-
Wfact_t_f = nothing
255+
Wfact_f_t = nothing
248256
end
249257

250258
if safe === Val{true}

0 commit comments

Comments
 (0)