Skip to content

Commit a2f4c73

Browse files
Merge pull request #2636 from SciML/steadystate
Fix steady state problem construction
2 parents 3847ec6 + f59211c commit a2f4c73

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,8 @@ function process_DEProblem(constructor, sys::AbstractODESystem, u0map, parammap;
906906
if sys isa ODESystem && build_initializeprob &&
907907
(implicit_dae || !isempty(missingvars)) &&
908908
all(isequal(Continuous()), ci.var_domain) &&
909-
ModelingToolkit.get_tearing_state(sys) !== nothing
909+
ModelingToolkit.get_tearing_state(sys) !== nothing &&
910+
t !== nothing
910911
if eltype(u0map) <: Number
911912
u0map = unknowns(sys) .=> u0map
912913
end

test/odesystem.jl

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,3 +1042,27 @@ eqs = [D(D(q₁)) ~ -λ * q₁,
10421042
@named pend = ODESystem(eqs, t)
10431043
@test_nowarn generate_initializesystem(
10441044
pend, u0map = [q₁ => 1.0, q₂ => 0.0], guesses ==> 1])
1045+
1046+
# https://github.com/SciML/ModelingToolkit.jl/issues/2618
1047+
@parameters σ ρ β
1048+
@variables x(t) y(t) z(t)
1049+
1050+
eqs = [D(D(x)) ~ σ * (y - x),
1051+
D(y) ~ x *- z) - y,
1052+
D(z) ~ x * y - β * z]
1053+
1054+
@mtkbuild sys = ODESystem(eqs, t)
1055+
1056+
u0 = [D(x) => 2.0,
1057+
x => 1.0,
1058+
y => 0.0,
1059+
z => 0.0]
1060+
1061+
p ==> 28.0,
1062+
ρ => 10.0,
1063+
β => 8 / 3]
1064+
1065+
prob = SteadyStateProblem(sys, u0, p)
1066+
@test prob isa SteadyStateProblem
1067+
prob = SteadyStateProblem(ODEProblem(sys, u0, (0.0, 10.0), p))
1068+
@test prob isa SteadyStateProblem

0 commit comments

Comments
 (0)