Skip to content

Commit ce8441e

Browse files
committed
use new solve_for api
1 parent 68cc4bb commit ce8441e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/systems/reduction.jl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ function fixpoint_sub(x, dict)
1919
return x
2020
end
2121

22-
function substitute_aliases(diffeqs, outputs)
23-
lhss(diffeqs) .~ fixpoint_sub.(rhss(diffeqs), (Dict(lhss(outputs) .=> rhss(outputs)),))
22+
function substitute_aliases(diffeqs, dict)
23+
lhss(diffeqs) .~ fixpoint_sub.(rhss(diffeqs), (dict,))
2424
end
2525

2626
function make_lhs_0(eq)
@@ -53,12 +53,13 @@ function alias_elimination(sys::ODESystem)
5353

5454
eliminate = setdiff(convert.(Variable, all_vars), newstates)
5555

56-
outputs = solve_for(eqs[alg_idxs], map(x->x(sys.iv()), eliminate))
56+
vars = map(x->x(sys.iv()), eliminate)
57+
outputs = solve_for(eqs[alg_idxs], vars)
5758

5859
diffeqs = eqs[setdiff(1:length(eqs), alg_idxs)]
5960

60-
diffeqs′ = substitute_aliases(diffeqs, outputs)
61+
diffeqs′ = substitute_aliases(diffeqs, Dict(vars .=> outputs))
6162

62-
ODESystem(diffeqs′, sys.iv(), new_stateops, parameters(sys), observed=outputs)
63+
ODESystem(diffeqs′, sys.iv(), new_stateops, parameters(sys), observed=vars .~ outputs)
6364
end
6465

0 commit comments

Comments
 (0)