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)'))
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)
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)
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)
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)
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})
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})
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})
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})
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)
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']))