ランダムに柱梁が入ったような構造を解析
17 September, 2017 - 1 min read - Tags: Karamba3D,構造とデジタル
GA Japan 147 号に記載の夏野ビルのようなランダムに柱梁が入っているようなモデルを作成し Karamba3D で応力解析してみます。
架構は柱勝ちを想定して柱は下から上まで通っているとします。柱間隔と梁配置をランダムにして作成してみます。
柱の作成
作り方は柱脚の点を作成し、LineSDL コンポーネントで立ち上げます。 今回は形のモデル化を目的にしているので、縦横の比率を 1:2 として Z 方向に 30、Y 方向に 15 の範囲で作成します。
柱脚の点は Random コンポーネントを使用して作成し ConstructDomain コンポーネントで点を作成する範囲を決めています。最初の点は原点に来るため、ランダムとは別で設定しています。
作成した数値を Number コンポーネントで一体化ます。次に、SortList コンポーネントで順番を揃え ConstructPoint コンポーネントで柱脚となる点を作成し、LineSDL コンポーネントで柱となる線を作成しています。
梁の作成
次に梁のとりつく点を作成します。作成法は先程作成した柱のラインを各柱ごとに DivideCirve コンポーネントで異なる分割数にしその点を梁を取り付けるとすることを考えます。
まず梁をかけるために隣接する柱が分割数を等しくしなければならないため、以下のように ListItem コンポーネントを使用して 1 本 1 本を Line コンポーネントに入れていきます。
取り出した柱に対して DivideCirve コンポーネントで分割していきます。
ここでは分割数は最大 10 とし、隣接する梁の数と同じにならないよう適当な値を入れていきます。例として以下に一番端の柱についての部分を示しています。
隣接する柱ごとにまとめ同一の分割数にすることで、梁が水平にかかるよう設定しています。
Karamba3D でのモデル化
これで柱梁の線のモデル化ができたので、Karamba3D に取り込んでいきます。
ここで、柱のラインは分割点で分けていないので、そのまま Karamba3D に取り込むと梁の位置で節点が切られないため、モデル化がうまくいきません。
今回は Karamba3D の機能である Line-Line InterSection コンポーネントを使用します。 このコンポーネントを使用することで、与えられたラインとラインから交点とそれからなるラインを出力してくれます。 これを使うことで柱が梁との交点で分割されるので、Karamba3D でモデル化できるようになります。
次に Karamba3D 側で解析設定をします。
ここでは柱脚位置にピン支点、荷重は水平に 0.2g かけて解析しています。
曲げモーメント図を以下には出していますが、やはり単スパン箇所は曲げが大きく入っており、最上部では逆せん断のようになっていることがわかります。
あとは最初にランダムで設定した柱間隔の seed の値を変更と梁間隔を適宜設定することで、ランダムに柱梁が入った構造の解析を行えます。
開口箇所で梁を抜くなどは、出力される梁の List を適宜 CullIndex コンポーネント等で抜いてあげれば対応できます。