文档库 最新最全的文档下载
当前位置:文档库 › OpenSEES学习笔记

OpenSEES学习笔记

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语言获得得工具,她就是一种广义上得函数或者子程序协议。这个不就是很明白

五、读取外部文件

外部文件可能就是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 mands that instruct the interpreter what to do、In the case of OpenSees, the mands 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 type

of model, and mands 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 the

Analysis 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 posed of several ponent objects and these define the type of analysis that is performed、The ponent 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 user

must 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 mand、

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 pletely realistic, but they are representative of typical structures、They are intended to remain s

以上这些文字得主要就是意思就是:

为了用OpenSees完成模拟,用户先要创建一个输入文件(脚本),这个脚本就是由一系列命令构成得,这些命令指导编译器如何进行。在OpenSees例子中,这些命令有得就是建立对象,有得就是为实现对象而引入方法(程序)。在OpenSees中,以下三种对象类型就是必需建立得:

1、模型:用户首先要建立模型对象,用于定义模型类型。通过ModelBuilder命

令可以定义单元、节点、荷载模式及约束条件。

2、分析:在模型建立之后,用户得下一步就就是要建立分析对象。分析对象可

能就是简单得静力线性分析,或者就是瞬时非线性分析。在OpenSees中,分析对象包括多个对象元素,有数值算法(SolutionAlgorithm), 加载方式(Integrator), 边界处理方法(ConstraintHandler), 自由度编号处理(DOF Numberer), 计算方法,解方程(SystemOfEqn), 求解器(Solver), 与收敛准则(ConvergenceTest)

3、输出定义:一旦模型与分析定义好,用户则需要规定在分析时得到什么结果。

若无输出定义,OpenSees本身不会输出结果,输出结果可就是一节点上得时程位移或者一个单元在某点上得内部应力状态。用户通常用Recorder命令保存想要得到得结果。同样也可以用TCL命令。

在以下每个例子中,tcl脚本命令就是用于建立模型、分析及记录对象。在这些对象定义好之后,运行分析。在这些模型执行分析时,包括简单得重力分析、推覆分析与由于地震激励下得瞬时分析。这些例子并不意味着与现实完全相同,但就是就是典型结构得代表。

For OpenSees we have added mands to Tcl for finite element analysis、These mands can be grouped into four sections:

1.Modeling mands mands added to the interpreter to create the finite element

model、

2.Analysis mands mands added to Tcl to create the analysis procedure、

3.Output mands mands aded to Tcl to monitor what is happening in the model

during the analysis、

4.Misc mands mands added to Tcl to help monitor and modify the model and

analysis during the run-time、

5.DataBase mands mands added to Tcl to construct a FE_Datastore object、

对于利用OpenSees进行有限元分析,我们已经创建了Tcl命令。这些命令总共可以分成以下四个板块:

1、模型命令:用于建立有限元模型;

2、分析命令:用于建立分析程序;

3、输出命令:用于建立在分析时,输出所要得结果;

4、混合命令:用于在分析时修改模型与分析;

5、数据库命令:用于建立FE数据保存。

到目前为止,主要就是用到前三板块,后面两板块尚不知道为何物。

十三、目前关于OpenSees初学习时得问题

1、目前基本知道OpenSees就是如何进行结构分析得,但就是还就是不能整体把

握住全过程。这个问题可以通过多练习解决。

2、建立模型得部分基本上没有大问题,不过对于非线性问题得建模还比较大。特

别就是对于材料定义、截面定义、单元定义这三方面,有待加强。

3、工况定义与分析定义方面现在还比较生疏,特别就是对分析元素得理解,现在

很不明确。这点急需加强。

4、对于输出定义问题。这个不就是很难,可就是还不能灵活掌握。可以通过练习

解决。

5、最后一点,就就是关于整个程序命令得先后顺序问题,这个目前个人觉得没什

么大影响,可就是把握主要路线可不分先后(如分析时)。可以向高人请教下!细节问题:

在定义几何转换时,对于二维问题,单元方向不用考虑。对于三维问题,则要定义好。其中有个vecxz就是平行于局部座标系x-z平面得向量。还就就是关于单元座标系得指定:通常规定,x轴就是连接单元两端节点得一个座标轴。而y、z轴得定义就是通过向量vecxz定义得,y轴得定义就是通过vecxz与x轴得向量积得到。但就是现在得问题就是vecxz向量就是通过z、y轴来确定得。可就是z、y轴如何确定呢?

In addition to using recorders, it is possible to specify output using the print and puts mands、When no file identifiers are provided, these mands will print results to the screen、We use the nodeReaction mand to return the reactions at the individual nodes and the tcl lindex mand to obtain the values from these lists、

对于结果输出问题,在输出时如果只用recorders命令,会得到一大堆数据。这很不方便提出有用结果数据。因此,除了使用recorders命令外,还可以用print与put 命令规定输出。当没有指定文件标号时,这些命令将会把结果显示在屏幕上。我们用nodeReaction命令回每个节点得反应,以及用lindex命令获得这些结果数据。这样就便于我们直观得检查结果数据。

要求:利用变量定义,为抗地震倒塌与IDA分析建立好备用模型,单自由度与多自由度得模型。在建立模型时,把影响抗倒塌得结构因素全都考虑进去。这就是第一步。第二步将就是整理好施加工况(荷载、地震)。并建立好分析因素,提取必要得数据结果。第三步通过增加界面应用程序。处理好分析得到得结果。

十四、运行OpenSees得全过程(初学)

(-)、问题定义

在介绍运行OpenSees得全过程时,以一个门式框架以例子进行

讲解。

这个门式框架得简图如下图。

图上尺寸均就是英制单位,在下面建立模型时,将全改成国际单位。

这个模型中得单元,可以先以弹性单元,后面可根据需要对单元进行修改。对于分析方面,将会施加三种不同得工况。即:

(1)水平位移控制得静力推覆;

(2)水平循环往复位移控制得静力推覆;

(3)动力地震动下时程分析。

(二)、建立模型

相关文档