2020年度第5回デジラボ:Grasshopperのコンポーネント”Kangaroo2”の紹介-
はじめに
北九大藤田研究室M1の森友です。今回はRhino/GHで物理演算のシミュレーションを可能にする"Kangaroo2"について紹介します。Kangaroo2はRhino6におけるGHではデフォルトで実装されているコンポーネントのため、別途インストールを行う必要はありません。今回作成するモデルのghファイルは下からダウンロードできます。
物理演算シミュレーションとは?
物理演算とは質量・速度・摩擦・風などの力学的な法則をコンピュータ上でシミュレーションすることです。その他に流体やバネ、重力や衝突なども扱うことができます。一例としてカテナリー曲線の作成方法を示します。カテナリー曲線とは鎖やロープなどの両端をもって垂らした時にできる曲線です。つまりロープの両端は固定で重力のみが作用している状態の曲線ですのでKangaroo2でシミュレーションすることができます。
上図で示したようにKangaroo2を用いてカテナリー曲線を作成することができました。Kangaroo2はGoalsコンポーネントをMainコンポーネントにつなぐことでシミュレーションを実行することができます。下の図にカテナリー曲線を作成するために使用したGoalsコンポーネントとMainコンポーネントを示しています。
左の赤で囲まれたコンポーネントはGoalsコンポーネントで、実行したい物理演算を指定するコンポーネントです。Anchorコンポーネントは入力された点を拘束するゴールオブジェクトで拘束したい点をPointにつなぐことで固定することができます。Length(Line)コンポーネントは入力された曲線を指定した長さの直線に変形するゴールオブジェクトです。Loadコンポーネントは入力された点にベクトルで指定した荷重を与えるゴールオブジェクトです。
右の緑で囲まれたコンポーネントはMainコンポーネントで物理演算を実行するためのコンポーネントです。SolverコンポーネントはKangaroo2の標準ソルバーで特に演算の収束等にこだわりがない場合はこのコンポーネントを使用すると良いです。BouncySolverコンポーネントは演算がゆっくりと収束するソルバーです。GrabコンポーネントはSolverのGoalsObjectsにつなぐことでRhinoのビュー上でプレビューを変形させることができるコンポーネントです。ShowコンポーネントはSolverコンポーネントのGoalsObjectsにつなぐことでSolver実行後にO出力から変形後の結果を別のツリーとして出力することができるコンポーネントです。
グリッドシェルのモデリングと部材にかかるモーメントの可視化
Kangaroo2の使用方法がわかったところで、Kangaroo2を用いたグリッドシェルのモデリングと部材にかかるモーメントの可視化をしたいと思います。
上図のプログラムでシェルのベースとなるグリッドを作成しています。
上図のプログラムでKangaroo2のGoalsObjectを作成し物理演算を実行しています。
上図が実行して作成できたグリッドシェルです。
上図のプログラムでグリッドシェルの曲げモーメントを可視化しています。今回は材料を鋼管として計算を行っています。Python Script内で断面二次モーメントとヤング係数を設定しています。
上図は部材にかかる曲げモーメントの可視化です。
詳しくは下記の動画を参照してください。