VOF法(Volume of Fluid)多相流解析
理論と物理
概要
先生、VOF法ってよく聞くんですけど、水と空気みたいな2つの流体が混ざらずに共存する問題を解くための手法ですか?
まさにそう。海波のシミュレーション、水タンクの揺れ(スロッシング)、液滴の落下、ダム崩壊など「自由表面」や「複数流体界面」を追跡する問題がVOF法の得意領域だよ。VOF(Volume of Fluid)は「各セルにどの流体がどれだけ占有しているか」を体積分率 $\alpha$ で表し、界面を陰的に追跡する。1981年にHirtとNicholsが提案した古典的な手法で、今もCFDの多相流解析の標準手法の一つだ。
$\alpha$ が0か1で明確に分かれるんじゃなくて、セル内に両方が混在することがあるんですか?
そう、界面をまたぐセルでは $0 < \alpha < 1$ になる。この界面セルをどれだけ鮮明に保つかが精度の鍵で、それが「界面再構成スキーム」の話につながる。Geo-Reconstruct(PLIC)方式はセル内の界面を線として再構成し、非常にシャープな界面を維持できる。
VOF法とLevel Set法という2つの手法があると聞きましたが、何が違うんですか?
VOF法の長所は「質量(体積)保存が厳密に守られること」。$\int\alpha\,dV$ が常に保存される。欠点は界面がぼやけやすいこと。一方Level Set法は界面を符号付き距離関数で表すため界面が鮮明だが、質量保存が保証されない——液滴が計算中に少しずつ「蒸発」したり「増殖」したりする問題がある。CLSVOFは両者のハイブリッドで、高精度な界面追跡と質量保存を同時に達成する現在の主流手法の一つだよ。
VOF輸送方程式
VOF法の基本方程式を教えてください。
VOFの核心は体積分率 $\alpha$ の輸送方程式だ:
$\alpha = 1$ が流体1(例:水)、$\alpha = 0$ が流体2(例:空気)。混合密度と粘性はこの $\alpha$ で補間:
ナビエ・ストークス方程式は1セット(共有速度場 $\mathbf{u}$)を解く。OpenFOAMの interFoam ソルバーは $\alpha$ 輸送に圧縮項 $\nabla \cdot (\mathbf{u}_r \alpha(1-\alpha))$ を追加して界面の鮮明さを維持する:
$\mathbf{u}_r$ は界面圧縮速度(物理的な速度ではない人工的な項)。$\alpha(1-\alpha)$ は界面(0と1の間)にしか作用しないスマートな設計だよ。
CSF表面張力モデル
雨粒が球形に近くなるのは表面張力ですよね。VOFでこれを扱えますか?
CSF(Continuum Surface Force)モデルで表面張力を体積力として扱う:
$\sigma$ は表面張力係数 [N/m](水-空気:0.072 N/m)、$\kappa = -\nabla \cdot \hat{n}$ は界面曲率、$\hat{n} = \nabla\alpha / |\nabla\alpha|$ は界面法線。CSFモデルの弱点は「寄生流(Spurious Currents)」——界面曲率の離散化誤差で静止液滴の周りに非物理的な渦が発生すること。ウェーバー数 $We = \rho U^2 L / \sigma$ が小さい問題(表面張力支配)で特に問題になる。Height Function法で曲率を高精度に計算することで緩和できる。
接触角と濡れモデル
壁面で液体が「濡れる」様子もシミュレーションできますか?
接触角(Contact Angle)モデルで扱えるよ。Young-Dupré方程式:
$\theta_e$ は静的接触角、$\gamma$ は界面エネルギー(固-気、固-液、液-気)。FluentやCOMSOLではStaticまたはDynamic接触角を境界条件として設定できる。例えばハスの葉のような超撥水面($\theta_e \approx 150°$)を模擬する場合は、壁面境界でのαの勾配方向を接触角から逆算して設定する。インクジェット印刷やマイクロ流体デバイス(マイクロチャネル)の設計で重要な設定だ。
数値解法と実装
界面再構成スキーム
「界面が拡散してぼやける」って聞いたんですが、どうすれば鮮明さを保てますか?
界面再構成スキームの比較を見てみよう。
| スキーム | 界面の鮮明さ | 計算コスト | 適用場面 |
|---|---|---|---|
| HRIC(Fluent) | 中 | 低 | 汎用的な自由表面・スロッシング |
| Geo-Reconstruct / PLIC(Fluent) | 高 | 高 | 液滴・バブル、精度重視 |
| isoAdvector(OpenFOAM) | 高 | 中 | 非構造格子に強い、最新の標準的選択 |
| CICSAM | 中〜高 | 中 | 急峻な界面変形 |
| MULES(OpenFOAM) | 中 | 低 | interFoamのデフォルト、汎用 |
精度を重視するならGeo-Reconstruct(Fluent)またはisoAdvector(OpenFOAM)、計算コスト優先ならHRICという使い分けが一般的だ。
Courant数と時間刻み
VOF法では時間刻みが特に重要と聞きましたが、なぜですか?
界面 Courant 数の制御が必須だよ。界面を1タイムステップで1セル以上動かすと $\alpha$ が正確に輸送されない。目安:
陽的スキームではこの制約が厳しく、界面近傍の流速が速い問題(高圧スプレーなど)では $\Delta t$ が非常に小さくなる。さらに表面張力が強い問題ではキャピラリーCourant数にも制約がある:
Fluentの Implicit VOF スキームはCourant数制約を緩和できるが、界面の精度は若干落ちる。自動時間ステップ制御(ATSC)でインターフェース近傍のCo≤0.5を自動維持するのが実務の標準設定だ。
実践ガイド
タンクのスロッシング解析をVOFでやりたいんですが、セットアップのポイントを教えてください。
スロッシングはVOFの典型的な応用例だよ。チェックポイントを挙げよう。
- 初期条件:液面高さに応じて $\alpha$ を初期化。Fluentなら Patch コマンド、OpenFOAMなら setFields で設定。
- 重力設定:Operating Condition の Gravity Vector を忘れずに。加速度入力(振動や傾斜)は UDF/Expression で実装。
- メッシュ細分化:液面近傍に十分な解像度を。AMR(適応格子細分化)で界面を自動追跡するのが効率的。液面付近のメッシュ幅は液面変動幅の1/20以下が目安。
- 時間刻み:Courant 数 $\le$ 0.5 を確認。自動時間ステップ制御(ATSC)を活用。
- 体積保存確認:液体の総体積が保存されているか(1%以内)定期的に確認。保存誤差が大きければメッシュや設定を見直す。
- 体積分率αの初期条件(setFields / Patch)を正確に設定
- 重力ベクトルの設定を確認
- 界面Courant数 Co_α ≤ 0.5 を自動制御
- 界面再構成スキームを目的に応じて選択(精度 vs 速度)
- 表面張力係数σの文献値を確認
- 液体総体積の保存誤差を毎ステップ監視
- 解析後にα=0.5の等値面で界面を可視化し挙動確認
ソフトウェア比較
VOF法の実装は各ツールでどう違いますか? OpenFOAMとFluentではどちらが多相流に強いですか?
代表的なツールの比較を見てみよう。どちらが強いかは用途による。
| ツール | VOF実装 | 界面スキーム | 強み |
|---|---|---|---|
| Ansys Fluent | VOF(Explicit/Implicit) | Geo-Reconstruct, HRIC, CICSAM | VOF-to-DPM転換機能、AMR統合 |
| OpenFOAM | interFoam / multiphaseInterFoam | isoAdvector(最新)、MULES | オープンソース、研究・カスタマイズ自由 |
| Simcenter STAR-CCM+ | VOF + AMR自動統合 | HRIC, High-Order | AMRとの統合が最も強力、GUI優秀 |
| COMSOL | Phase Field + VOF選択可 | PLIC | マルチフィジックス連成が容易 |
OpenFOAMのisoAdvectorは2019年以降の標準で、非構造格子でも高精度界面追跡ができ、学術分野では非常に人気が高い。Fluentは汎用商用ツールとして設定が整備されており実務に向いている。
先端技術
VOF法の最新トレンドを教えてください。
興味深い研究方向が幾つかある。
- CLSVOF(VOF + Level Set):VOFの質量保存性とLevel Setの界面鮮明度を組み合わせたハイブリッド手法。マイクロ液滴やバブル生成の精密解析に使われる。
- 適応格子細分化(AMR)との統合:界面近傍だけを自動的に格子を細かくし、計算コストを大幅削減。STAR-CCMとOpenFOAMで実用レベルに達している。
- 機械学習による界面再構成:NN を使って低次精度のVOFデータから高精度界面形状を復元。粗い格子でPLIC精度を達成する研究(DeepVOF)が注目されている。
- 格子ボルツマン法(LBM)との統合:格子レベルで相変化や界面現象を扱えるLBMとのハイブリッドが多相マイクロ流体デバイスで活用。
VOF法とCGの意外な関係
VOF法は1970年代にLos Alamos国立研究所でF. Harlow らが開発したMACおよびSMACスキームを起源とする。この時代、核爆発シミュレーションと流体界面追跡は切り離せない研究テーマだった。現在では映画のVFXにも使われており、「インターステラー」「ダンケルク」の波の表現にはVOFに基づく流体シミュレーターが使用されたと言われている。
トラブルシューティング
VOF計算でよく遭遇するトラブルと対策を教えてください。
よくあるトラブルを表にまとめよう。
| 症状 | 原因 | 対策 |
|---|---|---|
| 計算が発散する | Co_α>1、格子が粗い | Δtを小さく、界面付近のメッシュを細分化 |
| 界面が拡散してぼやける | スキームが低精度(Upwindなど) | HRIC, Geo-Reconstruct, isoAdvectorに変更 |
| 液滴に寄生渦が見える | CSFの曲率離散化誤差 | メッシュを細かく、Height Function法で曲率計算 |
| 液体総体積が減少 | 数値拡散または設定ミス | Geo-Reconstruct(PLIC)に変更、Co_αを厳しく管理 |
| 界面で速度不連続・圧力振動 | 密度比が大きい(水-空気など) | PISO-VOF連成、Pressure Jump補正を使用 |
計算発散、界面拡散、寄生流、質量非保存、Fluent固有の設定ミスなど詳細解説