ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】流体シュミレーションに障害物を追加、カルマン渦も作りたかったけど何かが違う。

成果物

www.youtube.com

説明がなかったので自力で取り組んでみました。それらしきものは出来ましたが、バグがあります。あくまで観賞用と言ったところです。

仕組み

流体シュミレーションについてはこちらをご覧ください。

nekodigi.hatenablog.com

 今回は、そこから障害物を追加するために、セルが障害物かどうかを判断する配列を作りました。set_bndというところで境界線の計算をしていて、壁のセルに隣接している壁以外のセルと反対の向き(場合によっては同じ向き)の速度を設定しているようだったので、それをもとに、set_bndにプログラムを書き加えました。

しかし、それでもカルマン渦が見られなかったので調べてみるとレイノルズ数というものが見つかったので、なんとなく速度成分を、密度と前回の速度成分で割ってみることにしました。するとある程度それらしいものができましたが、なぜか上から放射しなければならないというバグを発見。根本的に知識が足りていないようなので学びなおして出直してきます。

ja.wikipedia.org

コード

リポジトリにまとめておきました。

github.com