層流管内流れ(Hagen-Poiseuille)
理論と物理
概要
先生、Hagen-Poiseuille 流れってCFDの最初のベンチマークに使われますよね?
その通り。円管内の完全発達層流は、Navier-Stokes方程式の厳密解が存在する数少ない問題の一つだ。CFDコードの検証に最適で、離散化誤差を理論解と直接比較できる。
支配方程式と厳密解
導出を教えてください。
定常・軸対称・完全発達の条件下で、円柱座標の軸方向NS方程式は次のように簡略化される。
壁面 $r = R$ で $u = 0$(no-slip)、中心 $r = 0$ で $du/dr = 0$(対称性)の境界条件で解くと、
これが Hagen-Poiseuille の放物線型速度分布だ。最大速度は $U_{max} = R^2 (-dp/dx) / (4\mu)$ で、管中心に現れる。
体積流量と平均速度
体積流量はどうなりますか?
速度分布を積分すると、
これが Hagen-Poiseuille の法則だ。流量は半径の4乗に比例する。直径を2倍にすると流量は16倍になる。
平均速度は $\bar{U} = Q / (\pi R^2) = U_{max} / 2$ であり、最大速度の半分だ。
摩擦係数
管摩擦係数も理論的に求まるんですよね?
Darcy-Weisbach の摩擦係数 $f$ は、
Fanning 摩擦係数 $C_f$ を使う流儀もある。$C_f = f/4 = 16/Re_D$ だ。混同しやすいので注意が必要だ。
$f = 64/Re$ は有名ですよね。Re = 2300 を超えると乱流に遷移するんでしたっけ。
一般的にはそう言われるが、正確にはパイプ入口の擾乱レベルに依存する。擾乱が極めて小さい場合は Re = $10^5$ 程度まで層流が維持された実験もある。逆に、入口に大きな擾乱があると Re = 2000 以下でも遷移が起こりうる。
助走区間
完全発達するまでの助走区間ってどのくらいですか?
層流の助走区間長さは次の式で見積もれる。
Re = 100 なら $L_e \approx 6D$、Re = 2000 なら $L_e \approx 120D$ だ。CFDで完全発達流を得たいなら、この長さ以上のパイプを計算するか、周期境界条件を使って「無限に長いパイプ」を模擬する。
周期境界条件を使う方が計算コストは低そうですね。
そうだ。流れ方向に周期境界を設定し、圧力勾配をソース項として与える。OpenFOAM では cyclicAMI 境界と fvOptions の meanVelocityForce で実装できる。
毛細血管とHagen-Poiseuille式——医師も使う流体力学
Hagen-Poiseuille式は「流量は管径の4乗に比例する」という強烈な関係を示しています。直径が半分になると流量は1/16になる。これ、実は循環器科の医師が動脈硬化の深刻さを患者に説明するときに使う論理と同じです。血管が20%狭窄しただけで流量は約59%に落ちる計算になる。CFDでも血管狭窄の解析にHP式は登場しますが、「生体血管は非ニュートン流体で脈動がある」という点で厳密解との乖離が生じます。現場では「HP式で粗見積もり→CFDで精密評価」という二段階アプローチが定番です。
各項の物理的意味
- 時間項 $\partial(\rho\phi)/\partial t$:蛇口をひねった瞬間を思い浮かべてください。最初は水がバタバタと不安定に出て、しばらくすると安定した流れになりますよね? この「変化している最中」を記述するのが時間項です。心臓の拍動で血流が脈打つのも、エンジンのバルブが開閉するたびに流れが変動するのも、すべて非定常現象。では定常解析とは? 「十分時間が経って流れが落ち着いた後」だけを見る——つまりこの項をゼロにする。計算コストが大幅に下がるため、まず定常で解いてみるのがCFDの基本戦略です。
- 対流項 $\nabla \cdot (\rho \mathbf{u} \phi)$:川に落ち葉を落としたらどうなりますか? 流れに乗って下流に運ばれますよね。これが「対流」——流体の動きが物を運ぶ効果です。暖房の温風が部屋の端まで届くのも、空気という「運び屋」が熱を対流で輸送しているから。ここが面白いところ——この項は「速度×速度」を含むため非線形です。つまり、流れが速くなるとこの項が急激に強くなり、制御が難しくなる。これが乱流の根本原因です。よくある勘違い:「対流と伝導は同じようなもの」→ 全然違います! 対流は流れが運ぶ、伝導は分子が伝える。桁違いの効率差があります。
- 拡散項 $\nabla \cdot (\Gamma \nabla \phi)$:コーヒーにミルクを入れて放置したことはありますか? かき混ぜなくても、しばらく経つと自然に混ざりますよね。あれが分子拡散です。では次の質問——ハチミツとお水、どちらが流しやすいですか? 当然お水ですよね。ハチミツは粘性($\mu$)が高いから流れにくい。粘性が大きいと拡散項が強くなり、流体は「もったりした」動きになります。レイノルズ数が小さい流れ(ゆっくり、ドロドロ)では拡散が支配的。逆にRe数が大きい流れでは対流が圧倒し、拡散は脇役になります。
- 圧力項 $-\nabla p$:注射器のピストンを押すと、液体が針先から勢いよく出ますよね? なぜでしょう? ピストン側が高圧、針先が低圧——この圧力差が流体を押す力になるからです。ダムの放水も同じ原理。天気図で等圧線がギュッと密になっている場所では? そう、強風が吹きます。「圧力差があるところに流れが生まれる」——これがナビエ-ストークス方程式の圧力項の物理的意味。ここでの勘違いポイント:CFDの「圧力」は絶対圧ではなくゲージ圧のことが多い。圧縮性解析に切り替えたとたんに結果がおかしくなる場合、絶対圧/ゲージ圧の混同が原因かもしれません。
- ソース項 $S_\phi$:暖められた空気が上に昇る——なぜでしょう? 周囲より軽く(密度が低く)なったから、浮力で押し上げられるのです。この浮力はソース項として方程式に追加されます。他にも、ガスコンロの炎で化学反応熱が発生する、工場の電磁ポンプで金属溶湯にローレンツ力がかかる…これらはすべて「外部から流体にエネルギーや力を注入する」作用であり、ソース項で表現します。ソース項を忘れるとどうなるか? 自然対流の解析で浮力を入れ忘れると、流体は一切動かない——冬の部屋で暖房をつけたのに暖かい空気が上に行かない、という物理的にありえない結果になります。
仮定条件と適用限界
- 連続体仮定:クヌッセン数 Kn < 0.01(分子平均自由行程 ≪ 代表長さ)で成立
- ニュートン流体仮定:せん断応力と歪み速度が線形関係(非ニュートン流体では粘度モデルが必要)
- 非圧縮性仮定(Ma < 0.3の場合):密度を一定として扱う。マッハ数0.3以上では圧縮性効果を考慮
- ブシネスク近似(自然対流):密度変化を浮力項のみで考慮し、他の項では一定密度を使用
- 適用外ケース:希薄気体(Kn > 0.1)、超音速・極超音速流れ(衝撃波捕捉が必要)、自由表面流れ(VOF/Level Set等が必要)
次元解析と単位系
| 変数 | SI単位 | 注意点・換算メモ |
|---|---|---|
| 速度 $u$ | m/s | 入口条件で体積流量から換算する際、断面積の単位に注意 |
| 圧力 $p$ | Pa | ゲージ圧と絶対圧の区別。圧縮性解析では絶対圧を使用 |
| 密度 $\rho$ | kg/m³ | 空気: 約1.225 kg/m³@20°C、水: 約998 kg/m³@20°C |
| 粘性係数 $\mu$ | Pa·s | 動粘性係数 $\nu = \mu/\rho$ [m²/s] との混同に注意 |
| レイノルズ数 $Re$ | 無次元 | $Re = \rho u L / \mu$。層流/乱流遷移の判定指標 |
| CFL数 | 無次元 | $CFL = u \Delta t / \Delta x$。時間刻みの安定性に直結 |
数値解法と実装
数値手法
理論解があるのにCFDで解く意味は何ですか?
主に2つの目的がある。
1. コード検証(Code Verification): 理論解と比較して離散化誤差のオーダーを確認
2. 乱流遷移の研究: 層流解を基底状態として擾乱を加え、遷移過程を追跡
離散化誤差の評価
理論解と比較するとき、具体的にどう評価するんですか?
メッシュを3水準以上で系統的に細かくし、誤差の収束オーダーを確認する。
例として、20セル、40セル、80セルの径方向分割で計算し、誤差を両対数プロットする。2次精度スキームなら傾き $-2$、つまり $\epsilon \propto h^2$ で誤差が減少するはずだ。
| 径方向セル数 | $\Delta r / R$ | $L_2$ 誤差(速度) | 収束オーダー |
|---|---|---|---|
| 10 | 0.1 | $2.5 \times 10^{-3}$ | — |
| 20 | 0.05 | $6.3 \times 10^{-4}$ | 1.99 |
| 40 | 0.025 | $1.6 \times 10^{-4}$ | 1.98 |
| 80 | 0.0125 | $4.0 \times 10^{-5}$ | 2.00 |
収束オーダーが理論値(2次精度なら2)と一致すれば、コードが正しく実装されていると言えるんですね。
その通り。これが Method of Manufactured Solutions (MMS) と並ぶ Code Verification の基本手法だ。
軸対称モデル vs フル3D
円管だから軸対称で計算できますよね?
ただし、助走区間を含む場合や乱流遷移を調べる場合はフル3D計算が必要だ。助走区間の流れは軸対称だが、遷移は3D的な擾乱で駆動される。
OpenFOAM での周期的パイプ流
周期境界条件を使った無限長パイプの設定を教えてください。
OpenFOAM での設定例だ。
周期境界条件を使った無限長パイプの設定を教えてください。
OpenFOAM での設定例だ。
```
boundary:
inlet: { type cyclic; neighbourPatch outlet; }
outlet: { type cyclic; neighbourPatch inlet; }
wall: { type wall; }
system/fvOptions:
momentumSource:
{
type meanVelocityForce;
selectionMode all;
fieldName U;
Ubar (1 0 0); // 目標平均速度
}
```
この設定では、入口と出口が周期的に接続され、圧力勾配が自動的に調整されて指定した平均速度 $\bar{U} = 1$ m/s が維持される。定常層流なら simpleFoam で数百反復で収束する。
Fluent での設定
Fluent だとどうなりますか?
Fluent でも periodic boundary が使える。Setup → Boundary Conditions で inlet/outlet を periodic pair として定義し、Mass Flow Specification で目標流量を指定する。あるいは、パイプ入口に一様流を与えて十分長いパイプ($L > 0.06 Re \cdot D$)を計算する方法もある。後者のほうが助走区間の発達も同時に検証できる。
「助走区間」を計算し忘れて大失敗
管内流れの数値解析でやりがちなミスの1つが「入口の助走区間を無視する」こと。Hagen-Poiseuille式が成立するのは流れが完全に発達した後の話で、実際には入口から直径の約50〜100倍の長さが必要です。工場の配管解析で「理論値と10%ずれる!」と騒いでいたら、計測点が入口から管径の20倍しか離れていなかった——というのは笑えない実話です。境界条件に「放物線プロファイル vs 一様流」を選べるのも、まさにこの助走区間問題が理由です。入口条件を雑に設定すると、解が「正しい計算式を使った間違い」になります。
風上差分(Upwind)
1次風上: 数値拡散が大きいが安定。2次風上: 精度向上するが振動のリスク。高レイノルズ数流れでは必須。
中心差分(Central Differencing)
2次精度だが、Pe数 > 2で数値振動が発生。低レイノルズ数の拡散支配流れに適する。
TVDスキーム(MUSCL、QUICK等)
リミッタ関数により数値振動を抑制しつつ高精度を維持。衝撃波や急勾配の捕捉に有効。
有限体積法 vs 有限要素法
FVM: 保存則を自然に満足。CFDの主流。FEM: 複雑形状・マルチフィジックスに有利。SPH等のメッシュフリー法も発展中。
CFL条件(クーラン数)
陽解法: CFL ≤ 1が安定条件。陰解法: CFL > 1でも安定だが、精度と反復回数に影響。LES: CFL ≈ 1を推奨。物理的意味: 1タイムステップで情報が1セル以上進まないこと。
残差モニタリング
連続の式・運動量・エネルギーの各残差が3〜4桁低下で収束と判断。質量保存の残差は特に重要。
緩和係数
圧力: 0.2〜0.3、速度: 0.5〜0.7が一般的な初期値。発散する場合は緩和係数を下げる。収束後は上げて加速。
非定常計算の内部反復
各タイムステップ内で定常解に収束するまで反復。内部反復数: 5〜20回が目安。残差がタイムステップ間で変動する場合は時間刻みを見直す。
SIMPLE法のたとえ
SIMPLE法は「交互に調整する」手法。まず速度を仮に求め(予測ステップ)、その速度で質量保存が満たされるよう圧力を補正し(補正ステップ)、補正された圧力で速度を修正する——このキャッチボールを繰り返して正解に近づく。2人で棚を水平にする作業に似ている:片方が高さを合わせ、もう片方がバランスを取り、これを交互に繰り返す。
風上差分のたとえ
風上差分は「川の流れに立って上流の情報を重視する」手法。川の中にいる人が下流を見ても水の出所は分からない——上流の情報が下流を決めるという物理を反映した離散化手法。精度は1次だが、流れの方向を正しく捕捉するため安定性が高い。
実践ガイド
実践的な解析手順
Hagen-Poiseuille 流れを使ってCFDコードを検証する手順を教えてください。
ステップバイステップで説明しよう。
1. パラメータ設定: $D = 1$ m, $L = 10D$, $\bar{U} = 1$ m/s, $\nu = 0.01$ m$^2$/s → $Re = 100$
2. 理論解の計算: $U_{max} = 2\bar{U} = 2$ m/s, $-dp/dx = 8\mu\bar{U}/R^2 = 0.32$ Pa/m
3. メッシュ生成: 径方向10, 20, 40セルの3水準。軸方向はセルアスペクト比 $\leq 5$ に
4. 定常計算実行: simpleFoam (OpenFOAM) または Pressure-Based Steady (Fluent)
5. 出口断面の速度プロファイル抽出: 理論放物線と重ねてプロット
6. $L_2$ 誤差の計算と収束オーダー確認: 2次精度なら $p \approx 2$
7. 摩擦係数の確認: 壁面せん断応力から $f$ を計算し $64/Re$ と比較
壁面せん断応力の確認
壁面せん断応力の理論値はいくつですか?
壁面での速度勾配から、
上の数値例($\mu = \rho \nu = 0.01$ Pa$\cdot$s として $\rho = 1$ kg/m$^3$)では $\tau_w = 0.08$ Pa となる。CFDの結果がこの値と一致するか確認する。
メッシュ品質の注意点
パイプのメッシュで気をつけることはありますか?
円管メッシュには特有の問題がある。
- O型メッシュの中心特異性: 中心軸でセルが潰れる。対策として butterfly型(中心に正方形ブロック+周囲にO型)を使用
- 壁面近傍の解像度: 放物線プロファイルは壁面で最も勾配が大きい。壁面に近いほどメッシュを細かくする(grading 比 $1.1\text{--}1.3$)
- 軸方向分割: 完全発達流では軸方向は均一分割でよいが、助走区間を含む場合は入口近傍を細かくする
butterfly 型メッシュってどういう形ですか?
管断面の中心に小さな正方形ブロックを配置し、その周囲をO型ブロックで囲む形だ。blockMeshDict では5つのブロック(中心1 + 周囲4)で構成する。これにより中心軸での特異性を回避できる。
代表的な検証結果
正しく計算できた場合のチェックポイントを教えてください。
Re = 100、パイプ長さ $10D$ の場合:
| 検証項目 | 理論値 | 許容誤差 |
|---|---|---|
| 出口中心速度 $U_{max}$ | $2\bar{U}$ | $< 0.1\%$(十分細かいメッシュ) |
| 壁面せん断応力 $\tau_w$ | $8\mu\bar{U}/D$ | $< 1\%$ |
| 圧力降下 $\Delta p$ | $128\mu L Q / (\pi D^4)$ | $< 0.5\%$ |
| 摩擦係数 $f$ | $64/Re = 0.64$ | $< 1\%$ |
| 速度プロファイルの $L_2$ 誤差 | — | 収束オーダー $\geq 1.9$(2次精度時) |
半導体工場の超精密配管——層流管理が命取り
半導体製造の洗浄工程では、超純水やフッ酸を管内で完全に層流状態で流すことが求められます。Re数が2000を超えると微細な粒子が舞い上がってウェハを汚染するため、配管設計はHagen-Poiseuille理論の守備範囲内に収めるのが鉄則です。あるファブでは流量増加のために配管径を少し細くしたところ、流速が上がってRe数が臨界値を超え、歩留まりが突然悪化した。原因特定に数週間かかったという話があります。「層流管内流れは地味な理論」と思いがちですが、数千億円の装置を動かす現場では死活問題です。
解析フローのたとえ
CFDの解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
ツール別の実装
Hagen-Poiseuille 流れは簡単な問題ですけど、ツールによって違いはありますか?
基本的にどのツールでも解けるが、検証作業での使い勝手に差がある。
| ツール | 周期境界 | 理論解との比較機能 | 壁面量の出力 |
|---|---|---|---|
| Ansys Fluent | 対応(Periodic BC) | Custom Field Function で誤差計算可能 | Wall Shear Stress 直接出力 |
| STAR-CCM+ | 対応 | Field Function で理論解定義可能 | Wall Shear Stress モニター |
| OpenFOAM | cyclic/cyclicAMI | postProcess で sample + Python比較 | wallShearStress ユーティリティ |
| COMSOL | 対応 | 式で理論解を直接入力・プロット | 表面積分で直接計算 |
| FEniCS | 周期BC対応 | Python で直接比較 | 表面積分 |
COMSOL での実装
COMSOL はGUIで簡単に設定できそうですね。
COMSOL は教育目的に非常に向いている。Laminar Flow (spf) モジュールで、
1. 2D Axisymmetric モデルを選択
2. 矩形領域($r: 0 \to R$, $x: 0 \to L$)を定義
3. 入口に Normal Inflow Velocity、出口に Pressure = 0
4. 壁面に No Slip、対称軸に Axis
5. メッシュを Free Triangular で生成し、壁面にBoundary Layer
6. 定常計算を実行
COMSOL の強みは、結果のプロット画面で直接 $u_{exact}(r) = 2 U_{avg} (1 - (r/R)^2)$ を入力して数値解と重ねてプロットできることだ。
配管系の設計計算への応用
実務では単純なパイプ流だけじゃなく、配管系全体を計算することもありますよね。
配管系の圧力損失計算では、Hagen-Poiseuille の法則が基本になる。直管部の摩擦損失は、
これにエルボ、バルブ、拡大管などの局所損失($\Delta p_l = K \rho \bar{U}^2 / 2$)を加算する。CFDで配管系全体を解くよりも、1Dの圧力損失計算のほうが効率的な場合が多い。
CFDは局所的な流れの詳細を知りたいときに使うわけですね。
そうだ。例えば、バルブ近傍の剥離域やエルボの二次流れのような局所現象は、CFD以外では正確に予測できない。一方、100mの直管の圧力損失なら理論式で十分だ。
「HP式で計算できるのに、なぜソフトを買うの?」への答え
「Hagen-Poiseuille式は手計算できるのに、なんでFluent使うの?」という質問、新入社員から来ることがあります。正直な答えは「単純な直管はそうだけど、実際の配管はそんなじゃない」ということです。T字分岐、エルボ、バルブ、段差——これらが絡むと途端にHP式は使えなくなる。現場の配管は「HP式が成立しない部分の集合体」です。商用ツールは「この複雑な形状を丸ごと一発で計算したい」というニーズに応えるもので、HP式はその検証の出発点として使います。ツールの選定根拠を問われたとき、「理論値との一致を確認できた」というエビデンスは提案書の説得力を上げます。
選定で最も重要な3つの問い
- 「何を解くか」:層流管内流れ(Hagen-Poiseuille)に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
層流-乱流遷移
先生、パイプ流の遷移って実はまだ完全には解明されていないんですよね?
その通り。パイプ流の遷移は流体力学の未解決問題の一つだ。Hagen-Poiseuille 流は全てのReで線形安定(線形安定性解析で不安定モードが見つからない)だが、実際にはRe $\approx 2000\text{--}2300$ で乱流に遷移する。これは「亜臨界遷移」と呼ばれる。
線形安定なのに乱流になるって矛盾してませんか?
有限振幅の擾乱が必要なんだ。線形安定性解析は微小擾乱しか扱わない。有限振幅の3D擾乱が加わると、非線形効果で「遷移的成長(transient growth)」を経て乱流に遷移する。
パフとスラグ
遷移のときに特徴的な構造が出るんですよね。
Re $\approx 2000$ 付近では「パフ(puff)」と呼ばれる局在化した乱流構造が現れる。
- パフ (Re $\approx 1700\text{--}2300$): 乱流の塊が上流に鋭い前面、下流になだらかな後面を持つ。流れ方向に移流されつつ、分裂や消滅を繰り返す
- スラグ (Re > $2300$ 程度): 乱流領域が上流・下流の両方向に拡大。最終的に管全体が乱流化
Avila et al. (2011, Science) はDNSと実験で、パフの分裂・消滅が統計的過程であることを示し、臨界Re $\approx 2040$ を決定した。これは統計力学の directed percolation と同じ普遍性クラスに属する。
DNS による遷移研究
DNS でパイプ遷移を計算するにはどうすればいいですか?
スペクトル法が標準的だ。Willis & Kerswell のコード「openpipeflow」がオープンソースで公開されている。円柱座標のFourier(軸方向・方位角方向)+ Chebyshev/有限差分(径方向)の組み合わせだ。
有限体積法のCFDコード(OpenFOAM等)でもDNS級の計算は可能だが、スペクトル法に比べて同じ精度を達成するのに $5\text{--}10$ 倍のメッシュ点数が必要になる。
マイクロ流路への応用
マイクロ流体デバイスでも Hagen-Poiseuille の法則は使えますか?
基本的には使える。マイクロ流路($D \sim 10\text{--}100 \, \mu$m)では Re が低い($Re \ll 1$ が典型的)ので、慣性項は完全に無視でき、Stokes 流れの世界だ。
ただし以下の効果が重要になる場合がある。
- スリップ流れ: Knudsen 数 $Kn = \lambda / D > 0.01$ で壁面スリップが顕著に。連続体仮定の限界
- 電気浸透流: 壁面の電荷による Debye 層の効果。Hagen-Poiseuille 流にプラグ流が重畳
- 非ニュートン効果: 血液などの非ニュートン流体では速度プロファイルが放物線から逸脱
マイクロ流路のCFDには COMSOL がよく使われますよね。
そうだ。COMSOL の Microfluidics モジュールでは、電気浸透流、電気泳動、拡散-反応を含むマルチフィジックス解析が可能だ。
Coffee Break よもやま話
マイクロ流体デバイスと層流の逆説的な利用
マクロスケールでは「乱流のほうが混合効率が高い」のが常識ですが、マイクロ流体チップ(LOC)の世界では層流が武器になります。幅100μmの流路ではRe数が1以下になることも珍しくなく、二種類の液体を流しても界面でしか混合が起きない。この「層流の混合しにくさ」を逆手にとって、DNA検査チップでは試薬をきれいに層状に維持して段階的に反応させます。もし乱流で混ざってしまったら試薬が無駄になる。HP式が支配するスケールで「意図的に混合させない設計」というのが面白い最前線です。
先生、パイプ流の遷移って実はまだ完全には解明されていないんですよね?
その通り。パイプ流の遷移は流体力学の未解決問題の一つだ。Hagen-Poiseuille 流は全てのReで線形安定(線形安定性解析で不安定モードが見つからない)だが、実際にはRe $\approx 2000\text{--}2300$ で乱流に遷移する。これは「亜臨界遷移」と呼ばれる。
線形安定なのに乱流になるって矛盾してませんか?
有限振幅の擾乱が必要なんだ。線形安定性解析は微小擾乱しか扱わない。有限振幅の3D擾乱が加わると、非線形効果で「遷移的成長(transient growth)」を経て乱流に遷移する。
遷移のときに特徴的な構造が出るんですよね。
Re $\approx 2000$ 付近では「パフ(puff)」と呼ばれる局在化した乱流構造が現れる。
Avila et al. (2011, Science) はDNSと実験で、パフの分裂・消滅が統計的過程であることを示し、臨界Re $\approx 2040$ を決定した。これは統計力学の directed percolation と同じ普遍性クラスに属する。
DNS でパイプ遷移を計算するにはどうすればいいですか?
スペクトル法が標準的だ。Willis & Kerswell のコード「openpipeflow」がオープンソースで公開されている。円柱座標のFourier(軸方向・方位角方向)+ Chebyshev/有限差分(径方向)の組み合わせだ。
有限体積法のCFDコード(OpenFOAM等)でもDNS級の計算は可能だが、スペクトル法に比べて同じ精度を達成するのに $5\text{--}10$ 倍のメッシュ点数が必要になる。
マイクロ流路への応用
マイクロ流体デバイスでも Hagen-Poiseuille の法則は使えますか?
基本的には使える。マイクロ流路($D \sim 10\text{--}100 \, \mu$m)では Re が低い($Re \ll 1$ が典型的)ので、慣性項は完全に無視でき、Stokes 流れの世界だ。
ただし以下の効果が重要になる場合がある。
- スリップ流れ: Knudsen 数 $Kn = \lambda / D > 0.01$ で壁面スリップが顕著に。連続体仮定の限界
- 電気浸透流: 壁面の電荷による Debye 層の効果。Hagen-Poiseuille 流にプラグ流が重畳
- 非ニュートン効果: 血液などの非ニュートン流体では速度プロファイルが放物線から逸脱
マイクロ流路のCFDには COMSOL がよく使われますよね。
そうだ。COMSOL の Microfluidics モジュールでは、電気浸透流、電気泳動、拡散-反応を含むマルチフィジックス解析が可能だ。
マイクロ流体デバイスと層流の逆説的な利用
マクロスケールでは「乱流のほうが混合効率が高い」のが常識ですが、マイクロ流体チップ(LOC)の世界では層流が武器になります。幅100μmの流路ではRe数が1以下になることも珍しくなく、二種類の液体を流しても界面でしか混合が起きない。この「層流の混合しにくさ」を逆手にとって、DNA検査チップでは試薬をきれいに層状に維持して段階的に反応させます。もし乱流で混ざってしまったら試薬が無駄になる。HP式が支配するスケールで「意図的に混合させない設計」というのが面白い最前線です。
トラブルシューティング
よくある問題と対策
こんな簡単な問題で失敗することあるんですか?
意外とあるんだ。Hagen-Poiseuille は「うまくいくはず」の問題だからこそ、合わないときに問題の切り分けがしやすい。
1. 速度プロファイルが放物線にならない
確認ポイント:
- パイプが十分長いか: $L > 0.06 Re \cdot D$ でなければ、出口断面で速度は完全発達していない。Re=100 なら $L > 6D$ が必要
- 入口条件: 一様流を入口に与えた場合、助走区間を経て放物線に発達する。入口断面で放物線を期待してはいけない
- メッシュの軸対称性: 非構造メッシュの場合、断面内の非対称性がプロファイルを歪ませることがある
2. 圧力降下が理論と合わない
圧力降下が理論値の $128\mu LQ / (\pi D^4)$ とずれるんですが。
確認ポイント:
| 原因 | 対策 |
|---|---|
| 助走区間の付加圧力降下 | 完全発達領域内の2点間で $\Delta p$ を計算 |
| 単位系の不整合 | $\mu$ と $\nu$ の単位を確認。$\mu = \rho \nu$ |
| 出口境界条件 | Pressure Outlet ($p = 0$) が出口にあるか確認 |
| 数値拡散 | 1次精度スキームでは圧力勾配の精度も低下 |
3. 収束が遅い / 収束しない
Hagen-Poiseuille は線形問題なので、適切に設定すれば数百反復以内に収束するはずだ。収束が遅い場合:
- 緩和係数が低すぎる: SIMPLE法の場合、圧力緩和 $\alpha_p = 0.3$、速度 $\alpha_U = 0.7$ が標準的。不必要に下げていないか確認
- メッシュの歪み: 非直交性が高いと収束が悪化。
checkMeshでnon-orthogonality を確認 - 境界条件の不整合: 入口で質量流入があるのに出口が壁面になっている等の致命的ミス
4. 壁面せん断応力がゼロ
wallShearStress がゼロと出力されるんですが。
壁面条件が slip になっていないか確認すること。noSlip(OpenFOAM では fixedValue uniform (0 0 0))が正しい。
また、OpenFOAM の wallShearStress post-processing ユーティリティは、乱流モデルが有効でないと正しく計算されない場合がある。層流の場合は wallShearStress ではなく、wallGradU から手動で $\tau_w = \mu (\partial u / \partial n)_{wall}$ を計算するほうが確実だ。
5. 周期境界条件が機能しない
OpenFOAM で cyclic 境界を使う際の注意点:
- inlet/outlet パッチの面の法線ベクトルが反対向きで、面の形状が完全に一致している必要がある
createPatchユーティリティで周期パッチを作成した後、checkMeshでエラーがないことを確認meanVelocityForceの方向ベクトルが流れ方向と一致しているか確認
基本的な問題こそ丁寧に検証する姿勢が大事なんですね。
その通り。Hagen-Poiseuille 流が正しく解けないなら、それ以上複雑な問題を解く資格がないということだ。CFDの「健康診断」として定期的にベンチマークを回すことを勧める。
「Re数が正しいのに解が合わない」のよくある罠
層流管内流れの検証で「Re数は2000以下にしたのに速度プロファイルが放物線にならない」という相談がたまにあります。大抵の原因は「壁の粗さモデルが有効になっている」か「出口境界条件が逆流を許していない」のどちらかです。特に後者は盲点で、出口でゼロ勾配条件を使っても、数値的な揺らぎで流れが逆流すると収束が壊れます。もう一つの罠は「メッシュが粗すぎて放物線を十分解像できていない」ケース。断面方向に最低10要素は欲しいところを、5要素で「なんとなく形になってる」と思い込む。層流だから簡単、という先入観が落とし穴を招きます。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——層流管内流れ(Hagen-Poiseuille)の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告