@@ -3,39 +3,43 @@ JumpType = Union{VariableRateJump, ConstantRateJump, MassActionJump}
3
3
"""
4
4
$(TYPEDEF)
5
5
6
- A system of jumps processes.
6
+ A system of jump processes.
7
7
8
8
# Fields
9
9
$(FIELDS)
10
10
11
11
# Example
12
12
13
13
```
14
- using ModelingToolKit, DiffEqJump
14
+ using ModelingToolkit
15
15
16
16
@parameters β γ t
17
17
@variables S I R
18
18
rate₁ = β*S*I
19
19
affect₁ = [S ~ S - 1, I ~ I + 1]
20
- rate₂ = γ*I+t
20
+ rate₂ = γ*I
21
21
affect₂ = [I ~ I - 1, R ~ R + 1]
22
22
j₁ = ConstantRateJump(rate₁,affect₁)
23
- j₂ = VariableRateJump (rate₂,affect₂)
23
+ j₂ = ConstantRateJump (rate₂,affect₂)
24
24
j₃ = MassActionJump(2*β+γ, [R => 1], [S => 1, R => -1])
25
25
js = JumpSystem([j₁,j₂,j₃], t, [S,I,R], [β,γ])
26
- u₀map = [S => 999, I => 1, R => 0]
27
- parammap = [β => .1/1000, γ => .01]
28
- dprob = DiscreteProblem(js2, u₀map, tspan, parammap)
29
- jprob = JumpProblem(js2, dprob, Direct(), save_
30
-
31
26
```
32
27
"""
33
28
struct JumpSystem{U <: ArrayPartition } <: AbstractSystem
29
+ """
30
+ The jumps of the system. Allowable types are `ConstantRateJump`,
31
+ `VariableRateJump`, `MassActionJump`.
32
+ """
34
33
eqs:: U
34
+ """ The independent variable, usually time."""
35
35
iv:: Variable
36
+ """ The dependent variables, representing the state of the system."""
36
37
states:: Vector{Variable}
38
+ """ The parameters of the system."""
37
39
ps:: Vector{Variable}
40
+ """ The name of the system."""
38
41
name:: Symbol
42
+ """ The internal systems."""
39
43
systems:: Vector{JumpSystem}
40
44
end
41
45
@@ -123,7 +127,16 @@ function DiffEqBase.DiscreteProblem(sys::AbstractSystem, u0map, tspan,
123
127
parammap=DiffEqBase.NullParameters; kwargs...)
124
128
```
125
129
126
- Generates a DiscreteProblem from an AbstractSystem
130
+ Generates a DiscreteProblem from an AbstractSystem.
131
+
132
+ Continuing the example from the [`JumpSystem`](@ref) definition:
133
+ ```julia
134
+ using DiffEqBase, DiffEqJump
135
+ u₀map = [S => 999, I => 1, R => 0]
136
+ parammap = [β => .1/1000, γ => .01]
137
+ tspan = (0.0, 250.0)
138
+ dprob = DiscreteProblem(js, u₀map, tspan, parammap)
139
+ ```
127
140
"""
128
141
function DiffEqBase. DiscreteProblem (sys:: AbstractSystem , u0map, tspan:: Tuple ,
129
142
parammap= DiffEqBase. NullParameters (); kwargs... )
@@ -141,6 +154,12 @@ function DiffEqBase.JumpProblem(js::JumpSystem, prob, aggregator; kwargs...)
141
154
```
142
155
143
156
Generates a JumpProblem from a JumpSystem.
157
+
158
+ Continuing the example from the [`DiscreteProblem`](@ref) definition:
159
+ ```julia
160
+ jprob = JumpProblem(js, dprob, Direct())
161
+ sol = solve(jprob, SSAStepper())
162
+ ```
144
163
"""
145
164
function DiffEqJump. JumpProblem (js:: JumpSystem , prob, aggregator; kwargs... )
146
165
0 commit comments