FLOW_METER_DISCH

This function calculates mass flow rate through a differential-pressure flow meter from geometry, pressure readings, fluid density, and calibration factors. It supports multiple meter types by using the wrapped library’s meter-specific beta-ratio definition.

The governing form is:

m = \left(\frac{\pi (D\beta)^2}{4}\right) C\,\epsilon\,\frac{\sqrt{2\rho(P_1-P_2)}}{\sqrt{1-\beta^4}}

where C is discharge coefficient and \epsilon is expansibility factor. For incompressible flow, \epsilon is typically close to 1.

Excel Usage

=FLOW_METER_DISCH(D, Do, P_one, P_two, rho, C, expansibility, disch_meter_type)
  • D (float, required): Upstream internal pipe diameter (m)
  • Do (float, required): Meter characteristic diameter - orifice hole, venturi throat, cone end, or wedge height (m)
  • P_one (float, required): Static pressure upstream at pressure tap (Pa)
  • P_two (float, required): Static pressure downstream at pressure tap (Pa)
  • rho (float, required): Density of fluid at P1 (kg/m³)
  • C (float, required): Coefficient of discharge of the meter (-)
  • expansibility (float, optional, default: 1): Expansibility factor (1 for incompressible, <1 for compressible) (-)
  • disch_meter_type (str, optional, default: “ISO 5167 orifice”): Type of differential pressure flow meter

Returns (float): Mass flow rate of fluid through the meter (kg/s)

Example 1: ISO 5167 orifice with air

Inputs:

D Do P_one P_two rho C expansibility disch_meter_type
0.0739 0.0222 100000 99000 1.1646 0.5988 0.9975 ISO 5167 orifice

Excel formula:

=FLOW_METER_DISCH(0.0739, 0.0222, 100000, 99000, 1.1646, 0.5988, 0.9975, "ISO 5167 orifice")

Expected output:

0.0112039

Example 2: Machined venturi with water

Inputs:

D Do P_one P_two rho C expansibility disch_meter_type
0.1 0.06 150000 145000 998 0.995 1 machined convergent venturi tube

Excel formula:

=FLOW_METER_DISCH(0.1, 0.06, 150000, 145000, 998, 0.995, 1, "machined convergent venturi tube")

Expected output:

9.52624

Example 3: Cone meter with oil

Inputs:

D Do P_one P_two rho C disch_meter_type
0.2 0.15 300000 290000 850 0.82 cone meter

Excel formula:

=FLOW_METER_DISCH(0.2, 0.15, 300000, 290000, 850, 0.82, "cone meter")

Expected output:

51.6774

Example 4: Wedge meter

Inputs:

D Do P_one P_two rho C disch_meter_type
0.15 0.05 100000 98000 800 0.73 wedge meter

Excel formula:

=FLOW_METER_DISCH(0.15, 0.05, 100000, 98000, 800, 0.73, "wedge meter")

Expected output:

7.03989

Python Code

Show Code
from fluids.flow_meter import flow_meter_discharge

def flow_meter_disch(D, Do, P_one, P_two, rho, C, expansibility=1, disch_meter_type='ISO 5167 orifice'):
    """
    Calculate mass flow rate through a differential pressure flow meter based on measured pressures and meter geometry.

    See: https://fluids.readthedocs.io/fluids.flow_meter.html#fluids.flow_meter.flow_meter_discharge

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

    Args:
        D (float): Upstream internal pipe diameter (m)
        Do (float): Meter characteristic diameter - orifice hole, venturi throat, cone end, or wedge height (m)
        P_one (float): Static pressure upstream at pressure tap (Pa)
        P_two (float): Static pressure downstream at pressure tap (Pa)
        rho (float): Density of fluid at P1 (kg/m³)
        C (float): Coefficient of discharge of the meter (-)
        expansibility (float, optional): Expansibility factor (1 for incompressible, <1 for compressible) (-) Default is 1.
        disch_meter_type (str, optional): Type of differential pressure flow meter Valid options: ISO 5167 Orifice, Orifice, Conical Orifice, Eccentric Orifice, Segmental Orifice, Quarter Circle Orifice, ISO 15377 Conical Orifice, ISO 15377 Eccentric Orifice, ISO 15377 Quarter-circle Orifice, Miller Orifice, Miller Conical Orifice, Miller Eccentric Orifice, Miller Segmental Orifice, Miller Quarter Circle Orifice, Hollingshead Orifice, Venturi Nozzle, ISA 1932 Nozzle, Long Radius Nozzle, Machined Convergent Venturi Tube, Rough Welded Convergent Venturi Tube, As Cast Convergent Venturi Tube, Hollingshead Venturi Smooth, Hollingshead Venturi Sharp, Cone Meter, Hollingshead V Cone, Wedge Meter, Hollingshead Wedge, Unspecified Meter. Default is 'ISO 5167 orifice'.

    Returns:
        float: Mass flow rate of fluid through the meter (kg/s)
    """
    try:
      if D <= 0:
        return "Error: D (upstream diameter) must be positive."
      if Do <= 0:
        return "Error: Do (meter diameter) must be positive."
      result = flow_meter_discharge(
        D=D,
        Do=Do,
        P1=P_one,
        P2=P_two,
        rho=rho,
        C=C,
        expansibility=expansibility,
        meter_type=disch_meter_type
      )
      return float(result)
    except Exception as e:
      return f"Error: {str(e)}"

Online Calculator

Upstream internal pipe diameter (m)
Meter characteristic diameter - orifice hole, venturi throat, cone end, or wedge height (m)
Static pressure upstream at pressure tap (Pa)
Static pressure downstream at pressure tap (Pa)
Density of fluid at P1 (kg/m³)
Coefficient of discharge of the meter (-)
Expansibility factor (1 for incompressible, <1 for compressible) (-)
Type of differential pressure flow meter