[rhino+grasshopper] Butterflyによる風解析
butterflyツールによるCFD解析を試してみましたのでメモを残しておきます。
試している環境は下記。
インストール方法等は下記を参照してください。
butterflyをダウンロードした際に同梱されているサンプルファイルの 01_0_outdoor_airflow.gh をベースにして使いやすいように手を加えました。
GHとVW(2017)のサンプルファイルを置いておきます。
butterflyの使い方についてはMostapha氏の動画を参考にしました。
使い方
それでは使い方です。
Vectorworksでのモデリング
まずはモデリング。
Vectorworks(他のCADでも)で下記の名前でクラス(他のCADならレイヤ等)を作成し、モデリングを行います。
既に設計用にモデルを作成していればそれを基準に作ればいいので1時間もあれば簡単にできるかと思います。
上記の内容でモデリングしたらDXFで書き出しておきます。
Rhinoで読み込み
先程のDXFデータをRhinoで読み込みます。(新規作成ファイルでOK)
まずはbutterflyの単位はメートルなので、Rhino側の単位をメートルにしておきます。
次に、インポートで先程のDXFを読み込みますが、モデルをミリメートル単位で作成の場合はモデル単位をミリメートル、レイアウト単位をメートルとします。
そして、モデル全体を風上が下(ーY方向)になるように回転させておきます。(風向きを直接ベクトルで指定もできますが、メッシュサイズが思うようにコントロールできなかったのでこの方法にしています。)
これで、準備は完了です。
rhinoの全レイヤを非表示にして(←しなくてもいいですが)、grasshopperを起動し、風速.ghを開きます。
grasshopperで実行
スッチ等の部分で大まかな設定をし、全体スイッチをONにすると計算が始まります。
2D・簡易での実行結果がこんな感じ。
wind-testsurfaceレイヤの図形を他のレイヤに移動するなどすれば、単独表示等いろいろ切り替えられます。
3D・簡易での実行結果はこんな感じです。
色付きベイクのBAKE with ColorをTrueにすることで、矢印ベクトルをRhinoに焼き付けることができます。それをDXFでVectorworksに取り込めば、風速の矢印付きのモデルの中をウォークスルーして確認したり、矢印の一部を切り取って表示させるといったようにいろいろ使えます。
簡単な使い方はこんな感じですが、使い方に合わせてgrasshopperのパラメーターやプレビュー表示などをいろいろいじってみてください。
各設定について
理解を深めるために、各設定について現時点で分かったことを一部書いておきます。(設定の詳細はOpenFoamを勉強すれば良さそうですが、いい資料ないかな)
解析結果の表示レベル
解析面のグリッドのサイズもしくは、3D図形内にいくつ矢印を置くか(条件によって少し間引かれますが)を調整することで、解析結果をどの程度細かく表示するかを設定できます。
解析レベル
解析レベルは3段階に切り替えられるようにしていますが、各設定値は任意のものです。
解析結果と解析時間に大きく影響しますので、随時調整が必要かと思います。
WTGradingのcell_size
風洞内の基本的なメッシュサイズの値かと思います。
それぞれ5,2,1.5に設定しています。
snappyHexMeshのglob_refine_level
モデルを解析用のメッシュに再構築する際のレベルかと思います。
検索するといろいろ解説が出てきますがちゃんとは理解できていません。
それぞれ(1,1),(2,2),(2,4)に設定しています。
斜めの面や曲面の形状への影響が大きいです。(風向きによってほとんどの面が斜めになりますが)
それぞれの結果はこんな感じ。
もう少し、建築的なモデル・スケールで検証してみました。(2,2)くらいでも簡易な検証には使えそうな気がします。
gradXYZによるメッシュの再構成
周囲の建物もモデリングした場合、計画建物の周囲のみメッシュを細かくしたいところです。
refinementRegionあたりでそういった設定ができるかと予想していたのですが、ちょうどよい資料が見つからずうまくいきませんでした。
結局、gradXYZで直接的にしていすることに。(ゴリ押し)
wind-buildingareaの図形のboundingboxの座標を取得して、長さの割合と重みづけによってメッシュを作成しています。
(おそらく、メッシュは重み付けによって幅が変わるだけでメッシュの総数は変わらないですので、重みの設定によっては、風洞のcell_sizeを調整したほうがいいかもしれません。)
境界条件を設定してインテリアのみ扱うような方法もありそうですが、butterflyについては今のところはこんな感じです。
おそらくですが、温度関係も同時に扱えそうですので、エアコンの影響や温度差換気の検証もできるかもしれません。
時間が空いたらチャレンジしてみます。
paraviewの使い方もマスターせねば。
Ladybugやhoneybeeはバージョン1.5.0になっていますが、butterflyは0.0.05のままのようです。
rhino7でも問題なく使えているとは思うのですが、その辺の事情はどうなんでしょう。もうバージョンアップしないのかな。