Skip to content

Commit c215a8d

Browse files
Remove subtype name storage from systems
1 parent f2ee244 commit c215a8d

File tree

2 files changed

+10
-32
lines changed

2 files changed

+10
-32
lines changed

src/systems/diffeqs/diffeqsystem.jl

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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}
118
end
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))
2616
end
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))
3422
end
3523

3624
function generate_ode_function(sys::DiffEqSystem;version = ArrayFunction)

src/systems/nonlinear/nonlinear_system.jl

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,11 @@ struct NonlinearSystem <: AbstractSystem
22
eqs::Vector{Equation}
33
vs::Vector{Variable}
44
ps::Vector{Variable}
5-
v_name::Vector{Symbol}
6-
p_name::Symbol
75
end
86

9-
function NonlinearSystem(eqs, vs, ps;
10-
v_name = :Unknown,
11-
p_name = :Parameter)
12-
NonlinearSystem(eqs, vs, ps, [v_name], p_name)
13-
end
14-
15-
function NonlinearSystem(eqs;
16-
v_name = :Unknown,
17-
p_name = :Parameter)
18-
vs, ps = extract_elements(eqs, [_subtype(v_name), _subtype(p_name)])
19-
NonlinearSystem(eqs, vs, ps, [v_name], p_name)
7+
function NonlinearSystem(eqs)
8+
vs, ps = extract_elements(eqs, [_subtype(:Unknown), _subtype(:Parameter)])
9+
NonlinearSystem(eqs, vs, ps)
2010
end
2111

2212
function generate_nlsys_function(sys::NonlinearSystem)

0 commit comments

Comments
 (0)