Control valve sizing and rating (fluids.control_valve)

fluids.control_valve.size_control_valve_l(rho, Psat, Pc, mu, P1, P2, Q, D1, D2, d, FL, Fd)[source]

Calculates flow coefficient of a control valve passing a liquid according to IEC 60534. Uses a large number of inputs in SI units. Note the return value is not standard SI. All parameters are required. This sizing model does not officially apply to liquid mixtures, slurries, non-Newtonian fluids, or liquid-solid conveyance systems. For details of the calculations, consult [R125133].

Parameters:

rho : float

Density of the liquid at the inlet [kg/m^3]

Psat : float

Saturation pressure of the fluid at inlet temperature [Pa]

Pc : float

Critical pressure of the fluid [Pa]

mu : float

Viscosity of the fluid [Pa*s]

P1 : float

Inlet pressure of the fluid before valves and reducers [Pa]

P2 : float

Outlet pressure of the fluid after valves and reducers [Pa]

Q : float

Volumetric flow rate of the fluid [m^3/s]

D1 : float

Diameter of the pipe before the valve [m]

D2 : float

Diameter of the pipe after the valve [m]

d : float

Diameter of the valve [m]

FL : float

Liquid pressure recovery factor of a control valve without attached fittings []

Fd : float

Valve style modifier []

Returns:

C : float

Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar) [m^3/hr]

References

[R125133](1, 2, 3, 4) IEC 60534-2-1 / ISA-75.01.01-2007

Examples

From [R125133], matching example 1 for a globe, parabolic plug, flow-to-open valve.

>>> size_control_valve_l(rho=965.4, Psat=70.1E3, Pc=22120E3, mu=3.1472E-4,
... P1=680E3, P2=220E3, Q=0.1, D1=0.15, D2=0.15, d=0.15,
... FL=0.9, Fd=0.46)
164.9954763704956

From [R125133], matching example 2 for a ball, segmented ball, flow-to-open valve.

>>> size_control_valve_l(rho=965.4, Psat=70.1E3, Pc=22120E3, mu=3.1472E-4,
... P1=680E3, P2=220E3, Q=0.1, D1=0.1, D2=0.1, d=0.1,
... FL=0.6, Fd=0.98)
238.05817216710483
fluids.control_valve.size_control_valve_g(T, MW, mu, gamma, Z, P1, P2, Q, D1, D2, d, FL, Fd, xT)[source]

Calculates flow coefficient of a control valve passing a gas according to IEC 60534. Uses a large number of inputs in SI units. Note the return value is not standard SI. All parameters are required. For details of the calculations, consult [R126134]. Note the inlet gas flow conditions.

Parameters:

T : float

Temperature of the gas at the inlet [K]

MW : float

Molecular weight of the gas [g/mol]

mu : float

Viscosity of the fluid at inlet conditions [Pa*s]

gamma : float

Specific heat capacity ratio [-]

Z : float

Compressibility factor at inlet conditions, [-]

P1 : float

Inlet pressure of the gas before valves and reducers [Pa]

P2 : float

Outlet pressure of the gas after valves and reducers [Pa]

Q : float

Volumetric flow rate of the gas at 273.15 K and 1 atm specifically [m^3/s]

D1 : float

Diameter of the pipe before the valve [m]

D2 : float

Diameter of the pipe after the valve [m]

d : float

Diameter of the valve [m]

FL : float

Liquid pressure recovery factor of a control valve without attached fittings [-]

Fd : float

Valve style modifier [-]

xT : float

Pressure difference ratio factor of a valve without fittings at choked flow [-]

Returns:

C : float

Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar) [m^3/hr]

References

[R126134](1, 2, 3, 4) IEC 60534-2-1 / ISA-75.01.01-2007

Examples

From [R126134], matching example 3 for non-choked gas flow with attached fittings and a rotary, eccentric plug, flow-to-open control valve:

>>> size_control_valve_g(T=433., MW=44.01, mu=1.4665E-4, gamma=1.30,
... Z=0.988, P1=680E3, P2=310E3, Q=38/36., D1=0.08, D2=0.1, d=0.05,
... FL=0.85, Fd=0.42, xT=0.60)
72.58664545391052

From [R126134], roughly matching example 4 for a small flow trim sized tapered needle plug valve. Difference is 3% and explained by the difference in algorithms used.

>>> size_control_valve_g(T=320., MW=39.95, mu=5.625E-5, gamma=1.67, Z=1.0,
... P1=2.8E5, P2=1.3E5, Q=0.46/3600., D1=0.015, D2=0.015, d=0.015, FL=0.98,
... Fd=0.07, xT=0.8)
0.016498765335995726
fluids.control_valve.cavitation_index(P1, P2, Psat)[source]

Calculates the cavitation index of a valve with upstream and downstream absolute pressures P1 and P2 for a fluid with a vapor pressure Psat.

\[\sigma = \frac{P_1 - P_{sat}}{P_1 - P_2}\]
Parameters:

P1 : float

Absolute pressure upstream of the valve [Pa]

P2 : float

Absolute pressure downstream of the valve [Pa]

Psat : float

Saturation pressure of the liquid at inlet temperature [Pa]

Returns:

sigma : float

Cavitation index of the valve [-]

Notes

Larger values are safer. Models for adjusting cavitation indexes provided by the manufacturer to the user’s conditions are available, making use of scaling the pressure differences and size differences.

Values can be calculated for incipient cavitation, constant cavitation, maximum vibration cavitation, incipient damage, and choking cavitation.

Has also been defined as:

\[\sigma = \frac{P_2 - P_{sat}}{P_1 - P_2}\]

Another definition and notation series is:

\[K = xF = \frac{1}{\sigma} = \frac{P_1 - P_2}{P_1 - P_{sat}}\]

References

[R127135]ISA. “RP75.23 Considerations for Evaluating Control Valve Cavitation.” 1995.

Examples

>>> cavitation_index(1E6, 8E5, 2E5)
4.0
fluids.control_valve.FF_critical_pressure_ratio_l(Psat, Pc)[source]

Calculates FF, the liquid critical pressure ratio factor, for use in IEC 60534 liquid valve sizing calculations.

\[F_F = 0.96 - 0.28\sqrt{\frac{P_{sat}}{P_c}}\]
Parameters:

Psat : float

Saturation pressure of the liquid at inlet temperature [Pa]

Pc : float

Critical pressure of the liquid [Pa]

Returns:

FF : float

Liquid critical pressure ratio factor [-]

References

[R128136](1, 2) IEC 60534-2-1 / ISA-75.01.01-2007

Examples

From [R128136], matching example.

>>> FF_critical_pressure_ratio_l(70100.0, 22120000.0)
0.9442375225233299
fluids.control_valve.is_choked_turbulent_l(dP, P1, Psat, FF, FL=None, FLP=None, FP=None)[source]

Calculates if a liquid flow in IEC 60534 calculations is critical or not, for use in IEC 60534 liquid valve sizing calculations. Either FL may be provided or FLP and FP, depending on the calculation process.

\[ \begin{align}\begin{aligned}\Delta P > F_L^2(P_1 - F_F P_{sat})\\\Delta P >= \left(\frac{F_{LP}}{F_P}\right)^2(P_1 - F_F P_{sat})\end{aligned}\end{align} \]
Parameters:

dP : float

Differential pressure across the valve, with reducer/expanders [Pa]

P1 : float

Pressure of the fluid before the valve and reducers/expanders [Pa]

Psat : float

Saturation pressure of the fluid at inlet temperature [Pa]

FF : float

Liquid critical pressure ratio factor [-]

FL : float, optional

Liquid pressure recovery factor of a control valve without attached fittings [-]

FLP : float, optional

Combined liquid pressure recovery factor with piping geometry factor, for a control valve with attached fittings [-]

FP : float, optional

Piping geometry factor [-]

Returns:

choked : bool

Whether or not the flow is choked [-]

References

[R129137]IEC 60534-2-1 / ISA-75.01.01-2007

Examples

>>> is_choked_turbulent_l(460.0, 680.0, 70.1, 0.94, 0.9)
False
>>> is_choked_turbulent_l(460.0, 680.0, 70.1, 0.94, 0.6)
True
fluids.control_valve.is_choked_turbulent_g(x, Fgamma, xT=None, xTP=None)[source]

Calculates if a gas flow in IEC 60534 calculations is critical or not, for use in IEC 60534 gas valve sizing calculations. Either xT or xTP must be provided, depending on the calculation process.

\[ \begin{align}\begin{aligned}x \ge F_\gamma x_T\\x \ge F_\gamma x_{TP}\end{aligned}\end{align} \]
Parameters:

x : float

Differential pressure over inlet pressure, [-]

Fgamma : float

Specific heat ratio factor [-]

xT : float, optional

Pressure difference ratio factor of a valve without fittings at choked flow [-]

xTP : float

Pressure difference ratio factor of a valve with fittings at choked flow [-]

Returns:

choked : bool

Whether or not the flow is choked [-]

References

[R130138]IEC 60534-2-1 / ISA-75.01.01-2007

Examples

Example 3, compressible flow, non-choked with attached fittings:

>>> is_choked_turbulent_g(0.544, 0.929, 0.6)
False
>>> is_choked_turbulent_g(0.544, 0.929, xTP=0.625)
False
fluids.control_valve.Reynolds_valve(nu, Q, D1, FL, Fd, C)[source]

Calculates Reynolds number of a control valve for a liquid or gas flowing through it at a specified Q, for a specified D1, FL, Fd, C, and with kinematic viscosity nu according to IEC 60534 calculations.

\[Re_v = \frac{N_4 F_d Q}{\nu \sqrt{C F_L}}\left(\frac{F_L^2 C^2} {N_2D^4} +1\right)^{1/4}\]
Parameters:

nu : float

Kinematic viscosity, [m^2/s]

Q : float

Volumetric flow rate of the fluid [m^3/s]

D1 : float

Diameter of the pipe before the valve [m]

FL : float, optional

Liquid pressure recovery factor of a control valve without attached fittings []

Fd : float

Valve style modifier [-]

C : float

Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar) [m^3/hr]

Returns:

Rev : float

Valve reynolds number [-]

References

[R131139]IEC 60534-2-1 / ISA-75.01.01-2007

Examples

>>> Reynolds_valve(3.26e-07, 360, 150.0, 0.9, 0.46, 165)
2966984.7525455453
fluids.control_valve.loss_coefficient_piping(d, D1=None, D2=None)[source]

Calculates the sum of loss coefficients from possible inlet/outlet reducers/expanders around a control valve according to IEC 60534 calculations.

\[ \begin{align}\begin{aligned}\Sigma \xi = \xi_1 + \xi_2 + \xi_{B1} - \xi_{B2}\\\xi_1 = 0.5\left[1 -\left(\frac{d}{D_1}\right)^2\right]^2\\\xi_2 = 1.0\left[1 -\left(\frac{d}{D_2}\right)^2\right]^2\\\xi_{B1} = 1 - \left(\frac{d}{D_1}\right)^4\\\xi_{B2} = 1 - \left(\frac{d}{D_2}\right)^4\end{aligned}\end{align} \]
Parameters:

d : float

Diameter of the valve [m]

D1 : float

Diameter of the pipe before the valve [m]

D2 : float

Diameter of the pipe after the valve [m]

Returns:

loss : float

Sum of the four loss coefficients [-]

References

[R132140]IEC 60534-2-1 / ISA-75.01.01-2007

Examples

In example 3, non-choked compressible flow with fittings:

>>> loss_coefficient_piping(0.05, 0.08, 0.1)
0.6580810546875
fluids.control_valve.Reynolds_factor(FL, C, d, Rev, full_trim=True)[source]

Calculates the Reynolds number factor FR for a valve with a Reynolds number Rev, diameter d, flow coefficient C, liquid pressure recovery factor FL, and with either full or reduced trim, all according to IEC 60534 calculations.

If full trim:

\[ \begin{align}\begin{aligned}F_{R,1a} = 1 + \left(\frac{0.33F_L^{0.5}}{n_1^{0.25}}\right)\log_{10} \left(\frac{Re_v}{10000}\right)\\F_{R,2} = \min(\frac{0.026}{F_L}\sqrt{n_1 Re_v},\; 1)\\n_1 = \frac{N_2}{\left(\frac{C}{d^2}\right)^2}\\F_R = F_{R,2} \text{ if Rev < 10 else } \min(F_{R,1a}, F_{R,2})\end{aligned}\end{align} \]

Otherwise :

\[ \begin{align}\begin{aligned}F_{R,3a} = 1 + \left(\frac{0.33F_L^{0.5}}{n_2^{0.25}}\right)\log_{10} \left(\frac{Re_v}{10000}\right)\\F_{R,4} = \frac{0.026}{F_L}\sqrt{n_2 Re_v}\\n_2 = 1 + N_{32}\left(\frac{C}{d}\right)^{2/3}\\F_R = F_{R,4} \text{ if Rev < 10 else } \min(F_{R,3a}, F_{R,4})\end{aligned}\end{align} \]
Parameters:

FL : float

Liquid pressure recovery factor of a control valve without attached fittings []

C : float

Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar) [m^3/hr]

d : float

Diameter of the valve [m]

Rev : float

Valve reynolds number [-]

full_trim : bool

Whether or not the valve has full trim

Returns:

FR : float

Reynolds number factor for laminar or transitional flow []

References

[R133141]IEC 60534-2-1 / ISA-75.01.01-2007

Examples

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):

>>> Reynolds_factor(FL=0.98, C=0.015483, d=15., Rev=1202., full_trim=False)
0.7148753122302025