第1节 挠度计算例子
1、用opensees计算杆端内力
TCL:
logFile log.txt
wipe
set m 1.
set KN 1.
set sec 1.
set LunitTXT "m"
set FunitTXT "kN"
set TunitTXT "sec"
set mm [expr $m/1000.]
set m2 1.
set mm2 [expr $m2/1e6]
set KPa [expr $KN/pow($m,2)];
set MPa [expr $KPa*1000.]
set sg [expr $KN/pow($m,3)]
set PI [expr 2*asin(1.0)]
set Ubig 1.e10
set Usmall [expr 1/$Ubig]
model basic -ndm 3 -ndf 6
node 1 0 0 -0.2
node 2 10 0 -0.2
fix 1 1 1 1 1 1 1
fix 2 1 1 1 1 1 1
geomTransf Linear 1 0 0 1
set E 206000000
set G 79000000
set A1 0.020496
set A2 0.013216
set J1 2812267e-12
set J2 891733e-12
set Iy1 99155648e-12
set Iz1 880954688e-12
set Iy2 21415125e-12
set Iz2 729076565e-12
element elasticBeamColumn 11 2 $A2 $E $G $J2 $Iy2 $Iz21;
timeSeries Constant 1
system BandGeneral
numberer RCM
constraints Penalty 1e160 1e160
integrator LoadControl 1.0
test NormDispIncr 1.0e-10 6
algorithm Newton
pattern Plain 1 1 {
eleLoad -ele 1 -type -beamUniform -1.037 0
eleLoad -ele 1 -type -beamUniform -100 0
}
recorder Node -file NodeReaction.txt -time -nodeRange 1 1 -dof 12 3 4 5 6 reaction
recorder Element -file ElementForce.txt -time -eleRange 1 2localForces
analysis Static
set res1 [analyze 1]
if { $res1 != 0 } {
puts "失败"
wipe
return $res1
}
remove loadPattern 1
remove recorders
wipe
#end
2、openSEES计算结果
ElementForce.txt内容:
1 0 505.185 0 0 0 841.975 0 505.185 0 0 0 -841.975
其中 Ma=841.975,Mb=-841.975;
3、挠度计算
double E=206000000.0;
double I=729076565e-12;
double 挠度[11];
::ZeroMemory(挠度,11*sizeof(double));
1)计算荷载引起的挠度
double q,L;
q=-(100+1.037);
L=10;
int 分段数=10;
简支梁_均布荷载_挠度计算(q,L,E,I,分段数,挠度);
2)计算端部内力引起的挠度
简支梁_两端弯矩荷载_挠度计算(L,E,I,841.975,-841.975,分段数,挠度);
3)结果比较
以上计算结果:
SS2000结果: