OpenSEES重点笔记
OpenSEES重点笔记

1、利用零长单元模拟阻尼,uniaxialMaterial Elastic 1 6.8098e6;uniaxialMaterial Viscous 2 3.24e5 1;uniaxialMaterial Parallel 3 3 5;element zeroLength 1 $iNode $jNode -mat 3 -dir 1;通常有两种方式:(1)truss element and viscous material.(桁架单元和阻尼材料)(2)force-based beam-column element and Maxwell material(基于力的梁柱单元和Maxwell 材料)。
-、如何运行OpenSEES有三种方法可以执行OpenSees/Tcl命令:1、interactive交互式直接将命令输入Prompt。
2、执行文件输入这种方法是最常用的一种,以source inputfile.tcl方式执行已写好的外部命令文件。
3、Batch模式即以Opensees inputFile.tcl方式在MS-DOS/Unix promt中运行。
二、定义单位和常数在编写一个较大的Opensees命令时。
最好先定义好单位及常数。
在Opensees中,编译器不能自行转换单位。
所以一开始就要先定义好。
单位定义包括两部分:首先定义基本单位;再定义合成单位。
其中基本单位要相互独立。
同时,在定义单位时,既可以按国际公制单位,也可以按私制单位。
因些在单位定义文件中可能是混合的。
我个人建议,还是采用国际公制单位较好。
像国外常用英制单位。
很不习惯。
对于一些常数,如 和g等常数要事先定义好。
在定义这些单位时所用的命令是“set”。
三、生成Matlab命令Matlab是后处理最常用的工具,通过Tcl脚本语言可以得到Matlab命令文件。
同时保证相同的分析参数。
如下例:四、定义Tcl命令的方法这种方法是从Tcl语言获得的工具,他是一种广义上的函数或者子程序协议。
OpenSEES重点笔记

1、利用零长单元模拟阻尼,uniaxialMaterial Elastic 1 6.8098e6;uniaxialMaterial Viscous 2 3.24e5 1;uniaxialMaterial Parallel 3 3 5;element zeroLength 1 $iNode $jNode -mat 3 -dir 1;通常有两种方式:(1)truss element and viscous material.(桁架单元和阻尼材料)(2)force-based beam-column element and Maxwell material(基于力的梁柱单元和Maxwell 材料)。
-、如何运行OpenSEES有三种方法可以执行OpenSees/Tcl命令:1、interactive交互式直接将命令输入Prompt。
2、执行文件输入这种方法是最常用的一种,以source inputfile.tcl方式执行已写好的外部命令文件。
3、Batch模式即以Opensees inputFile.tcl方式在MS-DOS/Unix promt中运行。
二、定义单位和常数在编写一个较大的Opensees命令时。
最好先定义好单位及常数。
在Opensees中,编译器不能自行转换单位。
所以一开始就要先定义好。
单位定义包括两部分:首先定义基本单位;再定义合成单位。
其中基本单位要相互独立。
同时,在定义单位时,既可以按国际公制单位,也可以按私制单位。
因些在单位定义文件中可能是混合的。
我个人建议,还是采用国际公制单位较好。
像国外常用英制单位。
很不习惯。
对于一些常数,如 和g等常数要事先定义好。
在定义这些单位时所用的命令是“set”。
三、生成Matlab命令Matlab是后处理最常用的工具,通过Tcl脚本语言可以得到Matlab命令文件。
同时保证相同的分析参数。
如下例:四、定义Tcl命令的方法这种方法是从Tcl语言获得的工具,他是一种广义上的函数或者子程序协议。
OpenSees自学笔记

OpenSEES自学笔记(一)“博主按”:本文是我第一次用OpenSEES做仿真分析作业(基于OpenSEES 的方钢管混凝土柱抗震性能分析)过程中点滴记录的自学笔记,发表出来既是和各位(尤其是OpenSEES初学者)交流,同时也算作个自我小结以备日后查阅。
尽管我力求完美,但这些习得中仍然极有可能存在错误!请注意甄别!同时也衷心希望各位高手不吝赐教!另外,由于时间仓促,本人又是初学OpenSEES,所以文章内容上比较零散,见谅!初识OpenSEES我是在《钢筋混凝土结构非线性分析》这门课上第一次听说这个软件的。
老师说(均为个人理解,可能不是老师原话)这个软件能够用纤维单元做有限元分析,在模拟大型结构上比ANSYS、SAP等利用实体单元的有限元程序有优势;经常用于抗震分析科研中;不是一个“设计型”软件(如SAP、PKPM、桥博等);还要求我们用它做两个大作业。
在Silvia Mazzoni, Frank McKenna, Michael H. Scott, Gregory L. Fenves 等人编写的OpenSEES的Users Manual (v2.0)开篇,是这样回答"What is OpenSEES?"这个问题的:· An object-oriented software framework for simulation applications in earthquake engineering using finite element methods. 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官网首页左侧的栏目里,点击“Download”即可进入下载页面(下载之前需要注册(新用户)或填写电邮(已注册用户))。
opensees解题技巧窍门

OpenSEES解题一般规律、技巧总结单位OpenSEES中是可以用公制单位(N,m)的(而并不是像某些文章中说的“OpenSees默认为英制单位”)。
实际上我认为OpenSEES中并没有什么默认单位,只要编程者自己保持单位一致就行;这点类似于SAP2000的风格。
建模顺序做事要讲究顺序,OpenSEES建模亦如是:必须先定义材料才能离散截面(因为离散截面时要对所划分的截面指定材料属性)。
与之类似的,必须先定义(离散)截面,才能定义非线性梁柱单元(因为定义非线性梁柱单元时要指定单元截面)。
关于BandSPD求解方式官网关于BandSPD方程形式的评价:"This is a 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)等求解控制命令还是一知半解!我觉得要想弄明白这些命令——得先回头好好翻翻有限元和数值分析的书了!)OpenSEES中默认的计算精度比较高!“0.1000000000000001≠0.1”:(自行总结,未找到官方说明)这是一个真实的故事:我曾在程序中自以为是的将一连串相邻均只有0.1左右的数的差强行赋值为0.1,而没有采用循环命令将两数作差并将结果赋给新变量——其中即有这样的强行截断!我以为小数点后都n位了,即使我带着它最后也会被系统截断,还不如我直接预处理来得清爽!没想到这样做直接导致计算不收敛!真是失之毫厘谬以千里!可见在OpenSEES中默认的计算精度比较高!后来我还在老师给的一份范例程序(Silvia Mazzoni & Frank McKenna, 2006)中发现了这么一段:……set Ubig 1.e10; # a really large numberset Usmall [expr 1/$Ubig]; # a really small number……可见系统并未认为Usmall=0 !再一次印证了这一点!划分纤维截面时角点坐标输入的门道划分纤维截面时角点坐标输入非常有讲究!为了说的直白,我把要点放到下面这张图中了:数据文件处理OpenSEES运行中是可以生成并读写txt文档的!注意我说是“读写”哦!(生成txt文档的好处是方便运行完后双击生成的数据文件读取数据,你懂的。
opensees解题技巧

OpenSEES解题一般规律、技巧总结单位OpenSEES中就是可以用公制单位(N,m)的(而并不就是像某些文章中说的“OpenSees默认为英制单位”)。
实际上我认为OpenSEES中并没有什么默认单位,只要编程者自己保持单位一致就行;这点类似于SAP2000的风格。
建模顺序做事要讲究顺序,OpenSEES建模亦如就是:必须先定义材料才能离散截面(因为离散截面时要对所划分的截面指定材料属性)。
与之类似的,必须先定义(离散)截面,才能定义非线性梁柱单元(因为定义非线性梁柱单元时要指定单元截面)。
关于BandSPD求解方式官网关于BandSPD方程形式的评价:"This is a good choice for most small size models、 "并且后面紧跟了一句:"The equations have to be numbered so the widely used RCM (ReverseCuthill-McKee) numberer is used、 "可见numberer 类型不就是随便选,而就是要根据方程类型来决定的!(不过直到作业做完,我对numberer, system, test, algorithm, analysis(还包括geomTransf, constraints)等求解控制命令还就是一知半解!我觉得要想弄明白这些命令——得先回头好好翻翻有限元与数值分析的书了!)OpenSEES中默认的计算精度比较高!“0、10001≠0、1”:(自行总结,未找到官方说明)这就是一个真实的故事:我曾在程序中自以为就是的将一连串相邻均只有0、1左右的数的差强行赋值为0、1,而没有采用循环命令将两数作差并将结果赋给新变量——其中即有这样的强行截断!我以为小数点后都n位了,即使我带着它最后也会被系统截断,还不如我直接预处理来得清爽!没想到这样做直接导致计算不收敛!真就是失之毫厘谬以千里!可见在OpenSEES中默认的计算精度比较高!后来我还在老师给的一份范例程序(Silvia Mazzoni & Frank McKenna, 2006)中发现了这么一段:……set Ubig 1、e10; # a really large numberset Usmall [expr 1/$Ubig]; # a really small number……可见系统并未认为Usmall=0 !再一次印证了这一点!划分纤维截面时角点坐标输入的门道划分纤维截面时角点坐标输入非常有讲究!为了说的直白,我把要点放到下面这张图中了:数据文件处理OpenSEES运行中就是可以生成并读写txt文档的!注意我说就是“读写”哦!(生成txt 文档的好处就是方便运行完后双击生成的数据文件读取数据,您懂的。
OpenSEES知识学习记录文本

1、利用零长单元模拟阻尼,uniaxialMaterial Elastic 1 6.8098e6;uniaxialMaterial Viscous 2 3.24e5 1;uniaxialMaterial Parallel 3 3 5;element zeroLength 1 $iNode $jNode -mat 3 -dir 1;通常有两种方式:(1)truss element and viscous material.(桁架单元和阻尼材料)(2)force-based beam-column element and Maxwell material(基于力的梁柱单元和Maxwell材料)。
-、如何运行OpenSEES有三种方法可以执行OpenSees/Tcl命令:1、interactive 交互式直接将命令输入Prompt。
2、执行文件输入这种方法是最常用的一种,以source inputfile.tcl方式执行已写好的外部命令文件。
3、Batch模式即以Opensees inputFile.tcl方式在MS-DOS/Unix promt中运行。
二、定义单位和常数在编写一个较大的Opensees命令时。
最好先定义好单位及常数。
在Opensees中,编译器不能自行转换单位。
所以一开始就要先定义好。
单位定义包括两部分:首先定义基本单位;再定义合成单位。
其中基本单位要相互独立。
同时,在定义单位时,既可以按国际公制单位,也可以按私制单位。
因些在单位定义文件中可能是混合的。
我个人建议,还是采用国际公制单位较好。
像国外常用英制单位。
很不习惯。
对于一些常数,如 和g等常数要事先定义好。
在定义这些单位时所用的命令是“set”。
三、生成Matlab命令Matlab是后处理最常用的工具,通过Tcl脚本语言可以得到Matlab命令文件。
同时保证相同的分析参数。
如下例:四、定义Tcl命令的方法这种方法是从Tcl语言获得的工具,他是一种广义上的函数或者子程序协议。
2019年整理OpenSEES材料库单元库资料

OPENSEESOpensees模型OpenSEES中有限元对象被划分成更多的子对象,其中包括节点对象、材料对象、截面对象、单元对象、荷载对象和约束对象等,并且为其子对象提供了多种不同的选择,包括不同的材料类型,截面形式,荷载模式以及约束方式等,再由它们组合成为有限元模型对象。
在程序中建立子对象的命令主要有:Node、Mass、Material、Section、Element、LoadPattern、TimeSeries、Transformation、Block和Constraint等等。
通过上述命令,我们可以分别确定对象中各节点的位置、节点集中质量、材料本构关系、截面恢复力模型、单元类型、外加荷载模式、几何坐标转换类型和约束形式等。
这些命令构建了有限元模型相应的子对象,由这些子对象组合构成有限元模型对象ModelBuilder。
纤维模型纤维模型是指将纤维截面赋予梁柱构件(即定义构件的每一截面为纤维截面),纤维截面是将构件截面划分成很多小纤维(包括钢筋纤维和混凝土纤维)对每一根纤维只考虑它的轴向本构关系,且各个纤维可以定义不同的本构关系。
纤维模型假定构件的截面在变形过程中始终保持为平面,这样只要知道构件截面的弯曲应变和轴向应变就可以得到截面每一根纤维的应变,从而可以计算得到截面的刚度。
纤维模型能很好的模拟构件的弯曲变形和轴向变形,但不能模拟构件的剪切非线性和扭曲非线性。
构件零长度构件可以赋予零长度构件BARSLIPMaterial(这种材料的本构关系可以精确模拟循环加载时在构件节点处由于钢筋的滑移和混凝土的开裂所引起的构件的刚度退化和强度退化现象)来模拟构件节点处的变形,另外用Bond-SP01Material可以模拟节点处钢筋的应力渗透现象(节点处钢筋还没有整体滑移)所引起的构件的强度和刚度变化。
OPENSEES中零长度构件虽然在建模时是零长度,但在计算这种构件变形时却是取其长度为单位长度。
计算时将零长度截面的弯曲曲率乘以1得到构件的弯曲变形。
opensees的简单介绍

•
华南理工大学建筑学院建筑工程研究所
Opensee 的材料库:
Elastic Material (弹性材料) Elastic-Perfectly Plastic Material (理想弹塑性材料) Elastic-Perfectly Plastic Gap Material (理想弹塑性间隙材料) Elastic-No Tension Material (弹性不能受拉材料) Parallel Material(并联材料) Series Material (串联材料) Hardening Material(硬化材料) Concrete01 Material -- Zero Tensile Strength (基于Kent-Scot t-Park的无抗拉段混凝土材料) Concrete02 Material -- Linear Tension Softening (线性受拉软 化的混凝土材料)
•
华南理工大学建筑学院建筑工程研究所
Opensee 使用:1)安装过程:
1. 到网站上下载opensee 现在版本是1.73,可以直接下载exe或者下载源码回来编 译,源码是c++语言编写的,采用CVS(concurrent version syst em),方便大家共同修改。还有一个写程序的约定,方便后来 人认识你的代码。 2. 到网站上下载TCL/TK 一个现在比较流行的脚本语言,也可用于某些界面设计, 比如现在有些ANSYS的开发也用到它。
•
华南理工大学建筑学院建筑工程研究所
安装过程:
Tcl/Tk 的发明人 John Ousterhout 教授在八十年代初,是伯克 利大学的教授。在其教学过程中,他发现在集成电路 CAD 设计 中,很多时间是花在编程建立测试环境上。并且,环境一旦发 生了变化,就要重新修改代码以适应。这种费力而又低效的方 法,迫使 Ousterhout 教授力图寻找一种新的编程语言,它即 要有好的代码可重用性,又要简单易学,这样就促成了 Tcl (To ol Command Language) 语言的产生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、利用零长单元模拟阻尼,uniaxialMaterial Elastic 1 6.8098e6;uniaxialMaterial Viscous 2 3.24e5 1;uniaxialMaterial Parallel 3 3 5;element zeroLength 1 $iNode $jNode -mat 3 -dir 1;通常有两种方式:(1)truss element and viscous material.(桁架单元和阻尼材料)(2)force-based beam-column element and Maxwell material(基于力的梁柱单元和Maxwell 材料)。
-、如何运行OpenSEES有三种方法可以执行OpenSees/Tcl命令:1、interactive交互式直接将命令输入Prompt。
2、执行文件输入这种方法是最常用的一种,以source inputfile.tcl方式执行已写好的外部命令文件。
3、Batch模式即以Opensees inputFile.tcl方式在MS-DOS/Unix promt中运行。
二、定义单位和常数在编写一个较大的Opensees命令时。
最好先定义好单位及常数。
在Opensees中,编译器不能自行转换单位。
所以一开始就要先定义好。
单位定义包括两部分:首先定义基本单位;再定义合成单位。
其中基本单位要相互独立。
同时,在定义单位时,既可以按国际公制单位,也可以按私制单位。
因些在单位定义文件中可能是混合的。
我个人建议,还是采用国际公制单位较好。
像国外常用英制单位。
很不习惯。
对于一些常数,如 和g等常数要事先定义好。
在定义这些单位时所用的命令是“set”。
三、生成Matlab命令Matlab是后处理最常用的工具,通过Tcl脚本语言可以得到Matlab命令文件。
同时保证相同的分析参数。
如下例:四、定义Tcl命令的方法这种方法是从Tcl语言获得的工具,他是一种广义上的函数或者子程序协议。
这个不是很明白五、读取外部文件外部文件可能是Tcl命令或者是数据。
有以下三种方法:(1)普通读取文件法;(2)重复计算读取文件法;(3)外部数据文件读取法。
(1)普通读取文件法:source.inputfile.tcl。
当外部文件中包括一系列的常用分析命令时,可用这个方法。
(2)重复计算读取文件法:外部文件可能包括一系列重复的计算,则采用以下方法。
随时改变参数。
也是一种交互式的输入(3)外部数据文件读取法:这个命令可以用于打开一个数据文件。
并按行读取,指定每行的值为单变量。
如果一行中有多个值时,则变量是列阵。
而其中每个元素可用“lindex”命令提取。
六、建立模型这项是我们做分析时很关键的一个前提。
常规流程包括以下几个方面:(1)定义变量和参数;(2)建立模型和定义节点;(3)建立模型和使用变量定义节点;(4)定义材料;(5)定义单元。
(1)定义变量和参数:在Tcl脚本语言中变量是用来替代数字的。
一旦被定义好,则可用来代替数字。
当重新要使用这些数字的时候,只需要用“$”字符则可以调用。
如果不用此字符。
则变量名将会被视为字符串命令将导致错误结果。
在定义模型的变量时,通常首先定义好材料参数,然后单元参数,再是重力(质量)参数,最后是分析参数。
设定好变量定义的命令文件有很多好处,当需要对材料或尺寸等变量进行修改时,只需在这个文件中修改即可。
无需修改后面的文件。
在材料参数中,主要涉及到材料的本构关系变量;单元参数中,主要涉及到单元几何尺寸及数量;重力参数中,主要是模型质量分布;分析参数中,主要是增量步长及数值计算参数。
(2)建立模型和定义节点:这些模型节点通常是置于输入文件的开头。
最后的定义结点质量的命令会覆盖先前定义的节点质量。
在定义这些节点时也可以使用变量来定义,效果是一样的。
(4)定义材料:以下的例子是用于定义钢筋混凝土结构的材料。
假定变量都已定义。
当这些命令编制在一个外部文件中时,可以用source命令执行。
(5)定义单元:七、定义输出(1)定义生成分析输出生成的分析输出将取决于分析是静力的还是动力的。
如下例子:(2)定义分析中的数据图八、重力荷载(1)定义重力荷载(2)运行重力分析九、静力分析(1)定义静力推覆分析。
这条命令将在重力荷载被定义和应用之后运行。
(2)运行静力推覆分析。
当运行静力推覆分析时可能用一条命令即可,而单分析参数环境下通常不容易收敛。
因些写个脚本试用多个算法增加收敛的可能性。
或十、动力分析(1)定义动力地面动动分析(2)运行动力地面运动分析十一、关于OpenSEES例子的介绍。
通常在建立分析模型时,重力分析是其中的一部分。
(一)建立模型1、弹性单元2、非弹性单元:包括两种截面类型,a、单轴截面;b、纤维截面。
3、水平荷载:a、静力推覆(包括单调加载和循环往复加载);b、随时间变化的动力加载(动力分析):包括均匀正弦波、多点激励正弦波、均匀地震波、多点激励地震波、双向激励地震波(二)分析过程1、建立模型(1)定义模型维数和自由度数(2)定义节点坐标(3)定义节点约束——边界条件(4)定义节点质量(5)定义单元和单元连接(6)定义输出记录以上为OpenSEES建立模型时的常规步骤。
2、定义和施加竖向荷载(1)定义节点或单元的竖向荷载(2)定义静力分析参数——容差、算法、约束,方程和加载步(3)运行分析(4)保持竖向荷载为常数(为后续的水平荷载分析)(5)重置时间为0。
3、定义和施加水平荷载(1)定义荷载模式(节点荷载为静力分析,支点运动为地震分析)(2)水平荷载分析参数(容差或时间/位移增量)A、静力水平荷载分析:定义位移增量和位移加载路径B、动力水平荷载分析:定义输入地震动及所有相关参数,例如地震波调整和输入类型;定义分析持时和时间增量;定义阻尼。
(3)运行分析十二、OpenSees初级入门篇及简单例子To conduct a simulation in OpenSees, the user creates an input file (a script). A script is just a series of commands that instruct the interpreter what to do. In the case of OpenSees, the commands either create objects or invoke methods (procedures) on those objects. In OpenSees there are 3 types of objects the user must create:1.Modeling: The user first creates a ModelBuilder object which defines the typeof model, and commands available for building the model. With a ModelBuilder defined the user then creates the Element, Node, LoadPattern and Constraint objects that define the model. In this primer the use of the basic ModelBuilder will be demonstrated.2.Analysis: After the user has defined the model, the next step is to create theAnalysis object for analyzing the model. This may be a simple static linear analysis or a transient non-linear analysis. In OpenSees, an Analysis object is composed of several component objects and these define the type of analysis that is performed. The component objects consist of the following: SolutionAlgorithm, Integrator, ConstraintHandler, DOF Numberer, SystemOfEqn, Solver, and ConvergenceTest. This approach provides a great deal of flexibility in how an analysis is conducted, but requires knowledge on behalf of the user as to what the different options provide.3.Output Specification: Once the model and analysis have been defined, the usermust specify what is to be monitored during the analysis. OpenSees by default will producde no output. The outputs specified could for example be the displacement history at a node or internal stress state at some material point in an element element. The user typically creates Recorder objects to store what the user wants to examine, though the user can also use the tcl puts command. In each of the following examples, tcl scripts are used to create model, analysis and a recorder objects. After these objects have been created, the analysis is performed. The analyses performed on these models consist of simple static gravity analysis and pushover analysis and transient analysis of models subjected to earthquake excitation.The examples are not meant to be completely realistic, but they are representative of typical structures. They are intended to remain s以上这些文字的主要是意思是:为了用OpenSees完成模拟,用户先要创建一个输入文件(脚本),这个脚本是由一系列命令构成的,这些命令指导编译器如何进行。