def setup(self): """ Set up network for electrolyzer tests. """ self.nw = network(['O2', 'H2', 'H2O'], T_unit='C', p_unit='bar') self.instance = water_electrolyzer('electrolyzer') fw = source('feed water') cw_in = source('cooling water') o2 = sink('oxygen sink') h2 = sink('hydrogen sink') cw_out = sink('cooling water sink') self.instance.set_attr(pr_c=0.99) cw_el = connection(cw_in, 'out1', self.instance, 'in1', fluid={ 'H2O': 1, 'H2': 0, 'O2': 0 }, T=20, p=1) el_cw = connection(self.instance, 'out1', cw_out, 'in1', T=45) self.nw.add_conns(cw_el, el_cw) fw_el = connection(fw, 'out1', self.instance, 'in2', m=0.1, T=20, p=10) el_o2 = connection(self.instance, 'out2', o2, 'in1') el_h2 = connection(self.instance, 'out3', h2, 'in1', T=50) self.nw.add_conns(fw_el, el_o2, el_h2)
def test_wrong_bus_param_func(): """Test missing/wrong bus parameter specification in equations.""" # this test does not need setup, since the function is called without # network initialisation instance = reactors.water_electrolyzer('electrolyzer') some_bus = bus('some_bus') param = 'G' some_bus.add_comps({'comp': instance, 'param': param}) with raises(ValueError): instance.bus_func(some_bus.comps.loc[instance])
def test_wrong_bus_param_func(self): """ Test missing/wrong bus parameter specification for water electrolyzer. """ # this test does not need setup, since the function is called without # network initialisation self.nw = network(['H2O', 'O2', 'H2']) self.instance = reactors.water_electrolyzer('electrolyzer') some_bus = bus('some_bus') param = 'G' some_bus.add_comps({'c': self.instance, 'p': param}) self.instance.bus_func(some_bus.comps.loc[self.instance])
def test_wrong_bus_param_deriv(): """Test missing/wrong bus parameter specification in derivatives.""" # this test does not need setup, since the function is called without # network initialisation instance = reactors.water_electrolyzer('electrolyzer') # required for calling bus_deriv method without network initialisation instance.num_vars = 1 instance.num_nw_fluids = 1 instance.num_nw_vars = 1 some_bus = bus('some_bus') param = 'G' some_bus.add_comps({'comp': instance, 'param': param}) with raises(ValueError): instance.bus_deriv(some_bus)
def setup_electrolyzer_network(self): """Set up network for electrolyzer tests.""" self.instance = reactors.water_electrolyzer('electrolyzer') fw = basics.source('feed water') cw_in = basics.source('cooling water') o2 = basics.sink('oxygen sink') h2 = basics.sink('hydrogen sink') cw_out = basics.sink('cooling water sink') cw_el = connection(cw_in, 'out1', self.instance, 'in1') el_cw = connection(self.instance, 'out1', cw_out, 'in1') self.nw.add_conns(cw_el, el_cw) fw_el = connection(fw, 'out1', self.instance, 'in2') el_o2 = connection(self.instance, 'out2', o2, 'in1') el_h2 = connection(self.instance, 'out3', h2, 'in1') self.nw.add_conns(fw_el, el_o2, el_h2)