def test_control_valve(): from fluids.control_valve import cavitation_index, FF_critical_pressure_ratio_l, is_choked_turbulent_l, is_choked_turbulent_g, Reynolds_valve, loss_coefficient_piping, Reynolds_factor CI = cavitation_index(1E6, 8E5, 2E5) assert_close(CI, 4.0) FF = FF_critical_pressure_ratio_l(70100.0, 22120000.0) assert_close(FF, 0.9442375225233299) F = is_choked_turbulent_l(460.0, 680.0, 70.1, 0.9442375225233299, 0.9) assert not F T = is_choked_turbulent_l(460.0, 680.0, 70.1, 0.9442375225233299, 0.6) assert T with pytest.raises(Exception): is_choked_turbulent_l(460.0, 680.0, 70.1, 0.9442375225233299) # Example 4, compressible flow - small flow trim sized for gas flow: assert False == is_choked_turbulent_g(0.536, 1.193, 0.8) # Custom example assert True == is_choked_turbulent_g(0.9, 1.193, 0.7) with pytest.raises(Exception): is_choked_turbulent_g(0.544, 0.929) Rev = Reynolds_valve(3.26e-07, 360, 100.0, 0.6, 0.98, 238.05817216710483) assert_close(Rev, 6596953.826574914) Rev = Reynolds_valve(3.26e-07, 360, 150.0, 0.9, 0.46, 164.9954763704956) assert_close(Rev, 2967024.346783506) K = loss_coefficient_piping(0.05, 0.08, 0.1) assert_close(K, 0.6580810546875) ### Reynolds factor (laminar) # In Example 4, compressible flow with small flow trim sized for gas flow # (Cv in the problem was converted to Kv here to make FR match with N32, N2): f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=1202., full_trim=False) assert_close(f, 0.7148753122302025) # Custom, same as above but with full trim: f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=1202., full_trim=True) assert_close(f, 0.9875328782172637) # Example 4 with Rev < 10: f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=8., full_trim=False) assert_close(f, 0.08339546213461975) # Same, with full_trim f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=8., full_trim=True) assert_close(f, 43.619397389803986)
def test_control_valve(): from fluids.control_valve import cavitation_index, FF_critical_pressure_ratio_l, is_choked_turbulent_l, is_choked_turbulent_g, Reynolds_valve, loss_coefficient_piping, Reynolds_factor CI = cavitation_index(1E6, 8E5, 2E5) assert_allclose(CI, 4.0) FF = FF_critical_pressure_ratio_l(70100.0, 22120000.0) assert_allclose(FF, 0.9442375225233299) F = is_choked_turbulent_l(460.0, 680.0, 70.1, 0.9442375225233299, 0.9) T = is_choked_turbulent_l(460.0, 680.0, 70.1, 0.9442375225233299, 0.6) assert_allclose([False, True], [F, T]) with pytest.raises(Exception): is_choked_turbulent_l(460.0, 680.0, 70.1, 0.9442375225233299) # Example 4, compressible flow - small flow trim sized for gas flow: assert False == is_choked_turbulent_g(0.536, 1.193, 0.8) # Custom example assert True == is_choked_turbulent_g(0.9, 1.193, 0.7) with pytest.raises(Exception): is_choked_turbulent_g(0.544, 0.929) Rev = Reynolds_valve(3.26e-07, 360, 100.0, 0.6, 0.98, 238.05817216710483) assert_allclose(Rev, 6596953.826574914) Rev = Reynolds_valve(3.26e-07, 360, 150.0, 0.9, 0.46, 164.9954763704956) assert_allclose(Rev, 2967024.346783506) K = loss_coefficient_piping(0.05, 0.08, 0.1) assert_allclose(K, 0.6580810546875) ### Reynolds factor (laminar) # In Example 4, compressible flow with small flow trim sized for gas flow # (Cv in the problem was converted to Kv here to make FR match with N32, N2): f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=1202., full_trim=False) assert_allclose(f, 0.7148753122302025) # Custom, same as above but with full trim: f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=1202., full_trim=True) assert_allclose(f, 0.9875328782172637) # Example 4 with Rev < 10: f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=8., full_trim=False) assert_allclose(f, 0.08339546213461975) # Same, with full_trim f = Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=8., full_trim=True) assert_allclose(f, 43.619397389803986)