@@ -97,13 +97,21 @@ function ODESystem(eqs)
97
97
98
98
ODESystem (deqs, iv, dvs, ps)
99
99
end
100
- function ODESystem (deqs, iv, dvs, ps)
100
+
101
+ function ODESystem (deqs:: AbstractVector{DiffEq} , iv, dvs, ps)
101
102
jac = RefValue (Matrix {Expression} (undef, 0 , 0 ))
102
103
Wfact = RefValue (Matrix {Expression} (undef, 0 , 0 ))
103
104
Wfact_t = RefValue (Matrix {Expression} (undef, 0 , 0 ))
104
105
ODESystem (deqs, iv, dvs, ps, jac, Wfact, Wfact_t)
105
106
end
106
107
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
+
107
115
function _eq_unordered (a, b)
108
116
length (a) === length (b) || return false
109
117
n = length (a)
@@ -244,7 +252,7 @@ function DiffEqBase.ODEFunction{iip}(sys::ODESystem, dvs, ps,
244
252
Wfact_f_safe = nothing
245
253
Wfact_f_t_safe = nothing
246
254
Wfact_f = nothing
247
- Wfact_t_f = nothing
255
+ Wfact_f_t = nothing
248
256
end
249
257
250
258
if safe === Val{true }
0 commit comments