RhinoのモデルとGH構造解析の同期ー平面モデルー
Rhinoのレイヤーから、平面の骨組みモデルを自動で読み込んで、断面力を算出します。
※この記事はシリーズになっておりますので、初めての方は下の記事をご覧ください。
使用方法
問題設定
以下の問題を解いてみましょう。
レイヤー生成
ghファイルを開くと、左上にレイヤー作成ボタンがあります。
クリックすると、Rhinoにレイヤーが生成されます。
モデリング
Rhinoでモデリングしていきます。
まず骨組みです。
等分布荷重がかからない骨組みの部分は「骨組み(荷重なし)」
等分布荷重がかかる箇所は「等分布荷重部材1」に入力します。
等分布荷重がかかる部材が増える場合は、「等分布荷重部材2,3」とレイヤーを変えて入力していきます。
ピン接点がある場合は、「ピン接点」レイヤーにPointを入力します。
次に境界条件です。
今回はピン支持なので、「ピン支持」レイヤーにPointを打ちます。
他の支持条件の場合も同様にしてください。
ローラー指示の場合は、左右の変位が自由の場合は「ローラー左右」上下の変位が自由の場合は、「ローラー上下」のレイヤーに入力してください。
最後に集中荷重を入力します。
集中荷重が加わる点にPointを打ちます。
集中荷重ごとにレイヤーを変えてください。
荷重条件設定
grasshopperの画面に戻って、集中荷重と等分布荷重の大きさと向きをそれぞれ入力していきます。
今回は、
集中荷重1レイヤーに入力した加力点は、右向き5kN
等分布荷重1レイヤーに入力した等分布荷重は、下向き3kN/mとなります。
結果の表示
最後に、下にある断面力ケースを選択することで、モーメント、軸力、剪断力をそれぞれ表示することができます。
ghの解説
それではこれから、ghの組み方を説明してきます。
レイヤー作成
レイヤー読み込みクラスターの中身を説明します。
LunchBoxにある「CreateLayers」コンポーネントを使用することで、レイヤー作成が行えます。
オブジェクト読み込み
Rhinoのオブジェクトを、humanにある「Dynamic Geometry pipeline」で読み込みます。
レイヤーごとにツリー分けされるので、「Explode Tree」で、分割して出力しています。
梁要素作成
まずは骨組みを構成していきます。
それぞれのLineを「Line To Beam」で梁要素に変換します。
レイヤーごとにIdという、グループ分けをしておきます。
それぞれ読み込んだLineを入れていくのですが、載荷点や部材交点は、部材が分割されている必要があります。
そこで、点線分割クラスターを使用して分割します。
Line同士は、Karamba3Dの「Line Line intersection」を使用して分割できるのですが、Pointでは分割できません。
そこで、載荷点などのPointは、Y方向に伸ばしたLineに変換することで組み合わせています。
トラスレイヤーは、両端ピンの梁要素として模擬しています。
Joint-Agentコンポーネントを使用し、idを「truss」、回転をJoint definitionのRy(Y軸の回転)をチェックします。
チェックした箇所が自由になるのですが、この後紹介する「Support」コンポーネントは逆にチェックした箇所が拘束されるのでご注意ください。
節点は、「joint-Ageet」のToGeom端子に回転自由にしたい点を入力することで入力できます。
支持条件
「Support」コンポーネントに、それぞれ入力していきます。
ConditionsのTは変位、Rは回転を扱います。
x,y,zはグローバル座標を示します。
黒丸をつけると、拘束します。
集中荷重
集中荷重は、載荷点とベクトルで指定します。
載荷点を「pos|Ind」に、ベクトルを「Force」に入力します。
number sliderからX方向のベクトルとしてまず指定し、Rotateで力の向きに回転させています。
Rotateは反時計回りに回転させます。Value Listで、矢印の方向ごとに回転角を出力させます。
等分布荷重
等分布荷重は、「Beam Loads」コンポーネントに入力します。
荷重を入力する梁部材のIdを「Beam|Id」端子に
荷重ベクトルは集中荷重と同じようにベクトルを「Force」に入力します。
解析の実行
ここまでのデータを、Assembleコンポーネントのそれぞれの端子に入力します。
この時、データがツリー状になっていると別の解析になってしまうので、全てFlattenしましょう。
それをAnalyzeコンポーネントにつなぐと解析が回ります。
結果の表示
「model view」にanalyzeからのmodelをつなぐ事で、解析条件を可視化することができます。
それぞれ、何を表示するか示しますが、一部わからないところがあるので詳しい人は教えてください…
いよいよ断面力を可視化します。
「Beam View」コンポーネントに、analyzeからのmodelを繋ぎます。
それぞれ何を表示するか示します。
断面力は、M=モーメント N=軸力 V=剪断力
右下のxyzは要素の座標系で、x=材軸 y=せい方向 z=幅方向です。
モーメント、軸力、せん断力をそれぞれ表示するBeam Viewコンポーネントを並べて、Valu listを使ってどのBeam Viewに入力するか指定します。
まとめ
構造力学の問題が色々解けるようになりますね
材料と断面をうまく指定すれば、変位の問題や剛比の問題も解けるようになると思います。
ぜひ色々と改良してみてください。