OpenSees Blog 日本語 目次

最初に「このブログをみるためのガイド」をご覧ください。

Update中OpenSees コマンド 日本語解説 の 目次 OpenSeesコマンド はじめての方は「ここから
このblogで使用しているOpenSeesコマンド集は「ここ」 Update中
OpenSees のソースコード 解析に挑戦してみる 目次最初のページは「ソースコードのダウンロードとビルド」
Appendix:C言語での 「有限要素法における平面トラスの解析」目次最初のページは「Microsoft Visual Studioの導入方法」







目次の中で、更新したページにはNewがついています

このブログ内の単語を検索したい場合は、左上OpenSeesロゴの上に検索窓から検索できます。


2014年9月9日火曜日

OpenSees Basic Examples H4: (弾性フレーム解析) 解説 (Lateral Load 横荷重)

6)横荷重の設定

この構造物に加える重力荷重(オレンジの矢印部分)を設定します。

解析する時間をリセットします
loadConst -time [リセットする値]  
loadConst -time 0.0

timeSeries Linear [タグ番号] 
このコマンドについての説明は、ここ
「時間ごとに線形に一様に変位する力」という定義です。

pattern Plain [Loadの通し番号] [ 上記のtimeSeriesで指定したタグ番号]  {
     load [Node番号] [自由度の1番目に対してかける力(X方向)] [ 自由度の1番目に対してかける力(Y方向)] 

      [ 自由度の3番目に対してかける力(θ方向)]
}

timeSeries Linear 2
pattern Plain 2 2 {
    load 13 220.0 0.0 0.0
    load  9 180.0 0.0 0.0
    load  5  90.0 0.0 0.0
}

7)レコーダーの設定


ここでは、Recorder Element コマンド を使用します



recorder Element -file EleForces.txt -ele 1 4 7 10 forces


(参照ページはここ


8)解析開始
ここでは、解析を1行のみ行うように指定しています。
(参照ページは、ここ

analyze 1

9) 平衡点(バランス)のチェックと結果表示

「analyze 1 」の結果は、もしRecorderコマンドでの出力ファイルの指定があった場合は、このファイルに結果を出力します。(参照ページは ここ

ここではスクリーン上に出力します。

抗力の結果を出力することを指示するコマンド
# invoke command to determine nodal reactions 
reactions

Node1,2,3,4の抗力を、node1Rxn, node2Rxn, node3Rxn, node4Rxn にセットします
# nodeReaction command returns nodal reactions for specified node in a list
set node1Rxn [nodeReaction 1]
set node2Rxn [nodeReaction 2]
set node3Rxn [nodeReaction 3]
set node4Rxn [nodeReaction 4]

Y方向の想定される力は重力のみ inputedFyには、ここで定義した固定荷重がセットされています。
X方向の想定される力として inputedFxに、ここで定義した横荷重がセットされています。
set inputedFx  [expr 220.0+180.0+90.0] 




解析結果で出力されるX方向の抗力をcomputedFxにセットします
set computedFx [expr [lindex $node1Rxn 0]+[lindex $node2Rxn 0]+[lindex $node3Rxn 0]+[lindex $node4Rxn 0]]

解析結果で出力されるY方向の抗力をcomputedFyにセットします
set computedFy [expr [lindex $node1Rxn 1]+[lindex $node2Rxn 1]+[lindex $node3Rxn 1]+[lindex $node4Rxn 1]]

バランスチェックは、想定されていた力と、解析した力の残差で行います
puts "\nEqilibrium Check After Lateral Loads:"

X方向は、想定される力0と、computedFxの残差を計算します
puts "SumX: Inputed: $inputedFx + Computed: $computedFx = [expr $inputedFx+$computedFx]"
Y方向は、inputedFyと、computedFyの残差を計算します
puts "SumY: Inputed: $inputedFy + Computed: $computedFy = [expr $inputedFy+$computedFy]"

Element(要素)1, 4, 7, 10の値を表示します

# print ele information for columns at base
print ele 1 4 7 10


10) 固有周期の表示

1次から5次までの固有周期を表示します
n次の固有値は、Eigen コマンド で定義されています。
[eigen n]
eigenValueに1次から5次までの固有値をセットします。

set eigenValues [eigen 5]

puts "\nEigenvalues:"

λ:固有値 ω:固有振動数 T: 固有周期
















1次の固有値から、固有周期をもとめます
set eigenValue [lindex $eigenValues 0]

puts "T[expr 0+1] = [expr 2*$PI/sqrt($eigenValue)]"

putコマンドにより T[1] = に、1次固有周期 が表示されます。

同じように、
2次から5次までの固有値から、固有周期を求め、表示します。
set eigenValue [lindex $eigenValues 1]
puts "T[expr 1+1] = [expr 2*$PI/sqrt($eigenValue)]"
set eigenValue [lindex $eigenValues 2]
puts "T[expr 2+1] = [expr 2*$PI/sqrt($eigenValue)]"
set eigenValue [lindex $eigenValues 3]
puts "T[expr 3+1] = [expr 2*$PI/sqrt($eigenValue)]"
set eigenValue [lindex $eigenValues 4]
puts "T[expr 4+1] = [expr 2*$PI/sqrt($eigenValue)]"

次に、Recorder Node コマンドを使用して、

Node 5から16までの 3つの自由度の値を、1次固有振動モードから5次固有振動モードまで出力します。
(先に”eigen 5”とセットしたので、5次まで出力します)

recorder Node -file eigenvector.txt -nodeRange 5 16 -dof 1 2 3 eigen 0

現在もとめられている上記のデータを、ファイルに記録します
record

exit


次のページ →
Basic Examples  (Elastic Frame) 
解説(コマンドのサマリ)


Opensees コマンド 日本語解説 : 目次





0 件のコメント:

コメントを投稿