ORIFICE_EXPAND

Overview

Calculate the expansibility factor for an orifice plate based on geometry and pressure conditions.

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 [-]

Examples

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:

Result
0.9975

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:

Result
0.9711

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:

Result
0.9987

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:

Result
0.9993

Python Code

import micropip
await micropip.install(["fluids"])
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)
    except (TypeError, ValueError):
        return "Error: All parameters must be valid numbers."

    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."

    try:
        result = fluids_orifice_expansibility(
            D=pipe_diameter,
            Do=orifice_diameter,
            P1=upstream_pressure,
            P2=downstream_pressure,
            k=isentropic_exponent
        )
        return float(result)
    except Exception as e:
        return f"Calculation error: {str(e)}"

Online Calculator