DIFFUSER_SHARP
Computes the loss coefficient for a sudden expansion from a smaller to a larger pipe diameter.
The classical expression uses the diameter ratio term, commonly represented by K = (1-\beta^2)^2 with \beta = D_1/D_2, while alternate methods may include Reynolds effects.
The output is a dimensionless minor-loss coefficient for expansion pressure-drop calculations.
Excel Usage
=DIFFUSER_SHARP(Di_small, Di_large, Re, diff_sharp_method)
Di_small(float, required): Inside diameter of original (smaller) pipe [m]Di_large(float, required): Inside diameter of following (larger) pipe [m]Re(float, optional, default: 100000): Reynolds number in the smaller pipe (used for Hooper method) [-]diff_sharp_method(str, optional, default: “Rennels”): Calculation method
Returns (float): Loss coefficient K for the sudden expansion [-]
Example 1: Basic sudden expansion (0.5m to 1m)
Inputs:
| Di_small | Di_large |
|---|---|
| 0.5 | 1 |
Excel formula:
=DIFFUSER_SHARP(0.5, 1)
Expected output:
0.5625
Example 2: Small expansion ratio
Inputs:
| Di_small | Di_large |
|---|---|
| 0.08 | 0.1 |
Excel formula:
=DIFFUSER_SHARP(0.08, 0.1)
Expected output:
0.1296
Example 3: Sudden expansion with Hooper method
Inputs:
| Di_small | Di_large | Re | diff_sharp_method |
|---|---|---|---|
| 0.5 | 1 | 100000 | Hooper |
Excel formula:
=DIFFUSER_SHARP(0.5, 1, 100000, "Hooper")
Expected output:
0.570595
Example 4: Large expansion ratio
Inputs:
| Di_small | Di_large |
|---|---|
| 0.1 | 0.5 |
Excel formula:
=DIFFUSER_SHARP(0.1, 0.5)
Expected output:
0.9216
Python Code
Show Code
from fluids.fittings import diffuser_sharp as fluids_diffuser_sharp
def diffuser_sharp(Di_small, Di_large, Re=100000, diff_sharp_method='Rennels'):
"""
Calculate the loss coefficient (K) for a sudden pipe expansion (diffuser).
See: https://fluids.readthedocs.io/fluids.fittings.html#fluids.fittings.diffuser_sharp
This example function is provided as-is without any representation of accuracy.
Args:
Di_small (float): Inside diameter of original (smaller) pipe [m]
Di_large (float): Inside diameter of following (larger) pipe [m]
Re (float, optional): Reynolds number in the smaller pipe (used for Hooper method) [-] Default is 100000.
diff_sharp_method (str, optional): Calculation method Valid options: Rennels, Hooper. Default is 'Rennels'.
Returns:
float: Loss coefficient K for the sudden expansion [-]
"""
try:
try:
Di1 = float(Di_small)
Di2 = float(Di_large)
Re = float(Re)
except (ValueError, TypeError):
return "Error: Di_small, Di_large, and Re must be numbers."
if Di1 <= 0 or Di2 <= 0:
return "Error: Diameters must be positive."
if Di1 >= Di2:
return "Error: Di_small must be less than Di_large."
if Re <= 0:
return "Error: Re must be positive."
kwargs = {'Di1': Di1, 'Di2': Di2, 'method': diff_sharp_method}
if diff_sharp_method == 'Hooper':
kwargs['Re'] = Re
result = fluids_diffuser_sharp(**kwargs)
return float(result)
except Exception as e:
return f"Error: {str(e)}"Online Calculator
Inside diameter of original (smaller) pipe [m]
Inside diameter of following (larger) pipe [m]
Reynolds number in the smaller pipe (used for Hooper method) [-]
Calculation method