ORIFICE_EXPAND

This function calculates the orifice-plate expansibility factor \epsilon, which corrects differential-pressure flow equations for gas compressibility. The factor depends on beta ratio, pressure ratio, and isentropic exponent.

The implemented relation is:

\epsilon = 1 - \left(0.351 + 0.256\beta^4 + 0.93\beta^8\right)\left[1-\left(\frac{P_2}{P_1}\right)^{1/k}\right]

with \beta = D_o/D. For nearly incompressible behavior or small pressure drops, \epsilon approaches 1.

Excel Usage

=ORIFICE_EXPAND(pipe_diameter, orifice_diameter, upstream_pressure, downstream_pressure, isentropic_exponent)
  • pipe_diameter (float, required): Upstream internal pipe diameter (m)
  • orifice_diameter (float, required): Diameter of orifice at flow conditions (m)
  • upstream_pressure (float, required): Static pressure upstream of orifice (Pa)
  • downstream_pressure (float, required): Static pressure downstream of orifice (Pa)
  • isentropic_exponent (float, required): Isentropic exponent of fluid (dimensionless)

Returns (float): Expansibility factor (1 for incompressible fluids, less than 1 for compressible fluids), dimensionless [-]

Example 1: Standard orifice with air flow

Inputs:

pipe_diameter orifice_diameter upstream_pressure downstream_pressure isentropic_exponent
0.0739 0.0222 100000 99000 1.4

Excel formula:

=ORIFICE_EXPAND(0.0739, 0.0222, 100000, 99000, 1.4)

Expected output:

0.997474

Example 2: High pressure drop case

Inputs:

pipe_diameter orifice_diameter upstream_pressure downstream_pressure isentropic_exponent
0.1 0.05 1000000 900000 1.3

Excel formula:

=ORIFICE_EXPAND(0.1, 0.05, 1000000, 900000, 1.3)

Expected output:

0.971147

Example 3: Low pressure drop case

Inputs:

pipe_diameter orifice_diameter upstream_pressure downstream_pressure isentropic_exponent
0.1 0.05 200000 199000 1.4

Excel formula:

=ORIFICE_EXPAND(0.1, 0.05, 200000, 199000, 1.4)

Expected output:

0.998675

Example 4: Nearly incompressible fluid

Inputs:

pipe_diameter orifice_diameter upstream_pressure downstream_pressure isentropic_exponent
0.1 0.05 200000 199500 1.4

Excel formula:

=ORIFICE_EXPAND(0.1, 0.05, 200000, 199500, 1.4)

Expected output:

0.999338

Python Code

Show Code
from fluids.flow_meter import orifice_expansibility as fluids_orifice_expansibility

def orifice_expand(pipe_diameter, orifice_diameter, upstream_pressure, downstream_pressure, isentropic_exponent):
    """
    Calculate the expansibility factor for an orifice plate based on geometry and pressure conditions.

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

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

    Args:
        pipe_diameter (float): Upstream internal pipe diameter (m)
        orifice_diameter (float): Diameter of orifice at flow conditions (m)
        upstream_pressure (float): Static pressure upstream of orifice (Pa)
        downstream_pressure (float): Static pressure downstream of orifice (Pa)
        isentropic_exponent (float): Isentropic exponent of fluid (dimensionless)

    Returns:
        float: Expansibility factor (1 for incompressible fluids, less than 1 for compressible fluids), dimensionless [-]
    """
    try:
      pipe_diameter = float(pipe_diameter)
      orifice_diameter = float(orifice_diameter)
      upstream_pressure = float(upstream_pressure)
      downstream_pressure = float(downstream_pressure)
      isentropic_exponent = float(isentropic_exponent)

      if pipe_diameter <= 0:
        return "Error: Pipe_diameter must be positive."
      if orifice_diameter <= 0:
        return "Error: Orifice_diameter must be positive."
      if orifice_diameter >= pipe_diameter:
        return "Error: Orifice_diameter must be less than pipe_diameter."
      if upstream_pressure <= 0:
        return "Error: Upstream_pressure must be positive."
      if downstream_pressure <= 0:
        return "Error: Downstream_pressure must be positive."
      if isentropic_exponent <= 0:
        return "Error: Isentropic_exponent must be positive."

      result = fluids_orifice_expansibility(
        D=pipe_diameter,
        Do=orifice_diameter,
        P1=upstream_pressure,
        P2=downstream_pressure,
        k=isentropic_exponent
      )
      return float(result)
    except (TypeError, ValueError):
      return "Error: All parameters must be valid numbers."
    except Exception as e:
      return f"Error: {str(e)}"

Online Calculator

Upstream internal pipe diameter (m)
Diameter of orifice at flow conditions (m)
Static pressure upstream of orifice (Pa)
Static pressure downstream of orifice (Pa)
Isentropic exponent of fluid (dimensionless)