-
-
Notifications
You must be signed in to change notification settings - Fork 244
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Take the following
function MWE(dt; name, ic=0.0)
pars = []
vars = @variables begin
u(t)
y(t)
end
disc = @discretes begin
us(t)=Initial(u)
uo(t)=ic
end
eqs = [
u ~ sin(t) + 1
y ~ uo
]
event = ModelingToolkit.SymbolicDiscreteCallback(dt, [us ~ Pre(u), uo ~ Pre(us)]; discrete_parameters=[us, uo])
return System(eqs, t, [vars; disc], pars; name, discrete_events=[event])
end
@mtkcompile sys = MWE(0.1; ic=1)
iprob = ModelingToolkit.InitializationProblem(sys, 0.0)
sol = solve(iprob)
@test sol[sys.u] == sol[sys.us]This gives the following...
julia> @test sol[sys.u] == sol[sys.us]
Test Failed at c:\Work\Packages\PrimitiveComponentsMTK\scrtips\test_unit_delay.jl:125
Expression: sol[sys.u] == sol[sys.us]
Evaluated: 1.0 == 0.0Even though us is defined as us(t) ~ Initial(u(t))
julia> observed(iprob.f.sys)
4-element Vector{Equation}:
uo(t) ~ Initial(uo(t))
us(t) ~ Initial(u(t))
u(t) ~ 1 + sin(t)
y(t) ~ uo(t)Using the following versions:
[961ee093] ModelingToolkit v11.12.0
[1dea7af3] OrdinaryDiffEq v6.108.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working