OpenSees求周期

发布时间 : 星期一 文章OpenSees求周期更新完毕开始阅读

# SET UP ---------------------------------------------------------------------------- wipe; # clear opensees model

model basic -ndm 3 -ndf 6; # 2 dimensions, 3 dof per node file mkdir Data; # create data directory logFile Data/errorFile.txt;

node 1 0 0 0; #两个节点定义一竖向悬臂梁 node 2 0 0 10;

# Single point constraints -- Boundary Conditions fix 1 1 1 1 1 1 1; #固定1节点 mass 2 100 100 100 0. 0. 0.;

# Define ELEMENTS ------------------------------------------------------------- #坐标转换

geomTransf Linear 1 0 -1 0;

element elasticBeamColumn 1 1 2 0.01 1.0e8 1.0e20 2.0e-5 1.0e-5 1.0e-5 1;

#element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag puts \

set eigenvalues [eigen 1];

puts \ set lambda1 [expr [lindex $eigenvalues 0]]; set omega1 [expr pow($lambda1,0.5)];

set T1 [expr 2*3.1416/$omega1]; puts \

# Define RECORDERS --------------------------------------------------------- recorder Node -file Data/node2eig.txt -time -node 2 -dof 1 2 \# define GRAVITY ----------------------------------------------------------- pattern Plain 1 Linear {

load 2 0. 0. -1000. 0. 0. 0. };

constraints Plain; numberer Plain;

system BandGeneral; test NormDispIncr 1.0e-8 10; algorithm Newton;

integrator LoadControl 0.1; analysis Static analyze 1100; loadConst -time 0.0;

这个例子我从在仿真论坛里发过,但那个论坛需要邀请码才能注册,新手一般是没有这个论坛的账号的。这个例子对新手有用,所以也发到这里来吧。类似的例子还有很多,不过最近比较忙,等做完论文了,我会整理一下发上来。 现在就上面的例子做一些说明:

1 例子本身模型很简单 同学们自己可以画出来,就是一个悬臂柱上面加一个小球。 2 logFile errorFile;这条命令大家应该学会使用,好处有很多,大家用多了就知道了。最大的好处就是当你需要到伯克利的网站上询问的时候,可以直接把错误复制黏贴上。 3 求周期部分是 puts \

set eigenvalues [eigen 1];

puts \ set lambda1 [expr [lindex $eigenvalues 0]]; set omega1 [expr pow($lambda1,0.5)]; set T1 [expr 2*3.1416/$omega1]; puts \

其中eigenvalues [eigen 1]是一个数组。

4 根据上面的公式大家应该注意到求出的特征值是平方的形式。 5 opensees求特征值和周期只能求得(n-1)个,n是自由度数目。比方这个模型是2个自由度,就只能求的一个特征值和周期。我用的是三维模型,改成二维模型就只有一个自由度了,是无法求得特征在和周期的,这点大家要注意!

6 求模态可以用这条命令recorder Node -file node2.eig -time -node 2 -dof 1 2 \求模态时至少保证程序运行一次。但很多时候运行一次是不行的,次数太少了文件里没有数据。而理论上程序运行一次就可以求的特征值,这点大家也要注意!

联系合同范文客服:xxxxx#qq.com(#替换为@)