ここまでで、
部材についての定義を終えたあと、この部材についての 曲げモーメント-曲率の計算を行います。
この計算は、他でも使用できるように、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.0system 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
モーメントは、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 コマンド 日本語解説 : 目次 |