Skip to content

Commit 3816968

Browse files
Merge pull request #709 from isaacsas/fix-disc-prob-varmap-usage
fix DiscreteProblem varmap usage
2 parents 25ac9c9 + e65aed2 commit 3816968

File tree

2 files changed

+4
-13
lines changed

2 files changed

+4
-13
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ModelingToolkit"
22
uuid = "961ee093-0014-501f-94e3-6117800e7a78"
33
authors = ["Chris Rackauckas <[email protected]>"]
4-
version = "4.4.0"
4+
version = "4.4.1"
55

66
[deps]
77
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"

src/systems/jumps/jumpsystem.jl

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -185,17 +185,8 @@ dprob = DiscreteProblem(js, u₀map, tspan, parammap)
185185
"""
186186
function DiffEqBase.DiscreteProblem(sys::JumpSystem, u0map, tspan::Tuple,
187187
parammap=DiffEqBase.NullParameters(); kwargs...)
188-
189-
(u0map isa AbstractVector) || error("For DiscreteProblems u0map must be an AbstractVector.")
190-
u0d = Dict( value(u[1]) => u[2] for u in u0map)
191-
u0 = [u0d[u] for u in states(sys)]
192-
if parammap != DiffEqBase.NullParameters()
193-
(parammap isa AbstractVector) || error("For DiscreteProblems parammap must be an AbstractVector.")
194-
pd = Dict( value(u[1]) => u[2] for u in parammap)
195-
p = [pd[u] for u in parameters(sys)]
196-
else
197-
p = parammap
198-
end
188+
u0 = varmap_to_vars(u0map, states(sys))
189+
p = varmap_to_vars(parammap, parameters(sys))
199190
f = DiffEqBase.DISCRETE_INPLACE_DEFAULT
200191
df = DiscreteFunction{true,true}(f, syms=Symbol.(states(sys)))
201192
DiscreteProblem(df, u0, tspan, p; kwargs...)
@@ -207,7 +198,7 @@ function DiffEqBase.DiscreteProblemExpr(sys::JumpSystem, u0map, tspan,
207198
parammap=DiffEqBase.NullParameters; kwargs...)
208199
```
209200
210-
Generates a black DiscreteProblem for a JumpSystem to utilize as its
201+
Generates a blank DiscreteProblem for a JumpSystem to utilize as its
211202
solving `prob.prob`. This is used in the case where there are no ODEs
212203
and no SDEs associated with the system.
213204

0 commit comments

Comments
 (0)