OpenSees Blog 日本語 目次

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

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







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

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


2015年7月23日木曜日

OpenSees Basic Examples (B5: 曲げモーメント-曲率計算)  曲げモーメント-曲率の計算


ここまでで、
部材についての定義を終えたあと、この部材についての 曲げモーメント-曲率の計算を行います。

この計算は、他でも使用できるように、functionの形になっています。

function名と、その定義は、

MomentCurvature
{ (計算したいセクションのタグ番号),  (外力P),  (計算したい最大曲率)、(解析回数)}
です。

まず、このfunctionを呼ぶ側は、以下の通りです。

(部材の定義3)の後で、

# Call the section analysis procedure
MomentCurvature 1 $P [expr $Ky*$mu] $numIncr

とすることで、このfunctionを呼び出すことができます。

ここで、$でセットされているシンボルは、以下の通りです。

右側からの力Pは、-180
塑性率(mu) μ は、 15
曲率(Ky)φ が 15倍になるまでを解析します
曲げモーメントと曲率を計算するために解析を行う回数(numIncr) は、100

# Set axial load 
set P -180

set mu 15; # Target ductility for analysis
set numIncr 100; # Number of analysis increments

次に、MomentCurvature( ) の中身について解説します。

最初にNodeを設定します。ここでは、非常に微細な部分に対して解析しますので
同じ座標点(原点)2つに対して、Node, Element を設定します。
ここでNode 1については、3つの自由度すべてに対して固定
Node2については、Y座標のみ固定
と、設定します。


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

# Define two nodes at (0,0)
node 1 0.0 0.0
node 2 0.0 0.0

# Fix all degrees of freedom except axial and bending
fix 1 1 1 1
fix 2 0 1 0

# Define element
#                              tag ndI ndJ  secTag
element zeroLengthSection  1   1   2  $secTag

ここで$secTag には 1 が入り、部材の定義2で、設定した
uniaxialMaterial Concrete01  1 
の部材として、取り扱われます。



この解析結果を記録するコマンドは、以下の通りです。


# Create recorder
recorder Node -file section$secTag.out -time -node 2 -dof 3 disp


recorderコマンドについては、「OpenSeesコマンド集」を参照してください

次に、下記の外力P、モーメント M について設定し、解析をします。



最初にPの外力は、Node2に対して、X方向(の逆)に、180かかります。
$axialLoad に 180 の値が入っています。

patternコマンドについては、「OpenSeesコマンド集」を参照してください


# Define constant axial load
pattern Plain 1 "Constant" {
load 2 $axialLoad 0.0 0.0
}

この外力に対して、解析するためのパラメーターは、以下のとおりです。
パラメーター及びanalyzeコマンドについては、「OpenSeesコマンド集」を参照してください

# Define analysis parameters
integrator LoadControl 0.0
system SparseGeneral -piv; # Overkill, but may need the pivoting!
test NormUnbalance 1.0e-9 10
numberer Plain
constraints Plain
algorithm Newton
analysis Static

1回 解析します

# Do one analysis for constant axial load
analyze 1

次に外力、モーメント M の設定は以下の通りです。
モーメントは、Node2のX軸座標からY軸座標方向に 1 をかけます

pattern , loadコマンドについては、「OpenSeesコマンド集」を参照してください

# Define reference moment
pattern Plain 2 "Linear" {
load 2 0.0 0.0 1.0
}

外力をかける大きさを、

降伏曲率の値 (Ky) 

塑性率 μ 、 15
(曲率φ が 15倍になるまでを解析します) 
曲げモーメントと曲率を計算するために解析を行う回数、100
から
解析する時の曲率の増加量は、
(Ky * μ) / (解析回数)


$dKとして計算します。

# Compute curvature increment
set dK [expr $maxK/$numIncr]

パラメーターは
# Define analysis parameters
でセットされたものから引き継がれますが、<<工事中>>

# Use displacement control at node 2 for section analysis
integrator DisplacementControl 2 3 $dK 1 $dK $dK

解析する回数は、$numIncr 100 回です。

# Do the section analysis
analyze $numIncr


次のページ →
OpenSees Basic Examples (曲げモーメント-曲率計算) 
解説(コマンドのサマリ)


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

2015年7月21日火曜日

OpenSees Basic Examples (B4: 曲げモーメント-曲率計算) 部材の定義3


部材の定義の続きです。

最後に、その他必要となるパラメーターをセットします。


上記の図より

# Estimate yield curvature
# (Assuming no axial load and only top and bottom steel)
set d [expr $colDepth-$cover] ;# d -- from cover to rebar

ここで # 以降の文章はコメント行です。
set d [expr $colDepth-$cover]
の意味は、
  パラメータ d に、
  colDepth から cover のパラメータにいれられた値を引いた値を
  代入する
という意味です。

また 下記式より















set epsy [expr $fy/$E] ;# steel yield strain
set Ky [expr $epsy/(0.7*$d)]

上図の「ひずみが0になっている点」が(対応部分の長さ)を表しますが
なぜ 0.7 とセットされたかは、不明です。

次に、ここで計算された曲率φを print コマンドによって表示します。

# Print estimate to standard output
puts "Estimated yield curvature: $Ky"

右側からの力Pは、-180 
塑性率 μ は、 15
(曲率φ が 15倍になるまでを解析します) 
曲げモーメントと曲率を計算するために解析を行う回数は、100

なお、ここでのPは、水平方向で耐えられる力として、180がセットされています。
この値は、
OpenSees Basic Examples (G3:鉄筋コンクリート門型フレーム 重力の柱軸力のみを作用させた解析) 解説(外力、解析の設定)
で、説明されていますが、「10% of axial capacity of columns」ということで、10%の力として180という値がセットされています。

# Set axial load 
set P -180

set mu 15; # Target ductility for analysis
set numIncr 100; # Number of analysis increments


次のページ →
OpenSees Basic Examples (曲げモーメント-曲率計算) 
解説(曲げモーメント-曲率の計算)

2015年7月14日火曜日

OpenSees Basic Examples (B3: 曲げモーメント-曲率計算) 部材の定義2

部材の定義の続きです。

各場所のパラメーターをセットします。


# set some paramaters
set colWidth 15
set colDepth 24 

set cover  1.5
set As    0.60;     # area of no. 7 bars

# some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]

上図の
横(Z軸方向)の長さは15
縦(Y軸方向)の長さは24
です

鉄筋の外側のコンクリートのカバーの厚さは 1.5
鉄骨の断面積は 0.6

座標の中心を、部材の中央においていますので
中心から、部材の端までのそれぞれの長さは、
Y軸方向、Z軸方向 それぞれ 横、縦の長さの半分です。

ここで
[expr $colDepth/2.0]
は、
colDepthを $colDepth として代入し、2.0で割ります
という意味です。
expr は、$colDepth/2.0 の計算をします
という意味です。

次に、下記のエリアごとの素材の定義をします。



黄色で囲まれた部分の素材は、
uniaxialMaterial Concrete01  1 

黄色の外の部分の素材は
uniaxialMaterial Concrete01  2

鉄筋部分は
uniaxialMaterial Steel01 

で、すでに 部材の定義1 で定義されていますので、それぞれの素材がどこのエリアで使われているのかを定義します。

エリアごとの素材の定義は、section コマンドを使用します。


section 解説
section
エリアの設定





















ここでは、 Fiber コマンドを使用します。
section Fiber [ tag番号 ] 
{
  fiber
  patch
  layer
  :
}

また 今回解析する鉄筋コンクリートの部材は矩形なので
Fiber コマンドの中のpatch rect を使用して、エリアごとの素材を設定します

patch rect [ Material番号 ] [矩形の横方向(Y)の分割数] [矩形の縦方向(Z)の分割数] [部材差表敬における横方向(Y)の座標] [部材差表敬における縦方向(Z)の座標]

コンクリート部分は以下の様になります



鉄筋部分は以下の様になります


 コマンドは以下の様になります。


section Fiber 1 {

    # Create the concrete core fibers
    patch rect 1 10 1 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]

    # Create the concrete cover fibers (top, bottom, left, right)
    patch rect 2 10 1  [expr -$y1] [expr $z1-$cover] $y1 $z1
    patch rect 2 10 1  [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
    patch rect 2  2 1  [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
    patch rect 2  2 1  [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]

    # Create the reinforcing fibers (left, middle, right)
    layer straight 3 3 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
    layer straight 3 2 $As 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1]
    layer straight 3 3 $As [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]

}    

次のページ →
OpenSees Basic Examples (曲げモーメント-曲率計算) 
解説(部材の定義3)


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

2015年7月7日火曜日

OpenSees Basic Examples (B2: 曲げモーメント-曲率計算) 部材の定義1


最初に、部材の「鉄筋コンクリート」の定義をします。



1)Modelの設定
解析する時の、次元、自由度を設定するためのOpensees のコマンドは、以下の通りです。



model Basic [次元数] [自由度数] 

# Define model builder
# --------------------
model basic -ndm 2 -ndf 3


(参照ページはここ


2)部材の定義

部材を構成しているコンクリートと鉄筋の設定します

単軸素材の設定は、uniaxialMaterial コマンドを使用します。

コンクリートについては、
鉄筋が入っている内側の①コンクリートが閉じ込められた部分

外側を②コンクリートが閉じ込められてない部分
の2つを定義します。

uniaxialMaterial 解説
uniaxialMaterial
単軸素材の設定
  • 鉄骨&補強鉄骨 Steel & Reinforcing-Steel Materials
  • コンクリート Concrete Materials
  • 標準的な単軸素材 Some Standard Uniaxial Materials
  • その他 Other Uniaxial Materials 










ここでは、
Steel & Reinforcing-Steel Materials 鋼、鉄筋素材 の中の、Steel01コマンド  

Concrete Materials コンクリート素材 の中の Concrete01 コマンド
を使用します。

uniaxialMaterial Steel01 [ Material番号 ] [降伏応力] [ヤング率] [2次剛性比]

uniaxialMaterial Concrete01 [ Material番号 ] [28日後のコンクリートの圧縮強度] [最大強度を与えた時のひずみ] [圧壊強度] [圧壊強度を与えた時のひずみ]


# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE                  tag   f'c        ec0   f'cu        ecu
# Core concrete (confined)
uniaxialMaterial Concrete01  1  -6.0  -0.004   -5.0     -0.014

# Cover concrete (unconfined)
uniaxialMaterial Concrete01  2  -5.0   -0.002   0.0     -0.006

tag : Material 番号
fc: 降伏応力
ec0 : ヤング率
ecu : 2次剛性比


fc: 28日後のコンクリートの圧縮強度
ec0 : 最大強度を与えた時のひずみ
fcu : 圧壊強度
ecu : 圧壊強度を与えた時のひずみ


# STEEL
# Reinforcing steel 
set fy 60.0;      # Yield stress
set E 30000.0;    # Young's modulus
#                        tag  fy E0    b
uniaxialMaterial Steel01  3  $fy $E 0.01

tag : Material 番号
fy: 降伏応力
E0 : ヤング率
b : 2次剛性比

ここで あらかじめ
fy に降伏応力 60.0 を
E にヤング率 30000.0 を
代入し、

コマンド部分で それぞれ $fy, $E とすることによって、コマンドにその値が入るように設定しています。

次のページ →

OpenSees Basic Examples (曲げモーメント-曲率計算) 
解説(部材の定義2)



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

2015年7月2日木曜日

OpenSees Basic Examples (B1: 曲げモーメント-曲率計算) 例題



 Moment Curvature Example 参照


鉄筋コンクリ―トの柱の微小要素を切り取って、



左側の中心を固定させた状態で、2の部分へ右側から力PとモーメントMを矢印の方向にかけます。


この時の曲げモーメントと曲率を計算します。

単位は、kips, in, secを使っています。


上図は断面ですが、鉄筋が入っている内側を①コンクリートが閉じ込められた部分、
外側を②コンクリートが閉じ込められてない部分とします。


次のページ →
OpenSees Basic Examples (曲げモーメント-曲率計算) 
解説(部材の定義1)



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