OpenSees Blog 日本語 目次

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

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







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

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


2015年10月28日水曜日

OpenSees Basic Examples E1:(鉄筋コンクリート門型フレーム 地震波を作用させた解析) 例題



 Reinforced Concrete Frame Earthquake Analysis 参照


OpenSees Basic Examples (曲げモーメント-曲率計算) 例題 で、使用した鉄筋コンクリート
を使用して、実際に門型フレームで解析します。

鉄筋コンクリート門型フレーム重力の柱軸力のみを作用させた解析 での、
重力加速度をかけたものに対して、地震加速度をかけたものについての解析です。


element 1 と 2 に先ほどの鉄筋コンクリート部材が使用されています。
長さは、12feet (144inch) です。
桁の部分は、30feet (360inch)です。

Node 3  と 4 に 重力加速度による力として(180kip) が掛っています。
X方向に、地震波の加速度をかけます。
地震波の加速度データは、OpenSeesのサイトからダウンロードします。
ファイル名はARL360.at2 です。
これは、1994/1/17にカルフォルニアのアリータという場所で起きた実際の地震 のデータです。

ダウンロードの仕方は、
OpenSeesで紹介されているサンプルで使用するtclスクリプトやデータの取得方法
を参照してください。

 次のページ → 
OpenSees Basic Examples (鉄筋コンクリート門型フレーム 地震波を作用させた解析) 外力としての地震波の設定 1

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


2015年10月22日木曜日

Blogの画像が消えてしまっています


OpenSeesファンの皆様

このブログを見ていただきましてありがとうございます。

Google+の方をいじっていましたら、Blogの画像がほとんどすべて消えてしまいました。
画像はストレージに保存してあると思いますので、復活はできると思いますが
しばらくご不便をおかけします。

がっかり。

いままでのデータを復旧および、現在までのデータを内部ドキュメント化するため、
次回公開予定の、
鉄筋コンクリート門型フレーム横荷重解析 - 解析結果
を終了した後、 現在解析している
鉄筋コンクリート門型フレーム地震波を作用させた解析  
についての公開は、 1か月後をめどに再開する予定です。

ともあれ
Innovativeな建物がたくさんできますように!
2015/10/22 Satoko Toengawa

2015年10月14日水曜日

OpenSees Basic Examples (L2:鉄筋コンクリート門型フレーム 横荷重解析) 解説(外力、解析の設定)


1)Model, Node(節点)の設定
2) 部材の定義
3) Element(要素)の設定

についての説明は、
OpenSees Basic Examples (鉄筋コンクリート門型フレーム 重力の柱軸力のみを作用させた解析) 解説(節点、要素、部材の定義)
と、同じです。

また、外力としての重力の設定についても、
OpenSees Basic Examples (鉄筋コンクリート門型フレーム 重力の柱軸力のみを作用させた解析) 解説(外力、解析の設定)
と同じものを使用するため、

OpenSees Basic Examples (鉄筋コンクリート門型フレーム :重力の柱軸力のみを作用させた解析) コマンドのサマリ

で作成した
RCF-G.tcl
ファイルをソースとして読み込みます。
また、実際に「鉄筋コンクリート門型フレーム 横荷重解析」のtdlコマンドをOpenSeesで動作させたとき、「鉄筋コンクリート門型フレーム重力荷重解析」は、
source RCF-G.tcl
のラインが実行されると終了するので、
 "Gravity Analysis Completed"
と、画面に表示するようにしています。
さらに、loadConst コマンドにより、解析する時間をリセットします。


# ----------------------------------------------------
# Start of Model Generation & Initial Gravity Analysis
# ----------------------------------------------------
# Do operations of Example3.1 by sourcing in the tcl file
source RCF-G.tcl
puts "Gravity Analysis Completed"



# Set the gravity loads to be constant & reset the time in the domain
loadConst -time 0.0
# ----------------------------------------------------
# End of Model Generation & Initial Gravity Analysis
# ----------------------------------------------------



4)外力の設定
Node 3,4 に横荷重10kipをかけます。
Opensees のコマンドは、以下の通りです。

各コマンドの説明は、「OpenSeesコマンド集」を参照してください



変数H に 10の値を代入して後、
$H とすることでX軸方向に 荷重をかけるように設定しています。

# --------------------

# Define lateral loads
# --------------------

# Set some parameters
set H 10.0; # Reference lateral load

# Set lateral load pattern with a Linear TimeSeries
pattern Plain 2 "Linear" {

     # Create nodal loads at nodes 3 & 4
     #    nd    FX  FY  MZ 
     load 3 $H 0.0 0.0 
     load 4 $H 0.0 0.0 
}

# ----------------------------------------------------
# End of additional modelling for lateral loads
# ----------------------------------------------------


5)解析の設定


解析する時の、連立方程式の解き方の手法などを設定は、
RCF-G.tcl
で設定したものと同じものを使います。
これについての説明は、
OpenSees Basic Examples (鉄筋コンクリート門型フレーム 重力の柱軸力のみを作用させた解析) 解説(外力、解析の設定)
を参照してください。

また、横荷重解析として、今回は
Node 3 のX軸方向への変位の増加分を基準として、記録をします。

解析する変位の増加分は 0.1 です。

integrator DisplacementControl  [Node番号] [自由度における方向] [初期値] [反復回数] [変化の間隔(最大)] [変化の間隔(最小)] 


各コマンドの説明は、「OpenSeesコマンド集」を参照してください


# ----------------------------------------------------
# Start of modifications to analysis for push over
# ----------------------------------------------------
# Set some parameters
set dU 0.1;        # Displacement increment

# Change the integration scheme to be displacement control
#                             node dof init Jd min max
integrator DisplacementControl  3   1   $dU  1 $dU $dU
# ----------------------------------------------------
# End of modifications to analysis for push over
# ----------------------------------------------------

また、
解析結果として、Node 3,4 の x, y, θ 方向での変位を記録します。
( integrator DisplacementControl で指定しているので、Node3のx方向は 0.1 から 0.1づつ変位していきます) 
この解析結果を node32.txt に保存します。

Element 1,2 の結果を ele32.txtに保存します。

# ------------------------------
# Start of recorder generation
# ------------------------------
# Stop the old recorders by destroying them
# remove recorders

# Create a recorder to monitor nodal displacements
recorder Node -file node32.txt -time -node 3 4 -dof 1 2 3 disp

# Create a recorder to monitor element forces in columns
recorder EnvelopeElement -file ele32.txt -time -ele 1 2 forces
# --------------------------------
# End of recorder generation
# ---------------------------------


この横荷重解析は、Node3 のX方向の変位が15.0になるまで続けます。
そのため、while文 で、currentDisp(Node3 のX方向の変位)がmaxU(15.0) よりも小さく、かつ(&&)、
analyze コマンドの戻り値が 成功(0) している間は、回し続けます。

なお、
set currentDisp [nodeDisp 3 1]
によって、X方向の変位をcurrentDisp に代入します。
set ok [analyze 1]
によって、analyze コマンドの戻り値を ok に代入します。

さらに、
analyze コマンドで、連立方程式を解くことを失敗すると、その戻り値が0ではなくなりますが、
その場合の処理については、下記のif文で、解析の設定を再設定します。

# if the analysis fails try initial tangent iteration
if {$ok != 0} {

     ・
     ・
     ・
    }

再設定の内容は、


   puts "regular newton failed .. lets try an initial stiffness for this step"
   test NormDispIncr 1.0e-12  1000
   algorithm ModifiedNewton -initial

収束判定の値を替え、また、連立方程式の解法をModifiedNewtonに変更したのち、
analyzeコマンドを再実行します。

   set ok [analyze 1]
   if {$ok == 0} {puts "that worked .. back to regular newton"}
   test NormDispIncr 1.0e-12  10
   algorithm Newton

もし、新しく設定した解法で、計算が成功した場合は、収束判定の値と、連立方程式の解法を
元にもどします。


# ------------------------------
# Finally perform the analysis
# ------------------------------

# Set some parameters
set maxU 15.0;        # Max displacement
set currentDisp 0.0;
set ok 0

while {$ok == 0 && $currentDisp < $maxU} {

set ok [analyze 1]

# if the analysis fails try initial tangent iteration
if {$ok != 0} {
   puts "regular newton failed .. lets try an initail stiffness for this step"
   test NormDispIncr 1.0e-12  1000 
   algorithm ModifiedNewton -initial
   set ok [analyze 1]
   if {$ok == 0} {puts "that worked .. back to regular newton"}
   test NormDispIncr 1.0e-12  10 
   algorithm Newton
}

set currentDisp [nodeDisp 3 1]
}

while 文で行っている解析が、Node3 のX方向の変位が15.0以上になった場合、解析を終了しますが、その際、最後のanalyzeコマンドの実行結果が成功(0) だった場合は "SUCCESSFULLY" と表示し、失敗した場合は "FAILED" と表示して、終了します。

if {$ok == 0} {
  puts "Pushover analysis completed SUCCESSFULLY";
} else {
  puts "Pushover analysis FAILED";    
}


 次のページ → 

OpenSees Basic Examples (鉄筋コンクリート門型フレーム 横荷重解析) コマンドのサマリ



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

2015年10月9日金曜日

12345 ! ありがとうございます

OpenSeesファンの皆様

このブログを見ていただきましてありがとうございます。

このたびView数(*) が12345 のキリ番になりました。記念のスクリーンショットが↓です。

























前回の10000Viewは、取り損ねたのでちょっと小市民な喜びです、ありがとうございます。

ところで
Microsoft Visual Studio 2015 が公開されました

https://www.visualstudio.com/products/free-developer-offers-vs.aspx


しかし、2015年9月現在、
"Visual Studio Community"でOpenSeesのソースコードをBuildしようとすると、リンクエラーを起こすようです。Microsoft Visual C++ 2010 ExpressでBuildが成功したOpenSeesのsolutionで、リンクエラーを起こします)

ただし、(OpenSeesではない)2010 Expressで作成したプログラムは、普通にbuildできます。

OpenSeesのDeveloperの方は、Microsoft Visual C++ 2010 Expressの環境をしばらくは、とっておいた方がよさそうです。

Innovativeな建物がたくさんできますように!
2015/10/9 Satoko Toengawa

(*)Tonegawaが閲覧したビュー数、リダイレクトしたビュー数は除いた数字です

2015年10月8日木曜日

OpenSees Basic Examples (L1:鉄筋コンクリート門型フレーム 横荷重解析) 例題


 Reinforced Concrete Portal Pushover Analysis 参照


OpenSees Basic Examples (曲げモーメント-曲率計算) 例題 で、使用した鉄筋コンクリート
を使用して、実際に門型フレームで解析します。

重力 と 横荷重をかけたものについての解析です。


element 1 と 2 に先ほどの鉄筋コンクリート部材が使用されています。
長さは、12feet (144inch) です。
桁の部分は、30feet (360inch)です。

Node 3  と 4 に 重力加速度による力として(180kip)  と 横荷重の力(10kip) が掛っています。

 次のページ →
OpenSees Basic Examples (鉄筋コンクリート門型フレーム 横荷重解析)
解説(節点、要素、部材の定義)



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