@@ -35,37 +35,41 @@ corresponding chemical reaction ODE models, chemical Langevin equation SDE
35
35
models, and stochastic chemical kinetics jump process models.
36
36
37
37
``` @example ex1
38
- using Catalyst, DifferentialEquations , Plots
38
+ using Catalyst, OrdinaryDiffEq, StochasticDiffEq, JumpProcesses , Plots
39
39
t = default_t()
40
40
@parameters β γ
41
41
@species S(t) I(t) R(t)
42
42
43
43
rxs = [Reaction(β, [S,I], [I], [1,1], [2])
44
44
Reaction(γ, [I], [R])]
45
45
@named rs = ReactionSystem(rxs, t)
46
+ rs = complete(rs)
46
47
47
48
u₀map = [S => 999.0, I => 1.0, R => 0.0]
48
49
parammap = [β => 1/10000, γ => 0.01]
49
50
tspan = (0.0, 250.0)
50
51
51
52
# solve as ODEs
52
53
odesys = convert(ODESystem, rs)
54
+ odesys = complete(odesys)
53
55
oprob = ODEProblem(odesys, u₀map, tspan, parammap)
54
56
sol = solve(oprob, Tsit5())
55
57
p1 = plot(sol, title = "ODE")
56
58
57
59
# solve as SDEs
58
60
sdesys = convert(SDESystem, rs)
61
+ sdesys = complete(sdesys)
59
62
sprob = SDEProblem(sdesys, u₀map, tspan, parammap)
60
- sol = solve(sprob, EM(), dt=.01)
63
+ sol = solve(sprob, EM(), dt=.01, saveat = 2.0 )
61
64
p2 = plot(sol, title = "SDE")
62
65
63
66
# solve as jump process
64
67
jumpsys = convert(JumpSystem, rs)
68
+ jumpsys = complete(jumpsys)
65
69
u₀map = [S => 999, I => 1, R => 0]
66
70
dprob = DiscreteProblem(jumpsys, u₀map, tspan, parammap)
67
- jprob = JumpProblem(jumpsys, dprob, Direct())
68
- sol = solve(jprob, SSAStepper())
71
+ jprob = JumpProblem(jumpsys, dprob, Direct(); save_positions = (false,false) )
72
+ sol = solve(jprob, SSAStepper(), saveat = 2.0 )
69
73
p3 = plot(sol, title = "jump")
70
74
71
75
plot(p1, p2, p3; layout = (3,1))
0 commit comments