DIFF_PRESS_DP
This function computes the permanent (non-recoverable) pressure loss across a differential-pressure flow meter from upstream and downstream measured pressures, geometry, and meter type. Unlike the instantaneous differential pressure used for flow calculation, this value reflects irreversible energy dissipation.
The quantity is commonly represented as:
\Delta P_{\text{loss}} = f\left(D, D_2, P_1, P_2, C, \text{meter type}\right)
The underlying library applies meter-specific loss correlations, including special handling for orifice, venturi, cone, and wedge geometries.
Excel Usage
=DIFF_PRESS_DP(D, D_two, P_one, P_two, C, dp_meter_type)
D(float, required): Upstream internal pipe diameter (m)D_two(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)C(float, optional, default: 0.6): Coefficient of discharge (required for orifice plates and venturi nozzles) (-)dp_meter_type(str, optional, default: “ISO 5167 orifice”): Type of differential pressure flow meter
Returns (float): Non-recoverable pressure drop of the flow meter (Pa)
Example 1: As-cast venturi tube pressure drop
Inputs:
| D | D_two | P_one | P_two | dp_meter_type |
|---|---|---|---|---|
| 0.07366 | 0.05 | 200000 | 183000 | as cast convergent venturi tube |
Excel formula:
=DIFF_PRESS_DP(0.07366, 0.05, 200000, 183000, "as cast convergent venturi tube")
Expected output:
1788.57
Example 2: Cone meter pressure drop
Inputs:
| D | D_two | P_one | P_two | dp_meter_type |
|---|---|---|---|---|
| 0.25 | 0.18 | 1000000 | 950000 | cone meter |
Excel formula:
=DIFF_PRESS_DP(0.25, 0.18, 1000000, 950000, "cone meter")
Expected output:
26290
Example 3: Wedge meter pressure drop
Inputs:
| D | D_two | P_one | P_two | dp_meter_type |
|---|---|---|---|---|
| 0.2 | 0.14 | 1000000 | 950000 | wedge meter |
Excel formula:
=DIFF_PRESS_DP(0.2, 0.14, 1000000, 950000, "wedge meter")
Expected output:
20344.8
Example 4: Orifice with discharge coefficient
Inputs:
| D | D_two | P_one | P_two | C | dp_meter_type |
|---|---|---|---|---|---|
| 0.1 | 0.05 | 150000 | 145000 | 0.61 | ISO 5167 orifice |
Excel formula:
=DIFF_PRESS_DP(0.1, 0.05, 150000, 145000, 0.61, "ISO 5167 orifice")
Expected output:
3653.64
Python Code
Show Code
from fluids.flow_meter import differential_pressure_meter_dP
def diff_press_dp(D, D_two, P_one, P_two, C=0.6, dp_meter_type='ISO 5167 orifice'):
"""
Calculate non-recoverable pressure drop across a differential pressure flow meter.
See: https://fluids.readthedocs.io/fluids.flow_meter.html#fluids.flow_meter.differential_pressure_meter_dP
This example function is provided as-is without any representation of accuracy.
Args:
D (float): Upstream internal pipe diameter (m)
D_two (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)
C (float, optional): Coefficient of discharge (required for orifice plates and venturi nozzles) (-) Default is 0.6.
dp_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: Non-recoverable pressure drop of the flow meter (Pa)
"""
try:
if D <= 0:
return "Error: D (upstream diameter) must be positive."
if D_two <= 0:
return "Error: D_two (meter diameter) must be positive."
result = differential_pressure_meter_dP(
D=D,
D2=D_two,
P1=P_one,
P2=P_two,
C=C,
meter_type=dp_meter_type
)
return float(result)
except Exception as e:
return f"Error: {str(e)}"