Basic Examples (鉄筋コンクリート門型フレーム 地震波を作用させた解析) 解説
のコマンドのサマリは以下の通りです。
このコマンドを ファイル名 RCF-GE.tcl として、テキストフォーマットで作成し、
OpenSeesの起動環境 で 起動しているOpenSees のコマンドラインに
OpenSees RCF-GE.tcl <Enter>
と打ち込んで、実行します。
この時、このtcl スクリプトは、
Basic Examples (鉄筋コンクリート門型フレーム:重力の柱軸力のみを作用させた解析) で作成した RCF-G.tcl ファイル
OpenSees Basic Examples (:鉄筋コンクリート門型フレーム 地震波を作用させた解析) 解説(地震加速度データについて) で会絶した ARL360.at2 ファイル
と、 このファイルをOpenSeesコマンドの入力データにするための tclスクリプトが入っている
ReadRecord.tcl ファイル
も使用しますので、同じディレクトリに、これらの ファイルもおいておきます。
----- RCF-GE.tcl 始まり ------
#Reinforced Concrete Frame Earthquake Analysis
# Do operations of RCFrameGravity by sourcing in the tcl file
source RCF-G.tcl
# Set the gravity loads to be constant & reset the time in the domain
loadConst -time 0.0
# Define nodal mass in terms of axial load on columns
set g 386.4
set m [expr $P/$g]; # expr command to evaluate an expression
# tag MX MY RZ
mass 3 $m $m 0
mass 4 $m $m 0
# Set some parameters
set record ARL360
# Source in TCL proc to read PEER SMD record
source ReadRecord.tcl
# Permform the conversion from SMD record to OpenSees record
# inFile outFile dt
ReadRecord $record.at2 $record.dat dt nPts
# Set time series to be passed to uniform excitation
timeSeries Path 1 -filePath $record.dat -dt $dt -factor $g
# Create UniformExcitation load pattern
# tag dir
pattern UniformExcitation 2 1 -accel 1
# set the rayleigh damping factors for nodes & elements
rayleigh 0.0 0.0 0.0 0.000625
# Create a recorder to monitor nodal displacements
recorder Node -time -file disp12.txt -node 1 2 -dof 1 2 3 disp
recorder Node -time -file disp.txt -node 3 4 -dof 1 2 3 disp
# Create recorders to monitor section forces and deformations
# at the base of the left column
recorder Element -time -file ele1secForce.txt -ele 1 section 1 force
recorder Element -time -file ele1secDef.txt -ele 1 section 1 deformation
# Delete the old analysis and all it's component objects
wipeAnalysis
# Create the system of equation, a banded general storage scheme
system BandGeneral
# Create the constraint handler, a plain handler as homogeneous boundary
constraints Plain
# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10
# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton
# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM
# Create the integration scheme, the Newmark with alpha =0.5 and beta =.25
integrator Newmark 0.5 0.25
# Create the analysis object
analysis Transient
# Perform an eigenvalue analysis
puts "eigen values at start of transient: [eigen 2]"
# set some variables
set tFinal [expr $nPts * $dt]
set tCurrent [getTime]
set ok 0
# Perform the transient analysis
while {$ok == 0 && $tCurrent < $tFinal} {
set ok [analyze 1 .01]
# 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 100 0
algorithm ModifiedNewton -initial
set ok [analyze 1 .01]
if {$ok == 0} {puts "that worked .. back to regular newton"}
test NormDispIncr 1.0e-12 10
algorithm Newton
}
set tCurrent [getTime]
}
# Print a message to indicate if analysis succesfull or not
if {$ok == 0} {
puts "Transient analysis completed SUCCESSFULLY";
} else {
puts "Transient analysis completed FAILED";
}
# Perform an eigenvalue analysis
puts "eigen values at end of transient: [eigen -Umfpack 2]"
# Print state of node 3
print node 3
次のページ →
OpenSees Basic Examples (E6:鉄筋コンクリート門型フレーム 地震波を作用させた解析) コマンドサマリ 2
Opensees コマンド 日本語解説 : 目次 |
0 件のコメント:
コメントを投稿