ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:198.62KB ,
资源ID:6740207      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6740207.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(opensees解题技巧.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

opensees解题技巧.docx

1、opensees解题技巧OpenSEES解题一般规律、技巧总结单位OpenSEES中是可以用公制单位(N,m)的(而并不是像某些文章中说的“OpenSees默认为英制单位”)。实际上我认为OpenSEES中并没有什么默认单位,只要编程者自己保持单位一致就行;这点类似于SAP2000的风格。建模顺序做事要讲究顺序,OpenSEES建模亦如是:必须先定义材料才能离散截面(因为离散截面时要对所划分的截面指定材料属性)。与之类似的,必须先定义(离散)截面,才能定义非线性梁柱单元(因为定义非线性梁柱单元时要指定单元截面)。关于BandSPD求解方式官网关于BandSPD方程形式的评价:This is a

2、 good choice for most small size models.并且后面紧跟了一句:The equations have to be numbered so the widely used RCM (Reverse Cuthill-McKee) numberer is used.可见numberer 类型不是随便选,而是要根据方程类型来决定的!(不过直到作业做完,我对numberer, system, test, algorithm, analysis(还包括geomTransf, constraints)等求解控制命令还是一知半解!我觉得要想弄明白这些命令得先回头好好翻翻有限

3、元和数值分析的书了!)OpenSEES中默认的计算精度比较高!“”:(自行总结,未找到官方说明)这是一个真实的故事:我曾在程序中自以为是的将一连串相邻均只有左右的数的差强行赋值为,而没有采用循环命令将两数作差并将结果赋给新变量其中即有这样的强行截断!我以为小数点后都n位了,即使我带着它最后也会被系统截断,还不如我直接预处理来得清爽!没想到这样做直接导致计算不收敛!真是失之毫厘谬以千里!可见在OpenSEES中默认的计算精度比较高!后来我还在老师给的一份范例程序(Silvia Mazzoni & Frank McKenna, 2006)中发现了这么一段:set Ubig ;# a really

4、large numberset Usmall expr 1/$Ubig;# a really small number可见系统并未认为Usmall=0 !再一次印证了这一点!划分纤维截面时角点坐标输入的门道划分纤维截面时角点坐标输入非常有讲究!为了说的直白,我把要点放到下面这张图中了:数据文件处理OpenSEES运行中是可以生成并读写txt文档的!注意我说是“读写”哦!(生成txt文档的好处是方便运行完后双击生成的数据文件读取数据,你懂的。)Tcl编程语法(1)命令流中不能出现中文标点(这一点和C语言编程类似)!(否则运行时DOS窗会停住,给出警告,表明不识别命令流中的中文标点。)(2)if-

5、else 语句中if和后面紧跟的大括号之间、else和前后大括号之间都要空一格。如:if $a0set b 3 else set b -3;#如果a大于0,则令b等于3,否则等于-3。类似的,相邻的两个大括号(一个反大括号和一个正大括号)之间也必须有一个空格。(3)Tcl语言对命令名、变量名区分大小写。(4)一行一般只写一条语句;若想写多条,则各语句间应用分号隔开当一行只有一条语句时,句末分号可有可无。同时还有一种特殊情况,就是当在一条命令后(同一行中)加注释时,该命令末尾必须有分号以告知编译器该命令结束,否则编译器会认为该注释也是前面的命令的一部分,导致编译出错。(5)引用变量时,要在变量名

6、前加上$(美元符号)!这个步骤非常琐碎,不如C语言编程简洁。大家就忍着点吧!运行方法目前我知道至少有两种:方法一:直接运行OpenSEES,在OpenSees 提示符后输入“source*.tcl”(“*.tcl”是提前编写好的命令流),然后回车。优点:个人认为没有;缺点:命令流编辑时易犯格式错误,每次运行都需运行OpenSEES,再在那个黑框里敲命令流,各种不方便!(其实这个方法只是说说而已,实际我从来没用过。)有的童鞋用Ultra Editor之类的通用文本编辑软件写程序再导入OpenSEES运行,我没试过,估计应该没有下面说的第二种方法好。方法二:借助第三方专用编译环境。我目前一直用的是

7、Tcl Editor。它的优点有:可以用不同颜色区分不同功能语句;还有“查找”、“加注释”、“取消注释”等基本常用功能;更好的是菜单栏有个按钮直接与OpenSEES关联,点击就可以调用OpenSEES求解,比较方便(当然,比起Visual Stidio之类的还是差远了!可惜谁叫OpenSEES是这么小众呢)。但这个软件有个非常大的缺点编程者无法获知当前所编辑文档的路径!如果你需要在编程时参考其他文件夹下同样名字的文件(这样的情况在我这次做作业时经常发生,因为我编辑的文档和模板文档文件名相同),把两个文件都用Tcl Editor打开后,你稍一不留神,就会忘了你当前编辑的文档到底是哪里的文件!那时

8、可真是麻烦!所以我总结,这就要求编程者:1、每次在Tcl Editor里打开文件时,不要一看文件名对就急忙打开还要看看这个文件是不是在正确的文件夹下面;2、编程时最好一气呵成;长时间休息时最好把Tcl Editor关掉。说句题外话,我认为一个好的专业软件应该做到让用户大部分时间只需要考虑专业相关的东西,而不必操心其他。所以我想,如果以后自己需要经常用OpenSEES的话,看能不能用其他的编译器,不用这个Tcl Editor了。计算不收敛,怎么办可以考虑如下几点:1、材料本构设定是否正确材料本构参数是否合理而且有时steel01比steel02、concrete01比concrete02好收敛,

9、如果可以的话不妨改改材料模型。2、是否极限位移给的过大,柱子已经破坏把极限位移改小一点试试。(这是针对我这次作业而言)3、是否收敛容差太苛刻把容差改大一点试试。(尽管这也许并不是真正解决问题的办法!)调试程序的技巧:控制变量法控制变量法大家应该很熟悉了。调试程序中我的经验是:一次改动的参数不要太多,改动的是哪些变量自己要记得。最好一次只改一个变量。然后根据运行结果随所作改动变化的规律,及时将变量修改到合适的值。这样做看起来慢,其实我觉得是步步为营,效率比较高。(这些其实应该是编程的通用技巧,经常编程的朋友们应该都有体会。)建议在程序中多用公式一个比较好的编程习惯是,程序里能输公式的地方就输公式

10、,让用户只需要给定几个基本参数。不要自己事先把中间量在草稿纸上算出来然后输到程序里这样不仅程序通用性不高,而且计算精度也没有电脑算的高(我前面已经说过,OpenSEES中默认计算精度是非常高的!),真是“吃力不讨好”!关于wipe命令后面的分号上文说过,如果一条命令后面(同一行中)没有其他命令或注释,那么该命令末尾既可以带分号,也可不带。但是我发现对于wipe命令则不然:因为在Tcl Editor中可以发现,如果wipe末尾带了分号(该行再无其他字符),wipe这个单词是黑色的;但若去掉该分号,wipe就变成了绿色从颜色变化上猜测,莫非加了分号导致wipe命令不被识别再考虑到下文将提到的“Op

11、enSEES似乎存在计算不稳定现象”与wipe命令间千丝万缕的暧昧关系,对于wipe这个“黑匣子”我还是保守处理去掉末尾的分号吧!事实证明去掉分号后貌似有几次曾经不收敛的计算神奇般的收敛了!疑问:OpenSEES计算结果似乎不太稳定具体表现就是,你现在运行某个命令流算题,计算收敛,得到解了;然后你根本就不改程序,甚至连Tcl Editor都关了,更甚至连电脑都关了,等会再重新运行这个命令流,有可能不收敛!我遇到过很多次这个现象,还有同学出现刚开始算不通过,后来啥也没改,重新运行竟然顺利通过了!难道是内存调用错误可程序开头不是由wipe命令吗或许这个wipe根本就不像官网上介绍的那样每次运行都能

12、彻底destory内存中所有之前建的模型、对象(当然也不排除我们在两次结果不同的计算中间无意改动了程序某个部分而自己又忘了毕竟调试程序很复杂,控制变量法调n个参数,特别像我们这种初学者,一调就几个小时,最后是头晕眼花,腰酸背疼所以偶尔忘记自己对程序细微的改动也是可能的)关于element recorder里轴力和剪力的正方向element recorder里记录的轴力和剪力的正方向是怎样的User Manual里的解释是:These forces correspond to the global coordinate axes orientation.我的理解图解如下图所示(图中剪力和轴力都为

13、正):其他两个英制单位换算:1、kipone thousand pounds force,千磅力,约相当于4, N kN。2、重力加速度g m/s2 inch/s2。在学习OpenSEES中常见的英文缩写、专业英语术语:OpenSEES:Open System for Earthquake Engineering SimulationNSF:National Science FoundationPEER:Pacific Earthquake Engineering Research Center(为什么不缩写成PEERC呢)NEES:Network for Earthquake Enginee

14、ring SimulationPBEE:Performance-Based Earthquake Engineeringportal frame:门式刚架,龙门架(planar portal frame:平面门式刚架)ndm:number of dimensions per nodendf:number of degrees of freedom per nodetranslation:uniform motion of a body in a straight line刚体位移,线位移normal:【数】法线rotation about the planes normal绕平面法线的转动pr

15、ompt:提示。(个人理解:指DOS窗中一闪一闪的光标,学名“命令提示符”。)a-priori:先验的。(be generated a-priori,个人理解:即“事先编辑好的”)geometry:几何尺寸element:单元component:(地面运动的)分量drift (angle):位移角uniaxial:of or relating to only one axis,单轴的time series:a set of data collected sequentially usually at fixed intervals of time,时间序列argument:one of the

16、 independent variables upon whose value that of a function depends,自变量,参数nodal load:节点荷载(这个词组读起来有点绕口_)flag:标志变量(学过C语言编程的同学应该知道!)discretization:离散化offset:偏移(量)iteration:迭代(法)SOE:system of linear equations,线性方程系统Newton with Line Search Algorithm:线性搜索路线牛顿算法(这个翻译可能不准确)BandSPD:Banded Symmetric Positive D

17、efinitemap:映射关于OpenSEES的学习资料:来自官方:1、OpenSees User(里面有详细的帮助文档)2、Example Mannul(官网提供的帮助手册)3、OpenSees官网提供的Tcl编程教程4、网页版用户手册(09年版)5、OpenSeesNavigator(OpenSeesNavigator is a matlab interface for OpenSees. It allows users to quickly create models, perform analysis, and look at the results. It runs on windo

18、ws machines.)6、Basic Examples Manual(The objective of this primer is to provide new users of OpenSees (Open System for Earthquake Engineering Simulation) familiar structural engineering examples as a convenient method for learning how to use the software.)原创教程及其他:1、转教程OpenSEES超简单易懂的入门第一课2、OpenSEES最好

19、的介绍(这个讲了一些数值模拟的本质,比较理论化。)3、结构艺术家_刘金成的博客玩转opensees 玩转opensees 暨 sap2000 vs opensees (IV)4、(XX文库)L形钢管混凝土柱抗震性能非线性有限元分析5、(豆丁)OpenSees 使用与教程(一个豆单,里面有5篇文章。其中:OpenSees这篇是节选自一篇重庆大学硕士论文中关于OpenSees的部分,个人感觉写得很好。)6、(中华钢结构论坛)用过OpenSees的前辈请进来帮帮我!(顺便说一下,这个论坛话题讨论质量很高,经常有高手出没!)7、厦门大学建筑与土木工程学院古泉副教授创办的OpenSees学习网站(以前印

20、象中厦大只有文科,浏览了这个网站后我再不敢这么想了)8、推荐一个QQ群:(Opensees与地震工程2),感兴趣的话可以加入;里面都是OpenSEES高手与爱好者,讨论的基本都是学术方面的事情。9、dinoChen的博客(这是陈学伟博士的个人网站,他还有个QQ空间,两个网站上都有非常丰富的优质原创资源!陈博士实乃青年才俊!佩服!上面提到的QQ群也是他创建的!)10、TCL/TK编程实践第四版icelamp的专栏CSDN博客11、Tcl简介维基百科最后,谨摘录两段高手的OpenSEES的学习心得,与君共勉。感谢原作者!ocean2000:“我的当初毕业论文也是用os做试验仿真的,台湾有一篇砌体结

21、构实验用os来仿真的,可以google之,os有一些可以模拟的2D单元。这个程序只要过一遍mannual,使用一点不难,而且资料也很多了,它的论坛不错,问题的讨论很积极。要加新单元和新材料也不难,接口都给大家提供好了。其实这个软件的一大优点是TCL/TK很容易上手,对于计算过程可以加入自己的判断和控制条件,所以可以做出很好的滞回曲线,还可以动态显示曲线发展过程。非常难得的是在工作中居然看到单位的软件有与opensees的数据转化接口。”dinochen1983:“学习OPENSEES要求一定的有限元知识及非线性理论,最好会编程,因为建模需要用编程的思想去简化重复输入,本人觉得OPENSEES值

22、得大家好好学习,我学了半年,收获很多。”(两段话均来自:用过OpenSees的前辈请进来帮帮我!中华钢结构论坛)(2012年4月19日11:26:49 更新)原文中所谓的“关于这次作业具体的心得”的博文链接已更新;本打算待该博文发表后及时回来更新的,结果忘了。抱歉!来源:颜冬启全文链接2010【转载】OpenSEES自学笔记(一) “博主按”:本文是我第一次用OpenSEES做仿真分析作业(基于OpenSEES的方钢管混凝土柱抗震性能分析)过程中点滴记录的自学笔记,发表出来既是和各位(尤其是Open. 9qMUBJZ 全文链接2010【转载】OpenSEES自学笔记(一)“博主按”:本文是我第

23、一次用OpenSEES做仿真分析作业(基于OpenSEES的方钢管混凝土柱抗震性能分析)过程中点滴记录的自学笔记,发表出来既是和各位(尤其是OpenSEES初学者)交流,同时也算作个自我小结以备日后查阅。尽管我力求完美,但这些习得中仍然极有可能存在错误!请注意甄别!同时也衷心希望各位高手不吝赐教!另外,由于时间仓促,本人又是初学OpenSEES,所以文章内容上比较零散,见谅!初识OpenSEES我是在钢筋混凝土结构非线性分析这门课上第一次听说这个软件的。老师说(均为个人理解,可能不是老师原话)这个软件能够用纤维单元做有限元分析,在模拟大型结构上比ANSYS、SAP等利用实体单元的有限元程序有优

24、势;经常用于抗震分析科研中;不是一个“设计型”软件(如SAP、PKPM、桥博等);还要求我们用它做两个大作业。在Silvia Mazzoni, Frank McKenna, Michael H. Scott, Gregory L. Fenves等人编写的OpenSEES的Users Manual 开篇,是这样回答What is OpenSEES这个问题的:An object-oriented software framework for simulation applications in earthquake engineering using finite element methods.

25、 OpenSees is not a code. A communication mechanism within PEER for exchanging and building upon research accomplishments. As open-source software, it has the potential for a community code for earthquake engineering.好吧,既然是专业软件,那咱就在接下来的使用中逐渐熟悉吧!软件下载与安装OpenSEES和Tcl的下载页面链接在OpenSEES官网首页左侧的栏目里,点击“Downloa

26、d”即可进入下载页面(下载之前需要注册(新用户)或填写电邮(已注册用户)。我的电脑用的是64位的Win7(2012年5月23日11:44:48更新:Win7 旗舰版 SP1),安装成功。安装路径按照官网说明手动作了修改(即将安装路径由默认的C:Tcl改为C:Program FilesTcl)。注意:必须以管理员身份运行ActiveTcl安装程序(在安装包上右击,选择“以管理员身份运行”),否则会安装失败!OpenSEES的运行界面如下图所示。 小技巧:可能由于Tcl Editor(下文将介绍)是绿色软件,系统默认并没有把tcl文件和Tcl Editor关联起来,而且一般也没有建立tcl文件的其

27、它关联方式,所以如果直接双击tcl文件不仅无法打开它,还会弹出错误提示对话框(提示无法识别该tcl文件头几行)!如果你想实现双击tcl文件调用Tcl Editor进行编辑的话,可以自行更改文件关联。具体操作就是在任意一个tcl文件上右击,选择打开方式,然后通过“浏览”找到这个可执行文件(一般应该是在C:TclEditorbin下),并勾上始终用该程序打开此类文件选项,确认。以下大致总结下自行摸索的OpenSEES一般编程规律、技巧。关于这次作业具体的心得在这篇博文里:OpenSEES自学笔记(二)。(两篇写一起既乱且长。)OpenSEES解题一般规律、技巧总结单位OpenSEES中是可以用公制

28、单位(N,m)的(而并不是像某些文章中说的“OpenSees默认为英制单位”)。实际上我认为OpenSEES中并没有什么默认单位,只要编程者自己保持单位一致就行;这点类似于SAP2000的风格。建模顺序做事要讲究顺序,OpenSEES建模亦如是:必须先定义材料才能离散截面(因为离散截面时要对所划分的截面指定材料属性)。与之类似的,必须先定义(离散)截面,才能定义非线性梁柱单元(因为定义非线性梁柱单元时要指定单元截面)。关于BandSPD求解方式官网关于BandSPD方程形式的评价:This is a good choice for most small size models.并且后面紧跟了一

29、句:The equations have to be numbered so the widely used RCM (Reverse Cuthill-McKee) numberer is used.可见numberer 类型不是随便选,而是要根据方程类型来决定的!(不过直到作业做完,我对numberer, system, test, algorithm, analysis(还包括geomTransf, constraints)等求解控制命令还是一知半解!我觉得要想弄明白这些命令得先回头好好翻翻有限元和数值分析的书了!)OpenSEES中默认的计算精度比较高!“”:(自行总结,未找到官方说明)

30、这是一个真实的故事:我曾在程序中自以为是的将一连串相邻均只有左右的数的差强行赋值为,而没有采用循环命令将两数作差并将结果赋给新变量其中即有这样的强行截断!我以为小数点后都n位了,即使我带着它最后也会被系统截断,还不如我直接预处理来得清爽!没想到这样做直接导致计算不收敛!真是失之毫厘谬以千里!可见在OpenSEES中默认的计算精度比较高!后来我还在老师给的一份范例程序(Silvia Mazzoni & Frank McKenna, 2006)中发现了这么一段:set Ubig ;# a really large numberset Usmall expr 1/$Ubig;# a really s

31、mall number可见系统并未认为Usmall=0 !再一次印证了这一点!划分纤维截面时角点坐标输入的门道划分纤维截面时角点坐标输入非常有讲究!为了说的直白,我把要点放到下面这张图中了:数据文件处理OpenSEES运行中是可以生成并读写txt文档的!注意我说是“读写”哦!(生成txt文档的好处是方便运行完后双击生成的数据文件读取数据,你懂的。)Tcl编程语法(1)命令流中不能出现中文标点(这一点和C语言编程类似)!(否则运行时DOS窗会停住,给出警告,表明不识别命令流中的中文标点。)(2)if-else 语句中if和后面紧跟的大括号之间、else和前后大括号之间都要空一格。如:if $a0set b 3 else set b -3;#如果a大于0,则令b等于3,否则等于-3。类似的,相邻的两个大括号(一个反大括号和一个正大括号)之间也必须有一个空格。(3)Tcl语言对命令名、变量名区分大小写。(4)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1