这个分析类似于OpenSees官网上的小例子简化版,主要是熟悉一下OpenSees的求解过程。
分析模型如下图所示,是由两个铰支节点相连的简单静定结构,杆件截面积为10,弹性模量为200000,整体模型的单位为mm和N,模型采用OpenSees中的Truss单元,是最简单的一种单元,也是功能非常强大的一种单元,不考虑材料的非线性和失稳。
计算分析代码如下(Truss.tcl):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#单位: N, mm # 清除内存中模型 wipe # 建立模型(2维、2个自由度) model BasicBuilder -ndm 2 -ndf 2 # 建立节点 # ------------ # 定义节点坐标 - 命令: node nodeId xCrd yCrd node 1 0.0 0.0 node 2 200 0.0 node 3 100 60 # 设定边界条件 - 命令: fix nodeID xResrnt? yRestrnt? fix 1 1 1 fix 2 1 1 # 定义材料属性 # ----------------------------------- # 建立一个单轴弹性材料 - 命令: uniaxialMaterial Elastic matID E uniaxialMaterial Elastic 1 2e5 # # 定义单元 # # 建立单元 - 命令: element truss trussID node1 node2 A matID element Truss 1 1 3 10.0 1 element Truss 2 2 3 10.0 1 # 定义荷载 # ------------ # # 建立一个线型时间序列 timeSeries Linear 1 # 用上述建立的时间序列建立一个荷载模式 # 命令: pattern Plain patternTag timeSeriesTag { load commands } pattern Plain 1 1 { # 节点荷载 - 命令: load nodeID xForce yForce load 3 0 -1200 } # 方程求解方式 system BandSPD # 节点编码方式Reverse Cuthill-McKee方法 numberer RCM # 边界条件 constraints Plain # 定义荷载加载控制方式:力控制,直接一步加载 integrator LoadControl 1 # 线型方程组求解方式 algorithm Linear # 分析类型 analysis Static # 记录3节点y方向位移到node3.out recorder Node -file node3.out -time -node 3 -dof 2 disp analyze 1 puts "node 3 displacement: [nodeDisp 3]" print node 3 |
详细的计算过程已经在其中用注释标注了出来,之后可以再OpenSees中使用命令source truss.tcl进行分析,也可以直接将tcl文件拖到OpenSees.exe可执行文件上,在分析结束后,在Opensees上会显示出分析的结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Process started >>> OpenSees -- Open System For Earthquake Engineering Simulation Pacific Earthquake Engineering Research Center -- 2.4.5 (rev 5855) (c) Copyright 1999-2013 The Regents of the University of California All Rights Reserved (Copyright and Disclaimer @ http://www.berkeley.edu/OpenSees/copyright.html) node 3 displacement: 0.00000000000000000000 -0.13216824294982679000 Node: 3 Coordinates : 100 60 Disps: 0 -0.132168 Velocities : 0 0 unbalanced Load: 0 -1200 ID : 0 1 <<< Process finished. (Exit code 0) |
可见在不考虑非线性和失稳的情况下,3节点y方向位移了-0.132mm,由于没有采用其他的软件进行验证,所以并不能保证所计算结果的精度,如果有采用其他软件验证的,或者发现问题的,还望在下面告知一下。
最后附上计算的tcl文件:点击下载