@@ -97,13 +97,21 @@ function ODESystem(eqs)
9797
9898 ODESystem (deqs, iv, dvs, ps)
9999end
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)
105106end
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+
107115function _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