def test_stochastic(self):
        ode = SimulateOde(self.states, self.params,
                          birth_death=self.birth_deaths,
                          transition=self.transitions)

        ode.parameters = self.param_eval
        ode.initial_values = (self.x0, self.t[0])
        _simX, _simT = ode.simulate_jump(self.t, 5, parallel=False, full_output=True)
Esempio n. 2
0
    def test_stochastic(self):
        ode = SimulateOde(self.states,
                          self.params,
                          birth_death=self.birth_deaths,
                          transition=self.transitions)

        ode.parameters = self.param_eval
        ode.initial_values = (self.x0, self.t[0])
        _simX, _simT = ode.simulate_jump(self.t,
                                         5,
                                         parallel=False,
                                         full_output=True)
Esempio n. 3
0
params = ['beta', 'gamma', 'N']
transitions = [Transition(origin='S', destination='I', equation='beta*S*I/N',
                          transition_type=TransitionType.T),
               Transition(origin='I', destination='R', equation='gamma*I',
                          transition_type=TransitionType.T)]

# initial conditions
N = 7781984.0
in_inf = round(0.0000001*N)
init_state = [N - in_inf, in_inf, 0.0]
#
# # time
max_t = 9 # 50
t = np.linspace (0 , max_t , 101)
#
# # deterministic parameter values
param_evals = [('beta', 3.6), ('gamma', 0.2), ('N', N)]

# construct model
model_j = SimulateOde(states, params, transition=transitions)
model_j.parameters = param_evals
model_j.initial_values = (init_state, t[0])


# run 10 simulations
start = time.time()
simX, simT = model_j.simulate_jump(t[1::], iteration=10, full_output=True)
end = time.time()

logging.info('Simulation took {} seconds'.format(end - start))