CV_NOISE_GAS_2011

This function estimates aerodynamic control-valve noise for gas service using the IEC 60534-8-3 (2011) method. It computes the A-weighted sound pressure level at 1 m from the downstream pipe wall based on flow rate, pressures, thermophysical properties, valve coefficient, and piping geometry.

The reported noise level is expressed in decibels using the logarithmic sound-pressure relation:

L_p = 20\log_{10}\left(\frac{p_{\mathrm{rms}}}{p_0}\right)

where p_0=2\times10^{-5} Pa is the reference sound pressure. Optional coefficients such as attached-fitting recovery factors and outlet temperature can be provided to refine the prediction.

Excel Usage

=CV_NOISE_GAS_2011(m, p_in, p_out, t_in, rho, gamma, mw, kv, d, di, t_pipe, fd, fl, flp, fp, rho_pipe, c_pipe, p_air, rho_air, c_air, an, stp, t_out, beta)
  • m (float, required): Mass flow rate of gas through the control valve (kg/s)
  • p_in (float, required): Inlet pressure of the gas before valves and reducers (Pa)
  • p_out (float, required): Outlet pressure of the gas after valves and reducers (Pa)
  • t_in (float, required): Inlet gas temperature (K)
  • rho (float, required): Density of the gas at the inlet (kg/m³)
  • gamma (float, required): Specific heat capacity ratio (dimensionless)
  • mw (float, required): Molecular weight of the gas (g/mol)
  • kv (float, required): Metric Kv valve flow coefficient (m³/hr)
  • d (float, required): Diameter of the valve (m)
  • di (float, required): Internal diameter of the pipe before and after the valve (m)
  • t_pipe (float, required): Wall thickness of the pipe after the valve (m)
  • fd (float, required): Valve style modifier (dimensionless)
  • fl (float, optional, default: null): Liquid pressure recovery factor without attached fittings; provide this or flp (dimensionless)
  • flp (float, optional, default: null): Liquid pressure recovery factor with piping geometry factor (dimensionless)
  • fp (float, optional, default: null): Piping geometry factor (dimensionless)
  • rho_pipe (float, optional, default: 7800): Density of the pipe wall material (kg/m³)
  • c_pipe (float, optional, default: 5000): Speed of sound in the pipe wall material (m/s)
  • p_air (float, optional, default: 101325): Standard atmospheric pressure (Pa)
  • rho_air (float, optional, default: 1.2): Density of air at standard conditions (kg/m³)
  • c_air (float, optional, default: 343): Speed of sound in air (m/s)
  • an (float, optional, default: -3.8): Constant for gas noise calculation
  • stp (float, optional, default: 0.2): Strouhal number for gas noise calculation
  • t_out (float, optional, default: null): Outlet gas temperature (K)
  • beta (float, optional, default: 0.93): Correction factor for gas properties

Returns (float): LpAe1m - A-weighted sound pressure level [dB], or an error message (str) if input is invalid.

Example 1: IEC example-style gas noise calculation with attached fittings only

Inputs:

m p_in p_out t_in rho gamma mw kv d di t_pipe fd flp fp rho_pipe rho_air
2.22 1000000 720000 450 5.3 1.22 19.8 77.85 0.1 0.2031 0.008 0.296 0.792 0.98 8000 1.293

Excel formula:

=CV_NOISE_GAS_2011(2.22, 1000000, 720000, 450, 5.3, 1.22, 19.8, 77.85, 0.1, 0.2031, 0.008, 0.296, 0.792, 0.98, 8000, 1.293)

Expected output:

91.677

Example 2: Lower pressure-drop gas noise scenario

Inputs:

m p_in p_out t_in rho gamma mw kv d di t_pipe fd fl
1.5 800000 700000 300 3 1.3 20 50 0.08 0.15 0.006 0.3 0.8

Excel formula:

=CV_NOISE_GAS_2011(1.5, 800000, 700000, 300, 3, 1.3, 20, 50, 0.08, 0.15, 0.006, 0.3, 0.8)

Expected output:

80.131

Example 3: Higher flow and pressure-drop gas noise scenario

Inputs:

m p_in p_out t_in rho gamma mw kv d di t_pipe fd fl flp fp
3 1200000 600000 500 6 1.25 18 100 0.12 0.25 0.01 0.25 0.75 0.8 0.95

Excel formula:

=CV_NOISE_GAS_2011(3, 1200000, 600000, 500, 6, 1.25, 18, 100, 0.12, 0.25, 0.01, 0.25, 0.75, 0.8, 0.95)

Expected output:

97.5904

Example 4: Low-flow gas noise scenario

Inputs:

m p_in p_out t_in rho gamma mw kv d di t_pipe fd fl
0.5 500000 400000 293 1.2 1.4 28.96 20 0.05 0.1 0.004 0.4 0.85

Excel formula:

=CV_NOISE_GAS_2011(0.5, 500000, 400000, 293, 1.2, 1.4, 28.96, 20, 0.05, 0.1, 0.004, 0.4, 0.85)

Expected output:

73.4581

Python Code

Show Code
import math
from fluids.control_valve import control_valve_noise_g_2011 as fluids_control_valve_noise_g_2011

def cv_noise_gas_2011(m, p_in, p_out, t_in, rho, gamma, mw, kv, d, di, t_pipe, fd, fl=None, flp=None, fp=None, rho_pipe=7800, c_pipe=5000, p_air=101325, rho_air=1.2, c_air=343, an=-3.8, stp=0.2, t_out=None, beta=0.93):
    """
    Calculate the A-weighted sound pressure level for gas flow through a control valve per IEC 60534-8-3 (2011).

    See: https://fluids.readthedocs.io/fluids.control_valve.html#fluids.control_valve.control_valve_noise_g_2011

    This example function is provided as-is without any representation of accuracy.

    Args:
        m (float): Mass flow rate of gas through the control valve (kg/s)
        p_in (float): Inlet pressure of the gas before valves and reducers (Pa)
        p_out (float): Outlet pressure of the gas after valves and reducers (Pa)
        t_in (float): Inlet gas temperature (K)
        rho (float): Density of the gas at the inlet (kg/m³)
        gamma (float): Specific heat capacity ratio (dimensionless)
        mw (float): Molecular weight of the gas (g/mol)
        kv (float): Metric Kv valve flow coefficient (m³/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 (dimensionless)
        fl (float, optional): Liquid pressure recovery factor without attached fittings; provide this or flp (dimensionless) Default is None.
        flp (float, optional): Liquid pressure recovery factor with piping geometry factor (dimensionless) Default is None.
        fp (float, optional): Piping geometry factor (dimensionless) Default is None.
        rho_pipe (float, optional): Density of the pipe wall material (kg/m³) Default is 7800.
        c_pipe (float, optional): Speed of sound in the pipe wall material (m/s) Default is 5000.
        p_air (float, optional): Standard atmospheric pressure (Pa) Default is 101325.
        rho_air (float, optional): Density of air at standard conditions (kg/m³) Default is 1.2.
        c_air (float, optional): Speed of sound in air (m/s) Default is 343.
        an (float, optional): Constant for gas noise calculation Default is -3.8.
        stp (float, optional): Strouhal number for gas noise calculation Default is 0.2.
        t_out (float, optional): Outlet gas temperature (K) Default is None.
        beta (float, optional): Correction factor for gas properties Default is 0.93.

    Returns:
        float: LpAe1m - A-weighted sound pressure level [dB], or an error message (str) if input is invalid.
    """
    try:
      # Validate required inputs
      required_params = [m, p_in, p_out, t_in, rho, gamma, mw, kv, d, di, t_pipe, fd]
      if not all(isinstance(x, (int, float)) for x in required_params):
        return "Error: All required parameters must be numeric."

      if any(not math.isfinite(x) for x in required_params):
        return "Error: All required parameters must be finite numbers."

      if m < 0:
        return "Error: Mass flow rate (m) must be non-negative."
      if p_in <= 0 or p_out <= 0:
        return "Error: Pressures must be positive."
      if t_in <= 0:
        return "Error: Inlet temperature (t_in) must be positive."
      if rho <= 0:
        return "Error: Gas density (rho) must be positive."
      if gamma <= 0:
        return "Error: Specific heat capacity ratio (gamma) must be positive."
      if mw <= 0:
        return "Error: Molecular weight (mw) must be positive."
      if kv <= 0:
        return "Error: Valve flow coefficient (kv) must be positive."
      if d <= 0:
        return "Error: Valve diameter (d) must be positive."
      if di <= 0:
        return "Error: Pipe internal diameter (di) must be positive."
      if t_pipe <= 0:
        return "Error: Pipe wall thickness (t_pipe) must be positive."
      if fd <= 0:
        return "Error: Valve style modifier (fd) must be positive."

      # Validate optional numeric inputs with defaults
      other_numeric_params = [rho_pipe, c_pipe, p_air, rho_air, c_air, an, stp, beta]
      if not all(isinstance(x, (int, float)) for x in other_numeric_params):
        return "Error: All numeric parameters must be numeric."

      if any(not math.isfinite(x) for x in other_numeric_params):
        return "Error: All numeric parameters must be finite numbers."

      if rho_pipe <= 0 or c_pipe <= 0 or p_air <= 0 or rho_air <= 0 or c_air <= 0:
        return "Error: Material property values must be positive."

      # Validate optional parameters without defaults
      if fl is None and flp is None:
        return "Error: Either fl or flp must be provided."
      if fl is not None:
        if not isinstance(fl, (int, float)) or not math.isfinite(fl) or fl <= 0:
          return "Error: fl must be a positive finite number if provided."
      if flp is not None:
        if not isinstance(flp, (int, float)) or not math.isfinite(flp) or flp <= 0:
          return "Error: flp must be a positive finite number if provided."
      if fp is not None:
        if not isinstance(fp, (int, float)) or not math.isfinite(fp) or fp <= 0:
          return "Error: fp must be a positive finite number if provided."
      if t_out is not None:
        if not isinstance(t_out, (int, float)) or not math.isfinite(t_out) or t_out <= 0:
          return "Error: Outlet temperature (t_out) must be a positive finite number if provided."

      try:
        # Prepare the function call with all parameters
        kwargs = {
          'm': m, 'P1': p_in, 'P2': p_out, 'T1': t_in, 'rho': rho, 'gamma': gamma, 'MW': mw,
          'Kv': kv, 'd': d, 'Di': di, 't_pipe': t_pipe, 'Fd': fd, 'FL': fl,
          'rho_pipe': rho_pipe, 'c_pipe': c_pipe, 'P_air': p_air,
          'rho_air': rho_air, 'c_air': c_air, 'An': an, 'Stp': stp, 'beta': beta
        }

        # Add optional parameters if they are provided
        if flp is not None:
          kwargs['FLP'] = flp
        if fp is not None:
          kwargs['FP'] = fp
        if t_out is not None:
          kwargs['T2'] = t_out

        result = fluids_control_valve_noise_g_2011(**kwargs)
        if not math.isfinite(result):
          return "Error: Function returned non-finite value."
        return result
      except Exception as e:
        return f"Error: Failed to compute gas noise: {str(e)}"
    except Exception as e:
      return f"Error: {str(e)}"

Online Calculator

Mass flow rate of gas through the control valve (kg/s)
Inlet pressure of the gas before valves and reducers (Pa)
Outlet pressure of the gas after valves and reducers (Pa)
Inlet gas temperature (K)
Density of the gas at the inlet (kg/m³)
Specific heat capacity ratio (dimensionless)
Molecular weight of the gas (g/mol)
Metric Kv valve flow coefficient (m³/hr)
Diameter of the valve (m)
Internal diameter of the pipe before and after the valve (m)
Wall thickness of the pipe after the valve (m)
Valve style modifier (dimensionless)
Liquid pressure recovery factor without attached fittings; provide this or flp (dimensionless)
Liquid pressure recovery factor with piping geometry factor (dimensionless)
Piping geometry factor (dimensionless)
Density of the pipe wall material (kg/m³)
Speed of sound in the pipe wall material (m/s)
Standard atmospheric pressure (Pa)
Density of air at standard conditions (kg/m³)
Speed of sound in air (m/s)
Constant for gas noise calculation
Strouhal number for gas noise calculation
Outlet gas temperature (K)
Correction factor for gas properties