Skip to content

Commit 1f045f5

Browse files
Merge pull request #1921 from anandijain/aj/mtkize
forward tspan in modelingtoolkitize
2 parents 5cc2224 + 688940a commit 1f045f5

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/systems/diffeqs/modelingtoolkitize.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ function modelingtoolkitize(prob::DiffEqBase.ODEProblem; kwargs...)
8080
de = ODESystem(eqs, t, sts, params,
8181
defaults = merge(default_u0, default_p);
8282
name = gensym(:MTKizedODE),
83+
tspan = prob.tspan,
8384
kwargs...)
8485

8586
de
@@ -211,6 +212,7 @@ function modelingtoolkitize(prob::DiffEqBase.SDEProblem; kwargs...)
211212

212213
de = SDESystem(deqs, neqs, t, Vector(vec(vars)), params;
213214
name = gensym(:MTKizedSDE),
215+
tspan = prob.tspan,
214216
kwargs...)
215217

216218
de

test/modelingtoolkitize.jl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,3 +289,21 @@ prob = ODEProblem(ode_prob_dict, u0, (0.0, 1.0), params)
289289
sys = modelingtoolkitize(prob)
290290
@test [ModelingToolkit.defaults(sys)[s] for s in states(sys)] == u0
291291
@test [ModelingToolkit.defaults(sys)[s] for s in parameters(sys)] == [10, 20]
292+
@test ModelingToolkit.has_tspan(sys)
293+
294+
@parameters t sig=10 rho=28.0 beta=8 / 3
295+
@variables x(t)=100 y(t)=1.0 z(t)=1
296+
D = Differential(t)
297+
298+
eqs = [D(x) ~ sig * (y - x),
299+
D(y) ~ x * (rho - z) - y,
300+
D(z) ~ x * y - beta * z]
301+
302+
noiseeqs = [0.1 * x,
303+
0.1 * y,
304+
0.1 * z]
305+
306+
@named sys = SDESystem(eqs, noiseeqs, t, [x, y, z], [sig, rho, beta]; tspan = (0, 1000.0))
307+
prob = SDEProblem(sys)
308+
sys = modelingtoolkitize(prob)
309+
@test ModelingToolkit.has_tspan(sys)

0 commit comments

Comments
 (0)