Skip to content
cfd-lab:~/en/posts/2026-07-23-pipe-entrance…● online

Translated from the author's Korean original. Read the original (한국어)

NOTE #110DAY THU 유체역학DATE 2026.07.23UPDATED 2026.10.19READ 5 min read#Pipe-Flow#Boundary-Layer#Hagen-Poiseuille#Friction-Factor#Flow-Phenomena

How Far Must Water Flow Before It Becomes a Parabola — Entrance Length and Hagen–Poiseuille

A pressure tap inside the entrance region does not see twice the mean on the centerline, so the Darcy factor is not yet 64/Re.

Open a faucet all the way and the stream stays glassy-smooth for a while. Something similar happens inside a pipe. Right at the inlet, the water barely feels the wall. Its profile is almost flat. But after flowing a bit, the cross-sectional velocity settles into a smooth parabola. The stretch in between is today's subject.

Slide Re from 100 to 2000 and the orange fully developed line moves right.

While that line travels from five diameters out to a hundred, the flat inlet profile is not a parabola yet. Centerline speed hits twice the mean only past the line.

The Distance It Takes the Wall to Spread the News#

At the pipe wall the fluid does not slip (no-slip: zero velocity at the wall surface). That condition does not reach the whole cross-section instantly at the inlet.

A thin boundary layer (the near-wall layer where velocity changes sharply) forms only near the wall at first. As the flow moves on, this layer grows inward. The moment the top and bottom boundary layers meet at the pipe center, the profile stops changing. From that point on we call the flow fully developed.

The distance from inlet to full development is the hydrodynamic entrance length LhL_h. For laminar flow it is set by the diameter DD and the Reynolds number (ratio of inertial to viscous forces).

LhD≈0.05 ReD,ReD=ρ umDμ\frac{L_h}{D} \approx 0.05\,\mathrm{Re}_D, \qquad \mathrm{Re}_D = \frac{\rho\,u_m D}{\mu}

Here umu_m is the cross-sectional mean velocity, ρ\rho the density, and μ\mu the viscosity. At ReD=2000\mathrm{Re}_D=2000 the entrance length reaches 100 pipe diameters. Pick the wrong measuring station in a thin lab line and you end up measuring flow that is still developing.

Plug in the numbers. At ReD=2000\mathrm{Re}_D=2000, Lh/D≈0.05×2000=100L_h/D\approx0.05\times2000=100. A 2 cm pipe then needs 2 m. The script uses Re=1600\mathrm{Re}=1600 and D=0.02D=0.02 m, so 0.05×1600×0.02=1.600.05\times1600\times0.02=1.60 m, eighty diameters. A station at 0.80 m, or 40D40D, is only halfway. That cross-section is not fully developed. Centerline speed is still short of 2um=0.1602u_m=0.160 m/s. Drop to ReD=100\mathrm{Re}_D=100 and Lh/D≈5L_h/D\approx5: 10 cm in the same pipe. A short bench tube is essentially developed at that Reynolds number. Raise the flow rate and the same tap flips from developed to still developing.

The Parabola of the Developed Region — Hagen–Poiseuille#

Once the flow is fully developed, the axial velocity stops changing. We have ∂u/∂x=0\partial u/\partial x = 0 and radial velocity v=0v=0. The cylindrical momentum equation collapses.

1rddr ⁣(rdudr)=1μdpdx\frac{1}{r}\frac{d}{dr}\!\left(r\frac{du}{dr}\right) = \frac{1}{\mu}\frac{dp}{dx}

The pressure gradient dp/dxdp/dx is constant. Apply u(R)=0u(R)=0 at the wall and du/dr=0du/dr=0 at the center, then integrate twice.

u(r)=−14μdpdx(R2−r2)=2 um ⁣(1−r2R2)u(r) = -\frac{1}{4\mu}\frac{dp}{dx}\left(R^2 - r^2\right) = 2\,u_m\!\left(1 - \frac{r^2}{R^2}\right)

Here R=D/2R=D/2 is the pipe radius and rr the distance from the center. The result is clean. The centerline velocity is exactly twice the mean. This parabola is Hagen–Poiseuille flow.

At r=0r=0 the profile gives u=2umu=2u_m. With um=0.08u_m=0.08 m/s the centerline is 0.160 m/s. The radius where u=umu=u_m is r/R=1/2r/R=1/\sqrt{2}. At the wall, r=Rr=R, speed is zero. The gradient that matches this parabola is dp/dx=−32μum/D2dp/dx=-32\mu u_m/D^2. With μ=10−3\mu=10^{-3} and D=0.02D=0.02, D2=4×10−4D^2=4\times10^{-4}, and −32×10−3×0.08/(4×10−4)=−6.40-32\times10^{-3}\times0.08/(4\times10^{-4})=-6.40 Pa/m. Ten meters of that slope is 64 Pa. Eighty meters is 512 Pa. The straight line holds only after full development. Inside the first 1.60 m the boundary layer is still pulling momentum out of the core and speeding it up, so the pressure drop is steeper than this line.

Why the Pressure Drops at a Constant Rate — the Friction Factor#

Averaging the parabola across the cross-section ties the mean velocity directly to the pressure gradient.

dpdx=−32 μ umD2\frac{dp}{dx} = -\frac{32\,\mu\,u_m}{D^2}

A constant gradient means pressure falls linearly along the pipe. Bundle that loss into a dimensionless number and you get the Darcy friction factor ff.

f=− (dp/dx) D12ρum2=64ReDf = \frac{-\,(dp/dx)\,D}{\tfrac{1}{2}\rho u_m^2} = \frac{64}{\mathrm{Re}_D}

The laminar friction factor depends only on the Reynolds number. Pipe roughness never enters. Below, slide the Reynolds number and move the point along the friction-factor curve.

regime: laminarf = 0.0640Lh/D ≈ 50.0

For ReD<2300\mathrm{Re}_D<2300 the point tracks the 64/Re64/\mathrm{Re} line exactly. Cross the threshold and the curve bends, switching to a different law.

The Threshold at 2300 — from Laminar to Turbulent#

Once ReD\mathrm{Re}_D climbs past about 2300, the once-smooth flow breaks up. Eddies mix in and it transitions to turbulence. How that threshold actually splits inside a pipe is in the Reynolds number where a smooth stream breaks up.

In turbulent flow the entrance length shrinks. Lh/DL_h/D stays around 10 to 60, versus a hundred for laminar. But friction rises. One empirical fit for a smooth pipe is the Blasius law.

f=0.316 ReD−1/4(4000≲ReD≲105)f = 0.316\,\mathrm{Re}_D^{-1/4} \quad (4000 \lesssim \mathrm{Re}_D \lesssim 10^5)

The exponent softens from −1-1 to −1/4-1/4. Raising the Reynolds number no longer drops friction as fast. You have to push the same flow rate with more pressure.

Reproducing Entrance Length and Friction in Python#

One small pipe, followed in numbers.

import numpy as np
 
def entrance_length(Re, D):
    # laminar hydrodynamic entrance length [m]
    return 0.05 * Re * D
 
def poiseuille_profile(r, R, u_mean):
    # fully developed laminar velocity profile (Hagen-Poiseuille)
    return 2.0 * u_mean * (1.0 - (r / R) ** 2)
 
def darcy_friction(Re):
    # laminar friction factor (Re < 2300)
    return 64.0 / Re
 
D = 0.02          # pipe diameter [m]
rho, mu = 1000.0, 1e-3
u_mean = 0.08     # mean velocity [m/s]
 
Re = rho * u_mean * D / mu
print(f"Re = {Re:.0f}")                                 # Re = 1600
print(f"entrance length = {entrance_length(Re, D):.2f} m")   # 1.60 m
print(f"centerline speed = {poiseuille_profile(0, D/2, u_mean):.3f} m/s")  # 0.160
dpdx = -32 * mu * u_mean / D**2
print(f"pressure gradient = {dpdx:.2f} Pa/m")           # -6.40 Pa/m
print(f"friction factor f = {darcy_friction(Re):.4f}")  # 0.0400

A 2 cm pipe, yet the entrance length is 1.6 m — 80 diameters. Most short benchtop tubing is handling flow that is still developing.

A tap upstream of the entrance length#

Put the pressure tap ahead of LhL_h and dp/dx=−32μum/D2dp/dx=-32\mu u_m/D^2 is not constant yet. The script's Re=1600\mathrm{Re}=1600, f=0.0400f=0.0400, and gradient −6.40-6.40 Pa/m belong after full development. Use the same formula inside the first 1.60 m and the loss comes out low. Near the inlet the core is still accelerating, and the pressure drop is steeper.

Cross into turbulence and the entrance shortens while friction grows. Past ReD\mathrm{Re}_D of about 2300, Lh/DL_h/D sits between 10 and 60. Friction leaves 64/Re64/\mathrm{Re} for the Blasius fit 0.316 ReD−1/40.316\,\mathrm{Re}_D^{-1/4}. At ReD=104\mathrm{Re}_D=10^4, 64/ReD=0.006464/\mathrm{Re}_D=0.0064, and the fourth root of 10410^4 is 10, so 0.316×0.1=0.03160.316\times0.1=0.0316. About five times larger. A short pipe is not a reason to keep the laminar formula. The pump head comes up short. Wall shear that runs out into separation of an outer flow is the subject of why a rough ball flies farther.

Share if you found it helpful.