パラメータ設定
空気 (γ = 1.4, R = 287 J/(kg·K))・等エントロピー・1次元・定常を仮定しています。
収束ノズルの断面と流れ
左=上流(P_0, T_0)/中央くびれ=喉部 A*/右=背圧領域 P_b。色は速度(青=低速・赤=高速)、赤線はチョーク時の音速面。
質量流量 ṁ vs 背圧比 P_b/P_0
P_b/P_0 ≤ 0.528 でチョーク(ṁ = ṁ_max)/それ以上で背圧上昇に伴い ṁ 減少。黄縦線=現在の P_b/P_0。
理論・主要公式
完全気体・等エントロピー・準1次元定常流れを仮定すると、収束ノズルの臨界条件は γ のみで決まります。喉部で M = 1 となる臨界圧力比:
$$\frac{P^*}{P_0} = \left(\frac{2}{\gamma+1}\right)^{\gamma/(\gamma-1)}$$
P_b/P_0 ≤ P*/P_0 のときチョークし、質量流量は最大値で頭打ちになります:
$$\dot{m}_{\max} = A^*\,P_0\,\sqrt{\frac{\gamma}{R\,T_0}}\,\left(\frac{2}{\gamma+1}\right)^{(\gamma+1)/(2(\gamma-1))}$$
喉部温度と音速(チョーク時):
$$T^* = T_0\,\frac{2}{\gamma+1}, \qquad a^* = \sqrt{\gamma\,R\,T^*}$$
γ=1.4 の空気では P*/P_0 ≈ 0.528、T*/T_0 ≈ 0.833。背圧を下げても喉部音速面が「情報の壁」になるため、ṁ_max はそれ以上増えません。
チョーク流れ シミュレーターとは
🙋
圧縮空気の配管で「チョークしているから流量はこれ以上増えない」って言われたんですけど、どういう意味ですか?
🎓
ざっくり言うと、ノズルや絞り部の一番細い断面で気体が音速に達してしまった状態のことだ。シミュレーター初期値の P_0 = 500 kPa, P_b = 200 kPa を見てごらん。背圧比は 0.4 で臨界圧力比 0.528 を下回るから、ṁ = 0.117 kg/s で頭打ちになる。この状態で P_b をさらに下げても流量は1グラムも増えない。実務では安全弁・破裂板・小径オリフィスメーターで日常的に起きる現象だよ。
🙋
なんで音速に達すると流量が止まるんですか?情報が伝わらないって聞いたんですけど。
🎓
そう、その直感が大事だ。背圧の情報は音波で上流に伝わるけど、喉部で流速が音速になると下流の音波は二度と上流に届かない。つまり喉部より下流の圧力変化はノズル入口の流れに一切影響しないんだ。式で言うと dA/A = (M²−1) dV/V から、収束ダクトでは M = 1 が上限になる。それ以上加速したければ拡大部を加えてラバール(収束-拡大)ノズルにする必要がある。
🙋
P_b スライダーを上げていくと、どこからチョークじゃなくなるんですか?
🎓
P_b/P_0 = 0.528 が境目だ。デフォルトの P_0 = 500 kPa なら、P_b = 264 kPa を超えたあたりからチョークが外れて「通常流れ」に変わる。スライダーで P_b を 270 kPa にしてみると流量が 0.117 から少しずつ落ち始める。さらに P_b = 500 kPa(P_b = P_0)まで上げると ṁ = 0 になって流れが止まる。Play ボタンで P_b を掃引するとこの S 字曲線がよく見えるよ。
🙋
喉部速度が 317 m/s と出てます。これは音速ですか?
🎓
そう、T_0 = 300 K の場合の喉部音速 a* = √(γ R T*) で、T* = 2T_0/(γ+1) = 250 K のときの音速だ。地上の常温音速 343 m/s より少し低いのは、断熱膨張で喉部の温度が下がっているからだよ。T_0 をスライダーで上げてみると、a* もそれに従って大きくなるのが確認できるはずだ。例えば T_0 = 600 K では a* ≈ 448 m/s になる。
🙋
じゃあ流量を増やしたいときは、何を上げればいいですか?
🎓
ṁ_max の式 ṁ_max = A* P_0 √(γ/(R T_0)) (2/(γ+1))^((γ+1)/(2(γ-1))) を見ると分かる。チョーク状態では (1) 上流全圧 P_0 を上げる、(2) 喉部面積 A* を広げる、(3) 上流全温度 T_0 を下げる(同温度なら密度が上がるため)の3つしかない。背圧 P_b はもう効かない。実プラントでは設計圧 P_0 を最大限取って、必要 ṁ から逆算で A* を決めるのが定石だね。
よくある質問
完全気体・等エントロピー流れで喉部マッハ数を M = 1 と置いたとき、よどみ点と喉部の関係式 P_0/P* = (1 + (γ−1)/2)^(γ/(γ-1)) から P*/P_0 = (2/(γ+1))^(γ/(γ-1)) が導かれます。空気 γ = 1.4 なら (2/2.4)^3.5 = 0.5283。He など γ = 1.67 では 0.487、CO_2 など γ = 1.30 では 0.546 と気体ごとに少し異なります。シミュレーターでは空気の値を表示しています。
本シミュレーターは完全気体・等エントロピー・準1次元定常を前提にしています。実際のオリフィスやコントロールバルブでは、流出係数 C_d(典型値 0.6〜0.95)を掛けた ṁ_actual = C_d · ṁ_ideal が用いられます。低温の高圧液化ガス(LNG など)では蒸発や Joule-Thomson 効果が無視できず、別途状態方程式(NIST REFPROP など)と数値積分が必要になります。安全弁設計の API 520 や ISO 4126 にも C_d を入れた式が定義されています。
ラバールノズルでも喉部の臨界条件と ṁ_max の式は同じです。違いは、喉部の下流に拡大部があるため、設計圧力比で運転すれば流れが超音速まで加速できる点。逆に背圧が設計値より高いと拡大部内で垂直衝撃波が立ち、それより下流は亜音速になります。チョークしている限り喉部での ṁ は同じなので、本シミュレーターの「ṁ vs P_b/P_0」曲線は収束ノズルでも収束-拡大ノズルでも、左半分(チョーク領域)の挙動は完全に同じです。
下流条件に依存しないため、容器圧力 P_0 と喉部面積 A* だけで放出流量が決まり、設計が単純で再現性が高いからです。下流側に配管・サイレンサー・スクラバーなど何が付いていても放出能力が保証されます。API 520 や ASME Section VIII の安全弁設計式は、まさにチョーク状態を前提に ṁ_max を計算しています。火災や暴走反応で容器が破裂しないように、必要 ṁ を満たす A* を逆算するのが基本フローです。
実世界での応用
圧力容器の安全弁・破裂板:化学プラント・LNGタンク・空気ボンベなどでは、内圧の異常上昇を防ぐために設定圧で開く安全弁が必須です。ここで重要なのが「常にチョーク状態で放出する」設計思想。背圧(下流配管圧)に関係なく放出能力が決まるため、下流側に何が接続されていても容器圧力をすばやく逃がせます。API 520 や ISO 4126 では本シミュレーターと同じ ṁ_max 式に流出係数 C_d を掛けた実用式で、必要 A* を逆算します。シミュレーターで P_0 = 1000 kPa、A* = 100 mm² にしてみると、安全弁1つで約 0.23 kg/s の空気を捨てられることが直感的に分かります。
オリフィス流量計(クリティカルフローノズル):校正用のガス流量計として広く使われるのが、意図的にチョークさせて流量を P_0 だけで決定する CFV(Critical Flow Venturi)ノズルです。ISO 9300 がこの方式を規定しており、ṁ = C_d · ṁ_max という単純な関係で 0.5% 以下の精度が得られます。下流のバルブ・流量計・センサーが何であれ流量は変わらないので、複数台の流量計の同時校正など、メトロロジー分野で重宝されています。
ロケットエンジン・ジェットエンジンのノズル:固体ロケット・液体ロケット・ターボジェットすべてで、燃焼室から噴出するガスは必ずチョーク状態を経由します。燃焼室圧(P_0 に相当)が決まれば喉部 ṁ_max が一意に決まるため、推力 F = ṁ · V_e + (P_e − P_atm)·A_e の設計が簡単になります。Saturn V の F-1 エンジンでは燃焼室圧 7 MPa、喉部直径 0.95 m で ṁ ≈ 2.6 t/s という巨大なチョーク流量を実現していました。シミュレーター単位系を MPa・m² に読み替えると桁感を掴めます。
真空システムのリーク評価:真空チャンバーや半導体プロセス装置で「真空度が立ち上がらない」原因を切り分けるとき、リーク孔をチョーク流れでモデル化します。室温・大気圧の空気が直径 0.1 mm の穴からリークすると、A* ≈ 0.008 mm² で ṁ ≈ 9 μg/s。設計圧力と面積から最悪リーク量を見積もり、必要排気速度を逆算する用途で本シミュレーターの式が直接使えます。半導体・宇宙開発・素粒子実験の真空配管設計で頻出する計算です。
よくある誤解と注意点
最も多い誤解は、「背圧を下げれば下げるほど流量は増える」と考えてしまうことです。チョーク領域では背圧の情報が音速の壁で遮られて上流に伝わらないため、P_b を 10 kPa にしようが真空にしようが ṁ_max は同じ。シミュレーターで P_b を 200 kPa から 10 kPa まで下げてみても、ṁ = 0.117 kg/s から1グラムも動かないことが確認できます。「真空に引けば流量が増える」のは P_b/P_0 > 0.528 の亜音速領域でのみ成立する話で、設計でこの直感を持ち込むと容量不足を招きやすいです。
次に多いのが、「ṁ_max は喉部の状態だけで決まる」と誤って覚えてしまうことです。式 ṁ_max = A* P_0 √(γ/(R T_0)) (2/(γ+1))^((γ+1)/(2(γ-1))) を見ると、現れる量は上流の P_0, T_0 と喉部面積 A* と気体定数のみ。喉部の P* や T* は途中計算で消えています。実装で「喉部圧 P* で割らないと」「喉部温度を別に測って」と余計な処理を入れるとバグの元です。シミュレーターで P_0 と T_0 だけ変えれば直接 ṁ_max が変わることが確認でき、この性質を実体験できます。
もう一つ、「収束ノズルでも超音速にできる」と思い込むケースです。準1次元の連続式 dA/A = (M²−1) dV/V から、M < 1 では A を絞ると V が上がりますが、M = 1 でちょうど dA = 0 となり、M > 1 にするには逆に A を広げる必要があります。つまり収束のみのノズルでは喉部の M = 1(音速)が物理的な上限です。背圧をどれだけ下げても、収束ノズルの出口流速は最大でも音速まで。ジェットエンジンやロケットで超音速流を作るには、必ず収束-拡大(ラバール)形状が必要です。