前回の記事で水理学(開水路)の流れについて勉強したので、さっそくblenderの流体シミュレーションで解析してみたいと思います。今回は跳水を発生させてみたいと思います。跳水については、前回の記事で紹介しましたが、水の流れが射流から常流のときに発生する現象です。
今回できた動画はこんな感じ
水槽をつくる
流体シミュレーションを方法については以前の記事を参考にしてもらえればと思います。
流体シミュレーションをするために、まずは水槽を作っていきます。水槽って言ってもこういうのではありません。
水理実験をするための水槽です。イメージはこんな感じ。
上流は溜めた水を堰から流して射流にして、下流は堰を設けることで常流にすることで、その間で跳水を発生させる仕組みです。
断面を引き伸ばして水槽を作ることにします。最初にblenderで水槽の断面を作成します。立方体から上部分をくり抜いて作ります。くり抜かれる立方体と、くり抜く立方体を準備します。
ブーリアン
くり抜く工程をブーリアンと言うみたいです。ブーリアンの方法は私が調べた限り2つありました。その一つである、元から実装されているモディファイアーのブーリアンから行う方法では、くり抜かれたあとの物体をそのまま引き伸ばしたりはできませんでした。
ブーリアン:プログラミングで真か偽を表すためのデータ型、だそうです。
そこで、今回はもうひとつのアドオンを利用する方法を使います。アドオンを使うには”編集>プリファレンス>アドオン”から”Bool Tool”にチェックを入れます。
くり抜く際はくり抜く物体→くり抜かれる物体の順でshiftを押しながらどちらも選択した状態で編集タブのDifferenceをクリックします。するとくり抜く物体が消えてくり抜かれた物体だけが残ります。
面の引き伸ばし
続いて作成した断面を引き伸ばします。引き伸ばしは左上を編集モードにして、面選択を選択、引き伸ばしたい面を選択、”Eボタン”を押して引き伸ばします。X,Y,Zボタンで軸に平行に引き伸ばすことが可能です。その後”Gボタン”で角度をつけることも可能です。
水槽完成
なんかんやあって作成した水槽がこちら、
側面図をワイヤーフレームでみるとこんな感じ、水槽と堰を流体のエフェクター設定、右側に水が発生する流入口と上から溢れるのを防ぐ流出口、左側出口のしたに流出口を設定しました。
流体シミュレーション
さっそくシミュレーションしてみます。横から見た結果はこんな感じ、速度が大きいと赤く表示されています。
水が溜まっていき真ん中の堰を越えるところで速度が上がり射流に、下の堰の影響で水が溜まり常流となり、徐々に堰の方から水深が上がっていき上流に表面が伝播している様子がわかります。
そしてその射流と常流の間で跳水が発生しています。たぶん。。。
鳥瞰で見た図がこちら、
ざっくりですが、跳水を解析できているのではないでしょうか。
このシミュレーションの問題点は、ひとつに、中間の堰を越えた部分で流体が断面方向に一様でなく、ムラがあることが挙げられます。これは、おそらくシミュレーションの相似則が影響していると思われます。大きな河川を小さな水路でモデル化するには、流体の挙動の性質が変わらないように、うまく水槽のサイズや流体の速度をモデル化する必要があります。今回のシミュレーションはこのようなことを無視して、実施したため、本体は無視したかった水槽側面の影響が解析に出てしまっていると思われます。シミュレーションならば、本来の河川の大きさでやればよいのですが、それではリソースが大きくなってしまって、パソコンの処理が追いつきません。ちょうどいい塩梅を見つける必要がありますね。
また、blenderではパーティクルの設定で速度に色を付けることができますが、細かく速度の数値を読み取ることができません(できれば教えて下さい)。そのため、解析をしてもその結果をうまくまとめられないです。あくまで3Dモデリングのソフトなので、流体シミュレーションを精密にやることは求められてないと思いますが。
というわけで、最後にレンダリングしてみた動画がこちら、
まとめ
今回はblender2.91で開水路の流体シミュレーションということで、跳水を発生させてみました。
まだまだ、できることはありそうなので、今後も勉強していきたいです。
コメント