Skip to content

Commit d6c0649

Browse files
committed
Adding simple test and fixing constructors
1 parent 9449444 commit d6c0649

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

src/systems/diffeqs/odesystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ struct ODESystem <: AbstractODESystem
8282
"""
8383
connection_type::Any
8484

85-
function ODESystem(deqs, iv, dvs, ps, observed, tgrad, jac, Wfact, Wfact_t, name, systems, defaults, structure, connection_type)
85+
function ODESystem(deqs, iv, dvs, ps, ctrls, observed, tgrad, jac, ctrl_jac, Wfact, Wfact_t, name, systems, defaults, structure, connection_type)
8686
check_variables(dvs,iv)
8787
check_parameters(ps,iv)
8888
check_equations(deqs,iv)
89-
new(deqs, iv, dvs, ps, observed, tgrad, jac, Wfact, Wfact_t, name, systems, defaults, structure, connection_type)
89+
new(deqs, iv, dvs, ps, ctrls, observed, tgrad, jac, ctrl_jac, Wfact, Wfact_t, name, systems, defaults, structure, connection_type)
9090
end
9191
end
9292

src/systems/diffeqs/sdesystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ struct SDESystem <: AbstractODESystem
8484
"""
8585
connection_type::Any
8686

87-
function SDESystem(deqs, neqs, iv, dvs, ps, observed, tgrad, jac, Wfact, Wfact_t, name, systems, defaults, connection_type)
87+
function SDESystem(deqs, neqs, iv, dvs, ps, ctrls, observed, tgrad, jac, ctrl_jac, Wfact, Wfact_t, name, systems, defaults, connection_type)
8888
check_variables(dvs,iv)
8989
check_parameters(ps,iv)
9090
check_equations(deqs,iv)
91-
new(deqs, neqs, iv, dvs, ps, observed, tgrad, jac, Wfact, Wfact_t, name, systems, defaults, connection_type)
91+
new(deqs, neqs, iv, dvs, ps, ctrls, observed, tgrad, jac, ctrl_jac, Wfact, Wfact_t, name, systems, defaults, connection_type)
9292
end
9393
end
9494

src/systems/discrete_system/discrete_system.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ struct DiscreteSystem <: AbstractSystem
5252
in `DiscreteSystem`.
5353
"""
5454
default_p::Dict
55-
function DiscreteSystem(discreteEqs, iv, dvs, ps, observed, name, systems, default_u0, default_p)
56-
check_variables(dvs, iv)
57-
check_parameters(ps, iv)
58-
new(discreteEqs, iv, dvs, ps, observed, name, systems, default_u0, default_p)
55+
function DiscreteSystem(discreteEqs, iv, dvs, ps, ctrls, observed, name, systems, default_u0, default_p)
56+
check_variables(dvs,iv)
57+
check_parameters(ps,iv)
58+
new(discreteEqs, iv, dvs, ps, ctrls, observed, name, systems, default_u0, default_p)
5959
end
6060
end
6161

test/odesystem.jl

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,4 +361,22 @@ D =Differential(t)
361361
eqs = [D(x1) ~ -x1]
362362
sys = ODESystem(eqs,t,[x1,x2],[])
363363
@test_throws ArgumentError ODEProblem(sys, [1.0,1.0], (0.0,1.0))
364-
prob = ODEProblem(sys, [1.0,1.0], (0.0,1.0), check_length=false)
364+
prob = ODEProblem(sys, [1.0,1.0], (0.0,1.0), check_length=false)
365+
366+
# check inputs
367+
let
368+
@parameters t f k d
369+
@variables x(t) (t)
370+
δ = Differential(t)
371+
372+
eqs = [δ(x) ~ ẋ, δ(ẋ) ~ f - k*x - d*ẋ]
373+
sys = ODESystem(eqs, t, [x, ẋ], [f, d, k])
374+
375+
calculate_control_jacobian(sys)
376+
377+
@test isequal(
378+
sys.ctrl_jac,
379+
Num[0, 1]
380+
)
381+
382+
end

0 commit comments

Comments
 (0)