はじめて格子ボルツマン法を学ぶ初心者のための講座、第9回になります。
格子ボルツマン法は歴史が浅いこともあり、まだ情報が少ないのが正直なところです。そこで、本サイトでは、ゼロからでも理解できるように丁寧に進めていくようにします。数学的な部分も極力簡単にするので、ぜひ最後までついてきていただけると幸いです。
全く知識のない人でも一応理解できるように説明しますが、可能であればナビエストークス方程式やほかのCFD(流体解析)の手法を知っておくとベターです。
前回は格子ボルツマンの一連の計算フローとプログラミングについて説明しました。下記からどうぞ。
今回は、今までは簡単にしか紹介できなかった流入・流出境界条件で説明が足りなかった分について紹介します。
流入・流出
前回キャビティ流れを例として扱うため、壁面境界については説明しました。
しかし、まだ流入・流出の境界条件について説明していなかったので、ここからは流入流出境界について説明していきます。
流入(バウンスバック)
動く壁の実現のために、バウンスバック壁面に対して流速を上乗せするという手法を使いましたが、実はこの方法は流入境界にも使えます。
下記の境界条件で流速$u$を法線方向に与えることで、流入境界を達成できます。
$$ f_{\bar{i}} (x_b, t + \Delta t) = f_i^t (x_b, t) – 2 w_i \rho \frac{c_i u}{c_s^2} $$
流入(平衡分布)
流入条件を与える手法として、バウンスバック意外にもう一つあります。
それは、計算点の値を平衡分布で上書きする方法です。
一般的に格子法で使われる条件と考え方が近いので、こちらのほうが直感的にわかりやすいかもしれません。
境界の値を下記の平衡分布で上書きすることで、流入境界を達成できます。
$$ f_i^{eq} (x,t) = w_i \rho (1 + \frac{3 u \cdot c_i}{c^2_s} + \frac{9 (u \cdot c_i})^2}{2 c_s^4} – \frac{3 u \cdot u}{2 c_s^2}) $$
流出
流出は境界と逆側(領域側)のセルの値をコピーする方法が良く使用されます。
流出境界はどうしても不安的になりやすいので、強制的に粘性を与えたり1ステップで何度も更新するといった、強制的に安定化させる方法がとられます。
おわりに
短いですが、今回は流入・流出境界条件について紹介しました。短いのでまとめはありません。
前回の全体フローと合わせることで、基本的な実装については全て説明したことになります。
次回は、特殊な壁面境界条件であるインターポレテッドバウンスバックを紹介します。
インターポレテッドバウンスバックは格子に沿わない壁形状でも適用できる境界条件です。よって、インターポレテッドバウンスバックによって曲面を設定することができるようになります。
次回は下記からどうぞ。