Exemplo n.º 1
0
 def test_calling_sympy_functions(self):
     """ Test the calling of sympy functions """
     model = Model()
     model.var('x')
     model.param('a')
     model.set_values({'x': 12, 'a': 5})
     self.assertEquals(1.1, model.evaluate('Max(1, 1.1)'))
Exemplo n.º 2
0
    def test_set_parameters_equation(self):
        """ Test set_values of parameters using equations """
        model = Model()
        model.param('a', default=-1)
        model.var('x', default=0)

        model.set_values({'a': 'x+12'})
        self.assertEquals(12, model.parameters['a'].value)
Exemplo n.º 3
0
    def test_set_variables_equation(self):
        """ Test set_values of variables using equations """
        model = Model()
        model.param('a', default=-1)
        model.var('x', default=0)

        model.set_values({'x': 'a+12'})
        self.assertEquals(11, model.variables['x'].value)
Exemplo n.º 4
0
    def test_set_parameters_equation(self):
        """ Test set_values of parameters using equations """
        model = Model()
        model.param('a', default=-1)
        model.var('x', default=0)

        model.set_values({'a': 'x+12'})
        self.assertEquals(12, model.parameters['a'].value)
Exemplo n.º 5
0
    def test_set_variables_equation(self):
        """ Test set_values of variables using equations """
        model = Model()
        model.param('a', default=-1)
        model.var('x', default=0)

        model.set_values({'x': 'a+12'})
        self.assertEquals(11, model.variables['x'].value)
Exemplo n.º 6
0
    def test_set_parameters(self):
        """ Test set_values of parameters """
        model = Model()
        param_a = model.param('a', default=-1)
        self.assertEquals(-1, param_a.value)
        model.set_values({'a': 22})
        self.assertEquals(22, param_a.value)

        with self.assertRaises(ValueError):
            model.set_values({'zz': -1})
Exemplo n.º 7
0
    def test_set_variables(self):
        """ Test set_values of variables """
        model = Model()
        var_x = model.var('x', default=-1)
        self.assertEquals(-1, var_x.value)
        model.set_values({'x': 22})
        self.assertEquals(22, var_x.value)

        with self.assertRaises(ValueError):
            model.set_values({'zz': -1})
Exemplo n.º 8
0
    def test_set_parameters(self):
        """ Test set_values of parameters """
        model = Model()
        param_a = model.param('a', default=-1)
        self.assertEquals(-1, param_a.value)
        model.set_values({'a': 22})
        self.assertEquals(22, param_a.value)

        with self.assertRaises(ValueError):
            model.set_values({'zz': -1})
Exemplo n.º 9
0
    def test_set_variables(self):
        """ Test set_values of variables """
        model = Model()
        var_x = model.var('x', default=-1)
        self.assertEquals(-1, var_x.value)
        model.set_values({'x': 22})
        self.assertEquals(22, var_x.value)

        with self.assertRaises(ValueError):
            model.set_values({'zz': -1})
Exemplo n.º 10
0
    def test_setting_multiple_variables(self):
        """ Test set_values() with multiple variables """
        model = Model()
        model.param('a', default=3)
        model.param('b', default=4)
        model.var('x', default=-1)
        model.var('y', default=-2)

        model.set_values({'a': 'a+11', 'b': '4*b'})
        self.assertEquals(14, model.parameters['a'].value)
        self.assertEquals(16, model.parameters['b'].value)
Exemplo n.º 11
0
    model.add('Hh - Hh(-1) = YD - Cd')  # 3.9
    model.add('Y = Cs + Gs')  # 3.10
    model.add('Nd = Y/W')  # 3.11

    return model


# Now we can run the simulation using the model.

# In[18]:

model = create_sim_model()
model.set_values({
    'alpha1': 0.6,
    'alpha2': 0.4,
    'theta': 0.2,
    'Gd': 20,
    'W': 1
})
model.solve(iterations=100, threshold=1e-5)

prev = round_solution(model.solutions[-2], decimals=1)
solution = round_solution(model.solutions[-1], decimals=1)
print("Y         : " + str(solution['Y']))
print("T         : " + str(solution['Ts']))
print("YD        : " + str(solution['YD']))
print("C         : " + str(solution['Cs']))
print("Hs-Hs(-1) : " + str(solution['Hs'] - prev['Hs']))
print("Hh-Hh(-1) : " + str(solution['Hh'] - prev['Hh']))
print("H         : " + str(solution['Hh']))