Skip to content

Commit 1ebaee3

Browse files
committed
Make name obligatory
1 parent dfa5eaf commit 1ebaee3

File tree

9 files changed

+26
-15
lines changed

9 files changed

+26
-15
lines changed

src/systems/control/controlsystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ function ControlSystem(loss, deqs::AbstractVector{<:Equation}, iv, dvs, controls
8787
default_u0=Dict(),
8888
default_p=Dict(),
8989
defaults=_merge(Dict(default_u0), Dict(default_p)),
90-
name=gensym(:ControlSystem))
90+
name=nothing)
91+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
9192
if !(isempty(default_u0) && isempty(default_p))
9293
Base.depwarn("`default_u0` and `default_p` are deprecated. Use `defaults` instead.", :ControlSystem, force=true)
9394
end

src/systems/diffeqs/modelingtoolkitize.jl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ function modelingtoolkitize(prob::DiffEqBase.ODEProblem; kwargs...)
6262
de = ODESystem(
6363
eqs, t, sts, params,
6464
defaults=merge(default_u0, default_p);
65+
name=gensym(:MTKizedODE),
6566
kwargs...
6667
)
6768

@@ -158,7 +159,9 @@ function modelingtoolkitize(prob::DiffEqBase.SDEProblem; kwargs...)
158159
Vector(vec(params))
159160
end
160161

161-
de = SDESystem(deqs,neqs,t,Vector(vec(vars)),params; kwargs...)
162+
de = SDESystem(deqs,neqs,t,Vector(vec(vars)),params;
163+
name=gensym(:MTKizedSDE),
164+
kwargs...)
162165

163166
de
164167
end
@@ -182,6 +185,8 @@ function modelingtoolkitize(prob::DiffEqBase.OptimizationProblem; kwargs...)
182185
reshape([variable(, i) for i in eachindex(p)],size(Array(p)))
183186

184187
eqs = prob.f(vars, params)
185-
de = OptimizationSystem(eqs,vec(vars),vec(params); kwargs...)
188+
de = OptimizationSystem(eqs,vec(vars),vec(params);
189+
name=gensym(:MTKizedOpt),
190+
kwargs...)
186191
de
187192
end

src/systems/diffeqs/odesystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,13 @@ function ODESystem(
9797
controls = Num[],
9898
observed = Num[],
9999
systems = ODESystem[],
100-
name=gensym(:ODESystem),
100+
name=nothing,
101101
default_u0=Dict(),
102102
default_p=Dict(),
103103
defaults=_merge(Dict(default_u0), Dict(default_p)),
104104
connection_type=nothing,
105105
)
106+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
106107
deqs = collect(deqs)
107108
@assert all(control -> any(isequal.(control, ps)), controls) "All controls must also be parameters."
108109

src/systems/diffeqs/sdesystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,10 @@ function SDESystem(deqs::AbstractVector{<:Equation}, neqs, iv, dvs, ps;
101101
default_u0=Dict(),
102102
default_p=Dict(),
103103
defaults=_merge(Dict(default_u0), Dict(default_p)),
104-
name = gensym(:SDESystem),
104+
name=nothing,
105105
connection_type=nothing,
106106
)
107+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
107108
deqs = collect(deqs)
108109
iv′ = value(iv)
109110
dvs′ = value.(dvs)

src/systems/discrete_system/discrete_system.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,12 @@ function DiscreteSystem(
7171
controls = Num[],
7272
observed = Num[],
7373
systems = DiscreteSystem[],
74-
name=gensym(:DiscreteSystem),
74+
name=nothing,
7575
default_u0=Dict(),
7676
default_p=Dict(),
7777
defaults=_merge(Dict(default_u0), Dict(default_p)),
7878
)
79+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
7980
eqs = collect(eqs)
8081
iv′ = value(iv)
8182
dvs′ = value.(dvs)

src/systems/jumps/jumpsystem.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
JumpType = Union{VariableRateJump, ConstantRateJump, MassActionJump}
1+
const JumpType = Union{VariableRateJump, ConstantRateJump, MassActionJump}
22

33
"""
44
$(TYPEDEF)
@@ -66,10 +66,10 @@ function JumpSystem(eqs, iv, states, ps;
6666
default_u0=Dict(),
6767
default_p=Dict(),
6868
defaults=_merge(Dict(default_u0), Dict(default_p)),
69-
name = gensym(:JumpSystem),
69+
name=nothing,
7070
connection_type=nothing,
7171
kwargs...)
72-
72+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
7373
eqs = collect(eqs)
7474
sysnames = nameof.(systems)
7575
if length(unique(sysnames)) != length(sysnames)
@@ -372,4 +372,4 @@ function (ratemap::JumpSysMajParamMapper{U,V,W})(maj::MassActionJump, newparams;
372372
end
373373
scale_rates && DiffEqJump.scalerates!(maj.scaled_rates, maj.reactant_stoch)
374374
nothing
375-
end
375+
end

src/systems/nonlinear/nonlinearsystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ end
5858

5959
function NonlinearSystem(eqs, states, ps;
6060
observed=[],
61-
name=gensym(:NonlinearSystem),
61+
name=nothing,
6262
default_u0=Dict(),
6363
default_p=Dict(),
6464
defaults=_merge(Dict(default_u0), Dict(default_p)),
6565
systems=NonlinearSystem[],
6666
connection_type=nothing,
6767
)
68+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
6869
# Move things over, but do not touch array expressions
6970
eqs = [0 ~ x.rhs - x.lhs for x in collect(eqs)]
7071

src/systems/optimization/optimizationsystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ function OptimizationSystem(op, states, ps;
5050
default_u0=Dict(),
5151
default_p=Dict(),
5252
defaults=_merge(Dict(default_u0), Dict(default_p)),
53-
name = gensym(:OptimizationSystem),
53+
name=nothing,
5454
systems = OptimizationSystem[])
55+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
5556
if !(isempty(default_u0) && isempty(default_p))
5657
Base.depwarn("`default_u0` and `default_p` are deprecated. Use `defaults` instead.", :OptimizationSystem, force=true)
5758
end

src/systems/reaction/reactionsystem.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,12 @@ end
168168
function ReactionSystem(eqs, iv, species, params;
169169
observed = [],
170170
systems = [],
171-
name = gensym(:ReactionSystem),
171+
name = nothing,
172172
default_u0=Dict(),
173173
default_p=Dict(),
174174
defaults=_merge(Dict(default_u0), Dict(default_p)),
175175
connection_type=nothing)
176-
176+
name === nothing && throw(ArgumentError("The `name` keyword must be provided. Please consider using the `@named` macro"))
177177
#isempty(species) && error("ReactionSystems require at least one species.")
178178
ReactionSystem(eqs, iv, species, params, observed, name, systems, defaults, connection_type)
179179
end
@@ -458,7 +458,7 @@ Finally, a `Vector{Num}` can be provided (the length must be equal to the number
458458
Here the noise for each reaction is scaled by the corresponding parameter in the input vector.
459459
This input may contain repeat parameters.
460460
"""
461-
function Base.convert(::Type{<:SDESystem}, rs::ReactionSystem;
461+
function Base.convert(::Type{<:SDESystem}, rs::ReactionSystem;
462462
noise_scaling=nothing, name=nameof(rs), combinatoric_ratelaws=true,
463463
include_zero_odes=true, kwargs...)
464464

0 commit comments

Comments
 (0)