はじめて格子ボルツマン法を学ぶ初心者のための講座、第13回になります。
格子ボルツマン法は歴史が浅いこともあり、まだ情報が少ないのが正直なところです。そこで、本サイトでは、ゼロからでも理解できるように丁寧に進めていくようにします。数学的な部分も極力簡単にするので、ぜひ最後までついてきていただけると幸いです。
全く知識のない人でも一応理解できるように説明しますが、可能であればナビエストークス方程式やほかのCFD(流体解析)の手法を知っておくとベターです。
前回は非ニュートン流体 について説明しました。
重要なポイントは下記のとおりです。
- 非ニュートン流体は、せん断速度により粘度が変化する
- 格子ボルツマン法の計算ループ内で粘度を変化させる
- マクロ値でせん断速度を計算すると、ステンシルが大きくなる
- 粒子速度からせん断速度を計算することもできる
- power-lawモデルなどを使うことで、せん断速度から粘度変化を与えられる
今回は、格子ガスオートマトン(LGA)について紹介します。
LGAとLBM
今回は格子ガスオートマトン法(Lattice Gas cellular Automata)と格子ボルツマン法(Lattice Boltzman method)について説明します。
格子ガスオートマトン法は、格子気体法とも呼ばれる手法です。
格子ボルツマン法は、元々格子ガスオートマトン法(LGA)という手法から来ています。
今回は格子ガスオートマトン法について少し説明して、格子ボルツマン法との違いを見ていきましょう。
格子ガスオートマトン法(LGA)
格子ガスオートマトン法は、セルオートマトン法を流体に適用したものです。
セルオートマトン法は、格子で区切ったセルに対して1と0で物体移動を計算するシミュレーションです。
様々な分野で使われており、ウイルス感染シミュレーションなどにも使われていたりします。
格子ガスオートマトン法は、粒子が格子に沿って移動し、衝突したら向きを変えるというシミュレーションです。並進と衝突で計算をするという考え方は、既に格子ボルツマン法と同じです。
格子ガスオートマトン法の問題点
格子ガスオートマトン法をCFDに適用するには2つの課題がありました。
まず一つ目が、ナビエストークス方程式が導出できないことです。
二つ目が、0と1の計算なので極端な数値変化が大きいことです。
CFDでは人工粘性などで安定化させることを考えると、なめらかな変化が好ましいことはイメージしやすいでしょう。
格子ボルツマン法で解決
これらの問題を解消するようにして提案されたのが格子ボルツマン法です。
格子ボルツマン法では格子ガスオートマトン法から下記の違いがあります。
① 平衡分布関数$f^{eq}$と重み関数を導入することで、ナビエストークス方程式を導出できるようにした
② 分布関数$f$の導入により、なめらかな値の変化を可能にした
これら2つの変更により、格子ガスオートマトン法をCFDに適用した格子ボルツマン法を得ることができます。
以上より、格子ボルツマン法ができた流れについて理解できたと思います。
おわりに
短いですが、格子ガスオートマトン法と格子ボルツマン法の違いについて説明しました。
格子ボルツマン法は格子ガスオートマトン法をCFDに適用した手法です。
格子ボルツマン法は格子法や粒子法と比較されることが多いですが、背景が大きく異なることを知っておくと、特徴を考慮した比較もできるようになるでしょう。
次回は、格子ボルツマン法の固液相互作用について説明します。