JumpSystem
System Constructors
ModelingToolkit.JumpSystem — Typestruct JumpSystem{U<:RecursiveArrayTools.ArrayPartition} <: AbstractTimeDependentSystemA system of jump processes.
Fields
eqsThe jumps of the system. Allowable types are
ConstantRateJump,VariableRateJump,MassActionJump.
ivThe independent variable, usually time.
statesThe dependent variables, representing the state of the system. Must not contain the independent variable.
psThe parameters of the system. Must not contain the independent variable.
var_to_nameArray variables.
observednameThe name of the system. . These are required to have unique names.
systemsThe internal systems.
defaultsdefaults: The default values to use when initial conditions and/or parameters are not supplied in
ODEProblem.
connection_typetype: type of the system
Example
using ModelingToolkit
@parameters β γ
@variables t S(t) I(t) R(t)
rate₁ = β*S*I
affect₁ = [S ~ S - 1, I ~ I + 1]
rate₂ = γ*I
affect₂ = [I ~ I - 1, R ~ R + 1]
j₁ = ConstantRateJump(rate₁,affect₁)
j₂ = ConstantRateJump(rate₂,affect₂)
j₃ = MassActionJump(2*β+γ, [R => 1], [S => 1, R => -1])
js = JumpSystem([j₁,j₂,j₃], t, [S,I,R], [β,γ])Composition and Accessor Functions
get_eqs(sys)orequations(sys): The equations that define the jump system.get_states(sys)orstates(sys): The set of states in the jump system.get_ps(sys)orparameters(sys): The parameters of the jump system.get_iv(sys): The independent variable of the jump system.
Transformations
Missing docstring for structural_simplify. Check Documenter's build log for details.
Analyses
Problem Constructors
SciMLBase.DiscreteProblem — Typefunction DiffEqBase.DiscreteProblem(sys::JumpSystem, u0map, tspan,
parammap=DiffEqBase.NullParameters; kwargs...)Generates a blank DiscreteProblem for a pure jump JumpSystem to utilize as its prob.prob. This is used in the case where there are no ODEs and no SDEs associated with the system.
Continuing the example from the JumpSystem definition:
using DiffEqBase, DiffEqJump
u₀map = [S => 999, I => 1, R => 0]
parammap = [β => .1/1000, γ => .01]
tspan = (0.0, 250.0)
dprob = DiscreteProblem(js, u₀map, tspan, parammap)DiscreteProblem(sys::DiscreteSystem, u0map, tspan) -> Any
DiscreteProblem(sys::DiscreteSystem, u0map, tspan, parammap; eval_module, eval_expression, kwargs...) -> Any
Generates an DiscreteProblem from an DiscreteSystem.
DiffEqJump.JumpProblem — Typefunction DiffEqBase.JumpProblem(js::JumpSystem, prob, aggregator; kwargs...)Generates a JumpProblem from a JumpSystem.
Continuing the example from the DiscreteProblem definition:
jprob = JumpProblem(js, dprob, Direct())
sol = solve(jprob, SSAStepper())