コンプレッサーをつけてみた


シーンのモデリング、粒子座標更新、計算結果のレンダリングを全てmain()関数の中で簡潔してしまうという、一発もの粒子法流体シミュレーションシリーズ、今日はパスカルの法則の実験をしていたのだが、すぐに飽きて、コンプレッサーをつけてみた。

パスカルの法則を乗り越えて、液体がどんどん右側の塔に押し込められ、圧縮されて行く様子が痛快だ。水色の波のようなものは個々の粒子が感じている圧力強度の対数値を反映しているものだ。圧力分布がタービンの回転に同調して広がり反射し、行き渡っていく様子がよくわかる。
コンプレッサーのタービンの形状については、最初はただの十字がくるくるまわっていただけだったのだが、送り先の圧力が上がるにつれて、それだと粒子を壁と挟み込む形となってしまい、粒子が壁の外に飛んでいってしまうことがわかった。
そこでこのようなS字型にし、ともに押し出す部分の壁の形状にも丸みを与えてみたところ、粒子が壁の外に飛び出すということはなくなった。
しかし、このコンプレッサー一機だけでは、どうやらこれが圧縮できる限界のようだ。もっとコンプレッサーを増やせば、より右側に液体を圧縮できるかも知れない。
本シリーズではムービーを撮ったらソースを随時改変して次の作品用のプログラムとして生まれ変わっていきます。でもプログラムはSVN管理してるからフォルダ変えたり名前つけなおしたりしなくていいのねんというところが、これまたなんとなく素敵。

粒子法 (計算力学レクチャーシリーズ)

粒子法 (計算力学レクチャーシリーズ)

粒子法シミュレーション―物理ベースCG入門

粒子法シミュレーション―物理ベースCG入門