Pythonによる立体骨組解析事例

  • 1
    Like
  • 3
    Comment

はじめに

Pythonによる立体骨組解析プログラムで計算した事例を紹介します.
ここでは,格子桁解析結果と平面骨組解析結果を再現してみました.
3次元の座標変換がうまくいっているか気になっていたのですが,結果としては,うまく行っているようです.

これまでは,設計したい構造物に応じて平面骨組解析と格子桁解析を使い分けていいましたが,立体骨組解析プログラムを自由自在に使えるようになれば,これ1つで双方の役割をはたすことができるので,便利になりそう.

でも実際には,格子桁解析は立体骨組解析で行うでしょうが,平面骨組解析は平面のプログラムを使うでしょう.なぜなら立体は入力データ作成が少し面倒なので.

用いたプログラムは前回紹介したものです.
http://qiita.com/damyarou/items/2b83b9b20181c1b8e35d

プログラム,入力データ,解析手順やGMTによる断面力図作図スクリプトは以下のGistにアップしています.
https://gist.github.com/damyarou/8b99e5e57576db5e71bf630fa1b396a2

プログラムについて

有限要素法による立体骨組構造解析プログラムはPython3ですが,断面力図作成はGMT (Generic Mapping Tools) で行っています.理由はPython-matplotlibの3次元プロットはかっこ悪いから.matplotlibは2次元プロットまではいいのですが,3次元になると急に漫画チックになるような気がします.その点,GMTは取り扱いが面倒ですが,2次元・3次元とも統一感のある作図ができ,品が良い感じです.いずれも好みの問題ですが.
GMTにプロットさせるため,解析プログラムの出力データを読み込み,GMTによるプロット用データファイルを作成するPythonプログラムを別途作って対応しています.

全体座標系X-Y面内格子桁の解析

三次元プロットを見ている方位:北から150度,仰角30度
コードアングル:全て0

fig_grid.png

全体座標系Y-Z面内多層ラーメンの解析

三次元プロットを見ている方位:北から120度,仰角30度
コードアングル:全て0

fig_cpost_1.png

全体座標系X-Z面内多層ラーメンの解析

構造系の寸法・断面特性・荷重は,前出,全体座標系Y-Z面内モデルと全く同じですが,三次元モデルにする際,構造物をX-Z面内に配置したものです.
このケースでは,柱部材において,コードアングルを-90度とすることにより,前出モデルと同一の断面力図を得ています.

三次元プロットを見ている方位:北から150度,仰角30度
コードアングル:梁部材は0,柱部材は-90度

fig_cpost_2.png

コードアングルについては,柱部材と梁部材の関係を考えて設定する必要があります.
以下の文書が,参考になります.

http://www.archi.hiro.kindai.ac.jp/laboratory/SAL/dfujii/Report/fem/fem_11.pdf

以上