Skip to content

Commit 5b5b433

Browse files
Merge pull request #374 from SciML/multidim
multidimensional modelingtoolkitize support
2 parents db1c1db + ceb2e43 commit 5b5b433

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/simplify.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ SymbolicUtils.symtype(x::Expression) = Number
3636
# SymbolicUtils -> ModelingToolkit
3737

3838
simplify(expr::Expression) = SymbolicUtils.simplify(expr) |> to_mtk
39+
simplify(x::Equation) = simplify(x.lhs) ~ simplify(x.rhs)
3940
simplify(expr) = expr |> to_mtk
4041

4142
@deprecate simplify_constants(ex) simplify(ex)

src/systems/diffeqs/modelingtoolkitize.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ function modelingtoolkitize(prob::DiffEqBase.ODEProblem)
77
prob.f isa DiffEqBase.AbstractParameterizedFunction &&
88
return (prob.f.sys, prob.f.sys.states, prob.f.sys.ps)
99
@parameters t
10-
vars = [Variable(:x, i)(t) for i in eachindex(prob.u0)]
10+
vars = reshape([Variable(:x, i)(t) for i in eachindex(prob.u0)],size(prob.u0))
1111
params = prob.p isa DiffEqBase.NullParameters ? [] :
12-
[Variable(,i)() for i in eachindex(prob.p)]
12+
reshape([Variable(,i)() for i in eachindex(prob.p)],size(prob.p))
1313
@derivatives D'~t
1414

1515
rhs = [D(var) for var in vars]
@@ -22,7 +22,7 @@ function modelingtoolkitize(prob::DiffEqBase.ODEProblem)
2222
end
2323

2424
eqs = vcat([rhs[i] ~ lhs[i] for i in eachindex(prob.u0)]...)
25-
de = ODESystem(eqs,t,vars,params)
25+
de = ODESystem(eqs,t,vec(vars),vec(params))
2626

2727
de
2828
end

0 commit comments

Comments
 (0)