@@ -4,26 +4,25 @@ mutable struct DiffEqSystem <: AbstractSystem
4
4
dvs:: Vector{Variable}
5
5
ps:: Vector{Variable}
6
6
jac:: Matrix{Expression}
7
- function DiffEqSystem (eqs, ivs, dvs, ps, jac )
7
+ function DiffEqSystem (eqs, ivs, dvs, ps)
8
8
all (! isintermediate, eqs) ||
9
9
throw (ArgumentError (" no intermediate equations permitted in DiffEqSystem" ))
10
10
11
+ jac = Matrix {Expression} (undef, 0 , 0 )
11
12
new (eqs, ivs, dvs, ps, jac)
12
13
end
13
14
end
14
15
15
- DiffEqSystem (eqs, ivs, dvs, ps) = DiffEqSystem (eqs, ivs, dvs, ps, Matrix {Expression} (undef,0 ,0 ))
16
-
17
16
function DiffEqSystem (eqs)
18
17
dvs, = extract_elements (eqs, [_is_dependent])
19
18
ivs = unique (vcat ((dv. dependents for dv ∈ dvs). .. ))
20
19
ps, = extract_elements (eqs, [_is_parameter (ivs)])
21
- DiffEqSystem (eqs, ivs, dvs, ps, Matrix {Expression} (undef, 0 , 0 ) )
20
+ DiffEqSystem (eqs, ivs, dvs, ps)
22
21
end
23
22
24
23
function DiffEqSystem (eqs, ivs)
25
24
dvs, ps = extract_elements (eqs, [_is_dependent, _is_parameter (ivs)])
26
- DiffEqSystem (eqs, ivs, dvs, ps, Matrix {Expression} (undef, 0 , 0 ) )
25
+ DiffEqSystem (eqs, ivs, dvs, ps)
27
26
end
28
27
29
28
isintermediate (eq:: Equation ) = ! (isa (eq. lhs, Operation) && isa (eq. lhs. op, Differential))
0 commit comments