RESP-F3Tの活用
RESP-F3Tはコマンド入力が基本の汎用解析プログラムです。画面の入力はないため、実際にはRESP-Dを利用される方が多いですが、コマンド入力ならではの利点として、プログラムに組み込みやすい、というメリットもあります。
今回はその実例として、「解析モデルを自分で調整するプログラム」を作ってみました。
概要
プログラムは以下のような処理を行います。1. 基本の質点系振動モデルを解析する
2. 各層の層間変形から曲げ変形分を差し引いた変形に対する変形角(以下、せん断変形角と表記)を取得する
3. 最大せん断変形角の層にダンパーを1基追加する
4. 目標のせん断変形角に達するまで1~3を繰り返す
解析モデル
RESP-F3Tのサンプルモデルである、50層の質点系振動モデルを用います。上部構造は弾塑性を考慮します。
ダンパーをせん断変形のみに効かせるモデルとするため、一部データを修正しています。
ダンパーは、1000kN級ダンパーを1基ずつ追加していきます。
作り方
プログラミング言語はRubyを用いました。国産のプログラミング言語のため、日本語のリファレンスが豊富で、様々なことができる非常に楽しい言語です。https://www.ruby-lang.org/ja/
プログラムの実装にあたってはF3Tのあまり知られていない便利なコマンド、Importコマンドを用いました。 このコマンドは、入力ファイルを分割し、他のファイルからコマンドを読み込むことができる機能です。
今回はメインとなるftcファイルのほかに、Damper.ftcという別ファイルを設け、そのファイルを逐次更新していくことでダンパー配置を変えていく方法を取りました。 具体的には以下のような記述です。
- メインのftcファイル例
- ダンパーのftcファイル例
この機能を使うことにより、実際に実装したプログラムは以下の処理を行うだけで済みました。
- F3Tを実行する
- 結果ファイルを読み、最大変形角と発生階を取得する
- 発生階にダンパーを追加するコマンドを記述し、Damper.ftcを上書きする
結果
結果を示します。 変形角を見ると応答のばらつきが抑えられているのがわかります。なお、せん断力係数は架構部のみのせん断力から集計していますが、変形が低減されている階では2割程度せん断力係数も低減されています。なお、後述しますが、変形角が1/150radを超えているのは、下記の図では曲げ変形も含んだ値としているためです。上記の層間変形角は曲げ変形を含んだものですが、せん断変形のみで描画すると以下のように1/150rad付近で収束していることが確認できます。
※初稿では下記の図を層間変形角として記載しており訂正しました。
以下は最終的なダンパー配置の分布です。
以下は試行回数と最大せん断変形角です。細かく上下しながら全体的に低下しています。横軸はダンパーの設置台数でもあるので、ダンパーのコストと読み替えてみることもできます。
まとめ
今回は単純なルールにより繰り返し計算をおこない、ダンパーの配置を検討しました。今回の計算規模では1回の解析で5秒ほどだったので、トータルの計算時間は20分弱程度でした。つまり、モデルさえ作れば、20分程度放っておけば最適解とは言わないまでも目標性能を確保できる配置案が自動的に一つ求まるということになります。一方で、1回の計算がより時間がかかったり、より多くの試行回数が必要な問題に対しては、いま流行の機械学習を用いて事前に学習しておくことが有効になってくると思います。そのような場合でも、学習プロセスにおいて今回の試行のようにRESP-F3Tを組み込みエンジンとして利用する、という道も有効と考えられます。
RESPチームではRESPを用いた受託開発や受託研究業務も行っております。
なにか課題がありましたらお気軽にご相談ください。
関連する製品 RESP-F3T
3次元フレーム汎用解析プログラム 詳細はこちらから