ExitTimes¶
ExitTimes [1] is a solver developed for computing the time it takes for a specified event to occur. For example, you may want to compute the time it takes for the infectious population to reach zero. This method will usually be faster than Gillespie (SSA). The method attempts to group the propensities into sets, approximate their values, and sample the final time from multiple gamma distributions. See [1] for a detailed derivation.
Parameter |
Data type |
Default |
Description |
---|---|---|---|
solver |
string |
NA |
ExitTimes, ET, and ExitTime are all valid names to run this solver. |
epsilon |
float |
0.2 |
Determines the error of the approximation; accepts values between 0 and 1. A value of close to 0 is equivalent to a Gillespie (SSA) simulation and a value close to 1 is the most aggressive speedup (and largest error). We do not recommend changing this value. |
verbose |
bool |
false |
If true, extra information is printed to the command line, which can be useful for debugging or testing the solver. |
Example¶
The .cfg file example below is followed by a portion of an an .emodl file to show how exit time events are specified.
{
"duration" : 30,
"runs" : 20000,
"solver" : "ET",
"et" : {
"verbose" : false,
"epsilon" : 0.2
}
}
; sir model with exit condition
(import (rnrs) (emodl cmslib))
(start-model "sir-exit")
(locale site-a)
(set-locale site-a)
(species S 95)
(species I 5)
(species R 0)
(observe Susceptible S)
(observe Infected I)
(observe Recovered R)
(param beta 0.015)
(param gamma 1.0)
(reaction S->I (S) (I) (* beta S I))
(reaction I->R (I) (R) (* gamma I))
(bool exitTimeEvent (== R 85) )
(end-model)