【はじめに】 流体シミュレーション をプレイしていただき、誠に有難うございます。 これは流体の挙動を見て楽しむソフトです。  【開発環境】 応募部門      : hspTV部門 作品名       : 流体シミュレーション ver        : 1.2 作成者       : ぴっぴ 種別        : フリーソフト 開発環境(OS)   : Windows 7 64bit  開発環境(スペック): Intel core i5 450M (2.4Ghz) 開発環境(メモリ) : 6GB  【作品説明】 このソフトはシングルスレッドなので使用スレッドは1つです。 基本、「実行」を押せばCPU稼働率は100%になり、計算が安定するまで5秒くらいかかります。 安定すると粒子が動き始めます。  【アルゴリズム解説】 本シミュレーションはナビエ・ストークス方程式(以降、NS式)を使用しています。 自分の技術力的な問題や、プログラムソースの量を削減する必要性があったことから、非圧縮性流体解析手法で行ないました。 実際の解法の手順は、MAC法を使い、ポアソン方程式で求めた圧力場をNS式で用いることにより計算(時間ステップ)を進めていきます。 ↓←←←←←←←←← 圧力のポアソン方程式    ↑      ↓        ↑      NS式       ↑      ↓        ↑      →→→→→→→→→↑ ポアソン方程式はSOR法で解きます。 NS式の離散化は一時精度風上差分法です。 これは流体解析では一番低級な離散化手法ですが、一番単純でソースの量も削減できます。 座標系は標準(レギュラー)格子系ではなく、Arakawa-C型スタッガード格子系を使用しました。 理論上、非圧縮性の完全再現が望める安定性や、後に述べる粒子の移動で見た目がおかしくならないということから、スタガードを採用しました。 流体の中を流れる粒子の移動アルゴリズムについてですが、 これは近くの4つの速度情報(x方向2つとy方向2つ)から、粒子までの距離の比で速度の重み平均を取り、粒子の質量を0として移動計算をさせました。これにより限りなく流れが遅い空間でも、わずかな移動が起こることと非圧縮の条件で、大量の粒子が一箇所の空間にかたまって動かなくなることを防ぎます。 最後に技術手法をまとめて書いておきます。 ・二次元非圧縮性ナビエ・ストークス方程式 ・MAC法 ・座標系    :Arakawa-C型スタッガード格子系 ・移流項    :1次精度風上差分法 ・粘性項    :中心差分(二次精度) ・時間微分項  :前進差分(オイラー陰解法)(一次精度) ・ポアソン方程式:SOR法 ・言語     :HSP  【履歴】 ・2011年 8月 1日公開 ver1.0 ・2011年 8月 5日更新 ver1.1  処理の軽量化 ・2011年 9月19日更新 ver1.2  実行してすぐ固まるのを修正  【謝辞】 プログラムの作成に「Hot Soupe Processor ver3.3RC」を使用させて頂きました。 「Onion Software Homepage」 http://www.at-m.or.jp/~onitama/  【著作権および連絡先】 このプログラムはフリーソフトウェアであって、著作権は放棄していません。 本プログラムを使用したことで発生した如何なる不都合に対して、 作者は責任を追いかねますのであらかじめご了承ください。 転載・配布については、無料で行うことを遵守していただければ作者への連絡なしで 自由に行ってかまいません。(できれば、作者までメールをください) このソフトに関するお問い合わせ、感想、ご意見などは以下のメールアドレス またはブログまでお願いします。 E-Mail address : efghipippi@live.jp http://ameblo.jp/pipipipipipipipipipipi/