Skip to content

Commit fb1189a

Browse files
committed
Generate independent variables in @mtkmodel from proper source
1 parent 2813251 commit fb1189a

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/independent_variables.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@ Define one or more independent variables. For example:
99
macro independent_variables(ts...)
1010
:(@parameters $(ts...)) |> esc # TODO: treat independent variables separately from variables and parameters
1111
end
12+
13+
toiv(s::Symbolic) = setmetadata(s, MTKVariableTypeCtx, PARAMETER)
14+
toiv(s::Num) = Num(toiv(value(s)))

src/systems/model_parsing.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,8 @@ function generate_var(a, varclass;
284284
first(@variables $a[indices...]::type)
285285
if varclass == :parameters
286286
var = toparam(var)
287+
elseif varclass == :independent_variables
288+
var = toiv(var)
287289
end
288290
var
289291
end
@@ -315,7 +317,7 @@ end
315317
function generate_var!(dict, a, b, varclass, mod;
316318
indices::Union{Vector{UnitRange{Int}}, Nothing} = nothing,
317319
type = Real)
318-
iv = b == :t ? get_t(mod, b) : generate_var(b, :variables)
320+
iv = b == :t ? get_t(mod, b) : generate_var(b, :independent_variables)
319321
prev_iv = get!(dict, :independent_variable) do
320322
iv
321323
end

0 commit comments

Comments
 (0)