【対流シミュレーション(格子ボルツマン法)】 - Flow simulation (Lattice Boltzmann Method) -
粒子法のようなパーティクルベースの流体では「水しぶき表現が柔軟に実現可能」というメリットがあります。 ![]() ![]()
他の技術系の話と違ってこのアルゴリズムは日本語の文献が多くて助かりますね。
技術的な計算部分は割愛しますが、今回は3次元27速度(D3Q27)モデルを使っています。 ![]() ![]() ![]() 【格子ボルツマン法の計算フロー】流体は衝突を繰り返しながら直進(並進)します。 Youtubeに同様に流体のシミュレーションをしている動画がありましたのでご紹介しておきます。 大抵このようなシミュレーション系の計算のために文献を読むと難しそうな数式が並びます。 例えば今回のものの中から抜粋するとこんな感じです。 ![]() 難しそうに書いてありますが、実はC言語で記述すると大して難しい計算ではありません。次のようになります。 この式が今回の挙動計算の肝になっています。 流れの具合がよくわかるように中にパーティクルを配置して流れに乗せて動かしてみます。 これで渦や流れがよくわかるようになります 書籍では「GPU Gems 2」にもこのアルゴリズムが紹介されています。 【参照】Chapter47. 複雑な境界を持つ流れのシミュレーション p687 今回のデモではちょっとゲームっぽくインタラクティブにするためにリアルタイムでいじれるようにしてあります。 ![]() ![]() 区切られた部屋の中にポンプや扇風機のように流れを強制的に発生させます。 そして、その影響を受けて複雑な対流が発生します。 壁仕切りや球体などの障害物も設置できるようにしました。 技術デモは下記よりダウンロード可能です。 ◎動作可能な環境 GeForce 6800シリーズ以降 Radeon X1000シリーズ以降 基本的にはシェーダーモデル3.0以降で動作します。 レイトレーシングなど特殊なレンダリング手法を用いていますのでドライバの不具合などで一部動作しない環境があるかもしれません。 なるべく最新のデバイスドライバで実行してください。 Download HexaFlow.zip (約2.0MB) 【動作確認済ハードウェア】 nVIDIA GeForce9800GT AMD RadeonHD4350 【操作方法】 画面左クリック&ドラッグ 視点を回転 Z パーティクル配置を初期化 X ポンプ ON/OFF C 横仕切り板 ON/OFF V 縦仕切り板 ON/OFF B 球体 ON/OFF ![]() ![]() 実行環境を持っていない方のために動画を用意しました。 HD解像度で閲覧可能です。 |
HOME|メッセージ|アクセス|会社概要|採用情報|プロダクト|研究室|ギャラリー|ヘキサ日記














