Skip to content

Commit 5e22995

Browse files
committed
More default metadata
1 parent 4381715 commit 5e22995

File tree

5 files changed

+23
-5
lines changed

5 files changed

+23
-5
lines changed

src/systems/control/controlsystem.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ function ControlSystem(loss, deqs::AbstractVector{<:Equation}, iv, dvs, controls
101101
ps′ = value.(ps)
102102
defaults = todict(defaults)
103103
defaults = Dict(value(k) => value(v) for (k, v) in pairs(defaults))
104+
collect_defaults!(defaults, dvs′)
105+
collect_defaults!(defaults, ps′)
104106
ControlSystem(value(loss), deqs, iv′, dvs′, controls′,
105107
ps′, observed, name, systems, defaults)
106108
end

src/systems/diffeqs/sdesystem.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ function SDESystem(deqs::AbstractVector{<:Equation}, neqs, iv, dvs, ps;
117117
defaults = todict(defaults)
118118
defaults = Dict(value(k) => value(v) for (k, v) in pairs(defaults))
119119

120+
collect_defaults!(defaults, dvs′)
121+
collect_defaults!(defaults, ps′)
122+
120123
tgrad = RefValue(Vector{Num}(undef, 0))
121124
jac = RefValue{Any}(Matrix{Num}(undef, 0, 0))
122125
ctrl_jac = RefValue{Any}(Matrix{Num}(undef, 0, 0))

src/systems/jumps/jumpsystem.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ function JumpSystem(eqs, iv, states, ps;
6767
name = gensym(:JumpSystem),
6868
connection_type=nothing,
6969
kwargs...)
70-
70+
7171
sysnames = nameof.(systems)
7272
if length(unique(sysnames)) != length(sysnames)
7373
throw(ArgumentError("System names must be unique."))
@@ -90,7 +90,11 @@ function JumpSystem(eqs, iv, states, ps;
9090
defaults = todict(defaults)
9191
defaults = Dict(value(k) => value(v) for (k, v) in pairs(defaults))
9292

93-
JumpSystem{typeof(ap)}(ap, value(iv), value.(states), value.(ps), observed, name, systems, defaults, connection_type)
93+
states, ps = value.(states), value.(ps)
94+
collect_defaults!(defaults, states)
95+
collect_defaults!(defaults, ps)
96+
97+
JumpSystem{typeof(ap)}(ap, value(iv), states, ps, observed, name, systems, defaults, connection_type)
9498
end
9599

96100
function generate_rate_function(js, rate)

src/systems/nonlinear/nonlinearsystem.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,12 @@ function NonlinearSystem(eqs, states, ps;
7373
jac = RefValue{Any}(Matrix{Num}(undef, 0, 0))
7474
defaults = todict(defaults)
7575
defaults = Dict(value(k) => value(v) for (k, v) in pairs(defaults))
76-
NonlinearSystem(eqs, value.(states), value.(ps), observed, jac, name, systems, defaults, nothing, connection_type)
76+
77+
states, ps = value.(states), value.(ps)
78+
collect_defaults!(defaults, states)
79+
collect_defaults!(defaults, ps)
80+
81+
NonlinearSystem(eqs, states, ps, observed, jac, name, systems, defaults, nothing, connection_type)
7782
end
7883

7984
function calculate_jacobian(sys::NonlinearSystem; sparse=false, simplify=false)

src/systems/optimization/optimizationsystem.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ struct OptimizationSystem <: AbstractSystem
2727
equality_constraints::Vector{Equation}
2828
inequality_constraints::Vector
2929
"""
30-
Name: the name of the system. These are required to have unique names.
30+
Name: the name of the system. These are required to have unique names.
3131
"""
3232
name::Symbol
3333
"""
@@ -60,8 +60,12 @@ function OptimizationSystem(op, states, ps;
6060
defaults = todict(defaults)
6161
defaults = Dict(value(k) => value(v) for (k, v) in pairs(defaults))
6262

63+
states, ps = value.(states), value.(ps)
64+
collect_defaults!(defaults, states)
65+
collect_defaults!(defaults, ps)
66+
6367
OptimizationSystem(
64-
value(op), value.(states), value.(ps),
68+
value(op), states, ps,
6569
observed,
6670
equality_constraints, inequality_constraints,
6771
name, systems, defaults

0 commit comments

Comments
 (0)