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)}"