Skip to content

Commit 88714ed

Browse files
committed
Use at set! in first_order_transform and call diff2term in varmap
1 parent 805811b commit 88714ed

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/systems/diffeqs/first_order_transform.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ form by defining new variables which represent the N-1 derivatives.
77
function ode_order_lowering(sys::ODESystem)
88
iv = independent_variable(sys)
99
eqs_lowered, new_vars = ode_order_lowering(equations(sys), iv, states(sys))
10-
return ODESystem(eqs_lowered, iv, new_vars, parameters(sys))
10+
@set! sys.eqs = eqs_lowered
11+
@set! sys.states = new_vars
12+
@set! sys.structure = nothing
13+
return sys
1114
end
1215

1316
function ode_order_lowering(eqs, iv, states)

src/variables.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ applicable.
66
"""
77
function varmap_to_vars(varmap::Dict, varlist; defaults=Dict())
88
varmap = merge(defaults, varmap) # prefers the `varmap`
9-
varmap = Dict(value(k)=>value(varmap[k]) for k in keys(varmap))
9+
varmap = Dict(Symbolics.diff2term(value(k))=>value(varmap[k]) for k in keys(varmap))
1010
# resolve symbolic parameter expressions
1111
for (p, v) in pairs(varmap)
1212
varmap[p] = fixpoint_sub(v, varmap)

0 commit comments

Comments
 (0)