转载一下华南理工陈学伟博士关于OpenSEES的教程,呵呵。
陈博士还搞了OpenSEES的中国区论坛,http://www.opensees.org/index.php,不错的。
现在很多研究生学习OpenSEES这个程序,非常地火。OpenSEES是美国伯克利大学又一个成功的程序。正确的简写是OpenSEES,"pen" 是小写的,呵呵。OpenSEES我也学得不好,但有网友要求我写一个简单的操作过程,我觉得应没多大问题,但是有个要求,请高手不要拍砖!献丑了。
一般在我的博客可以下载到OpenSEES,网址是: http://www.dinochen.com/article.asp?id=21下载下来就以下几个文件,有范例,程序及说明书,这几个不到30MB的程序就可以完成非线性分析,是不是很神奇呢?
(1)安装文件:
OpenSEES要安装的文件只有一个,就是 ActiveTcl8.4.6.1-win32-ix86-99631.exe 。双击它进行安装,不断地按NEXT就可以装完了,如图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/a3d87bd6da8d30b9c18d523a96a2e024.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4d1e92003a9a5efbfecc2fc9dd982f1c.gif)
(2)打开OpenSEES:
OpenSEES.exe文件是不需要安装的,它是一个基于tcl的Dos窗口程序,双击打开,如图所示。不像现在的商业软件,一打开就是图形界面,这一 点很多研究生接受不了,但对于早期接触有限元或电脑的人一点都不陌生。如以前的3DS,AutoCAD的第一个版本就是Dos程序,Abaqus 1.0与Sap4都是Dos程序,就是通过如下窗口输入命令流的。当然,学习OpenSEES的人不需要一个个字打命令流进去,这个容易出错,我们可以学 习Ansys做法,把ADPL写到一个文本文件然后Load进去。正是这样,以下的方法就是:先写tcl文件,再Load进OpenSEES做计算。
![](https://i-blog.csdnimg.cn/blog_migrate/088539fe9e90515250da9a4a67d71274.gif)
(3)创建OpenSEES工作目录:
由于OpenSEES的程序非常小,不到5MB,可以在电脑里拖来拖去,我们可以创建一个新的文件夹,只放一个OpenSEES.exe,如下较长所示。 再创建一个空的文本文件(txt),右键创建就可以了。改名为test.tcl,然后用文本编辑器打开,文本编辑器,我建议采用UltraEdit,速度 快且功能多。
![](https://i-blog.csdnimg.cn/blog_migrate/d4950d6f686cad6b7004ae44d7f4d950.gif)
(4)编写一个简单的OpenSEES的tcl脚本:
编写tcl脚本,需要打开OpenSEES的帮助手册,一步步按照手册来建模。所谓的建模,就是打命令流。帮助文件打开后如图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/f448f43d97586fded41dc42d17241248.gif)
里面的建模命令都在
![](https://i-blog.csdnimg.cn/blog_migrate/909cbfa5151357f5be03803a8fab4fcc.gif)
以下我写一个简单的tcl文件,一边解说。
字体太小看不清,可以下载代码:
![](https://i-blog.csdnimg.cn/blog_migrate/7dd79fd77d9cbaf6c087e68063edee26.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4c6f265095b675807487db929dda0ee2.gif)
字体太小看不清,可以下载代码:
![](https://i-blog.csdnimg.cn/blog_migrate/7dd79fd77d9cbaf6c087e68063edee26.gif)
建模的内容是建一个柱子,一个侧向位移推它,Push-Over,得到基底剪力与顶部位移的曲线。模型的示意图如图所示,纤维截面大体如下图所示。分析完成会得到两个数据结果文件,也就是Recorder记录的内容,如下。
recorder Node -file DFree.out -load -node 2 -dof 1 2 3 disp; # 记录顶点2的位移 1,2,3表示三个方向的平动自由度
recorder Node -file DFIX.out -load -node 1 -dof 1 2 3 reaction;# 记录底点1的反力 1,2,3表示三个方向的平动自由度
![](https://i-blog.csdnimg.cn/blog_migrate/1eec519036e31216ad5e19e2f6a8bce7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a9cc996080b49a852b577af243f87da8.gif)
(5)结果后处理:
打开两个结果文件,发现记录是按列记录,如DFree.out的文本,第一列是荷载倍数,第二至第四列是位移UX,UY,UZ,我们将它们复制到 excel表格,分列一下,得到如下图所示的数据,将第一列的荷载倍数与UX的水平位移画图,就可以得到最简单的Push-Over曲线了,如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/73548b6a425c7d0dd402b4701da94f67.gif)
(6)学习建议:
★多看一些关于非线性有限元与宏观单元理论的书与论文;
★多动手做一些小算例,练习一下OpenSEES的操作;
★更复杂的模型需要编程实现,尝试掌握编程语言;
★多多与别人交流,加入OpenSEES的群参与讨论,多关注俺的网站!