Skip to content

Commit 03e54ca

Browse files
committed
Use schedule to replace dummy derivatives
1 parent 94ff612 commit 03e54ca

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1366,7 +1366,19 @@ function InitializationProblem{iip, specialize}(sys::AbstractSystem,
13661366
end
13671367

13681368
u0map = merge(ModelingToolkit.guesses(sys), todict(guesses), todict(u0map))
1369-
u0map = Dict(diff2term(var) => val for (var, val) in u0map) # replace D(x) -> x_t etc.
1369+
1370+
# Replace dummy derivatives in u0map: D(x) -> x_t etc.
1371+
schedule = get_schedule(sys)
1372+
if !isnothing(schedule)
1373+
for (var, val) in u0map
1374+
dvar = get(schedule.dummy_sub, var, var) # with dummy derivatives
1375+
if dvar !== var # then replace it
1376+
delete!(u0map, var)
1377+
push!(u0map, dvar => val)
1378+
end
1379+
end
1380+
end
1381+
13701382
fullmap = merge(u0map, parammap)
13711383
u0T = Union{}
13721384
for sym in unknowns(isys)

0 commit comments

Comments
 (0)