パラメータ設定
統計
支配方程式
渦度輸送方程式:
$$\frac{\partial \omega}{\partial t}+ u\frac{\partial \omega}{\partial x}+ v\frac{\partial \omega}{\partial y}= \nu \nabla^2 \omega$$
ポアソン方程式:
$$\nabla^2 \psi = -\omega$$
速度—ストリーム関数関係:
$$u = \frac{\partial \psi}{\partial y},\quad v = -\frac{\partial \psi}{\partial x}$$
CFDとの関係:蓋駆動キャビティはGhia et al. (1982)の解が標準ベンチマーク。商用CFDツール(Fluent, OpenFOAM)の検証でも必ず使われる基礎問題です。
渦度コンター(赤=正、青=負回転) + 流線
黒線:流線(ストリーム関数の等値線)
2D Navier-Stokes 流れシミュレーターとは
🧑🎓
蓋駆動キャビティ流れって何ですか?教科書でよく見るあの絵ですよね。
🎓
そう、四方が壁の箱の上辺(蓋)だけが動く、CFDの最も基本的なベンチマーク問題だ。ざっくり言うと、蓋が動くことで箱の中の流体が引きずられて複雑な渦ができる様子を調べるんだ。このシミュレーターでは、上の「レイノルズ数」スライダーを動かすと、その渦の形がどう変わるかがリアルタイムで見られるよ。
🧑🎓
え、レイノルズ数を変えると渦が変わるんですか?例えばどうなるんですか?
🎓
大きく変わるよ。例えば、Re=100くらいだと中心にぽっかり一つ大きな渦ができる。でも、Reを1000くらいまで上げてみると、中心の渦は左上に寄り、さらに箱の左下や右下の角に、小さな「二次渦」や「三次渦」と呼ばれる渦がポコポコと発生するんだ。シミュレーターでパラメータを変えながら観察してみて。
🧑🎓
なるほど!でも、なんで速度じゃなくて「渦度」と「ストリーム関数」で計算するんですか?圧力は考えないんですか?
🎓
良い質問だ。これは「渦度-ストリーム関数法」という2次元CFDの有名な手法で、実務でも基礎研究でよく使われる。速度の代わりにこれらを使う最大の利点は、連続の式(質量保存則)を自動的に満たすようにできて、しかも圧力を直接計算しなくて済むんだ。計算がシンプルで安定するから、このような教育用シミュレーターにピッタリなんだよ。グリッドサイズNを変えて計算の細かさを体験してみるといい。
物理モデルと主要な数式
このシミュレーターの心臓部は「渦度輸送方程式」です。流体の渦(うず)が、流れに運ばれ(移流)、粘性によって拡散・消えていく様子を記述します。
$$\frac{\partial \omega}{\partial t}+ u\frac{\partial \omega}{\partial x}+ v\frac{\partial \omega}{\partial y} = \nu \nabla^2 \omega$$
$\omega$: 渦度(流体の局所的な回転の強さ)
$u, v$: x, y方向の速度成分
$\nu$: 動粘性係数
左辺第2,3項が「移流項」(渦が流される効果)、右辺が「拡散項」(粘性による渦の拡がり・減衰効果)です。レイノルズ数Reは、移流の強さと拡散の強さの比を表します。
もう一つの重要な式が「ポアソン方程式」です。これは、渦度の分布から流れのパターン(流線)を決めるストリーム関数を求める式です。
$$\nabla^2 \psi = -\omega$$
$\psi$: ストリーム関数(この関数の等高線が流線になる)
$\nabla^2$: ラプラシアン(2階の空間微分)
この式を解くことで、渦度$\omega$の情報から速度$u = \partial \psi / \partial y$, $v = -\partial \psi / \partial x$が求められ、圧力を計算せずに流れ場全体が決まります。
実世界での応用
CFDソフトウェアの検証・ベンチマーク:商用ソフト(ANSYS Fluent, Siemens Star-CCM+)やオープンソース(OpenFOAM)の開発・導入時、計算コードが正しいかを確認する第一歩として必ずこの蓋駆動キャビティ流れが計算されます。Ghiaら(1982)のデータが世界的な基準です。
混練・攪拌プロセスの基礎研究:タンク内の撹拌翼が流体をかき混ぜる挙動を理解するための基礎モデルとして応用されます。キャビティの蓋の動きを撹拌翼に見立て、どのような渦が発生すれば効率的に混合できるかをシミュレーションで予測します。
マイクロ流体デバイスの設計:生体チップ(Lab-on-a-chip)など微小な流路内の流れは、しばしば2次元的な性質を示します。薬液の混合や粒子の分離を設計する際、本シミュレーターのような2D NSソルバーが初期検討に使われます。
建築・環境風工学の簡易評価:建物周辺の風の流れや、区画された空間内の空気流れを2次元的に把握する簡易モデルとして利用されます。例えば、機械室内の熱気の滞留する場所(二次渦が発生する角部など)を特定するのに役立ちます。
よくある誤解と注意点
このシミュレーターを使い始めるとき、いくつか勘違いしやすいポイントがあるよ。まず、「レイノルズ数が高いほど、現実の流れに近い」と思いがちだけど、それは違う。Reを上げると確かに渦が複雑になるけど、それは「非定常で乱流に近い挙動」を模倣しようとしている状態。でも、このシミュレーションは2次元で、しかも「層流」の仮定で計算しているんだ。実世界の3次元乱流とは根本的に異なるから、例えばRe=10000の結果をそのままポンプ設計に使うのは危険だよ。あくまで現象の「傾向」を見るためのツールと心得よう。
次に、グリッドサイズNの設定。N=32や64だと計算は速いけど、特に高レイノルズ数では渦の形が粗く、場合によっては不安定で振動しちゃうことがある。これは数値拡散が強く効いて、本来の物理的な粘性効果を打ち消してしまうから。実務でもメッシュ(格子)の解像度はシミュレーションの生命線で、「メッシュ依存性調査」といって、結果がメッシュの粗さに依存しなくなるまで細かくする作業が必須なんだ。このツールでも、例えばRe=1000でN=64, 128, 256と変えて、左下の二次渦がどう表現されるか比べてみると、その重要性が体感できるはず。
最後に、「圧力が計算されていない」ことの意味を理解しておこう。渦度-ストリーム関数法は計算が安定して素晴らしいけど、翼の揚抗力や配管内の圧力損失など「圧力そのものが知りたい現象」には直接使えない。そういう時は、速度と圧力を直接求める「プリミティブ変数法」(MAC法、SIMPLE法など)が必要になる。このツールは、流れの「パターン」と「構造」を理解するための第一歩なんだ。
関連する工学分野
この蓋駆動キャビティの計算は、一見単純だけど、実は様々な工学分野の基礎技術と直結しているんだ。まず挙げるのは電子機器の冷却設計だ。筐体の中の空気の流れや、ヒートシンク周りの伝熱を最適化するとき、この「閉じた領域内の循環流」の知識がめちゃくちゃ役立つ。キャビティの蓋の動きがファン、加熱部が発熱体に対応するイメージだね。
もう一つは塗装やコーティングのプロセス。塗料をスリットから押し出して基板に塗布するとき、塗料の粘性(つまり実質的なレイノルズ数)やダイの形状が、均一な膜を形成するかどうかを決める。このシミュレーターで、粘性が高い(Reが低い)と流れが鈍く、低い(Reが高い)と複雑な渦ができる様子を見れば、プロセス制御の難しさがイメージできるだろう。
さらに生体工学の分野でも応用されている。例えば、人工心臓内の血液の流れや、動脈瘤ができた血管内の循環(うっ滞)を解析する際の第一近似モデルとして、このキャビティ流れの知見が使われることがある。特に、角で発生する二次渦は「洗浄不良領域」となり、血栓ができやすい場所を予測する手がかりになるんだ。
発展的な学習のために
このシミュレーターに慣れてきたら、次は「数値解法のアルゴリズム」自体に踏み込んでみよう。このツールが内部でやっているのは、大きく分けて二段階の計算だ。まず、渦度輸送方程式を時間について陽解法(例えばオイラー法)で進める。次に、得られた渦度からポアソン方程式 $\nabla^2 \psi = -\omega$ を解くために、反復法(ガウス-ザイデル法やSOR法)を使っている。Nを大きくすると計算が重くなるのは、この反復計算の回数が増えるからなんだ。
数学的には、ナビエ-ストークス方程式から圧力項を消去して渦度方程式を導出する過程でベクトル解析の恒等式(例えば $\nabla \times (\nabla \phi) = 0$ )がキーになる。また、ポアソン方程式を解くことは、電磁気学での静電ポテンシャル計算や構造力学のたわみ計算と数学的に全く同じ形をしている。この「異なる分野で同じ方程式が現れる」事実を知ると、工学の見え方が一気に広がるよ。
次のステップとしておすすめのトピックは、「リダフォードのキャビティ流れ」だ。これは蓋だけでなく側面も動く、より一般的なモデルで、より複雑な渦の遷移が見られる。あるいは、この2Dの知識を土台に、3Dのキャビティ流れや、物体周りの流れの基礎である「円柱周り流れ」に進むと、カルマン渦列といったさらに豊かな現象に出会える。いずれにせよ、このツールで「パラメータを変えると物理現象がどう変わるか」を体で覚えた感覚は、より高度なCFDソフトを使うときにも必ず生きてくる力だ。