HP Prime: Hagen-Poiseuille Law
The Hagen-Poiseuille Law relates flow of water with the change in pressure in the pipe:
Q = K × D^4 × ΔP / (μ × L) where:
K = constant = π / 128 (dependent on the pipe’s diameter)
D = diameter of the pipe (in m)
L = length of the pipe (in m)
ΔP = change in pressure (in Pa)
Q = flow rate (in m^3/s)
μ = viscosity of water (Pa a)
Short Table of Viscosity of Water
Temperature |
Viscosity of Water (mPa s) |
5 °C (41 °F) |
1.5182 |
10 °C (50 °F) |
1.3059 |
15 °C (59 °F) |
1.1375 |
20 °C (68 °F) |
1.0016 |
25 °C (77 °F) |
0.89 |
30 °C (86 °F) |
0.7972 |
Note that 1 Pa s = 1,000 mPa s
The program references the above table for certain temperatures. The program asks for temperature in degrees Celsius (°C). If any other temperature is entered, the empirical formula known as the Vogel-Fulcher-Tammann Equation is used:
μ = 0.02939 × e^( 507.88 K ÷ (T K – 149.3 K))
= 0.02939 × e^( 507.88 K ÷ ((T °C + 273.15) K – 149.3 K))
= 0.02939 × e^( 507.88 ÷ (T + 123.85))
Equations
Calculating flow:
Q = (π × D^4 × ΔP)/(128 × μ × L)
Calculating Pressure Change:
ΔP = Q × μ × L × 128/(D^4 × π)
HP Prime Code: Hagen-Poiseuille Law
EXPORT HAGEN()
BEGIN
// 2024-02-22 EWS
// local variables
LOCAL ch1;
LOCAL u,t,d,l,p,q;
LOCAL t1,t2,t3;
// list of temps
t1:={"5°C","10°C","15°C",
"20°C","25°C","30°C","Other"};
t2:={1.5182,1.3059,1.1375,
1.0016,0.89,0.7972};
t3:={5,10,15,20,25,30};
// inputs
INPUT({{t,t1},d,l,{ch1,{"ΔPressure",
"Flow Rate"}}},
"Hagen-Poisuelle Law",
{"t:","d:","l:","Solve for:"},
{"Temp of water (ºC)","Pipe Diameter (m)",
"Pipe Length (m)"});
// temp to viscosity
// from table
IF t≤6 THEN
u:=t2(t)/1000;
t:=t3(t);
ELSE
// empirical formula
INPUT(t,"Enter temp in °C","t:");
u:=0.02939*e^(507.88/(t+123.85))/1000;
END;
PRINT();
PRINT("RESULTS:");
PRINT("Temperature: "+STRING(t)+" °C");
PRINT("Viscosity = "+STRING(1000*u)+" mPa s");
// solve for pressure
IF ch1==1 THEN
INPUT(q,"Enter flow rate","q:","m^3/s");
p:=q*u*l*128/(d^4*π);
PRINT("ΔPressure = "+STRING(p)+" Pa");
RETURN {t,u,p};
END;
// solve for flow rate
IF ch1==2 THEN
INPUT(p,"ΔPressure:","Δp:","Pa");
q:=(π*d^4*p)/(128*u*l);
PRINT("Flow Rate = "+STRING(q)+" m^3/s");
RETURN {t,u,q};
END;
END;
Examples
Example 1:
Temp = t = 20°C
Flow = q = 0.5 m^3/s
Solve for Δp
Results:
Viscosity = μ = 1.0016 mPa s
Pressure Change = Δp = 199.261988751 Pa
Example 2:
Temp = t = 10°C
Pressure Change = Δp = 150 Pa
Result:
Viscosity = μ = 1.3059 mPa s
Flow = q = 0.28868299137 m^3/s
Example 3:
Temp = t = 33°C
Flow = q = 0.36 m^3/s
Solve for Δp
Results:
Viscosity = μ = 0.748935277403 mPa s
Pressure Change = Δp = 107.277076309 Pa
Sources
Lauga, Eric. Fluid Mechanics: A Very Short Introduction. Oxford University Press: Oxford, UK 2022. pp. 36-37
“Fluid of Viscosity” Wikipedia. https://en.wikipedia.org/wiki/Viscosity Retrieved February 5, 2024.
“Viscosity of Liquids and Gases” and “Viscosity of Water” HyperPhysics. http://hyperphysics.phy-astr.gsu.edu/hbase/Tables/viscosity.html Retrieved February 8, 2024.
Until next time,
Eddie
All original content copyright, © 2011-2024. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.