CV_NOISE_LIQ_2015
This function predicts hydrodynamic control-valve noise for liquid service using the IEC 60534-8-4 (2015) method. It returns the A-weighted sound pressure level at 1 m downstream of the valve, using operating pressures, liquid properties, valve capacity, and pipe/acoustic parameters.
Sound level is represented on a logarithmic decibel scale:
L_p = 20\log_{10}\left(\frac{p_{\mathrm{rms}}}{p_0}\right)
with reference pressure p_0=2\times10^{-5} Pa. The optional cavitation sensitivity factor x_{Fz} can be supplied directly when available.
Excel Usage
=CV_NOISE_LIQ_2015(m, p_in, p_out, psat, rho, c, kv, d, di, fl, fd, t_pipe, rho_pipe, c_pipe, rho_air, c_air, xfz, an)
m(float, required): Mass flow rate of liquid through the control valve (kg/s)p_in(float, required): Inlet pressure of the fluid before valves and reducers (Pa)p_out(float, required): Outlet pressure of the fluid after valves and reducers (Pa)psat(float, required): Saturation pressure of the fluid at inlet temperature (Pa)rho(float, required): Density of the liquid at the inlet (kg/m^3)c(float, required): Speed of sound of the liquid at the inlet conditions (m/s)kv(float, required): Metric Kv valve flow coefficient (m^3/hr)d(float, required): Diameter of the valve (m)di(float, required): Internal diameter of the pipe before and after the valve (m)fl(float, required): Liquid pressure recovery factor (-)fd(float, required): Valve style modifier (-)t_pipe(float, required): Wall thickness of the pipe after the valve (m)rho_pipe(float, optional, default: 7800): Density of the pipe wall material at flowing conditions (kg/m^3)c_pipe(float, optional, default: 5000): Speed of sound of the pipe wall material at flowing conditions (m/s)rho_air(float, optional, default: 1.293): Density of the air surrounding the valve and pipe wall (kg/m^3)c_air(float, optional, default: 343): Speed of sound of the air surrounding the valve and pipe wall (m/s)xfz(float, optional, default: null): If specified, this value is used instead of estimated (-)an(float, optional, default: -4.6): Valve correction factor for acoustic efficiency (-)
Returns (float): A-weighted sound pressure level at 1 meter (dB), or an error message (str) if input is invalid.
Example 1: Basic noise calculation with default parameters
Inputs:
| m | p_in | p_out | psat | rho | c | kv | d | di | fl | fd | t_pipe | rho_pipe | c_pipe | rho_air | c_air | an |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 40 | 1000000 | 650000 | 2320 | 997 | 1400 | 77.848 | 0.1 | 0.1071 | 0.92 | 0.42 | 0.0036 | 7800 | 5000 | 1.293 | 343 | -4.6 |
Excel formula:
=CV_NOISE_LIQ_2015(40, 1000000, 650000, 2320, 997, 1400, 77.848, 0.1, 0.1071, 0.92, 0.42, 0.0036, 7800, 5000, 1.293, 343, -4.6)
Expected output:
81.582
Example 2: Noise calculation with specified xFz value
Inputs:
| m | p_in | p_out | psat | rho | c | kv | d | di | fl | fd | t_pipe | xfz |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 50 | 1500000 | 850000 | 3200 | 995 | 1350 | 90 | 0.12 | 0.127 | 0.88 | 0.38 | 0.004 | 0.05 |
Excel formula:
=CV_NOISE_LIQ_2015(50, 1500000, 850000, 3200, 995, 1350, 90, 0.12, 0.127, 0.88, 0.38, 0.004, 0.05)
Expected output:
117.24
Example 3: Noise calculation with different An correction factor
Inputs:
| m | p_in | p_out | psat | rho | c | kv | d | di | fl | fd | t_pipe | an |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 30 | 1200000 | 720000 | 2500 | 1000 | 1450 | 65 | 0.08 | 0.0889 | 0.9 | 0.4 | 0.003 | -4 |
Excel formula:
=CV_NOISE_LIQ_2015(30, 1200000, 720000, 2500, 1000, 1450, 65, 0.08, 0.0889, 0.9, 0.4, 0.003, -4)
Expected output:
92.1424
Example 4: Noise calculation with only required parameters
Inputs:
| m | p_in | p_out | psat | rho | c | kv | d | di | fl | fd | t_pipe |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 25 | 1000000 | 700000 | 2000 | 998 | 1420 | 55 | 0.09 | 0.095 | 0.85 | 0.45 | 0.0035 |
Excel formula:
=CV_NOISE_LIQ_2015(25, 1000000, 700000, 2000, 998, 1420, 55, 0.09, 0.095, 0.85, 0.45, 0.0035)
Expected output:
72.6988
Python Code
Show Code
from fluids.control_valve import control_valve_noise_l_2015 as fluids_control_valve_noise_l_2015
import math
def cv_noise_liq_2015(m, p_in, p_out, psat, rho, c, kv, d, di, fl, fd, t_pipe, rho_pipe=7800, c_pipe=5000, rho_air=1.293, c_air=343, 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) using fluids.control_valve.control_valve_noise_l_2015.
See: https://fluids.readthedocs.io/fluids.control_valve.html#fluids.control_valve.control_valve_noise_l_2015
This example function is provided as-is without any representation of accuracy.
Args:
m (float): Mass flow rate of liquid through the control valve (kg/s)
p_in (float): Inlet pressure of the fluid before valves and reducers (Pa)
p_out (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 (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): Liquid pressure recovery factor (-)
fd (float): 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) Default is 7800.
c_pipe (float, optional): Speed of sound of the pipe wall material at flowing conditions (m/s) Default is 5000.
rho_air (float, optional): Density of the air surrounding the valve and pipe wall (kg/m^3) Default is 1.293.
c_air (float, optional): Speed of sound of the air surrounding the valve and pipe wall (m/s) Default is 343.
xfz (float, optional): If specified, this value is used instead of estimated (-) Default is None.
an (float, optional): Valve correction factor for acoustic efficiency (-) Default is -4.6.
Returns:
float: A-weighted sound pressure level at 1 meter (dB), or an error message (str) if input is invalid.
"""
try:
# Validate and convert input parameters to float
try:
m = float(m)
p_in = float(p_in)
p_out = float(p_out)
psat = float(psat)
rho = float(rho)
c = float(c)
kv = float(kv)
d = float(d)
di = float(di)
fl = float(fl)
fd = float(fd)
t_pipe = float(t_pipe)
rho_pipe = float(rho_pipe)
c_pipe = float(c_pipe)
rho_air = float(rho_air)
c_air = float(c_air)
if xfz is not None:
xfz = float(xfz)
an = float(an)
except (TypeError, ValueError):
return "Error: All parameters must be numeric values."
# Check for non-finite values
values = [m, p_in, p_out, psat, rho, c, kv, d, di, fl, fd, t_pipe, rho_pipe, c_pipe, rho_air, c_air, an]
if xfz is not None:
values.append(xfz)
if any(not math.isfinite(v) for v in values):
return "Error: All parameters must be finite numbers."
# Call the fluids package implementation
try:
result = fluids_control_valve_noise_l_2015(
m=m,
P1=p_in,
P2=p_out,
Psat=psat,
rho=rho,
c=c,
Kv=kv,
d=d,
Di=di,
FL=fl,
Fd=fd,
t_pipe=t_pipe,
rho_pipe=rho_pipe,
c_pipe=c_pipe,
rho_air=rho_air,
c_air=c_air,
xFz=xfz,
An=an
)
return result
except Exception as exc:
return f"Error: Failed to compute liquid noise: {exc}"
except Exception as e:
return f"Error: {str(e)}"