Skip to content

Commit 0679ca2

Browse files
TorkelEisaacsas
andauthored
Update docs/src/catalyst_applications/jump_simulation_performance.md
Co-authored-by: Sam Isaacson <[email protected]>
1 parent c522c39 commit 0679ca2

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

docs/src/catalyst_applications/jump_simulation_performance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ input(t) = t > 5.0
9393
r = @reaction input(t), 0 --> X
9494
nothing # hide
9595
```
96-
Here, the production of species $X$ is switched on at the time $t=5.0$. This reaction (which rate depends on `t`) will generate a `VariableRateJump`, which is bad for jump simulation performance. However, since the rate is piecewise constant, it can instead be implemented by setting it to a constant parameter $i$, and then use a [*callback*](@ref advanced_simulations_callbacks) to update it at the critical times. This will again generate an equivalent model, but with the reaction encoded as a `MassActionJump` (rather than a `VariableRateJump`).
96+
Here, the production of species $X$ is switched on at the time $t=5.0$. This reaction (for which the rate depends on `t`) will generate a `VariableRateJump`, which is the least performant jump type in simulations, and can not be used with the standard SSAs of JumpProcesses. However, since the rate is piecewise constant, it can alternatively be implemented by setting it to a constant parameter $i$, and then using a [*discrete callback*](@ref advanced_simulations_callbacks) to update it at the switching times. This will again generate an equivalent model, but with the reaction encoded as a `MassActionJump` (rather than a `VariableRateJump`). Generally such explicit time-discontinuities should be encoded via discrete callbacks instead of as `VariableRateJump`s if possible as simulation methods for the latter typically assume the system's propensities evolve continuously in-between jumps.
9797

9898
## Jump solver selection
9999
When creating a `JumpProblem`, a specific solver is designated using its third argument.

0 commit comments

Comments
 (0)