def test_pump_laws_expected(self): p = CentrifPump("", flow_rate_out=75, pump_head_in=3, press_out=7.3, pump_speed=1750) p.adjust_speed(500) assert p.flow == 21.428571428571427 assert p.outlet_pressure == 0.5959183673469387 assert p.power == 0.006569936061502869
def test_adjust_speed_zero(self): p = CentrifPump("", 100, 12, 45, 300) p.adjust_speed(0) assert p.get_speed_str() == "The pump is stopped." assert p.get_flow_str() == "The pump output flow rate is 0.0 gpm." assert p.get_press_str() == "The pump pressure is 0.00 psi." assert p.get_power_str() == "The power usage for the pump is 0.00 kW."
def test_adjust_speed_expected(self): p = CentrifPump("", flow_rate_out=75, pump_head_in=3, press_out=7.3, pump_speed=1750) p.adjust_speed(500) assert p.get_speed_str() == "The pump is running at 500 rpm." assert p.get_flow_str( ) == "The pump output flow rate is 21.428571428571427 gpm." assert p.get_press_str() == "The pump pressure is 0.60 psi." assert p.get_power_str() == "The power usage for the pump is 0.01 kW."
valve and has 10 feet of piping. Author: Cody Jackson Date: 4/26/18 ################################# Version 0.1 Initial build """ # Valve parameters: name="", sys_flow_in=0.0, position=0, flow_coeff=0.0, open_press=0, close_press=0 # Pump parameters: name="", flow_rate=0.0, pump_head_in=0.0, press_out=0.0, pump_speed=0, displacement=0.0 from PipingSystems.pump.pump import CentrifPump, PositiveDisplacement from PipingSystems.valve.valve import Gate, Globe, Relief # Pump 1 group (centrifugal) centrif_pump1 = CentrifPump("Centrifugal Pump", pump_head_in=20) out_valve1 = Gate("Centrifugal Pump outlet", flow_coeff=90, sys_flow_in=centrif_pump1.get_flow) throttle1 = Globe("Centrifugal Pump throttle", flow_coeff=30, sys_flow_in=centrif_pump1.get_flow) in_valve2 = Gate("Gear Pump inlet", flow_coeff=270, sys_flow_in=centrif_pump1.get_flow) # Pump 2 group (gear) gear_pump1 = PositiveDisplacement("Gear Pump", displacement=0.096, pump_head_in=throttle1.press_out, press_out=10)
def test_pump_laws_non_int(self): p = CentrifPump("", 100, 12, 45, 300) with pytest.raises(TypeError) as excinfo: p.speed = "a" exception_msg = excinfo.value.args[0] assert exception_msg == "Numeric values only."
def test_get_speed_zero(self): p = CentrifPump(pump_speed=0) assert p.get_speed_str() == "The pump is stopped."
def test_pump_laws_neg(self): p = CentrifPump("", 100, 12, 45, 300) with pytest.raises(ValueError) as excinfo: p.speed = -120 exception_msg = excinfo.value.args[0] assert exception_msg == "Speed must be 0 or greater."
def test_pump_laws_zero(self): p = CentrifPump("", 100, 12, 45, 300) p.adjust_speed(0) assert p.flow == 0.0 assert p.outlet_pressure == 0.0 assert p.power == 0.0
def test_adjust_speed_non_int(self): p = CentrifPump("", 100, 12, 45, 300) with pytest.raises(TypeError): p.adjust_speed("a")
def test_get_speed_expected(self): p = CentrifPump(pump_speed=450) assert p.get_speed_str() == "The pump is running at 450 rpm."
def test_get_power(self): p = CentrifPump("", 100, 12, 45, 300) assert p.get_power_str() == "The power usage for the pump is 0.62 kW."
def test_get_pressure(self): p = CentrifPump(press_out=55.5) assert p.get_press_str() == "The pump pressure is 55.50 psi."
def test_get_flowrate(self): p = CentrifPump(flow_rate_out=100.0) assert p.get_flow_str() == "The pump output flow rate is 100.0 gpm."
Water level is 4 feet above tank bottom; total water head = 14 feet. """ import utility_formulas from PipingSystems.pump.pump import CentrifPump, PositiveDisplacement from PipingSystems.valve.valve import Gate, Globe, Relief # Gate Valve 1 valve1 = Gate("Valve 1", position=100, flow_coeff=200, sys_flow_in=utility_formulas.gravity_flow_rate(2, 1.67), press_in=utility_formulas.static_press(14)) valve1.flow_out = valve1.flow_in valve1.press_drop(valve1.flow_out) valve1.get_press_out(valve1.press_in) # Centrif Pump pump1 = CentrifPump("Pump 1", pump_head_in=utility_formulas.press_to_head(valve1.press_out)) pump1.start_pump(1750, 50, 16) # Globe valve 1 throttle1 = Globe("Throttle 1", position=100, flow_coeff=21, press_in=pump1.outlet_pressure, sys_flow_in=pump1.flow) throttle1.flow_out = throttle1.flow_in throttle1.press_drop(throttle1.flow_out) throttle1.valve_flow_out(throttle1.Cv, throttle1.deltaP) throttle1.get_press_out(throttle1.press_in) # Gate Valve 2 valve2 = Gate("Valve 2", position=100, flow_coeff=200, press_in=throttle1.press_out, sys_flow_in=throttle1.flow_out) valve2.flow_out = valve2.flow_in valve2.press_drop(valve2.flow_out) valve2.valve_flow_out(valve2.Cv, valve2.deltaP)
"""Assumes valves in series, with the first supplied by a tank 10 feet above the valve with a pipe length of 6 feet. Water level is 4 feet above tank bottom; total water head = 14 feet. """ import utility_formulas from PipingSystems.pump.pump import CentrifPump, PositiveDisplacement from PipingSystems.valve.valve import Gate, Globe, Relief valve1 = Gate("Valve 1", position=100, flow_coeff=200, sys_flow_in=utility_formulas.gravity_flow_rate(2, 1.67), press_in=utility_formulas.static_press(14)) pump1 = CentrifPump("Pump 1") throttle1 = Globe("Throttle 1", position=100, flow_coeff=21) valve2 = Gate("Valve 2", position=100, flow_coeff=200) valve3 = Gate("Valve 3", position=100, flow_coeff=200) pump2 = PositiveDisplacement("Gear Pump", displacement=0.096, press_out=30) relief1 = Relief("Relief 1", position=0, open_press=60, close_press=55) recirc1 = Globe("Throttle 2", position=100, flow_coeff=21) valve4 = Gate("Valve 4", position=100, flow_coeff=200) # Utility functions def test_grav_flow(): flow_rate = utility_formulas.gravity_flow_rate(2, 1.67) assert flow_rate == 319.28008077388426 def test_static_press(): press = utility_formulas.static_press(14) assert press == 6.068373888888889