Skip to content

Commit df3fcf5

Browse files
committed
Make sure to wrap the getproperty
1 parent 7a8dc9d commit df3fcf5

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/systems/abstractsystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,7 @@ end
760760
function _config(expr, namespace)
761761
cn = Base.Fix2(_config, namespace)
762762
if Meta.isexpr(expr, :.)
763-
return :($getvar($(map(cn, expr.args)...); namespace=$namespace))
763+
return :($getproperty($(map(cn, expr.args)...); namespace=$namespace))
764764
elseif Meta.isexpr(expr, :function)
765765
def = splitdef(expr)
766766
def[:args] = map(cn, def[:args])

test/odesystem.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -387,18 +387,21 @@ end
387387
using Symbolics: unwrap, wrap
388388
using LinearAlgebra
389389
@variables t
390-
sts = @variables x[1:3](t) y(t)
390+
sts = @variables x[1:3](t)=[1,2,3.0] y(t)=1.0
391391
ps = @parameters p[1:3] = [1, 2, 3]
392392
D = Differential(t)
393393
eqs = [
394-
collect(D.(x) ~ x)
395-
D(y) ~ norm(x)*y
394+
collect(D.(x) .~ x)
395+
D(y) ~ norm(x)*y - x[1]
396396
]
397397
@named sys = ODESystem(eqs, t, [sts...;], [ps...;])
398+
sys = structural_simplify(sys)
398399
@test isequal(@nonamespace(sys.x), unwrap(x))
399400
@test isequal(@nonamespace(sys.y), unwrap(y))
400401
@test isequal(@nonamespace(sys.p), unwrap(p))
401402
@test_nowarn sys.x, sys.y, sys.p
403+
@test all(x->x isa Symbolics.Arr, (sys.x, sys.p))
404+
@test all(x->x isa Symbolics.Arr, @nonamespace (sys.x, sys.p))
402405
@test ModelingToolkit.isvariable(Symbolics.unwrap(x[1]))
403406

404407
# Mixed Difference Differential equations

0 commit comments

Comments
 (0)