找回密码
 注册
Simdroid-非首页
查看: 258|回复: 4

[OpenSees] 发个求周期和模态的小算例 希望对大家有用

[复制链接]
发表于 2010-11-20 16:58:52 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
# SET UP ----------------------------------------------------------------------------
wipe;      # clear opensees model
model basic -ndm 3 -ndf 6;    # 2 dimensions, 3 dof per node
logFile errorFile;
file mkdir Data;      # create data directory
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 "[eigen 1]";
set eigenvalues [eigen 1];
puts "eigenvalues ... [lindex $eigenvalues 0]";
set lambda1 [expr [lindex $eigenvalues 0]];
set omega1 [expr pow($lambda1,0.5)];
set T1 [expr 2*3.1416/$omega1];
puts "period ... $T1";

# Define RECORDERS ---------------------------------------------------------
recorder Node -file node2.eig -time -node 2 -dof 1 2 "eigen 1";
# 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

查看全部评分

 楼主| 发表于 2010-11-20 17:18:09 | 显示全部楼层 来自 黑龙江哈尔滨
Simdroid开发平台
本人用的同学的号 想赚点仿真币号买个注册码自己注册,本人学习OPENSEES时间也不是很长,发帖子的目的纯粹是为了忽悠点仿真币。 呵呵。
现在就上面的例子做一些说明:
1 例子本身模型很简单 同学们自己可以画出来,就是一个悬臂柱上面加一个小球。
2 logFile errorFile;这条命令大家应该学会使用,好处有很多,大家用多了就知道了。最大的好处就是当你需要到伯克利的网站上询问的时候,可以直接把错误复制黏贴上。
3 求周期部分是
puts "[eigen 1]";
set eigenvalues [eigen 1];
puts "eigenvalues ... [lindex $eigenvalues 0]";
set lambda1 [expr [lindex $eigenvalues 0]];
set omega1 [expr pow($lambda1,0.5)];
set T1 [expr 2*3.1416/$omega1];
puts "period ... $T1";
其中eigenvalues [eigen 1]是一个数组。
4 根据上面的公式大家应该注意到求出的特征值是平方的形式。
5 opensees求特征值和周期只能求得(n-1)个,n是自由度数目。比方这个模型是2个自由度,就只能求的一个特征值和周期。我用的是三维模型,改成二维模型就只有一个自由度了,是无法求得特征在和周期的,这点大家要注意!
6 求模态可以用这条命令recorder Node -file node2.eig -time -node 2 -dof 1 2 "eigen 1";求模态时至少保证程序运行一次。但很多时候运行一次是不行的,次数太少了文件里没有数据。而理论上程序运行一次就可以求的特征值,这点大家也要注意!

评分

2

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-11-21 18:50:06 | 显示全部楼层 来自 江苏南京
不错,欢迎积极参与
回复 不支持

使用道具 举报

发表于 2010-12-7 15:37:40 | 显示全部楼层 来自 浙江杭州
谢谢非常感谢
回复 不支持

使用道具 举报

发表于 2011-7-12 16:34:34 | 显示全部楼层 来自 江苏南京
懂了一些了,谢谢
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 21:37 , Processed in 0.045094 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表