@@ -59,6 +59,7 @@ rate₃ = γ * I * h
59
59
affect₃ = [I ~ I * h - 1 , R ~ R + 1 ]
60
60
j₃ = ConstantRateJump (rate₃, affect₃)
61
61
@named js2 = JumpSystem ([j₁, j₃], t, [S, I, R], [β, γ])
62
+ js2 = complete (js2)
62
63
u₀ = [999 , 1 , 0 ];
63
64
p = (0.1 / 1000 , 0.01 );
64
65
tspan = (0.0 , 250.0 );
@@ -80,6 +81,7 @@ m = getmean(jprob, Nsims)
80
81
@variables S2 (t)
81
82
obs = [S2 ~ 2 * S]
82
83
@named js2b = JumpSystem ([j₁, j₃], t, [S, I, R], [β, γ], observed = obs)
84
+ js2b = complete (js2b)
83
85
dprob = DiscreteProblem (js2b, u₀map, tspan, parammap)
84
86
jprob = JumpProblem (js2b, dprob, Direct (), save_positions = (false , false ), rng = rng)
85
87
sol = solve (jprob, SSAStepper (), saveat = tspan[2 ] / 10 )
@@ -132,13 +134,15 @@ m2 = getmean(jprob, Nsims)
132
134
maj1 = MassActionJump (2 * β / 2 , [S => 1 , I => 1 ], [S => - 1 , I => 1 ])
133
135
maj2 = MassActionJump (γ, [I => 1 ], [I => - 1 , R => 1 ])
134
136
@named js3 = JumpSystem ([maj1, maj2], t, [S, I, R], [β, γ])
137
+ js3 = complete (js3)
135
138
dprob = DiscreteProblem (js3, u₀map, tspan, parammap)
136
139
jprob = JumpProblem (js3, dprob, Direct (), rng = rng)
137
140
m3 = getmean (jprob, Nsims)
138
141
@test abs (m - m3) / m < 0.01
139
142
140
143
# maj jump test with various dep graphs
141
144
@named js3b = JumpSystem ([maj1, maj2], t, [S, I, R], [β, γ])
145
+ js3b = complete (js3b)
142
146
jprobb = JumpProblem (js3b, dprob, NRM (), rng = rng)
143
147
m4 = getmean (jprobb, Nsims)
144
148
@test abs (m - m4) / m < 0.01
@@ -150,6 +154,7 @@ m4 = getmean(jprobc, Nsims)
150
154
maj1 = MassActionJump (2.0 , [0 => 1 ], [S => 1 ])
151
155
maj2 = MassActionJump (γ, [S => 1 ], [S => - 1 ])
152
156
@named js4 = JumpSystem ([maj1, maj2], t, [S], [β, γ])
157
+ js4 = complete (js4)
153
158
dprob = DiscreteProblem (js4, [S => 999 ], (0 , 1000.0 ), [β => 100.0 , γ => 0.01 ])
154
159
jprob = JumpProblem (js4, dprob, Direct (), rng = rng)
155
160
m4 = getmean (jprob, Nsims)
@@ -159,6 +164,7 @@ m4 = getmean(jprob, Nsims)
159
164
maj1 = MassActionJump (2.0 , [0 => 1 ], [S => 1 ])
160
165
maj2 = MassActionJump (γ, [S => 2 ], [S => - 1 ])
161
166
@named js4 = JumpSystem ([maj1, maj2], t, [S], [β, γ])
167
+ js4 = complete (js4)
162
168
dprob = DiscreteProblem (js4, [S => 999 ], (0 , 1000.0 ), [β => 100.0 , γ => 0.01 ])
163
169
jprob = JumpProblem (js4, dprob, Direct (), rng = rng)
164
170
sol = solve (jprob, SSAStepper ());
177
183
maj1 = MassActionJump (k1 * k3, [0 => 1 ], [A => - 1 , B => 1 ])
178
184
maj2 = MassActionJump (k2, [B => 1 ], [A => 1 , B => - 1 ])
179
185
@named js5 = JumpSystem ([maj1, maj2], t, [A, B], [k1, k2, k3])
186
+ js5 = complete (js5)
180
187
p = [k1 => 2.0 , k2 => 0.0 , k3 => 0.5 ]
181
188
u₀ = [A => 100 , B => 0 ]
182
189
tspan = (0.0 , 2000.0 )
0 commit comments