Skip to content

Commit 6d8493c

Browse files
committed
More depwarn fixes
1 parent daca9a6 commit 6d8493c

File tree

10 files changed

+98
-89
lines changed

10 files changed

+98
-89
lines changed

src/systems/abstractsystem.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,11 @@ for prop in [
149149
:Wfact_t
150150
:systems
151151
:structure
152+
:op
153+
:equality_constraints
154+
:inequality_constraints
155+
:controls
156+
:loss
152157
]
153158
fname1 = Symbol(:get_, prop)
154159
fname2 = Symbol(:has_, prop)
@@ -158,7 +163,7 @@ for prop in [
158163
end
159164
end
160165

161-
Setfield.get(obj, l::Setfield.PropertyLens{field}) where {field} = getfield(obj, field)
166+
Setfield.get(obj::AbstractSystem, l::Setfield.PropertyLens{field}) where {field} = getfield(obj, field)
162167
@generated function ConstructionBase.setproperties(obj::AbstractSystem, patch::NamedTuple)
163168
if issubset(fieldnames(patch), fieldnames(obj))
164169
args = map(fieldnames(obj)) do fn

src/systems/control/controlsystem.jl

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
abstract type AbstractControlSystem <: AbstractSystem end
22

33
function namespace_controls(sys::AbstractSystem)
4-
[rename(x,renamespace(sys.name,x.name)) for x in controls(sys)]
4+
[rename(x,renamespace(nameof(sys),nameof(x))) for x in controls(sys)]
55
end
66

77
function controls(sys::AbstractControlSystem,args...)
88
name = last(args)
9-
extra_names = reduce(Symbol,[Symbol(:₊,x.name) for x in args[1:end-1]])
9+
extra_names = reduce(Symbol,[Symbol(:₊,nameof(x)) for x in args[1:end-1]])
1010
newname = renamespace(extra_names,name)
11-
rename(x,renamespace(sys.name,newname))(sys.iv())
11+
rename(x,renamespace(nameof(sys),newname))(get_iv(sys))
1212
end
1313

1414
function controls(sys::AbstractControlSystem,name::Symbol)
15-
x = sys.controls[findfirst(x->x.name==name,sys.ps)]
16-
rename(x,renamespace(sys.name,x.name))()
15+
x = get_controls(sys)[findfirst(x->nameof(x)==name,sys.ps)]
16+
rename(x,renamespace(nameof(sys),nameof(x)))
1717
end
1818

19-
controls(sys::AbstractControlSystem) = isempty(sys.systems) ? sys.controls : [sys.controls;reduce(vcat,namespace_controls.(sys.systems))]
19+
controls(sys::AbstractControlSystem) = isempty(get_systems(sys)) ? get_controls(sys) : [get_controls(sys);reduce(vcat,namespace_controls.(get_systems(sys)))]
2020

2121
"""
2222
$(TYPEDEF)
@@ -107,13 +107,13 @@ function (f::ControlToExpr)(O)
107107
!istree(O) && return O
108108
res = if isa(operation(O), Sym)
109109
# normal variables and control variables
110-
(any(isequal(O), f.states) || any(isequal(O), f.controls)) && return tosymbol(O)
110+
(any(isequal(O), f.states) || any(isequal(O), controls(f))) && return tosymbol(O)
111111
build_expr(:call, Any[operation(O).name; f.(arguments(O))])
112112
else
113113
build_expr(:call, Any[Symbol(operation(O)); f.(arguments(O))])
114114
end
115115
end
116-
(f::ControlToExpr)(x::Sym) = x.name
116+
(f::ControlToExpr)(x::Sym) = nameof(x)
117117

118118
function constructRadauIIA5(T::Type = Float64)
119119
sq6 = sqrt(convert(T, 6))
@@ -146,19 +146,24 @@ function runge_kutta_discretize(sys::ControlSystem,dt,tspan;
146146
n = length(tspan[1]:dt:tspan[2]) - 1
147147
m = length(tab.α)
148148

149-
f = @RuntimeGeneratedFunction(build_function([x.rhs for x in equations(sys)],sys.states,sys.controls,sys.ps,sys.iv,conv = ModelingToolkit.ControlToExpr(sys))[1])
150-
L = @RuntimeGeneratedFunction(build_function(sys.loss,sys.states,sys.controls,sys.ps,sys.iv,conv = ModelingToolkit.ControlToExpr(sys)))
149+
sts = states(sys)
150+
ctr = controls(sys)
151+
ps = parameters(sys)
152+
lo = get_loss(sys)
153+
iv = get_iv(sys)
154+
f = @RuntimeGeneratedFunction(build_function([x.rhs for x in equations(sys)],sts,ctr,ps,iv,conv = ModelingToolkit.ControlToExpr(sys))[1])
155+
L = @RuntimeGeneratedFunction(build_function(lo,sts,ctr,ps,iv,conv = ModelingToolkit.ControlToExpr(sys)))
151156

152157
var(n, i...) = var(nameof(n), i...)
153-
var(n::Symbol, i...) = Sym{FnType{Tuple{symtype(sys.iv)}, Real}}(nameof(Variable(n, i...)))
158+
var(n::Symbol, i...) = Sym{FnType{Tuple{symtype(iv)}, Real}}(nameof(Variable(n, i...)))
154159
# Expand out all of the variables in time and by stages
155-
timed_vars = [[var(operation(x),i)(sys.iv) for i in 1:n+1] for x in states(sys)]
156-
k_vars = [[var(Symbol(:ᵏ,nameof(operation(x))),i,j)(sys.iv) for i in 1:m, j in 1:n] for x in states(sys)]
160+
timed_vars = [[var(operation(x),i)(iv) for i in 1:n+1] for x in states(sys)]
161+
k_vars = [[var(Symbol(:ᵏ,nameof(operation(x))),i,j)(iv) for i in 1:m, j in 1:n] for x in states(sys)]
157162
states_timeseries = [getindex.(timed_vars,j) for j in 1:n+1]
158163
k_timeseries = [[Num.(getindex.(k_vars,i,j)) for i in 1:m] for j in 1:n]
159-
control_timeseries = [[[var(operation(x),i,j)(sys.iv) for x in controls(sys)] for i in 1:m] for j in 1:n]
164+
control_timeseries = [[[var(operation(x),i,j)(iv) for x in sts] for i in 1:m] for j in 1:n]
160165
ps = parameters(sys)
161-
iv = sys.iv
166+
iv = iv
162167

163168
# Calculate all of the update and stage equations
164169
mult = [tab.A * k_timeseries[i] for i in 1:n]

src/systems/diffeqs/sdesystem.jl

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -114,36 +114,34 @@ Choose correction_factor=-1//2 (1//2) to converte Ito -> Stratonovich (Stratonov
114114
"""
115115
function stochastic_integral_transform(sys::SDESystem, correction_factor)
116116
# use the general interface
117-
if typeof(sys.noiseeqs) <: Vector
118-
eqs = vcat([sys.eqs[i].lhs ~ sys.noiseeqs[i] for i in eachindex(sys.states)]...)
119-
de = ODESystem(eqs,sys.iv,sys.states,sys.ps)
117+
if typeof(get_noiseeqs(sys)) <: Vector
118+
eqs = vcat([equations(sys)[i].lhs ~ get_noiseeqs(sys)[i] for i in eachindex(states(sys))]...)
119+
de = ODESystem(eqs,get_iv(sys),states(sys),parameters(sys))
120120

121121
jac = calculate_jacobian(de, sparse=false, simplify=false)
122-
∇σσ′ = simplify.(jac*sys.noiseeqs)
122+
∇σσ′ = simplify.(jac*get_noiseeqs(sys))
123123

124-
deqs = vcat([sys.eqs[i].lhs ~ sys.eqs[i].rhs+ correction_factor*∇σσ′[i] for i in eachindex(sys.states)]...)
124+
deqs = vcat([equations(sys)[i].lhs ~ equations(sys)[i].rhs+ correction_factor*∇σσ′[i] for i in eachindex(states(sys))]...)
125125
else
126-
dimstate, m = size(sys.noiseeqs)
127-
eqs = vcat([sys.eqs[i].lhs ~ sys.noiseeqs[i] for i in eachindex(sys.states)]...)
128-
de = ODESystem(eqs,sys.iv,sys.states,sys.ps)
126+
dimstate, m = size(get_noiseeqs(sys))
127+
eqs = vcat([equations(sys)[i].lhs ~ get_noiseeqs(sys)[i] for i in eachindex(states(sys))]...)
128+
de = ODESystem(eqs,get_iv(sys),states(sys),parameters(sys))
129129

130130
jac = calculate_jacobian(de, sparse=false, simplify=false)
131-
∇σσ′ = simplify.(jac*sys.noiseeqs[:,1])
131+
∇σσ′ = simplify.(jac*get_noiseeqs(sys)[:,1])
132132
for k = 2:m
133-
eqs = vcat([sys.eqs[i].lhs ~ sys.noiseeqs[Int(i+(k-1)*dimstate)] for i in eachindex(sys.states)]...)
134-
de = ODESystem(eqs,sys.iv,sys.states,sys.ps)
133+
eqs = vcat([equations(sys)[i].lhs ~ get_noiseeqs(sys)[Int(i+(k-1)*dimstate)] for i in eachindex(states(sys))]...)
134+
de = ODESystem(eqs,get_iv(sys),states(sys),parameters(sys))
135135

136136
jac = calculate_jacobian(de, sparse=false, simplify=false)
137-
∇σσ′ = ∇σσ′ + simplify.(jac*sys.noiseeqs[:,k])
137+
∇σσ′ = ∇σσ′ + simplify.(jac*get_noiseeqs(sys)[:,k])
138138
end
139139

140-
deqs = vcat([sys.eqs[i].lhs ~ sys.eqs[i].rhs + correction_factor*∇σσ′[i] for i in eachindex(sys.states)]...)
140+
deqs = vcat([equations(sys)[i].lhs ~ equations(sys)[i].rhs + correction_factor*∇σσ′[i] for i in eachindex(states(sys))]...)
141141
end
142142

143143

144-
de = SDESystem(deqs,sys.noiseeqs,sys.iv,sys.states,sys.ps)
145-
146-
de
144+
SDESystem(deqs,get_noiseeqs(sys),get_iv(sys),states(sys),parameters(sys))
147145
end
148146

149147

@@ -161,7 +159,7 @@ Create an `SDEFunction` from the [`SDESystem`](@ref). The arguments `dvs` and `p
161159
are used to set the order of the dependent variable and parameter vectors,
162160
respectively.
163161
"""
164-
function DiffEqBase.SDEFunction{iip}(sys::SDESystem, dvs = sys.states, ps = sys.ps,
162+
function DiffEqBase.SDEFunction{iip}(sys::SDESystem, dvs = states(sys), ps = parameters(sys),
165163
u0 = nothing;
166164
version = nothing, tgrad=false, sparse = false,
167165
jac = false, Wfact = false, eval_expression = true, kwargs...) where {iip}
@@ -215,7 +213,7 @@ function DiffEqBase.SDEFunction{iip}(sys::SDESystem, dvs = sys.states, ps = sys.
215213
Wfact = _Wfact === nothing ? nothing : _Wfact,
216214
Wfact_t = _Wfact_t === nothing ? nothing : _Wfact_t,
217215
mass_matrix = _M,
218-
syms = Symbol.(sys.states))
216+
syms = Symbol.(states(sys)))
219217
end
220218

221219
function DiffEqBase.SDEFunction(sys::SDESystem, args...; kwargs...)
@@ -322,13 +320,14 @@ function DiffEqBase.SDEProblem{iip}(sys::SDESystem,u0map,tspan,parammap=DiffEqBa
322320
f, u0, p = process_DEProblem(SDEFunction{iip}, sys, u0map, parammap; kwargs...)
323321
sparsenoise === nothing && (sparsenoise = get(kwargs, :sparse, false))
324322

325-
if typeof(sys.noiseeqs) <: AbstractVector
323+
noiseeqs = get_noiseeqs(sys)
324+
if noiseeqs isa AbstractVector
326325
noise_rate_prototype = nothing
327326
elseif sparsenoise
328-
I,J,V = findnz(SparseArrays.sparse(sys.noiseeqs))
327+
I,J,V = findnz(SparseArrays.sparse(noiseeqs))
329328
noise_rate_prototype = SparseArrays.sparse(I,J,zero(eltype(u0)))
330329
else
331-
noise_rate_prototype = zeros(eltype(u0),size(sys.noiseeqs))
330+
noise_rate_prototype = zeros(eltype(u0),size(noiseeqs))
332331
end
333332

334333
SDEProblem{iip}(f,f.g,u0,tspan,p;noise_rate_prototype=noise_rate_prototype,kwargs...)
@@ -363,13 +362,14 @@ function SDEProblemExpr{iip}(sys::SDESystem,u0map,tspan,
363362
linenumbers = get(kwargs, :linenumbers, true)
364363
sparsenoise === nothing && (sparsenoise = get(kwargs, :sparse, false))
365364

366-
if typeof(sys.noiseeqs) <: AbstractVector
365+
noiseeqs = get_noiseeqs(sys)
366+
if noiseeqs isa AbstractVector
367367
noise_rate_prototype = nothing
368368
elseif sparsenoise
369-
I,J,V = findnz(SparseArrays.sparse(sys.noiseeqs))
369+
I,J,V = findnz(SparseArrays.sparse(noiseeqs))
370370
noise_rate_prototype = SparseArrays.sparse(I,J,zero(eltype(u0)))
371371
else
372-
noise_rate_prototype = zeros(eltype(u0),size(sys.noiseeqs))
372+
noise_rate_prototype = zeros(eltype(u0),size(noiseeqs))
373373
end
374374
ex = quote
375375
f = $f

src/systems/optimization/optimizationsystem.jl

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,10 @@ function generate_function(sys::OptimizationSystem, vs = states(sys), ps = param
9898
conv = AbstractSysToExpr(sys),kwargs...)
9999
end
100100

101-
equations(sys::OptimizationSystem) = isempty(sys.systems) ? sys.op : sys.op + reduce(+,namespace_expr.(sys.systems))
102-
namespace_expr(sys::OptimizationSystem) = namespace_expr(sys.op,sys.name,nothing)
101+
equations(sys::OptimizationSystem) = isempty(get_systems(sys)) ? get_op(sys) : get_op(sys) + reduce(+,namespace_expr.(get_systems(sys)))
102+
namespace_expr(sys::OptimizationSystem) = namespace_expr(get_op(sys),nameof(sys),nothing)
103103

104-
hessian_sparsity(sys::OptimizationSystem) =
105-
hessian_sparsity(sys.op, states(sys))
104+
hessian_sparsity(sys::OptimizationSystem) = hessian_sparsity(get_op(sys), states(sys))
106105

107106
struct AutoModelingToolkit <: DiffEqBase.AbstractADType end
108107

src/systems/reaction/reactionsystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ function Base.convert(::Type{<:SDESystem},rs::ReactionSystem, combinatoric_ratel
446446
(noise_scaling===nothing) ?
447447
get_ps(rs) :
448448
union(get_ps(rs),toparam.(noise_scaling)),
449-
name=rs.name,systems=convert.(SDESystem,get_systems(rs)))
449+
name=nameof(rs),systems=convert.(SDESystem,get_systems(rs)))
450450
end
451451

452452
"""

test/build_targets.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,25 @@ sys = ODESystem(eqs,t,[x,y],[a])
3333
@test ModelingToolkit.build_function(eqs,[x,y],[a],t,target = ModelingToolkit.CTarget(),
3434
lhsname=:internal_var___du,
3535
rhsnames=[:internal_var___u,:internal_var___p,:t]) ==
36-
ModelingToolkit.build_function(sys.eqs,[x,y],[a],t,target = ModelingToolkit.CTarget(),
37-
lhsname=:internal_var___du,
38-
rhsnames=[:internal_var___u,:internal_var___p,:t])
36+
ModelingToolkit.build_function(equations(sys),[x,y],[a],t,target = ModelingToolkit.CTarget(),
37+
lhsname=:internal_var___du,
38+
rhsnames=[:internal_var___u,:internal_var___p,:t])
3939

4040
@test ModelingToolkit.build_function(eqs,[x,y],[a],t,target = ModelingToolkit.StanTarget()) ==
41-
ModelingToolkit.build_function(sys.eqs,[x,y],[a],t,target = ModelingToolkit.StanTarget())
41+
ModelingToolkit.build_function(equations(sys),[x,y],[a],t,target = ModelingToolkit.StanTarget())
4242

4343
@test ModelingToolkit.build_function(eqs,[x,y],[a],t,target = ModelingToolkit.MATLABTarget()) ==
44-
ModelingToolkit.build_function(sys.eqs,[x,y],[a],t,target = ModelingToolkit.MATLABTarget())
44+
ModelingToolkit.build_function(equations(sys),[x,y],[a],t,target = ModelingToolkit.MATLABTarget())
4545

4646
@test ModelingToolkit.build_function(eqs,[x,y],[a],t,target = ModelingToolkit.CTarget(),
4747
lhsname=:internal_var___du,
4848
rhsnames=[:internal_var___u,:internal_var___p,:t]) ==
49-
ModelingToolkit.build_function(sys.eqs,sys.states,sys.ps,sys.iv,target = ModelingToolkit.CTarget(),
49+
ModelingToolkit.build_function(equations(sys),states(sys),parameters(sys),independent_variable(sys),target = ModelingToolkit.CTarget(),
5050
lhsname=:internal_var___du,
5151
rhsnames=[:internal_var___u,:internal_var___p,:t])
5252

5353
@test ModelingToolkit.build_function(eqs,[x,y],[a],t,target = ModelingToolkit.StanTarget()) ==
54-
ModelingToolkit.build_function(sys.eqs,sys.states,sys.ps,sys.iv,target = ModelingToolkit.StanTarget())
54+
ModelingToolkit.build_function(equations(sys),states(sys),parameters(sys),independent_variable(sys),target = ModelingToolkit.StanTarget())
5555

5656
@test ModelingToolkit.build_function(eqs,[x,y],[a],t,target = ModelingToolkit.MATLABTarget()) ==
57-
ModelingToolkit.build_function(sys.eqs,sys.states,sys.ps,sys.iv,target = ModelingToolkit.MATLABTarget())
57+
ModelingToolkit.build_function(equations(sys),states(sys),parameters(sys),independent_variable(sys),target = ModelingToolkit.MATLABTarget())

test/lowering_solving.jl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ eqs2 = [0 ~ x*y - k,
1515
D(D(x)) ~ σ*(y-x),
1616
D(y) ~ x*-z)-y,
1717
D(z) ~ x*y - β*z]
18-
sys2 = ODESystem(eqs2, t, [x, y, z, k], sys′.ps)
18+
sys2 = ODESystem(eqs2, t, [x, y, z, k], parameters(sys′))
1919
sys2 = ode_order_lowering(sys2)
2020
# test equation/varible ordering
2121
ModelingToolkit.calculate_massmatrix(sys2) == Diagonal([1, 1, 1, 1, 0])
@@ -56,18 +56,18 @@ connected = ODESystem(connections,t,[α],[γ],systems=[lorenz1,lorenz2])
5656
u0 = [lorenz1.x => 1.0,
5757
lorenz1.y => 0.0,
5858
lorenz1.z => 0.0,
59-
lorenz2.x => 0.0,
60-
lorenz2.y => 1.0,
61-
lorenz2.z => 0.0,
62-
α => 2.0]
59+
lorenz2.x => 0.0,
60+
lorenz2.y => 1.0,
61+
lorenz2.z => 0.0,
62+
α => 2.0]
6363

6464
p = [lorenz1.σ => 10.0,
6565
lorenz1.ρ => 28.0,
6666
lorenz1.β => 8/3,
67-
lorenz2.σ => 10.0,
68-
lorenz2.ρ => 28.0,
69-
lorenz2.β => 8/3,
70-
γ => 2.0]
67+
lorenz2.σ => 10.0,
68+
lorenz2.ρ => 28.0,
69+
lorenz2.β => 8/3,
70+
γ => 2.0]
7171

7272
tspan = (0.0,100.0)
7373
prob = ODEProblem(connected,u0,tspan,p)

test/reactionsystem.jl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,9 @@ js = convert(JumpSystem, rs)
132132
midxs = 1:14
133133
cidxs = 15:18
134134
vidxs = 19:20
135-
@test all(map(i -> typeof(js.eqs[i]) <: DiffEqJump.MassActionJump, midxs))
136-
@test all(map(i -> typeof(js.eqs[i]) <: DiffEqJump.ConstantRateJump, cidxs))
137-
@test all(map(i -> typeof(js.eqs[i]) <: DiffEqJump.VariableRateJump, vidxs))
135+
@test all(map(i -> typeof(equations(js)[i]) <: DiffEqJump.MassActionJump, midxs))
136+
@test all(map(i -> typeof(equations(js)[i]) <: DiffEqJump.ConstantRateJump, cidxs))
137+
@test all(map(i -> typeof(equations(js)[i]) <: DiffEqJump.VariableRateJump, vidxs))
138138

139139
pars = rand(length(k)); u0 = rand(1:10,4); ttt = rand();
140140
jumps = Vector{Union{ConstantRateJump, MassActionJump, VariableRateJump}}(undef,length(rxs))
@@ -165,21 +165,21 @@ jumps[20] = VariableRateJump((u,p,t) -> p[20]*t*u[1]*binomial(u[2],2)*u[3], inte
165165
statetoid = Dict(state => i for (i,state) in enumerate(states(js)))
166166
parammap = map((x,y)->Pair(x,y),parameters(js),pars)
167167
for i in midxs
168-
maj = MT.assemble_maj(js.eqs[i], statetoid, ModelingToolkit.substituter(parammap),eltype(pars))
168+
maj = MT.assemble_maj(equations(js)[i], statetoid, ModelingToolkit.substituter(parammap),eltype(pars))
169169
@test abs(jumps[i].scaled_rates - maj.scaled_rates) < 100*eps()
170170
@test jumps[i].reactant_stoch == maj.reactant_stoch
171171
@test jumps[i].net_stoch == maj.net_stoch
172172
end
173173
for i in cidxs
174-
crj = MT.assemble_crj(js, js.eqs[i], statetoid)
174+
crj = MT.assemble_crj(js, equations(js)[i], statetoid)
175175
@test isapprox(crj.rate(u0,p,ttt), jumps[i].rate(u0,p,ttt))
176176
fake_integrator1 = (u=zeros(4),p=p,t=0); fake_integrator2 = deepcopy(fake_integrator1);
177177
crj.affect!(fake_integrator1);
178178
jumps[i].affect!(fake_integrator2);
179179
@test fake_integrator1 == fake_integrator2
180180
end
181181
for i in vidxs
182-
crj = MT.assemble_vrj(js, js.eqs[i], statetoid)
182+
crj = MT.assemble_vrj(js, equations(js)[i], statetoid)
183183
@test isapprox(crj.rate(u0,p,ttt), jumps[i].rate(u0,p,ttt))
184184
fake_integrator1 = (u=zeros(4),p=p,t=0.); fake_integrator2 = deepcopy(fake_integrator1);
185185
crj.affect!(fake_integrator1); jumps[i].affect!(fake_integrator2);
@@ -202,8 +202,8 @@ sol = solve(jprob, SSAStepper())
202202
rxs = [Reaction(k1*S, [S,I], [I], [2,3], [2]),
203203
Reaction(k2*R, [I], [R]) ]
204204
rs = ReactionSystem(rxs, t, [S,I,R], [k1,k2])
205-
@test isequal(ModelingToolkit.oderatelaw(rs.eqs[1]), k1*S*S^2*I^3/(factorial(2)*factorial(3)))
206-
@test_skip isequal(ModelingToolkit.jumpratelaw(rs.eqs[1]), k1*S*binomial(S,2)*binomial(I,3))
205+
@test isequal(ModelingToolkit.oderatelaw(equations(rs)[1]), k1*S*S^2*I^3/(factorial(2)*factorial(3)))
206+
@test_skip isequal(ModelingToolkit.jumpratelaw(equations(eqs)[1]), k1*S*binomial(S,2)*binomial(I,3))
207207
dep = Set()
208208
ModelingToolkit.get_variables!(dep, rxs[2], Set(states(rs)))
209209
dep2 = Set([R,I])
@@ -221,21 +221,21 @@ isequal2(a,b) = isequal(simplify(a), simplify(b))
221221

222222
#test ODE scaling:
223223
os = convert(ODESystem,rs)
224-
@test isequal2(os.eqs[1].rhs, -2*k1*S*S^2*I^3/12)
224+
@test isequal2(equations(os)[1].rhs, -2*k1*S*S^2*I^3/12)
225225
os = convert(ODESystem,rs; combinatoric_ratelaws=false)
226-
@test isequal2(os.eqs[1].rhs, -2*k1*S*S^2*I^3)
226+
@test isequal2(equations(os)[1].rhs, -2*k1*S*S^2*I^3)
227227

228228
# test ConstantRateJump rate scaling
229229
js = convert(JumpSystem,rs)
230-
@test isequal2(js.eqs[1].rate, k1*S*S*(S-1)*I*(I-1)*(I-2)/12)
230+
@test isequal2(equations(js)[1].rate, k1*S*S*(S-1)*I*(I-1)*(I-2)/12)
231231
js = convert(JumpSystem,rs;combinatoric_ratelaws=false)
232-
@test isequal2(js.eqs[1].rate, k1*S*S*(S-1)*I*(I-1)*(I-2))
232+
@test isequal2(equations(js)[1].rate, k1*S*S*(S-1)*I*(I-1)*(I-2))
233233

234234
# test MassActionJump rate scaling
235235
rxs = [Reaction(k1, [S,I], [I], [2,3], [2]),
236236
Reaction(k2, [I], [R]) ]
237237
rs = ReactionSystem(rxs, t, [S,I,R], [k1,k2])
238238
js = convert(JumpSystem, rs)
239-
@test isequal2(js.eqs[1].scaled_rates, k1/12)
239+
@test isequal2(equations(js)[1].scaled_rates, k1/12)
240240
js = convert(JumpSystem,rs; combinatoric_ratelaws=false)
241-
@test isequal2(js.eqs[1].scaled_rates, k1)
241+
@test isequal2(equations(js)[1].scaled_rates, k1)

test/reduction.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ let
151151
sys = ODESystem(eqs, t)
152152
asys = alias_elimination(sys)
153153

154-
test_equal.(asys.eqs, [D(x) ~ 2x])
155-
test_equal.(asys.observed, [y ~ x])
154+
test_equal.(equations(asys), [D(x) ~ 2x])
155+
test_equal.(observed(asys), [y ~ x])
156156
end
157157

158158
# issue #724 and #716

0 commit comments

Comments
 (0)