見出し画像

SPP法導入時のデバック報告

標準MPS法では表面粒子は互いに力を及ぼせないため、物理的に不自然な挙動が生じてしまうことが知られているね。そこで導入したSPP法だけれども、簡単な計算アルゴリズムなのにも関わらずどうしても計算不安定が生じてしまって、その原因追及に3週間以上もかかってしまったよ。とりあえず今のところわかったことは、もともとのSPP法はすべての表面粒子に対してSPP粒子を配置するのだけれども、孤立した粒子が表面から少し離れた微妙な場所に存在する場合や孤立した粒子がある程度の速度以上で表面粒子に衝突したときに異常な圧力が生じてしまって、そこで圧力が発散してしまうということだよ。そこで応急措置として、つぎの2つの処置を施すことで計算安定性は回復したので報告するね。

1. 流体粒子・表面粒子・壁粒子(+壁ダミー粒子)に加えて「孤立粒子」を導入
2. 孤立粒子が表面粒子と衝突する際に相対速度が一定値を上回っているときには圧力計算には加えない(「孤立粒子」→「表面粒子」への切り替えを行わない)

SPP法導入結果として水柱崩壊のシミュレーション結果を示すよ。水面の滑らかさが改善していることがわかるね。

Python プログラムソース

上記のシミュレーションを計算するためのPythonプログラムソースを販売するよ。もしよかったら購入してみてください。

ここから先は

38,194字

¥ 500

この記事が気に入ったらチップで応援してみませんか?