Skip to content
cfd-lab:~/ja/posts/2026-05-12-laval-nozzle-…online
NOTE #041DAY TUE 유체역학DATE 2026.05.12READ 5 min readWORDS 2,250#Fluid-Mechanics#Compressible-Flow#Mach#Laval-Nozzle#Shock-Wave#Phenomena

超音速では広がらないと加速しない — マッハ数・衝撃波・ラバルノズルの逆説

音速を越えた瞬間にノズルとディフューザの役割が入れ替わる。その一行の式を辿る。

1947年10月14日、チャック・イェーガーのX-1がマッハ1.06を記録しました。風洞エンジニアたちが本当に驚いたのは音速突破そのものではなく、それまで素直に減速器として働いていたディフューザが、突然加速器のように振る舞い始めたことです。本記事では、その逆説の正体である一行の面積—マッハ数関係式を辿り、ラバルノズルが中央で絞られなければならない理由、そして超音速流れに衝撃波が現れる仕組みを解きほぐします。最後にPython30行で等エントロピーノズル曲線を引いてみます。

マッハ数 — 圧縮性を分ける一つの比#

マッハ数(流速 UU と音速 aa の比)は単なる速さの尺度ではありません。単位体積あたりの慣性力は ρU2/l\rho U^2 / l、弾性力は Kl2/l3K l^2 / l^3 に比例するため、両者の比の平方根がマッハ数そのものになります。

Ma=Ua,a=Kρ\mathrm{Ma} = \frac{U}{a}, \qquad a = \sqrt{\frac{K}{\rho}}

ここで KK は体積弾性率(体積変化に対する剛性)、ρ\rho は密度です。マッハ数は「流れが媒質の弾性をどれだけ叩いているか」の指標です。経験則として Ma<0.3\mathrm{Ma} < 0.3 なら密度変化は5%未満で、非圧縮の仮定が使えます。それを越えると流れ自身が媒質を押し縮め始めます。

音速を越える瞬間 — ドップラーからマッハ円錐まで#

静止した音源が出す波面は同心円です。音源が動くと前方の波長は縮み、後方は伸びる。これがドップラー効果です。音速に達すると、全ての波面が一つの平面に重なります。音速を越えると、音源は自分の出した波面を追い越し、その包絡線が円錐になります。このマッハ円錐の外側には音は一切届きません。

円錐の半角 μ\mu は幾何だけで決まります。

sinμ=1Ma\sin\mu = \frac{1}{\mathrm{Ma}}

マッハ2の機体が引きずる円錐は μ30°\mu \approx 30°、マッハ5なら 11.5°11.5° まで狭まります。下のシミュレーションで直接動かしてみましょう。マッハ数を0.6から2.5まで上げると、ある瞬間に波面が一斉に音源の後ろへ流れる様子が見えます。

0.5 / 1.0 / 2.0 are key regimes

マッハ1の瞬間に波面が斜めに整列する点、マッハ数が大きくなるほど円錐が狭くなる点が観察のポイントです。

逆説の一行 — (1−1/Ma²)dρ/ρ + dA/A = 0#

ここから本題です。断面積 A(x)A(x) が変化する1次元定常流を考えます。質量保存を微分形で書くと

dρρ+dAA+duu=0\frac{d\rho}{\rho} + \frac{dA}{A} + \frac{du}{u} = 0

となり、等エントロピー仮定の下でオイラー方程式と音速の定義 a2=dp/dρa^2 = dp/d\rho を組み合わせると

udu=dpρ=a2dρρu\, du = -\frac{dp}{\rho} = -a^2 \frac{d\rho}{\rho}

が得られます。両者から dudu を消去すると次の一行が残ります。

(11Ma2)dρρ+dAA=0\left(1 - \frac{1}{\mathrm{Ma}^2}\right) \frac{d\rho}{\rho} + \frac{dA}{A} = 0

ρ\rho は密度、AA は断面積、Ma\mathrm{Ma} はマッハ数です。符号解析で全ての矛盾が解けます。

亜音速 (Ma<1\mathrm{Ma} < 1、括弧が負): 断面積が縮むと (dA<0dA<0) 密度も下がり (dρ<0d\rho<0)、結果として速度が増す。ホースの先端で起こることと同じです。

超音速 (Ma>1\mathrm{Ma} > 1、括弧が正): 全ての符号が反転します。断面積が縮むと密度は増え、速度は落ちる。狭い管にもっと速く押し込もうとすると逆に流れが詰まる。加速したいなら断面積を広げる必要があります。

ラバルノズル — 絞れば速くなる、とは限らない#

この符号反転がラバルノズルの形を決めます。亜音速から超音速まで加速するには、まず絞って音速に達し、そこから再び広げる必要があります。中央の細い部分(スロート)でちょうど Ma=1\mathrm{Ma} = 1 になります。11/Ma2=01 - 1/\mathrm{Ma}^2 = 0 のとき式が成り立つには dA=0dA = 0 でなければならないからです。

スロート断面積 AA^* と任意断面積 AA の比はマッハ数のみで決まります。

AA=1Ma[2γ+1(1+γ12Ma2)]γ+12(γ1)\frac{A}{A^*} = \frac{1}{\mathrm{Ma}} \left[ \frac{2}{\gamma+1} \left( 1 + \frac{\gamma-1}{2}\mathrm{Ma}^2 \right) \right]^{\frac{\gamma+1}{2(\gamma-1)}}

同じ面積比に対して亜音速解と超音速解が同時に存在します。どちらの枝を取るかは出口背圧 PbP_b が決めます。下のスライダで面積比と背圧比を動かしてみましょう。

throat (Ma=1)inletexitMa_exit (design sup): 2.44regime: over-expanded (shock inside)

Cyan curve: Ma along axis (normalized). Dashed red line: throat. Lower P_b makes the diverging part accelerate to supersonic. Raise P_b above the design and a normal shock appears inside.

背圧を十分下げると、拡大部のマッハ分布が1を越えて単調増加します。逆に背圧を設計値より上げると、ノズル内のどこかで垂直衝撃波が発生し、流れが再び亜音速に落ちます。

Pythonで見る等エントロピー面積—マッハ関係#

面積比公式と等エントロピー圧力比をNumPy30行で辿ります。二分法で面積比からマッハ数を逆に解きます。

import numpy as np
 
GAMMA = 1.4
 
def area_mach_relation(M, gamma=GAMMA):
    """A/A* — 等エントロピー面積-マッハ式."""
    exp = (gamma + 1) / (2 * (gamma - 1))
    inner = (2 / (gamma + 1)) * (1 + 0.5 * (gamma - 1) * M ** 2)
    return (1 / M) * inner ** exp
 
def solve_supersonic_branch(area_ratio, gamma=GAMMA, lo=1.0001, hi=25.0):
    """面積比 -> 超音速マッハ数 (二分法)."""
    for _ in range(80):
        mid = 0.5 * (lo + hi)
        if area_mach_relation(mid, gamma) < area_ratio:
            lo = mid
        else:
            hi = mid
    return 0.5 * (lo + hi)
 
def pressure_ratio_isentropic(M, gamma=GAMMA):
    """p/p0 — 静圧と全圧の比."""
    return (1 + 0.5 * (gamma - 1) * M ** 2) ** (-gamma / (gamma - 1))
 
def normal_shock_p2_p1(M1, gamma=GAMMA):
    """垂直衝撃波の静圧比 p2/p1."""
    return 1 + (2 * gamma / (gamma + 1)) * (M1 ** 2 - 1)
 
A_ratio = 2.5
M_exit = solve_supersonic_branch(A_ratio)
p_exit = pressure_ratio_isentropic(M_exit)
 
print(f"design exit  Ma = {M_exit:.3f}")
print(f"design exit  p/p0 = {p_exit:.4f}")
print(f"if Ma1=1.5 normal shock, p2/p1 = {normal_shock_p2_p1(1.5):.3f}")

出力は次の通りです。

design exit  Ma = 2.443
design exit  p/p0 = 0.0633
if Ma1=1.5 normal shock, p2/p1 = 2.458

面積比2.5のノズルを設計通り運用すると、出口でマッハ2.44、静圧は全圧の6.3%まで下がります。ノズル内部にマッハ1.5の垂直衝撃波が発生すると、圧力は2.46倍に跳ね上がり、流れは瞬時に亜音速に切り替わります。

衝撃波 — 圧縮の極限#

圧縮波が自分自身に追いつくと衝撃波になります。波の後縁が圧縮で温められて音速が上がり、後方が前方を追い越す。最終的に、圧力跳びの全てが分子平均自由行程の数倍程度の薄い面に集約されます(空気中ではミクロン単位)。

垂直衝撃波の圧力比 p2/p1=1+2γγ+1(Ma121)p_2/p_1 = 1 + \frac{2\gamma}{\gamma+1}(\mathrm{Ma}_1^2 - 1) はマッハ1で0になり、それ以上で2次的に増加します。超音速ラバルノズルで背圧が設計値より高いと、流れはその圧力差を埋めるためにノズル内部に衝撃波を立てて自己減速します。これが「過膨張」状態です。

興味深いことに、キャビテーション気泡の崩壊が放つ微小衝撃波、鞭の先端が音速を越えるときの「パン」という音、そして大気圏に突入する隕石が加熱されるメカニズム — これらは全て同じ式の異なる顔です。

覚えておきたいこと#

  • 面積—マッハ式 (11Ma2)dρρ+dAA=0\left(1 - \tfrac{1}{\mathrm{Ma}^2}\right) \tfrac{d\rho}{\rho} + \tfrac{dA}{A} = 0 の一行が、ノズルとディフューザの役割反転を全て担います。
  • ラバルノズルの細いスロートは Ma=1\mathrm{Ma} = 1 が許される唯一の断面で、出口マッハ数と圧力比は面積比+背圧比で同時に決まります。
  • 衝撃波は等エントロピー仮定が破れる場所に現れます。ノズル内に衝撃が見えたら、背圧が設計値より高い合図です。

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