# Control valve sizing and rating (fluids.control_valve)

`fluids.control_valve.``size_control_valve_l`(rho, Psat, Pc, mu, P1, P2, Q, D1=None, D2=None, d=None, FL=0.9, Fd=1, allow_choked=True, allow_laminar=True, full_output=False)

  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 [R69].

  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, optional

  > Diameter of the pipe before the valve [m]

  D2 : float, optional

  > Diameter of the pipe after the valve [m]

  d : float, optional

  > Diameter of the valve [m]

  FL : float, optional

  > Liquid pressure recovery factor of a control valve without attached fittings (normally 0.8-0.9 at full open and decreasing as opened further to below 0.5; use default very cautiously!) []

  Fd : float, optional

  > Valve style modifier (0.1 to 1; varies tremendously depending on the type of valve and position; do not use the default at all!) []

  allow_choked : bool, optional

  > Overrides the automatic transition into the choked regime if this is False and returns as if choked flow does not exist

  allow_laminar : bool, optional

  > Overrides the automatic transition into the laminar regime if this is False and returns as if laminar flow does not exist

  full_output : bool, optional

  > If True, returns intermediate calculation values as well as Kv in the form of a dictionary containing ‘Kv’, ‘Rev’, ‘choked’, ‘FL’, ‘FLP’, ‘FR’, ‘FP’, and ‘laminar’. Some may be None if they are not used in the calculation.

  Returns:

  Kv : float

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

  Notes

  It is possible to use this model without any diameters specified; in that case, turbulent flow is assumed. Choked flow can still be modeled. This is not recommended. All three diameters need to be None for this to work. FL and Fd are not used by the models when the diameters are not specified.

  References

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

  Examples

  From [R69], 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 [R69], 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=None, D2=None, d=None, FL=0.9, Fd=1, xT=0.7, allow_choked=True, allow_laminar=True, full_output=False)

  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 [R70]. 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, optional

  > Diameter of the pipe before the valve [m]

  D2 : float, optional

  > Diameter of the pipe after the valve [m]

  d : float, optional

  > Diameter of the valve [m]

  FL : float, optional

  > Liquid pressure recovery factor of a control valve without attached fittings (normally 0.8-0.9 at full open and decreasing as opened further to below 0.5; use default very cautiously!) []

  Fd : float, optional

  > Valve style modifier (0.1 to 1; varies tremendously depending on the type of valve and position; do not use the default at all!) []

  xT : float, optional

  > Pressure difference ratio factor of a valve without fittings at choked flow (increasing to 0.9 or higher as the valve is closed further and decreasing to 0.1 or lower as the valve is opened further; use default very cautiously!) [-]

  allow_choked : bool, optional

  > Overrides the automatic transition into the choked regime if this is False and returns as if choked flow does not exist

  allow_laminar : bool, optional

  > Overrides the automatic transition into the laminar regime if this is False and returns as if laminar flow does not exist

  full_output : bool, optional

  > If True, returns intermediate calculation values as well as Kv in the form of a dictionary containing ‘Kv’, ‘Rev’, ‘choked’, ‘Y’, ‘FR’, ‘FP’, ‘xTP’, and ‘laminar’. Some may be None if they are not used in the calculation.

  Returns:

  Kv : float

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

  Notes

  It is possible to use this model without any diameters specified; in that case, turbulent flow is assumed. Choked flow can still be modeled. This is not recommended. All three diameters need to be None for this to work. FL and Fd are not used by the models when the diameters are not specified, but xT definitely is used by the model.

  References

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

  Examples

  From [R70], 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 [R70], 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)

  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

  [R71] | 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)

  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

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

  Examples

  From [R72], 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)

  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.

  \[\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})\]

  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

  [R73] | 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)

  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.

  \[x \ge F_\gamma x_T\]
  \[x \ge F_\gamma x_{TP}\]

  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

  [R74] | 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)

  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

  [R75] | 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)

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

  \[\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\]

  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

  [R76] | 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)

  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:

  \[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})\]

  Otherwise :

  \[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})\]

  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

  [R77] | 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

`fluids.control_valve.``Cv_char_quick_opening`(opening)

`fluids.control_valve.``Cv_char_linear`(opening)

`fluids.control_valve.``Cv_char_equal_percentage`(opening)

`fluids.control_valve.``convert_flow_coefficient`(flow_coefficient, old_scale, new_scale)

  Convert from one flow coefficient scale to another; supports the Kv Cv, and Av scales.

  Other scales are Qn and Cg, but clear definitions have yet to be found.

  Parameters:

  flow_coefficient : float

  > Value of the flow coefficient to be converted, expressed in the original scale.

  old_scale : str

  > String specifying the original scale; one of ‘Av’, ‘Cv’, or ‘Kv’, [-]

  new_scale : str

  > String specifying the new scale; one of ‘Av’, ‘Cv’, or ‘Kv’, [-]

  Returns:

  converted_flow_coefficient : float

  > Flow coefficient converted to the specified scale.

  Notes

  Qn is a scale based on a flow of air in units of L/minute as air travels through a valve and loses one bar of pressure (initially 7 bar absolute, to 6 bar absolute). No consistent conversion factors have been found and those from theory do not match what have been found. Some uses of Qn use its flow rate as in normal (STP reference conditions) flow rate of air; others use something like the 7 bar absolute condition.

  Examples

      >>> convert_flow_coefficient(10, 'Kv', 'Av')
      0.0002776532068951358

`fluids.control_valve.``control_valve_choke_P_l`(Psat, Pc, FL, P1=None, P2=None, disp=True)

  Calculates either the upstream or downstream pressure at which choked flow though a liquid control valve occurs, given either a set upstream or downstream pressure. Implements an analytical solution of the needed equations from the full function `size_control_valve_l`. For some pressures, no choked flow is possible; for choked flow to occur the direction if flow must be reversed. If disp is True, an exception will be raised for these conditions.

  \[P_1 = \frac{F_{F} F_{L}^{2} P_{sat} - P_{2}}{F_{L}^{2} - 1}\]
  \[P_2 = F_{F} F_{L}^{2} P_{sat} - F_{L}^{2} P_{1} + P_{1}\]

  Parameters:

  Psat : float

  > Saturation pressure of the liquid at inlet temperature [Pa]

  Pc : float

  > Critical pressure of the liquid [Pa]

  FL : float, optional

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

  P1 : float, optional

  > Absolute pressure upstream of the valve [Pa]

  P2 : float, optional

  > Absolute pressure downstream of the valve [Pa]

  disp : bool, optional

  > Whether or not to raise an exception on flow reversal, [-]

  Returns:

  P_choke : float

  > Pressure at which a choke occurs in the liquid valve [Pa]

  Notes

  Extremely cheap to compute.

  Examples

      >>> control_valve_choke_P_l(69682.89291024722, 22048320.0, 0.6, 680000.0)
      458887.5306077305
      >>> control_valve_choke_P_l(69682.89291024722, 22048320.0, 0.6, P2=458887.5306077305)
      680000.0

`fluids.control_valve.``control_valve_choke_P_g`(xT, gamma, P1=None, P2=None)

  Calculates either the upstream or downstream pressure at which choked flow though a gas control valve occurs, given either a set upstream or downstream pressure. Implements an analytical solution of the needed equations from the full function `size_control_valve_g`. A singularity arises as xT goes to 1 and gamma goes to 1.4.

  \[P_1 = - \frac{7 P_{2}}{5 \gamma x_T - 7}\]
  \[P_2 = \frac{P_{1}}{7} \left(- 5 \gamma x_T + 7\right)\]

  Parameters:

  xT : float, optional

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

  gamma : float

  > Specific heat capacity ratio [-]

  P1 : float, optional

  > Absolute pressure upstream of the valve [Pa]

  P2 : float, optional

  > Absolute pressure downstream of the valve [Pa]

  Returns:

  P_choke : float

  > Pressure at which a choke occurs in the gas valve [Pa]

  Notes

  Extremely cheap to compute.

  Examples

      >>> control_valve_choke_P_g(1, 1.3, 1E5)
      7142.857142857143
      >>> control_valve_choke_P_g(1, 1.3, P2=7142.857142857143)
      100000.0

`fluids.control_valve.``control_valve_noise_l_2015`(m, P1, P2, Psat, rho, c, Kv, d, Di, FL, Fd, t_pipe, rho_pipe=7800.0, c_pipe=5000.0, rho_air=1.2, c_air=343.0, xFz=None, An=-4.6)

  Calculates the sound made by a liquid flowing through a control valve according to the standard IEC 60534-8-4 (2015) [R78].

  Parameters:

  m : float

  > Mass flow rate of liquid through the control valve, [kg/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]

  Psat : float

  > Saturation pressure of the fluid at inlet temperature [Pa]

  rho : float

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

  c : float

  > Speed of sound of the liquid at the inlet conditions [m/s]

  Kv : 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]

  Di : float

  > Internal diameter of the pipe before and after the valve [m]

  FL : float, optional

  > Liquid pressure recovery factor of a control valve without attached fittings (normally 0.8-0.9 at full open and decreasing as opened further to below 0.5) [-]

  Fd : float, optional

  > Valve style modifier [-]

  t_pipe : float

  > Wall thickness of the pipe after the valve, [m]

  rho_pipe : float, optional

  > Density of the pipe wall material at flowing conditions, [kg/m^3]

  c_pipe : float, optional

  > Speed of sound of the pipe wall material at flowing conditions, [m/s]

  rho_air : float, optional

  > Density of the air surrounding the valve and pipe wall, [kg/m^3]

  c_air : float, optional

  > Speed of sound of the air surrounding the valve and pipe wall, [m/s]

  xFz : float, optional

  > If specified, this value xFz is used instead of estimated; the calculation is sensitive to this value, [-]

  An : float, optional

  > Valve correction factor for acoustic efficiency

  Returns:

  LpAe1m : float

  > A weighted sound pressure level 1 m from the pipe wall, 1 m distance dowstream of the valve (at reference sound pressure level 2E-5), [dBA]

  Notes

  For formulas see [R78]. This takes on the order of 100 us to compute. This model can also tell if noise is being produced in a valve just due to turbulent flow, or cavitation. For values of An, see [R78]; it is normally -4.6 for globel valves, -4.3 for butterfly valves, and -4.0 for expanders.

  This model was checked against three examples in [R78]; they match to all given decimals.

  A formula is given in [R78] for multihole trim valves to estimate xFz as well; this is not implemented here and xFz must be calculated by the user separately. The formula is

  \[x_{Fz} = \left(4.5 + 1650\frac{N_0d_H^2}{F_L}\right)^{-1/2}\]

  Where N0 is the number of open channels and dH is the multihole trim hole diameter.

  References

  [R78] | (1, 2, 3, 4, 5, 6) IEC 60534-8-4 : Industrial-Process Control Valves - Part 8-4: Noise Considerations - Prediction of Noise Generated by Hydrodynamic Flow. (2015)

  Examples

      >>> control_valve_noise_l_2015(m=40, P1=1E6, P2=6.5E5, Psat=2.32E3,
      ... rho=997, c=1400, Kv=77.848, d=0.1, Di=0.1071, FL=0.92, Fd=0.42,
      ... t_pipe=0.0036, rho_pipe=7800.0, c_pipe=5000.0,rho_air=1.293,
      ... c_air=343.0, An=-4.6)
      81.58200097996539

`fluids.control_valve.``control_valve_noise_g_2011`(m, P1, P2, T1, rho, gamma, MW, Kv, d, Di, t_pipe, Fd, FL, FLP=None, FP=None, rho_pipe=7800.0, c_pipe=5000.0, P_air=101325.0, rho_air=1.2, c_air=343.0, An=-3.8, Stp=0.2, T2=None, beta=0.93)

  Calculates the sound made by a gas flowing through a control valve according to the standard IEC 60534-8-3 (2011) [R79].

  Parameters:

  m : float

  > Mass flow rate of gas through the control valve, [kg/s]

  P1 : float

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

  P2 : float

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

  T1 : float

  > Inlet gas temperature, [K]

  rho : float

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

  gamma : float

  > Specific heat capacity ratio [-]

  MW : float

  > Molecular weight of the gas [g/mol]

  Kv : 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]

  Di : float

  > Internal diameter of the pipe before and after the valve [m]

  t_pipe : float

  > Wall thickness of the pipe after the valve, [m]

  Fd : float

  > Valve style modifier (0.1 to 1; varies tremendously depending on the type of valve and position; do not use the default at all!) [-]

  FL : float

  > Liquid pressure recovery factor of a control valve without attached fittings (normally 0.8-0.9 at full open and decreasing as opened further to below 0.5; use default very cautiously!) [-]

  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 [-]

  rho_pipe : float, optional

  > Density of the pipe wall material at flowing conditions, [kg/m^3]

  c_pipe : float, optional

  > Speed of sound of the pipe wall material at flowing conditions, [m/s]

  P_air : float, optional

  > Pressure of the air surrounding the valve and pipe wall, [Pa]

  rho_air : float, optional

  > Density of the air surrounding the valve and pipe wall, [kg/m^3]

  c_air : float, optional

  > Speed of sound of the air surrounding the valve and pipe wall, [m/s]

  An : float, optional

  > Valve correction factor for acoustic efficiency

  Stp : float, optional

  > Strouhal number at the peak fp; between 0.1 and 0.3 typically, [-]

  T2 : float, optional

  > Outlet gas temperature; assumed T1 if not provided (a PH flash should be used to obtain this if possible), [K]

  beta : float, optional

  > Valve outlet / expander inlet contraction coefficient, [-]

  Returns:

  LpAe1m : float

  > A weighted sound pressure level 1 m from the pipe wall, 1 m distance dowstream of the valve (at reference sound pressure level 2E-5), [dBA]

  Notes

  For formulas see [R79]. This takes on the order of 100 us to compute. For values of An, see [R79].

  This model was checked against six examples in [R79]; they match to all given decimals.

  Several additional formulas are given for multihole trim valves, control valves with two or more fixed area stages, and multipath, multistage trim valves.

  References

  [R79] | (1, 2, 3, 4, 5) IEC 60534-8-3 : Industrial-Process Control Valves - Part 8-3: Noise Considerations - Control Valve Aerodynamic Noise Prediction Method.”

  Examples

      >>> control_valve_noise_g_2011(m=2.22, P1=1E6, P2=7.2E5, T1=450, rho=5.3,
      ... gamma=1.22, MW=19.8, Kv=77.85,  d=0.1, Di=0.2031, FL=None, FLP=0.792,
      ... FP=0.98, Fd=0.296, t_pipe=0.008, rho_pipe=8000.0, c_pipe=5000.0,
      ... rho_air=1.293, c_air=343.0, An=-3.8, Stp=0.2)
      91.67702674629604