예제 #1
0
파일: sed_tank.py 프로젝트: es859/aguaclara
 def floc_weir_h(self):
     """The height of the floc weir."""
     floc_weir_h = max(
         self.inlet_man_h + (pipe.OD(self.inlet_man_nd) / 2) + \
             mat.CONCRETE_THICKNESS_MIN,
         self.side_slopes_h + self.side_slope_to_floc_weir_h_min
     )
     return floc_weir_h
예제 #2
0
 def test_k_value_expansion_into_very_large_pipe_laminar(self):
     self.assertAlmostEqualQuantity(
         k.k_value_expansion(pipe.OD(1 * u.inch), pipe.OD(400 * u.inch),
                             0.1 * u.L / u.s),
         1.9999999165201428 * u.dimensionless)
예제 #3
0
 def test_k_value_expansion_into_large_tank(self):
     self.assertAlmostEqualQuantity(
         k.k_value_expansion(pipe.OD(4 * u.inch), pipe.OD(400 * u.inch),
                             4 * u.L / u.s),
         1.0148940670855733 * u.dimensionless)
예제 #4
0
 def test_k_value_reduction_from_very_large_pipe_turbulent(self):
     self.assertAlmostEqualQuantity(
         k.k_value_reduction(pipe.OD(400 * u.inch), pipe.OD(4 * u.inch),
                             4 * u.L / u.s), 222469.482 * u.dimensionless,
         2)
예제 #5
0
 def test_k_value_reduction_laminar(self):
     self.assertAlmostEqualQuantity(
         k.k_value_reduction(pipe.OD(1 * u.inch), pipe.OD(0.5 * u.inch),
                             0.1 * u.L / u.s),
         2.2100363820127233 * u.dimensionless)
예제 #6
0
 def test_k_value_reduction_square_turbulent(self):
     self.assertAlmostEqualQuantity(
         k.k_value_reduction(pipe.OD(4 * u.inch), pipe.OD(2 * u.inch),
                             4 * u.L / u.s),
         5.689246477984541 * u.dimensionless)
예제 #7
0
파일: sed_tank.py 프로젝트: es859/aguaclara
 def inlet_man_h(self):
     """The height of the inlet manifold height."""
     inlet_man_h = self.JET_REVERSER_TO_DIFFUSERS_H + self.DIFFUSER_L + \
          ( pipe.OD(self.inlet_man_nd)/ 2 )
     return inlet_man_h
예제 #8
0
 def test_k_value_thick_orifice(self):
     self.assertAlmostEqualQuantity(
         k.k_value_orifice(pipe.OD(6 * u.inch), pipe.OD(4 * u.inch),
                           1 * u.inch, 1 * u.L / u.s),
         2.9070736824641181 * u.dimensionless)
예제 #9
0
 def test_k_value_expansion_into_very_large_pipe_laminar(self):
     self.assertAlmostEqual(
         k.k_value_expansion(pipe.OD(1), pipe.OD(400), 0.1 * u.L / u.s),
         1.0216612503304363)
예제 #10
0
 def test_k_value_expansion_into_large_tank(self):
     self.assertAlmostEqual(
         k.k_value_expansion(pipe.OD(4), pipe.OD(400), 4 * u.L / u.s),
         1.0110511331493719)
예제 #11
0
 def test_k_value_reduction_from_very_large_pipe_turbulent(self):
     self.assertAlmostEqual(
         k.k_value_reduction(pipe.OD(400), pipe.OD(4), 4 * u.L / u.s),
         105560.31724275621)
예제 #12
0
 def test_k_value_reduction_laminar(self):
     self.assertAlmostEqual(
         k.k_value_reduction(pipe.OD(1), pipe.OD(0.5), 0.1 * u.L / u.s),
         2.1802730749680945)
예제 #13
0
 def test_k_value_reduction_square_turbulent(self):
     self.assertAlmostEqual(
         k.k_value_reduction(pipe.OD(4), pipe.OD(2), 4 * u.L / u.s),
         5.6677039356929662)
예제 #14
0
 def test_k_value_super_thick_orifice_high_headloss(self):
     self.assertAlmostEqualQuantity(
         k.k_value_orifice(pipe.OD(6 * u.inch), pipe.OD(4 * u.inch),
                           60 * u.inch, 1 * u.L / u.s),
         1.8577290828680884 * u.dimensionless)
예제 #15
0
 def test_k_value_thin_orifice(self):
     self.assertAlmostEqual(
         k.k_value_orifice(pipe.OD(6), pipe.OD(4), 0 * u.inch,
                           1 * u.L / u.s), 3.3497584836648246)
예제 #16
0
 def test_k_value_thin_orifice(self):
     self.assertAlmostEqualQuantity(
         k.k_value_orifice(pipe.OD(6 * u.inch), pipe.OD(4 * u.inch),
                           0 * u.inch, 1 * u.L / u.s),
         3.3497584836648246 * u.dimensionless)
예제 #17
0
 def test_k_value_thick_orifice(self):
     self.assertAlmostEqual(
         k.k_value_orifice(pipe.OD(6), pipe.OD(4), 1 * u.inch,
                           1 * u.L / u.s), 2.9070736824641181)
예제 #18
0
# diffuser pipes can fit tightly in place (normal OD of a 1" pipe is
# close to 1-5/16")
MAN_PORT_D = 1.25 * u.inch

# nominal diameter of pipe used for jet reverser in bottom of set tank
JET_REVERSER_ND = 3 * u.inch

SDR_REVERSER = 26  # SDR of jet reverser pipe

# Diffuser geometry
SDR_DIFFUSER = 26  # SDR of diffuser pipe

DIFFUSER_PIPE_ND = 4 * u.cm  # nominal diameter of pipe used to make diffusers

AREA_PVC_DIFFUSER = (
    (np.pi/4) * ((pipe.OD(DIFFUSER_PIPE_ND)**2)
    - (pipe.ID_SDR(DIFFUSER_PIPE_ND, SDR_DIFFUSER))**2)
)
# stretch factor applied to the diffuser PVC pipes as they are heated
# and molded
PVC_STRETCH_RATIO = 1.2

T_DIFFUSER = ((pipe.OD(DIFFUSER_PIPE_ND) -
                        pipe.ID_SDR(DIFFUSER_PIPE_ND, SDR_DIFFUSER))
                              / (2 * PVC_STRETCH_RATIO))

W_DIFFUSER_INNER = 0.3175 * u.cm  # opening width of diffusers

# Calculating using a minor loss equation with K = 1
V_SED_DIFFUSER_MAX = np.sqrt(2 * con.GRAVITY * INLET_HL_MAX).to(u.mm / u.s)
예제 #19
0
 def test_OD(self):
     checks = [[1.0 * u.inch, 1.315 * u.inch]]
     for i in checks:
         with self.subTest(i=i):
             self.assertAlmostEqual(pipe.OD(i[0]), i[1])