Skip to content

Commit 5fe96ee

Browse files
committed
fix discrete problem varmap usage
1 parent 25ac9c9 commit 5fe96ee

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

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)