@@ -195,14 +195,14 @@ end
195
195
let
196
196
# Creates model via DSL.
197
197
rn_dsl = @reaction_network rn begin
198
- @parameters thres= 1 .0 dY_up
198
+ @parameters thres= 7 .0 dY_up
199
199
@variables Z (t)
200
200
@continuous_events begin
201
201
[t ~ 2.5 ] => [p ~ p + 0.2 ]
202
202
[X ~ thres, Y ~ X] => [X ~ X - 0.5 , Z ~ Z + 0.1 ]
203
203
end
204
204
@discrete_events begin
205
- 2.0 => [dX ~ dX + 0.1 , dY ~ dY + dY_up]
205
+ 2.0 => [dX ~ dX + 0.01 , dY ~ dY + dY_up]
206
206
[1.0 , 5.0 ] => [p ~ p - 0.1 ]
207
207
(Z > Y) => [Z ~ Z - 0.1 ]
208
208
end
214
214
# Creates model programmatically.
215
215
@variables t Z (t)
216
216
@species X (t) Y (t)
217
- @parameters p dX dY thres= 1 .0 dY_up
217
+ @parameters p dX dY thres= 7 .0 dY_up
218
218
rxs = [
219
219
Reaction (p, nothing , [X], nothing , [1 ])
220
220
Reaction (dX, [X], nothing , [1 ], nothing )
@@ -226,19 +226,19 @@ let
226
226
[X ~ thres, Y ~ X] => [X ~ X - 0.5 , Z ~ Z + 0.1 ]
227
227
]
228
228
discrete_events = [
229
- 2.0 => [dX ~ dX + 0.1 , dY ~ dY + dY_up]
229
+ 2.0 => [dX ~ dX + 0.01 , dY ~ dY + dY_up]
230
230
[1.0 , 5.0 ] => [p ~ p - 0.1 ]
231
231
(Z > Y) => [Z ~ Z - 0.1 ]
232
232
]
233
- rn_prog = ReactionSystem (rxs, t; continuous_events, discrete_events, name= :rn )
233
+ rn_prog = ReactionSystem (rxs, t; continuous_events, discrete_events, name = :rn )
234
234
rn_prog = complete (rn_prog)
235
235
236
236
# Tests that approaches yield identical results.
237
237
@test isequal (rn_dsl, rn_prog)
238
238
239
- u0 = [X => 1 .0 , Y => 0.5 , Z => 0.25 ]
239
+ u0 = [X => 5 .0 , Y => 3.0 , Z => 3.5 ]
240
240
tspan = (0.0 , 20.0 )
241
- ps = [p => 1.0 , dX => 0.5 , dY => 0.5 , dY_up => 0.1 ]
241
+ ps = [p => 1.0 , dX => 0.05 , dY => 0.05 , dY_up => 0.01 ]
242
242
243
243
sol_dsl = solve (ODEProblem (rn_dsl, u0, tspan, ps), Tsit5 ())
244
244
sol_prog = solve (ODEProblem (rn_prog, u0, tspan, ps), Tsit5 ())
0 commit comments