-
-
Notifications
You must be signed in to change notification settings - Fork 233
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Setting new ODEProblem parameters with setp and remake do not update prob.f.initializeprob. E.g.,
using ModelingToolkit, SymbolicIndexingInterface, OrdinaryDiffEq
using ModelingToolkit: t_nounits as t
D = Differential(t)
pars = @parameters a = 1.0
vars = @variables begin
x(t), [guess = 0.1]
y(t), [guess = 1.0]
end
eqs = [D(x) ~ 1
y ~ x]
initialization_eqs = [a ~ exp(-pi + x)]
@named sys = ODESystem(eqs, t, vars, pars; initialization_eqs)
sys = complete(structural_simplify(sys))
tspan = (0.0, 0.2)
prob = ODEProblem(sys, [], tspan, [])
setp(prob, a)(prob, NaN)
integ = init(prob, FBDF())integ[x] = 3.1415926535896306 # should be NaN# New parameter values
julia> prob.p[1]
1-element Vector{Float64}:
NaN
julia> integ.p[1]
1-element Vector{Float64}:
NaN# Old parameter values
julia> prob.f.initializeprob.p[1]
2-element Vector{Float64}:
1.0
0.0Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working