DIFF_PRESS_C_EPS

Overview

Calculate discharge coefficient and expansibility factor for differential pressure flow meters.

Excel Usage

=DIFF_PRESS_C_EPS(D, D_two, m, P_one, P_two, rho, mu, k, c_eps_meter_type)
  • D (float, required): Upstream internal pipe diameter (m)
  • D_two (float, required): Orifice or meter characteristic diameter (m)
  • m (float, required): Mass flow rate through the meter (kg/s)
  • P_one (float, required): Static pressure upstream of meter at pressure tap (Pa)
  • P_two (float, required): Static pressure downstream of meter at pressure tap (Pa)
  • rho (float, required): Density of fluid at P1 (kg/m³)
  • mu (float, required): Viscosity of fluid at P1 (Pa·s)
  • k (float, required): Isentropic exponent of fluid (-)
  • c_eps_meter_type (str, optional, default: “ISO 5167 orifice”): Type of differential pressure flow meter

Returns (list[list]): 2D list containing discharge coefficient and expansibility factor [[C, epsilon]]

Examples

Example 1: ISO 5167 orifice with air flow

Inputs:

D D_two m P_one P_two rho mu k c_eps_meter_type
0.07366 0.05 7.702338 200000 183000 999.1 0.0011 1.33 ISO 5167 orifice

Excel formula:

=DIFF_PRESS_C_EPS(0.07366, 0.05, 7.702338, 200000, 183000, 999.1, 0.0011, 1.33, "ISO 5167 orifice")

Expected output:

Result
0.6098 0.9711

Example 2: Machined venturi tube

Inputs:

D D_two m P_one P_two rho mu k c_eps_meter_type
0.1 0.06 5 150000 140000 1000 0.001 1.4 machined convergent venturi tube

Excel formula:

=DIFF_PRESS_C_EPS(0.1, 0.06, 5, 150000, 140000, 1000, 0.001, 1.4, "machined convergent venturi tube")

Expected output:

Result
0.995 0.957

Example 3: V-cone meter

Inputs:

D D_two m P_one P_two rho mu k c_eps_meter_type
0.2 0.15 10 300000 280000 850 0.002 1.3 cone meter

Excel formula:

=DIFF_PRESS_C_EPS(0.2, 0.15, 10, 300000, 280000, 850, 0.002, 1.3, "cone meter")

Expected output:

Result
0.82 0.9599

Example 4: Wedge flow meter

Inputs:

D D_two m P_one P_two rho mu k c_eps_meter_type
0.15 0.05 3 100000 95000 800 0.0015 1.35 wedge meter

Excel formula:

=DIFF_PRESS_C_EPS(0.15, 0.05, 3, 100000, 95000, 800, 0.0015, 1.35, "wedge meter")

Expected output:

Result
0.7214 0.9686

Python Code

import micropip
await micropip.install(["fluids"])
from fluids.flow_meter import differential_pressure_meter_C_epsilon

def diff_press_c_eps(D, D_two, m, P_one, P_two, rho, mu, k, c_eps_meter_type='ISO 5167 orifice'):
    """
    Calculate discharge coefficient and expansibility factor for differential pressure flow meters.

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

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

    Args:
        D (float): Upstream internal pipe diameter (m)
        D_two (float): Orifice or meter characteristic diameter (m)
        m (float): Mass flow rate through the meter (kg/s)
        P_one (float): Static pressure upstream of meter at pressure tap (Pa)
        P_two (float): Static pressure downstream of meter at pressure tap (Pa)
        rho (float): Density of fluid at P1 (kg/m³)
        mu (float): Viscosity of fluid at P1 (Pa·s)
        k (float): Isentropic exponent of fluid (-)
        c_eps_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:
        list[list]: 2D list containing discharge coefficient and expansibility factor [[C, epsilon]]
    """
    try:
        result = differential_pressure_meter_C_epsilon(
            D=D,
            D2=D_two,
            m=m,
            P1=P_one,
            P2=P_two,
            rho=rho,
            mu=mu,
            k=k,
            meter_type=c_eps_meter_type,
            taps=None,
            tap_position=None,
            C_specified=None,
            epsilon_specified=None
        )

        # Result is a tuple (C, epsilon) - return as 2D list
        C, epsilon = result
        return [[float(C), float(epsilon)]]
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator