Exemple #1
0
 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
Exemple #2
0
 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."
Exemple #3
0
 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."
Exemple #4
0
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)
Exemple #5
0
 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."
Exemple #6
0
 def test_get_speed_zero(self):
     p = CentrifPump(pump_speed=0)
     assert p.get_speed_str() == "The pump is stopped."
Exemple #7
0
 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."
Exemple #8
0
 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
Exemple #9
0
 def test_adjust_speed_non_int(self):
     p = CentrifPump("", 100, 12, 45, 300)
     with pytest.raises(TypeError):
         p.adjust_speed("a")
Exemple #10
0
 def test_get_speed_expected(self):
     p = CentrifPump(pump_speed=450)
     assert p.get_speed_str() == "The pump is running at 450 rpm."
Exemple #11
0
 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."
Exemple #12
0
 def test_get_pressure(self):
     p = CentrifPump(press_out=55.5)
     assert p.get_press_str() == "The pump pressure is 55.50 psi."
Exemple #13
0
 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