# JumpSystem

## System Constructors

ModelingToolkit.JumpSystemType
struct JumpSystem{U<:RecursiveArrayTools.ArrayPartition} <: AbstractTimeDependentSystem

A system of jump processes.

Fields

• tag

: tag: a tag for the system. If two system have the same tag, then they are structurally identical.

• eqs

: The jumps of the system. Allowable types are ConstantRateJump, VariableRateJump, MassActionJump.

• iv

: The independent variable, usually time.

• states

: The dependent variables, representing the state of the system. Must not contain the independent variable.

• ps

: The parameters of the system. Must not contain the independent variable.

• var_to_name

: Array variables.

• observed

• name

: The name of the system. . These are required to have unique names.

• systems

: The internal systems.

• defaults

: defaults: The default values to use when initial conditions and/or parameters are not supplied in ODEProblem.

• connector_type

: type: type of the system

• discrete_events

: discreteevents: A Vector{SymbolicDiscreteCallback} that models events. Symbolic analog to SciMLBase.DiscreteCallback that exectues an affect when a given condition is true at the end of an integration step. *Note, one must make sure to call resetaggregated_jumps!(integrator) if using a custom affect function that changes any state value or parameter.*

• metadata

: metadata: metadata for the system, to be used by downstream packages.

• complete

: complete: if a model sys is complete, then sys.x no longer performs namespacing.

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])
@named js      = JumpSystem([j₁,j₂,j₃], t, [S,I,R], [β,γ])
source

## Composition and Accessor Functions

• get_eqs(sys) or equations(sys): The equations that define the jump system.
• get_states(sys) or states(sys): The set of states in the jump system.
• get_ps(sys) or parameters(sys): The parameters of the jump system.
• get_iv(sys): The independent variable of the jump system.

## Transformations

ModelingToolkit.structural_simplifyFunction
structural_simplify(sys)
structural_simplify(sys, io; simplify, kwargs...)

Structurally simplify algebraic equations in a system and compute the topological sort of the observed equations. When simplify=true, the simplify function will be applied during the tearing process. It also takes kwargs allow_symbolic=false and allow_parameter=true which limits the coefficient types during tearing.

The optional argument io may take a tuple (inputs, outputs). This will convert all inputs to parameters and allow them to be unconnected, i.e., simplification will allow models where n_states = n_equations - n_inputs.

source

## Problem Constructors

Missing docstring.

Missing docstring for SciMLBase.DiscreteProblem(sys::JumpSystem,args...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for JumpProcesses.JumpProblem(sys::JumpSystem,args...). Check Documenter's build log for details.