二次元流体シミュレーターVer-314を開発しました

こんにちは,UMUです.

今日は定例会ですね.新歓などの関係もあって3月下旬の発表から何も作ってないなと思い,二次元流体シミュレータを作ってみました.

矩形内に流体の速度を固定したりすることで流体感が出ます.

計算誤差とか何も考えずに差分法で実装しましたが,意外に綺麗になりました.以下,いろいろ計算結果の動画です.

グラフの見方:

左図:X方向の流体速度 右図:Y方向の流体速度

色は,赤ほど正,青ほど負となるようになっています.

たとえば,左図の赤い所は,X正方向に強い流れがあることを示します.

(左と右が両方青い時は左上に流れているということですね.)

▽動画

最後のやついいかんじ

 

理論

数値計算の理論は(割とテキトーなので)省きます

この流体シミュレータで用いた式は無次元化されたナビエストークス方程式(以下)です.

\[\frac{\partial v}{\partial t} + (v \cdot  \nabla)v = -\nabla p + Re^{-1} \nabla ^2 v   \]

左から,慣性項,移流項,圧力項,粘性項です(Reはレイノズル数)が,誤差お関係から粘性項がなくても拡散が起こってしまいます(数値拡散).次回があれば,数値拡散を抑える方法をやってみたいと思います.

おしまい.

余談

定例会のために何かひねり出した結果がこれ.22時に帰ってきてその後の作業はきついということがわかった.

追加

Posted on