Skip to content

Commit 421a616

Browse files
fix mrj substitution to rate constant
1 parent 471ec2e commit 421a616

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/systems/jumps/jumpsystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ function assemble_maj(js, maj::MassActionJump{U,Vector{Pair{V,W}},Vector{Pair{V2
4646
statetoid, parammap) where {U,V,W,V2,W2}
4747
sr = maj.scaled_rates
4848
if sr isa Operation
49-
pval = substitute(sr,parammap)
49+
pval = simplify(substitute(sr,parammap)).value
5050
elseif sr isa Variable
5151
pval = Dict(parammap)[sr()]
5252
else
@@ -101,7 +101,7 @@ function DiffEqJump.JumpProblem(js::JumpSystem, prob, aggregator; kwargs...)
101101
majs = Vector{MassActionJump}()
102102
pvars = parameters(js)
103103
statetoid = Dict(convert(Variable,state) => i for (i,state) in enumerate(states(js)))
104-
parammap = map(Pair,pvars,prob.p)
104+
parammap = map((x,y)->Pair(x(),y),pvars,prob.p)
105105

106106
for j in equations(js)
107107
if j isa ConstantRateJump

test/jumpsystem.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ integrator = TestInt(u,p,tf)
4444
@test abs(mtjump2.rate(u,p,tf) - jump2.rate(u,p,tf)) < 10*eps()
4545
mtjump1.affect!(mtintegrator)
4646
jump1.affect!(integrator)
47-
@test all(integrator.u .== mtintegrator.u)
47+
@test all(integrator.u .== mtintegrator.u)
4848
mtintegrator.u .= u; integrator.u .= u
4949
mtjump2.affect!(mtintegrator)
5050
jump2.affect!(integrator)
@@ -79,7 +79,7 @@ mtjumps = jprob.discrete_jump_aggregation
7979
@test abs(mtjumps.rates[2](u,p,tf) - jump2.rate(u,p,tf)) < 10*eps()
8080
mtjumps.affects![1](mtintegrator)
8181
jump1.affect!(integrator)
82-
@test all(integrator.u .== mtintegrator.u)
82+
@test all(integrator.u .== mtintegrator.u)
8383
mtintegrator.u .= u; integrator.u .= u
8484
mtjumps.affects![2](mtintegrator)
8585
jump2.affect!(integrator)
@@ -129,7 +129,7 @@ jprob = JumpProblem(js4, dprob, Direct())
129129
m4 = getmean(jprob,Nsims)
130130
@test abs(m4 - 2.0/.01)*.01/2.0 < .01
131131

132-
# test second order rx runs
132+
# test second order rx runs
133133
maj1 = MassActionJump(2.0, [0 => 1], [S => 1])
134134
maj2 = MassActionJump(γ, [S => 2], [S => -1])
135135
js4 = JumpSystem([maj1,maj2], t, [S], [β,γ])

0 commit comments

Comments
 (0)