Example #1
0
def test_class_Injector():
    """tests to ensure the behaviour class Injector"""
    test_model = Model('test_model')
    number = 50.
    inject = Parameter('inject', number, parameter_min=0., parameter_max=1000.)
    time = 5
    trans_time = Parameter('time', time, parameter_type='int', parameter_min=0, parameter_max=1000)
    to_pop = Population('to_pop', 0)
    test_injector = Injector('injector', 'rel_days', trans_time, to_pop, inject, model=test_model)
    test_model.add_transition(test_injector)
    for time_step in [1., 1. / 4.]:
        test_model.set_time_step(time_step)
        to_pop.reset()
        test_injector.take_action()
        assert to_pop.future[0] == number
        assert np.abs(test_injector.trigger_step - time / time_step) < 0.1
Example #2
0
def test_class_Modifier():
    """tests to ensure the behaviour class Modifier"""
    test_model = Model('test_model')
    mod_time = Parameter('time', 5, parameter_type='int', parameter_min=0, parameter_max=1000)
    par_val = 0.3
    par_0_val = 0.5
    par_1_val = 0.7
    parameter = Parameter('par', par_val)
    parameter_0 = Parameter('par_0', par_0_val)
    parameter_1 = Parameter('par_1', par_1_val)
    test_modifier = Modifier('test_modifier', 'rel_days', mod_time, parameter, parameter_0, parameter_1,
                             model=test_model)
    test_model.add_transition(test_modifier)
    for time_step in [1., 1. / 4.]:
        test_model.set_time_step(time_step)
        parameter.reset()
        assert parameter.get_value() == par_val
        test_modifier.take_action()
        assert parameter.get_value() == par_1_val
        test_modifier.reset()
        assert parameter.get_value() == par_0_val
        assert np.abs(test_modifier.trigger_step - 5 / time_step) < 0.1
Example #3
0
n_rt_visible = 4

times = []
alphas = [Parameter('alpha_0', 0.4, 0., 2.,
                         'initial transmission rate', hidden=False)]
for i in range(n_rate_transitions):
    j = i+1
    hidden = j > n_rt_visible
    enabled = i==0
    times.append(Parameter('trans_rate_'+str(j)+'_time', 20+i, 0, 600,
                           'day of trans rate change '+'str(j)',
                            parameter_type='int', hidden=hidden))
    alphas.append(Parameter('alpha_'+str(j), 0.1, 0., 2.,
                         'alpha after transition '+str(j), hidden=hidden))
    bc_model.add_transition(
        Modifier('trans_rate_'+str(j), 'rel_days', times[i], trans_rate,
                 alphas[i], alphas[j], enabled=enabled, model=bc_model))

n_rate_transitions = 4
n_rt_visible = 0

times_v = []
alphas_v = [Parameter('alpha_0_v', 0.4, 0., 2.,
                         'initial variant transmission rate', hidden=False)]
for i in range(n_rate_transitions):
    j = i+1
    hidden = j > n_rt_visible
    enabled = False
    times_v.append(Parameter('trans_rate_'+str(j)+'_time_v', 20+i, 0, 600,
                           'day of variant trans rate change '+'str(j)',
                            parameter_type='int', hidden=hidden))
Example #4
0
                         'transmission rate after 5th transition')

trans_rate_6 = Parameter('alpha_6', 0.1, 0., 2.,
                         'transmission rate after 6th transition')

trans_rate_7 = Parameter('alpha_7', 0.1, 0., 2.,
                         'transmission rate after 7th transition')

trans_rate_8 = Parameter('alpha_8', 0.1, 0., 2.,
                         'transmission rate after 8th transition')

bc_model.add_transition(
    Modifier('trans_rate_1',
             'rel_days',
             trans_rate_1_time,
             trans_rate,
             trans_rate_0,
             trans_rate_1,
             enabled=True,
             model=bc_model))

bc_model.add_transition(
    Modifier('trans_rate_2',
             'rel_days',
             trans_rate_2_time,
             trans_rate,
             trans_rate_1,
             trans_rate_2,
             enabled=False,
             model=bc_model))
Example #5
0
                              parameter_type='int', hidden=False)

trans_rate_0 = Parameter('alpha_0', 0.385, 0., 2.,
                         'initial transmission rate', hidden=False)

trans_rate_1 = Parameter('alpha_1', 0.062, 0., 2.,
                         'transmission rate after 1st transition', hidden=False)

trans_rate_2 = Parameter('alpha_2', 0.062, 0., 2.,
                         'transmission rate after 2nd transition', hidden=False)

trans_rate_3 = Parameter('alpha_3', 0.062, 0., 2.,
                         'transmission rate after 3nd transition', hidden=False)

bc_model.add_transition(
    Modifier('trans_rate_1', 'rel_days', trans_rate_1_time, trans_rate,
             trans_rate_0, trans_rate_1, enabled=True, model=bc_model))

bc_model.add_transition(
    Modifier('trans_rate_2', 'rel_days', trans_rate_2_time, trans_rate,
             trans_rate_1, trans_rate_2, enabled=False, model=bc_model))

bc_model.add_transition(
    Modifier('trans_rate_3', 'rel_days', trans_rate_3_time, trans_rate,
             trans_rate_2, trans_rate_3, enabled=False, model=bc_model))

outbreak_pop = Population('outbreaks', 0,
                          'Infection outbreaks')

outbreak_1_time = Parameter('outbreak_1_time', 14, 0, 100,
                            'number of days since t0 when outbreak_1 established',
Example #6
0
                         0.,
                         2.,
                         'transmission rate after 4th transition',
                         hidden=False)

trans_rate_5 = Parameter('alpha_5', 0.1, 0., 2.,
                         'transmission rate after 5th transition')

trans_rate_6 = Parameter('alpha_6', 0.1, 0., 2.,
                         'transmission rate after 6th transition')

bc_model.add_transition(
    Modifier('trans_rate_1',
             'rel_days',
             trans_rate_1_time,
             trans_rate,
             trans_rate_0,
             trans_rate_1,
             enabled=True,
             model=bc_model))

bc_model.add_transition(
    Modifier('trans_rate_2',
             'rel_days',
             trans_rate_2_time,
             trans_rate,
             trans_rate_1,
             trans_rate_2,
             enabled=False,
             model=bc_model))
Example #7
0
                         2.,
                         'transmission rate after 2nd transition',
                         hidden=False)

trans_rate_3 = Parameter('alpha_3',
                         0.062,
                         0.,
                         2.,
                         'transmission rate after 3nd transition',
                         hidden=False)

bc_model.add_transition(
    Modifier('trans_rate_1',
             'rel_days',
             trans_rate_1_time,
             trans_rate,
             trans_rate_0,
             trans_rate_1,
             enabled=True,
             model=bc_model))

bc_model.add_transition(
    Modifier('trans_rate_2',
             'rel_days',
             trans_rate_2_time,
             trans_rate,
             trans_rate_1,
             trans_rate_2,
             enabled=False,
             model=bc_model))