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

この記事は著者が韓国語で書いた原文の翻訳です。 原文(한국어)を読む

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

水は管をどれだけ流れれば放物線になるのか — 助走区間とHagen–Poiseuille

助走距離の手前に圧力タップを置くと、中心速度は平均の2倍にならない。

蛇口を全開にすると、水の筋はしばらく滑らかに保たれます。管の中でも似たことが起こります。入口では水はほとんど壁の存在を感じません。速度分布はほぼ平らです。ところが少し流れると、断面の速度分布は滑らかな放物線に変わります。その間の区間が今日の主役です。

Re のスライダーを 100 から 2000 へ動かすと、オレンジの fully developed 線が右へずれます。

その線が直径の5倍から100倍まで動くあいだ、入口の平らな分布はまだ放物線ではありません。中心速度が平均の2倍になるのは、線の向こう側だけです。

壁が知らせを伝えるのに要する距離

管壁で流体は滑りません(no-slip、壁面での速度はゼロ)。この条件は入口で断面全体へすぐには広がりません。

はじめは壁の近くだけに薄い境界層(速度が急変する壁近傍の層)ができます。流れが進むほど、この層は内側へ成長します。上下の境界層が管中心で出会った瞬間、分布はもう変わりません。この点から先を十分に発達した流れ(fully developed)と呼びます。

入口から発達完了までの距離を助走区間長 LhL_h といいます。層流では管径 DD とReynolds数(慣性力と粘性力の比)で決まります。

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}

umu_m は断面平均速度、ρ\rho は密度、μ\mu は粘性係数です。ReD=2000\mathrm{Re}_D=2000 なら助走区間は管径の100倍に達します。細い実験配管で測定位置を誤ると、まだ発達途中の流れを測ることになります。

数字を入れてみます。ReD=2000\mathrm{Re}_D=2000 なら Lh/D≈0.05×2000=100L_h/D\approx0.05\times2000=100 です。直径 2 cm なら助走距離は 2 m です。コードの条件は Re=1600\mathrm{Re}=1600、D=0.02D=0.02 m なので、0.05×1600×0.02=1.600.05\times1600\times0.02=1.60 m、直径の 80 倍です。入口から 0.80 m、つまり 40D40D はその半分です。その断面はまだ十分には発達していません。中心速度は 2um=0.1602u_m=0.160 m/s に届きません。逆に ReD=100\mathrm{Re}_D=100 なら Lh/D≈5L_h/D\approx5 です。同じ 2 cm 管で 10 cm です。実験台の短い管でも、この Reynolds 数ならほぼ発達しきっています。配管はそのままに流量だけ上げると、同じタップが発達後から発達途中へ変わります。

発達区間の放物線 — Hagen–Poiseuille#

十分に発達すると、軸方向速度はもう変化しません。∂u/∂x=0\partial u/\partial x = 0、半径方向速度 v=0v=0 です。円筒座標の運動量方程式は単純になります。

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

圧力勾配 dp/dxdp/dx は一定です。壁で u(R)=0u(R)=0、中心で du/dr=0du/dr=0 を課し、二回積分します。

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)

R=D/2R=D/2 は管半径、rr は中心からの距離です。結果はすっきりしています。中心速度はちょうど平均の2倍です。この放物線がHagen–Poiseuille流れです。

中心 r=0r=0 では u=2umu=2u_m です。コードの um=0.08u_m=0.08 m/s なら中心は 0.160 m/s です。u=umu=u_m になる半径は r/R=1/2r/R=1/\sqrt{2} です。壁 r=Rr=R では 0 です。この放物線とつながる圧力勾配は dp/dx=−32μum/D2dp/dx=-32\mu u_m/D^2 です。μ=10−3\mu=10^{-3}、D=0.02D=0.02 なら D2=4×10−4D^2=4\times10^{-4} で、−32×10−3×0.08/(4×10−4)=−6.40-32\times10^{-3}\times0.08/(4\times10^{-4})=-6.40 Pa/m です。この傾きで 10 m 進むと 64 Pa、80 m 進むと 512 Pa です。ただしこの直線は十分発達したあとだけの話です。1.60 m より手前では境界層が運動量を奪い、中心が加速します。圧力降下はこの直線より急です。

圧力はなぜ一定の割合で下がるのか — 摩擦係数

放物線を断面で平均すると、平均速度と圧力勾配が直接つながります。

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

勾配が一定ということは、圧力が管に沿って直線的に下がるという意味です。この損失を無次元にまとめたのがDarcy摩擦係数 ff です。

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

層流の摩擦係数はReynolds数だけで決まります。管の粗さは入り込みません。下でReynolds数を動かし、摩擦係数曲線上の点を移動させてみましょう。

regime: laminarf = 0.0640Lh/D ≈ 50.0

ReD<2300\mathrm{Re}_D<2300 の区間で点は 64/Re64/\mathrm{Re} の直線を正確になぞります。しきい値を越えると曲線が折れ、別の法則へ乗り換えます。

2300というしきい値 — 層流から乱流へ#

ReD\mathrm{Re}_D がおよそ2300を越えると、滑らかだった流れが乱れます。渦が混じり、乱流へ遷移します。管内でそのしきい値がどう分かれるかは、水の筋が乱れる Reynolds 数に書いてあります。

乱流では助走区間が短くなります。Lh/DL_h/D はおよそ10〜60にとどまります。層流の100倍と対照的です。その代わり摩擦は大きくなります。滑らかな管の経験式の一つがBlasiusの式です。

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)

指数が −1-1 から −1/4-1/4 へ緩やかになります。Reynolds数を上げても摩擦は以前ほど速く下がりません。同じ流量をより大きな圧力で押す必要があります。

Pythonで再現する助走区間長と摩擦#

小さな配管を一つ、数値で追ってみましょう。

import numpy as np
 
def entrance_length(Re, D):
    # 層流の水力学的助走区間長 [m]
    return 0.05 * Re * D
 
def poiseuille_profile(r, R, u_mean):
    # 十分に発達した層流速度分布 (Hagen-Poiseuille)
    return 2.0 * u_mean * (1.0 - (r / R) ** 2)
 
def darcy_friction(Re):
    # 層流の摩擦係数 (Re < 2300)
    return 64.0 / Re
 
D = 0.02          # 管径 [m]
rho, mu = 1000.0, 1e-3
u_mean = 0.08     # 平均速度 [m/s]
 
Re = rho * u_mean * D / mu
print(f"Re = {Re:.0f}")                                 # Re = 1600
print(f"助走区間長 = {entrance_length(Re, D):.2f} m")     # 1.60 m
print(f"中心速度 = {poiseuille_profile(0, D/2, u_mean):.3f} m/s")  # 0.160
dpdx = -32 * mu * u_mean / D**2
print(f"圧力勾配 = {dpdx:.2f} Pa/m")                     # -6.40 Pa/m
print(f"摩擦係数 f = {darcy_friction(Re):.4f}")          # 0.0400

直径2 cmの管なのに、助走区間長は1.6 m。管径の80倍です。実験台の短い配管は、ほとんどが発達途中の流れを扱っています。

助走区間の手前にタップを置くと

圧力タップを LhL_h より手前に置くと、dp/dx=−32μum/D2dp/dx=-32\mu u_m/D^2 はまだ定数ではありません。コードが書いた Re=1600\mathrm{Re}=1600、f=0.0400f=0.0400、勾配 −6.40-6.40 Pa/m は十分発達したあとの値です。1.60 m より手前で同じ式を使うと、損失を小さく見ます。入口側は中心が加速するぶん、圧力降下がより急です。

乱流へ越えると助走は短くなり、摩擦は大きくなります。ReD\mathrm{Re}_D が 2300 を越えると Lh/DL_h/D は 10 から 60 です。摩擦は 64/Re64/\mathrm{Re} を離れ、Blasius の 0.316 ReD−1/40.316\,\mathrm{Re}_D^{-1/4} に乗ります。ReD=104\mathrm{Re}_D=10^4 なら 64/ReD=0.006464/\mathrm{Re}_D=0.0064 で、10410^4 の四乗根は 10 なので 0.316×0.1=0.03160.316\times0.1=0.0316 です。およそ五倍です。短い管だからといって層流の式をそのまま使うと、ポンプ揚程が足りなくなります。壁面せん断が外側の流れの剥離へつながる話は、粗い球の抗力危機に続きます。

役に立ったらシェアしてください。