@@ -4,33 +4,21 @@ mutable struct DiffEqSystem <: AbstractSystem
44 dvs:: Vector{Variable}
55 vs:: Vector{Variable}
66 ps:: Vector{Variable}
7- iv_name:: Symbol
8- dv_name:: Symbol
9- p_name:: Symbol
107 jac:: Matrix{Expression}
118end
129
13- function DiffEqSystem (eqs, ivs, dvs, vs, ps)
14- iv_name = ivs[1 ]. subtype
15- dv_name = dvs[1 ]. subtype
16- p_name = isempty (ps) ? :Parameter : ps[1 ]. subtype
17- DiffEqSystem (eqs, ivs, dvs, vs, ps, iv_name, dv_name, p_name, Matrix {Expression} (undef,0 ,0 ))
18- end
10+ DiffEqSystem (eqs, ivs, dvs, vs, ps) = DiffEqSystem (eqs, ivs, dvs, vs, ps, Matrix {Expression} (undef,0 ,0 ))
1911
20- function DiffEqSystem (eqs; iv_name = :IndependentVariable ,
21- dv_name = :Unknown ,
22- p_name = :Parameter )
23- predicates = [_is_derivative, _subtype (iv_name), _is_dependent, _subtype (dv_name), _subtype (p_name)]
12+ function DiffEqSystem (eqs)
13+ predicates = [_is_derivative, _subtype (:IndependentVariable ), _is_dependent, _subtype (:Unknown ), _subtype (:Parameter )]
2414 _, ivs, dvs, vs, ps = extract_elements (eqs, predicates)
25- DiffEqSystem (eqs, ivs, dvs, vs, ps, iv_name, dv_name, p_name, Matrix {Expression} (undef,0 ,0 ))
15+ DiffEqSystem (eqs, ivs, dvs, vs, ps, Matrix {Expression} (undef,0 ,0 ))
2616end
2717
28- function DiffEqSystem (eqs, ivs;
29- dv_name = :Unknown ,
30- p_name = :Parameter )
31- predicates = [_is_derivative, _is_dependent, _subtype (dv_name), _subtype (p_name)]
18+ function DiffEqSystem (eqs, ivs)
19+ predicates = [_is_derivative, _is_dependent, _subtype (:Unknown ), _subtype (:Parameter )]
3220 _, dvs, vs, ps = extract_elements (eqs, predicates)
33- DiffEqSystem (eqs, ivs, dvs, vs, ps, ivs[ 1 ] . subtype, dv_name, p_name, Matrix {Expression} (undef,0 ,0 ))
21+ DiffEqSystem (eqs, ivs, dvs, vs, ps, Matrix {Expression} (undef,0 ,0 ))
3422end
3523
3624function generate_ode_function (sys:: DiffEqSystem ;version = ArrayFunction)
0 commit comments