Skip to content

Commit 2dd7236

Browse files
committed
Use default_{u0,p}
1 parent b1b25ae commit 2dd7236

File tree

8 files changed

+31
-19
lines changed

8 files changed

+31
-19
lines changed

src/systems/control/controlsystem.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ function ControlSystem(loss, deqs::AbstractVector{<:Equation}, iv, dvs, controls
9191
ps′ = value.(ps)
9292
default_u0 isa Dict || (default_u0 = Dict(default_u0))
9393
default_p isa Dict || (default_p = Dict(default_p))
94+
default_u0 = Dict(value(k) => value(default_u0[k]) for k in keys(default_u0))
95+
default_p = Dict(value(k) => value(default_p[k]) for k in keys(default_p))
9496
ControlSystem(value(loss), deqs, iv′, dvs′, controls′,
9597
ps′, observed, name, systems, default_u0, default_p)
9698
end

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,11 +254,11 @@ function process_DEProblem(constructor, sys::AbstractODESystem,u0map,parammap;
254254
dvs = states(sys)
255255
ps = parameters(sys)
256256
u0map′ = lower_mapnames(u0map,sys.iv)
257-
u0 = varmap_to_vars(u0map′,dvs; defaults=get_default_u0(sys))
257+
u0 = varmap_to_vars(u0map′,dvs; defaults=default_u0(sys))
258258

259259
if !(parammap isa DiffEqBase.NullParameters)
260260
parammap′ = lower_mapnames(parammap)
261-
p = varmap_to_vars(parammap′,ps; defaults=get_default_p(sys))
261+
p = varmap_to_vars(parammap′,ps; defaults=default_p(sys))
262262
else
263263
p = ps
264264
end

src/systems/diffeqs/odesystem.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ function ODESystem(
9090

9191
default_u0 isa Dict || (default_u0 = Dict(default_u0))
9292
default_p isa Dict || (default_p = Dict(default_p))
93+
default_u0 = Dict(value(k) => value(default_u0[k]) for k in keys(default_u0))
94+
default_p = Dict(value(k) => value(default_p[k]) for k in keys(default_p))
9395

9496
tgrad = RefValue(Vector{Num}(undef, 0))
9597
jac = RefValue{Any}(Matrix{Num}(undef, 0, 0))

src/systems/diffeqs/sdesystem.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ function SDESystem(deqs::AbstractVector{<:Equation}, neqs, iv, dvs, ps;
9090

9191
default_u0 isa Dict || (default_u0 = Dict(default_u0))
9292
default_p isa Dict || (default_p = Dict(default_p))
93+
default_u0 = Dict(value(k) => value(default_u0[k]) for k in keys(default_u0))
94+
default_p = Dict(value(k) => value(default_p[k]) for k in keys(default_p))
9395

9496
tgrad = RefValue(Vector{Num}(undef, 0))
9597
jac = RefValue{Any}(Matrix{Num}(undef, 0, 0))

src/systems/jumps/jumpsystem.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ function JumpSystem(eqs, iv, states, ps;
7575
end
7676
default_u0 isa Dict || (default_u0 = Dict(default_u0))
7777
default_p isa Dict || (default_p = Dict(default_p))
78+
default_u0 = Dict(value(k) => value(default_u0[k]) for k in keys(default_u0))
79+
default_p = Dict(value(k) => value(default_p[k]) for k in keys(default_p))
7880

7981
JumpSystem{typeof(ap)}(ap, value(iv), value.(states), value.(ps), observed, name, systems, default_u0, default_p)
8082
end
@@ -197,8 +199,8 @@ dprob = DiscreteProblem(js, u₀map, tspan, parammap)
197199
"""
198200
function DiffEqBase.DiscreteProblem(sys::JumpSystem, u0map, tspan::Tuple,
199201
parammap=DiffEqBase.NullParameters(); kwargs...)
200-
u0 = varmap_to_vars(u0map, states(sys); defaults=get_default_u0(sys))
201-
p = varmap_to_vars(parammap, parameters(sys); defaults=get_default_p(sys))
202+
u0 = varmap_to_vars(u0map, states(sys); defaults=default_u0(sys))
203+
p = varmap_to_vars(parammap, parameters(sys); defaults=default_p(sys))
202204
f = DiffEqBase.DISCRETE_INPLACE_DEFAULT
203205
df = DiscreteFunction{true,true}(f, syms=Symbol.(states(sys)))
204206
DiscreteProblem(df, u0, tspan, p; kwargs...)
@@ -225,8 +227,8 @@ dprob = DiscreteProblem(js, u₀map, tspan, parammap)
225227
"""
226228
function DiscreteProblemExpr(sys::JumpSystem, u0map, tspan::Tuple,
227229
parammap=DiffEqBase.NullParameters(); kwargs...)
228-
u0 = varmap_to_vars(u0map, states(sys); defaults=get_default_u0(sys))
229-
p = varmap_to_vars(parammap, parameters(sys); defaults=get_default_p(sys))
230+
u0 = varmap_to_vars(u0map, states(sys); defaults=default_u0(sys))
231+
p = varmap_to_vars(parammap, parameters(sys); defaults=default_p(sys))
230232
# identity function to make syms works
231233
quote
232234
f = DiffEqBase.DISCRETE_INPLACE_DEFAULT

src/systems/nonlinear/nonlinearsystem.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ function NonlinearSystem(eqs, states, ps;
5858
systems = NonlinearSystem[])
5959
default_u0 isa Dict || (default_u0 = Dict(default_u0))
6060
default_p isa Dict || (default_p = Dict(default_p))
61+
default_u0 = Dict(value(k) => value(default_u0[k]) for k in keys(default_u0))
62+
default_p = Dict(value(k) => value(default_p[k]) for k in keys(default_p))
6163
NonlinearSystem(eqs, value.(states), value.(ps), observed, name, systems, default_u0, default_p, nothing)
6264
end
6365

@@ -210,11 +212,11 @@ function process_NonlinearProblem(constructor, sys::NonlinearSystem,u0map,paramm
210212
dvs = states(sys)
211213
ps = parameters(sys)
212214
u0map′ = lower_mapnames(u0map)
213-
u0 = varmap_to_vars(u0map′,dvs; defaults=get_default_u0(sys))
215+
u0 = varmap_to_vars(u0map′,dvs; defaults=default_u0(sys))
214216

215217
if !(parammap isa DiffEqBase.NullParameters)
216218
parammap′ = lower_mapnames(parammap)
217-
p = varmap_to_vars(parammap′,ps; defaults=get_default_p(sys))
219+
p = varmap_to_vars(parammap′,ps; defaults=default_p(sys))
218220
else
219221
p = ps
220222
end

src/systems/optimization/optimizationsystem.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ function OptimizationSystem(op, states, ps;
5757

5858
default_u0 isa Dict || (default_u0 = Dict(default_u0))
5959
default_p isa Dict || (default_p = Dict(default_p))
60+
default_u0 = Dict(value(k) => value(default_u0[k]) for k in keys(default_u0))
61+
default_p = Dict(value(k) => value(default_p[k]) for k in keys(default_p))
6062

6163
OptimizationSystem(
6264
value(op), value.(states), value.(ps),
@@ -156,8 +158,8 @@ function DiffEqBase.OptimizationProblem{iip}(sys::OptimizationSystem, u0,
156158

157159
_f = DiffEqBase.OptimizationFunction{iip,AutoModelingToolkit,typeof(f),typeof(_grad),typeof(_hess),Nothing,Nothing,Nothing,Nothing}(f,AutoModelingToolkit(),_grad,_hess,nothing,nothing,nothing,nothing)
158160

159-
u0 = varmap_to_vars(u0,dvs; defaults=get_default_u0(sys))
160-
p = varmap_to_vars(parammap,ps; defaults=get_default_p(sys))
161+
u0 = varmap_to_vars(u0,dvs; defaults=default_u0(sys))
162+
p = varmap_to_vars(parammap,ps; defaults=default_p(sys))
161163
lb = varmap_to_vars(lb,dvs)
162164
ub = varmap_to_vars(ub,dvs)
163165
OptimizationProblem{iip}(_f,u0,p;lb=lb,ub=ub,kwargs...)
@@ -211,8 +213,8 @@ function OptimizationProblemExpr{iip}(sys::OptimizationSystem, u0,
211213
_hess = :nothing
212214
end
213215

214-
u0 = varmap_to_vars(u0,dvs; defaults=get_default_u0(sys))
215-
p = varmap_to_vars(parammap,ps; defaults=get_default_p(sys))
216+
u0 = varmap_to_vars(u0,dvs; defaults=default_u0(sys))
217+
p = varmap_to_vars(parammap,ps; defaults=default_p(sys))
216218
lb = varmap_to_vars(lb,dvs)
217219
ub = varmap_to_vars(ub,dvs)
218220
quote

test/components.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ C1 = Capacitor(:C1)
7777
I1 = Inductor(:I1)
7878
@test isequal(R1.p.i, (@variables R1₊p₊i(t))[1])
7979
@parameters R
80-
@test ModelingToolkit.get_default_p(flatten(R1)) == Dict(R => 1.0)
80+
@test ModelingToolkit.default_p(flatten(R1)) == Dict(R => 1.0)
8181
@variables n₊v(t) p₊v(t) n₊i(t) p₊i(t)
82-
@test ModelingToolkit.get_default_u0(flatten(R1)) == Dict(
83-
n₊v => 1.0,
84-
p₊v => 1.0,
85-
n₊i => 1.0,
86-
p₊i => 1.0,
87-
)
82+
@test ModelingToolkit.default_u0(flatten(R1)) == Dict(
83+
n₊v => 1.0,
84+
p₊v => 1.0,
85+
n₊i => 1.0,
86+
p₊i => 1.0,
87+
)

0 commit comments

Comments
 (0)