Skip to content
cfd-lab:~/ja/posts/2026-04-30-cavitation-nu…● online

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

NOTE #027DAY THU 유체역학DATE 2026.04.30UPDATED 2026.10.19READ 5 min read#Fluid-Dynamics#Cavitation#Multiphase#Bernoulli#Flow-Phenomena

20℃の水も沸く — キャビテーションの物理

面積比0.4、入口5 m/sでは喉の静圧が約35.7 kPaで、σはまだ正です。0.3まで絞ると負に転じます。

水は20℃でも沸きます。圧力を十分に下げれば、です。「水の沸点は100℃」という暗記には「1気圧で」が省かれています。沸騰を決めるのは温度ではなく、飽和蒸気圧と周囲圧力のバランスです。ポンプ入口やプロペラ先端で水が加速し静圧が下がると、常温の水も沸きます。これがキャビテーション(cavitation, 空洞現象) です。今日のノートは、始まる条件、危険を一つの数で測る方法、気泡が消えるときに1万気圧級の衝撃が立つ場所までです。

沸点を決めるのは温度ではない

水の飽和蒸気圧は温度の関数です。

温度飽和蒸気圧 pvp_v
20℃2.34 kPa(≈ 17.5 mmHg)
60℃19.9 kPa
100℃101.3 kPa(≈ 760 mmHg)
200℃1554 kPa(≈ 15 atm)

入口速度と水温を上げ、喉の面積比を小さくすると、圧力曲線が蒸気圧の破線より下にいる区間が長くなります。

Top: venturi tube cross-section. Bubbles spawn where p(x) < p_vapor and collapse downstream (red ring). Bottom: pressure profile and vapor-pressure threshold. Reference: water at 20°C with p_vapor ≈ 2.3 kPa (Antoine fit used for slider).

表の20℃は2.34 kPa、60℃は19.9 kPaです。喉を0.6まで開くと、同じ入口速度でも曲線は破線の上に残ります。下流の赤いリングは、圧力が回復して気泡が潰れる場所です。

100℃が特別に見えるのは、その温度で pvp_v が1気圧と一致するからです。圧力鍋(約2気圧)では沸点が120℃に上がり、エベレスト山頂(0.3気圧)では70℃で沸きます。

逆にたどると、20℃の水を沸かすには外圧を約2.5 kPa、1気圧の1/40まで下げればよいです。台所の真空ポンプで足ります。

問題は、流れる水には真空ポンプがいらない点です。

流れが作る低圧 — Bernoulliの影#

非粘性・定常流の流線に沿ってベルヌーイの式が成り立ちます。

p+12ρu2+ρgz=constp + \tfrac{1}{2}\rho u^2 + \rho g z = \text{const}

pp は静圧、ρ\rho は密度、uu は速度、zz は高さです。同じ高さなら、速度が上がる場所で静圧が下がります。ベンチュリの喉、翼の負圧面、ポンプ入口。加速するところでは圧力も落ちます。

静圧が作動温度の pvp_v を下回ると、液体は液体のままではいられません。ガス核を種に蒸気泡が育ちます。加熱ではなく、流体力学的な減圧で起きる沸騰です。

キャビテーション数 σ — 危険度を一つの数で測る

設計者は「このポンプはキャビテーションするか」を一つの無次元数にまとめます。キャビテーション数です。

σ=p∞−pv12ρU∞2\sigma = \frac{p_\infty - p_v}{\tfrac{1}{2}\rho U_\infty^2}

p∞p_\infty は基準の静圧、U∞U_\infty は基準速度、pvp_v は作動温度の飽和蒸気圧です。分子は蒸気圧の上の余裕、分母は流れが作れる動圧の上限です。

σ\sigma が大きいほど安全です。動圧を全部使っても蒸気圧に届かないからです。σ\sigma が臨界値 σi\sigma_i を下回ると発生が始まります(initiation)。形状ごとに σi\sigma_i は異なり、多くは水槽試験で求めます。

回転機械では NPSH(net positive suction head) が同じ役です。NPSHが不足すれば σ\sigma は小さく、ポンプは沸騰します。その定数が流線を横切って保たれるかは、全圧が落ちて散逸がゼロだったベルヌーイの計算 と一緒に見る必要があります。

気泡の死 — 1万気圧の衝撃#

気泡が出来るだけで終わるなら、大した問題ではないこともあります。破壊は気泡が消えるときに起きます。

気泡は低圧域を抜け、圧力が回復する領域へ流れます。球形気泡の半径 R(t)R(t) は Rayleigh–Plesset 方程式が追います。

R R¨+32 R˙2=pB−p∞ρ−4νR˙R−2γρRR\,\ddot R + \tfrac{3}{2}\,\dot R^2 = \frac{p_B - p_\infty}{\rho} - \frac{4\nu \dot R}{R} - \frac{2\gamma}{\rho R}

pBp_B は気泡内圧、γ\gamma は表面張力、ν\nu は動粘度です。外圧が内圧を大きく上回ると R¨≪0\ddot R \ll 0 となり、気泡はマイクロ秒で潰れます。直前の液体速度は音速に近づき、その場に1万気圧級の衝撃が立ちます。

これが繰り返されると金属はあばたのようにえぐれます。ポンプ羽根車、プロペラ先端、水車ランナー。侵食(erosion)の見慣れた跡です。

コード:ベンチュリ管でキャビテーションを予測する

断面積 A(x)A(x) が分かれば、連続の式とベルヌーイで圧力分布が出ます。

import numpy as np
 
def venturi_pressure_field(x, area_ratio, U_in, rho=1000.0, p_in=101300.0):
    """断面積がコサイン形に絞られて回復するベンチュリ管。"""
    a0, a1, a2, a3 = 0.30, 0.42, 0.58, 0.70
    A = np.ones_like(x)
    m1 = (x >= a0) & (x < a1)
    s1 = 0.5 - 0.5 * np.cos(np.pi * (x[m1] - a0) / (a1 - a0))
    A[m1] = 1.0 + (area_ratio - 1.0) * s1
    A[(x >= a1) & (x <= a2)] = area_ratio
    m2 = (x > a2) & (x < a3)
    s2 = 0.5 - 0.5 * np.cos(np.pi * (x[m2] - a2) / (a3 - a2))
    A[m2] = area_ratio + (1.0 - area_ratio) * s2
 
    u = U_in / A                              # 連続の式
    p = p_in + 0.5 * rho * (U_in**2 - u**2)   # ベルヌーイ
    return A, u, p
 
def cavitation_zone(p, p_vapor):
    """キャビテーション発生領域のインデックス。"""
    return np.where(p < p_vapor)[0]
 
x = np.linspace(0, 1, 400)
A, u, p = venturi_pressure_field(x, area_ratio=0.4, U_in=5.0)
p_vapor = 2339.0  # 20℃の水の飽和蒸気圧
 
zone = cavitation_zone(p, p_vapor)
sigma_min = (p.min() - p_vapor) / (0.5 * 1000.0 * 5.0**2)
 
print(f"最低静圧: {p.min()/1000:.1f} kPa")
print(f"sigma_min = {sigma_min:.3f}  (負ならキャビテーション)")
print(f"キャビテーション長さ: 管長の {zone.size/x.size*100:.0f}%")

area_ratio を 0.5 から 0.3 に下げると、喉の速度は約1.7倍、動圧は3倍近くになり、静圧は蒸気圧を突き抜けます。σmin⁡\sigma_{\min} が負に転じる瞬間が始まりです。

コードの初期値をその式に入れます。ρ=1000\rho = 1000、Uin=5U_{in} = 5、pin=101300p_{in} = 101300 です。入口動圧 12ρUin2\tfrac{1}{2}\rho U_{in}^2 は 12500 Pa、つまり 12.5 kPa です。面積比 0.4 の喉速度は 5/0.4=12.55/0.4 = 12.5 です。喉の動圧は 78125 Pa です。静圧は 101300+12500−78125=35675101300 + 12500 - 78125 = 35675 Pa、約 35.7 kPa です。コードの蒸気圧 2339 Pa よりまだ高いです。表の 2.34 kPa は 2340 Pa なので、コードとの差は 1 Pa です。σmin⁡=(35675−2339)/12500≈2.67\sigma_{\min} = (35675 - 2339) / 12500 \approx 2.67 です。正です。初期値では負の条件は点きません。

面積比 0.5 の喉速度は 5/0.5=105/0.5 = 10 です。0.3 なら 5/0.3≈16.75/0.3 \approx 16.7 で、比は 1.67 です。動圧の比は (0.5/0.3)2=25/9≈2.78(0.5/0.3)^2 = 25/9 \approx 2.78 です。上に書いた 1.7 倍と 3 倍近くは、この割り算です。0.3 では静圧が約 −2.51×104-2.51\times 10^{4} Pa まで下がり、2339 Pa を割って σmin⁡\sigma_{\min} が負になります。入口基準の分子は 101.3−2.34≈99101.3 - 2.34 \approx 99 kPa です。12.5 kPa で割ると基準の σ\sigma は約 7.9 です。喉が動圧を使い切ると 7.9 は 2.67 まで下がります。60℃の表の pvp_v は 19.9 kPa で、19.9/2.34≈8.519.9/2.34 \approx 8.5 倍です。同じ 12.5 kPa でも余裕はずっと薄くなります。

喉の平坦部はコードの a1=0.42a_1 = 0.42 から a2=0.58a_2 = 0.58 までです。長さは 0.16 です。上流の収縮は a0=0.30a_0 = 0.30 から a1a_1 まで 0.12、回復は a2a_2 から a3=0.70a_3 = 0.70 まで同じく 0.12 です。サンプルは 0 から 1 まで 400 点、間隔は 1/3991/399 です。0.42×3990.42 \times 399 は約 168、0.58×3990.58 \times 399 は約 231 なので、平坦な喉は 64 点、全体の 16% です。面積比 0.4 ではこの 64 点の静圧はすべて 35.7 kPa です。2339 Pa より高いので、キャビテーション長さの出力は 0% です。面積比 0.3 ならこの 64 点はすべて蒸気圧より下で、傾斜部を足す前でも出力は 16% を下回りません。入口圧力 101300 Pa は、表の 100℃ 蒸気圧 101.3 kPa と同じ場所です。100℃ の水は入口ですでに沸騰圧力です。20℃ の計算が喉を必要とする理由はここにあります。

どこで出会うか — ポンプ・プロペラ・医療

  • ポンプ・水車: 羽根車入口の NPSH 不足が最大の原因です。吸込損失、液温、回転数が σ\sigma を削ります。
  • 船舶プロペラ: 翼端渦の芯が最初に沸騰し、推進効率と騒音を同時に悪くします。潜水艦が回転数を下げる理由です。
  • 弁・オリフィス: 狭い通路で回復が悪いと、下流配管が削られます。
  • 医療超音波(HIFU): 組織内であえてキャビテーションを起こし、結石を砕いたり腫瘍を加熱したりします。崩壊を薬として使います。
  • 水撃: 水車停止の直後、逆流が閉じた弁を打つと、短い負圧とキャビテーションのパルスが続きます。

喉の面積比をどこまで絞るか

面積比 0.4、入口 5 m/s では喉の静圧は約 35.7 kPa、σmin⁡\sigma_{\min} は約 2.67 です。気泡はまだありません。0.3 まで絞ると静圧は負になり、コードの負条件が点きます。喉速度を 10 から 16.7 へ上げる区間が、羽根車の寿命を分けます。

金属をえぐるのは喉そのものではなく、圧力が回復する下流です。R¨\ddot R が負に振れる気泡一つをさらに追った計算は Keller–Miksis と二次 Bjerknes 力 にあります。

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