compile_reactions: Precompile the reactions

Description Usage Arguments Value Examples

View source: R/compile_reactions.R

Description

By precompiling the reactions, you can run multiple SSA simulations repeatedly without having to recompile the reactions every time.

Usage

1
2
3
4
5
6
7
8
compile_reactions(
  reactions,
  state_ids,
  params,
  buffer_ids = NULL,
  hardcode_params = FALSE,
  fun_by = 10000L
)

Arguments

reactions

'reaction' A list of multiple reaction() objects.

state_ids

[character] The names of the states in the correct order.

params

[named numeric] Constants that are used in the propensity functions.

buffer_ids

[character] The order of any buffer calculations that are made as part of the propensity functions.

hardcode_params

[logical] Whether or not to hardcode the values of params in the compilation of the propensity functions. Setting this to TRUE will result in a minor sacrifice in accuracy for a minor increase in performance.

fun_by

[integer] Combine this number of propensity functions into one function.

Value

A list of objects solely to be used by ssa().

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
initial_state <- c(prey = 1000, predators = 1000)
params <- c(c1 = 10, c2 = 0.01, c3 = 10)
reactions <- list(
  #        propensity function     effects                       name for reaction
  reaction(~c1 * prey,             c(prey = +1),                 "prey_up"),
  reaction(~c2 * prey * predators, c(prey = -1, predators = +1), "predation"),
  reaction(~c3 * predators,        c(predators = -1),            "pred_down")
)

compiled_reactions <- compile_reactions(
  reactions = reactions,
  state_ids = names(initial_state),
  params = params
)

out <-
  ssa(
    initial_state = initial_state,
    reactions = compiled_reactions,
    params = params,
    method = ssa_exact(),
    final_time = 5,
    census_interval = .001,
    verbose = TRUE
  )

plot_ssa(out)

GillespieSSA2 documentation built on May 18, 2021, 5:06 p.m.