opensees总结

合集下载

opensees弧长法

opensees弧长法

opensees弧长法摘要:1.OpenSees 简介2.OpenSees 弧长法的定义和原理3.OpenSees 弧长法的应用4.OpenSees 弧长法的优点与局限性正文:1.OpenSees 简介OpenSees 是一款开源的土木工程计算软件,主要用于结构分析和设计。

它基于有限元方法,可以模拟各种复杂的结构和材料。

OpenSees 具有灵活、易用的特点,可以进行线性静力分析、模态分析、屈曲分析、响应谱分析等多种计算。

此外,OpenSees 还提供了丰富的接口和工具,方便与其他软件进行数据交换和二次开发。

2.OpenSees 弧长法的定义和原理OpenSees 弧长法是一种基于有限元方法的结构分析方法,主要用于求解结构在非线性荷载作用下的响应。

弧长法的基本思想是将结构的位移- 时间曲线划分为若干个弧段,通过对每个弧段的积分,求解结构的累积位移、速度和加速度等响应参数。

在OpenSees 中,弧长法通过定义一个函数来描述结构的位移- 时间关系。

该函数可以是线性的、非线性的或者是分段线性的。

在求解过程中,OpenSees 采用自适应时间步长控制,以保证计算精度和效率。

3.OpenSees 弧长法的应用OpenSees 弧长法广泛应用于土木工程领域,尤其是结构动力学分析和地震响应分析。

以下是一些典型的应用场景:(1)求解结构的周期、频率和振型;(2)分析结构在地震作用下的响应,包括峰值地面加速度、地面位移等;(3)评估结构在极端荷载作用下的性能,如屈曲、滑移等;(4)进行结构动力修改,如减震措施等。

4.OpenSees 弧长法的优点与局限性优点:(1)适用范围广,可以处理各种复杂的结构和材料;(2)计算精度高,可以模拟非线性和动态响应;(3)计算效率高,采用自适应时间步长控制;(4)易于与其他软件接口,方便进行数据交换和二次开发。

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的研究及应用

结构三维非线性分析软件Opensees的研究及应用

结构三维非线性分析软件Opensees的研究及应用I. 综述随着计算机科学技术的飞速发展,三维非线性分析已经成为工程领域中的一个重要研究方向。

在这个背景下,结构三维非线性分析软件(如Opensees)的研究和应用日益受到学术界和工程界的关注。

本文将对结构三维非线性分析软件Opensees的研究及应用进行综述,以期为相关领域的研究者提供参考。

首先本文将介绍结构三维非线性分析的基本概念和方法,结构三维非线性分析是一种研究结构在复杂载荷作用下的动力学行为的方法,它涉及到结构动力学、有限元方法、边界元方法等多种数学工具和技术。

通过这些方法,可以求解结构在不同工况下的应力、应变、位移等响应变量,从而预测结构的性能和寿命。

其次本文将重点介绍结构三维非线性分析软件Opensees的发展历程、功能特点以及在实际工程中的应用。

Opensees是一款专门针对结构三维非线性分析的软件,具有强大的计算能力和灵活的操作界面。

它支持多种有限元模型和材料本构关系,可以实现多种求解算法和后处理功能。

在实际工程中,Opensees已经成功应用于多个领域的结构设计、优化和可靠性评估等问题,取得了显著的研究成果。

本文将对结构三维非线性分析软件Opensees的未来发展趋势进行展望。

随着计算机硬件性能的不断提高和计算方法的不断创新,结构三维非线性分析将在更广泛的领域得到应用,如航空航天、能源化工、生物医学等。

同时为了满足不同应用场景的需求,Opensees将继续优化其功能和性能,提高计算效率和精度,拓展与其他软件和工具的集成能力。

研究背景和意义随着计算机技术的飞速发展,三维非线性分析在工程领域中的应用日益广泛。

结构三维非线性分析软件作为一种重要的工具,为工程师提供了强大的计算能力,有助于更准确地评估结构的性能和稳定性。

然而目前市场上的三维非线性分析软件往往功能有限,难以满足复杂结构分析的需求。

因此研究和开发一种高效、功能完善的结构三维非线性分析软件具有重要的理论和实际意义。

opensees解题技巧窍门

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解题一般规律、技巧总结单位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 文档的好处就是方便运行完后双击生成的数据文件读取数据,您懂的。

2019年整理OpenSEES材料库单元库资料

2019年整理OpenSEES材料库单元库资料

OPENSEESOpensees模型OpenSEES中有限元对象被划分成更多的子对象,其中包括节点对象、材料对象、截面对象、单元对象、荷载对象和约束对象等,并且为其子对象提供了多种不同的选择,包括不同的材料类型,截面形式,荷载模式以及约束方式等,再由它们组合成为有限元模型对象。

在程序中建立子对象的命令主要有:Node、Mass、Material、Section、Element、LoadPattern、TimeSeries、Transformation、Block和Constraint等等。

通过上述命令,我们可以分别确定对象中各节点的位置、节点集中质量、材料本构关系、截面恢复力模型、单元类型、外加荷载模式、几何坐标转换类型和约束形式等。

这些命令构建了有限元模型相应的子对象,由这些子对象组合构成有限元模型对象ModelBuilder。

纤维模型纤维模型是指将纤维截面赋予梁柱构件(即定义构件的每一截面为纤维截面),纤维截面是将构件截面划分成很多小纤维(包括钢筋纤维和混凝土纤维)对每一根纤维只考虑它的轴向本构关系,且各个纤维可以定义不同的本构关系。

纤维模型假定构件的截面在变形过程中始终保持为平面,这样只要知道构件截面的弯曲应变和轴向应变就可以得到截面每一根纤维的应变,从而可以计算得到截面的刚度。

纤维模型能很好的模拟构件的弯曲变形和轴向变形,但不能模拟构件的剪切非线性和扭曲非线性。

构件零长度构件可以赋予零长度构件BARSLIPMaterial(这种材料的本构关系可以精确模拟循环加载时在构件节点处由于钢筋的滑移和混凝土的开裂所引起的构件的刚度退化和强度退化现象)来模拟构件节点处的变形,另外用Bond-SP01Material可以模拟节点处钢筋的应力渗透现象(节点处钢筋还没有整体滑移)所引起的构件的强度和刚度变化。

OPENSEES中零长度构件虽然在建模时是零长度,但在计算这种构件变形时却是取其长度为单位长度。

计算时将零长度截面的弯曲曲率乘以1得到构件的弯曲变形。

基于OpenSEES的结构性能分析方法研究

基于OpenSEES的结构性能分析方法研究

南京航空航天大学硕士学位论文基于OpenSEES的结构性能分析方法研究姓名:***申请学位级别:硕士专业:结构工程指导教师:***2011-03南京航空航天大学硕士学位论文摘要目前性能分析的主要方法包括逐步增量时程分析法(IDA)和静力弹塑性分析方法(Pushover)。

IDA方法并不适用于日常设计。

Pushover方法由于缺乏坚实的理论基础,目前并不存在普遍适用的最优实施方案,因此获得合理的结构非线性性能仍然非常困难。

建立普适于各类结构的性能分析方法,对促进基于性能抗震设计的研究与实践,有重要的理论价值和现实意义。

本文在OpenSEES框架下,提出了新的结构分析方法,为结构性能分析方法的进一步研究打下基础。

本文主要研究内容如下:(1)分析了OpenSEES软件内部主要结构和各模块相互协作的机理。

在OpenSEES环境下,通过典型算例对比研究了采用各种Pushover方法分析结构性能的特点与局限。

研究表明,多模态组合(MPA)方法较固定荷载模式的推覆方法有明显优势;(2)提出基于性能结构自由振动分析方法。

该方法通过与结构第一周期相关的激励使结构产生自由振动,并在自由振动阶段达到最大响应,记录相关数据,获得类似于Pushover曲线的结构能力曲线以及底层位移和顶点最大位移的关系曲线;(3)选用10条地震波对结构进行IDA分析,以平均IDA分析结果为基准,对比研究了自由振动法与MPA方法。

研究认为,该方法对结构整体性能的分析结果与MPA方法相近,对结构局部响应的评价优于MPA方法,具有分析结构非线性性能结果唯一,与IDA方法的平均结果一致的优点,计算量较Pushover方法稍大,但远小于时程分析方法。

(4)研究了结构自由振动分析法对不同激励模式的敏感程度,初步得出最优激励模式。

研究表明,不同模式激励对结构自由振动分析法结果有一定影响,其中以衰减正弦激励模式最优;由于受高频成分影响,非衰减余弦激励模式对结构整体性能的评价局部有相对较大的偏差。

OPENSEES

OPENSEES

OPENSEESopensees中的单元问题梁柱单元1. Nonlinear BeamColumn基于有限单元柔度法理论。

许诺刚度沿杆长转变,通过确信单元操纵截面各自的截面抗力和截面刚度矩阵,依照Gauss-Lobatto积分方式沿杆长积分计算出整个单元的抗力与切线刚度矩阵。

NonlinearBeamColumn单元关于截面软化行为,构件反映由单元积分点数操纵,为保证不同积分点数下构件反映的一致性,能够通过修正材料的应力-应变关系来实现,但同时会造成截面层次反映的不一致,因此需要在截面层次进行二次修正。

一根构件不需要单元划分,利用1个单元即可,建议单元内利用4个截面积分点,截面上利用6*6的纤维积分点。

[5]2. Displacement – Based BeamColumn基于有限单元刚度法理论。

许诺刚度沿杆长转变,依照Gauss -Legendre积分方式沿杆长积分计算出整个单元的抗力与切线刚度矩阵。

Displacement - BasedBeam- Column单元关于截面软化行为,构件反映由蒙受软化行为的单元长度操纵,为保证计算结果的精准性,一样需要将构件离散为更多的单元,而截面层次的反映与构件的单元离散数无关,能够较为准确地反映截面的软化行为。

建议一根构件划分为5个单元,单元内利用4个截面积分点,截面上利用6*6的纤维积分点。

[5]3. Beam With Hinges基于有限单元柔度法理论。

假定单元的非弹性变形集中在构件的两头,在杆件端部设置2个积分操纵截面,并设定适当的塑性铰长度,依照Gauss - Radau积分方式沿塑性铰长度积分来模拟构件和整体结构的非线性反映特点,而杆件中部的区段仍维持弹性。

L P塑性铰长度。

通过对BeamWithHinges单元的积分方式进行修正,保证塑性铰区只存在一个积分点,BeamWithHinges单元关于截面软化行为能够在单元层次和截面层次准确地进行描述。

opensees纵筋纤维划分

opensees纵筋纤维划分

opensees纵筋纤维划分
在OpenSees中,纵筋纤维划分是指将混凝土截面的纵向钢筋分布划分为若干个纤维,以便进行非线性混凝土分析。

纵筋纤维划分通常是根据截面内纵向钢筋的分布情况进行的,可以根据纵向钢筋的数量和布置情况将截面划分为多个纤维区域,每个区域内的混凝土和钢筋受力状态可能不同,因此需要分别进行建模和分析。

在进行纵筋纤维划分时,需要考虑以下几个方面:
1. 纵向钢筋的数量和布置情况,根据实际结构的设计图纸或者构件截面的钢筋布置情况,将截面划分为不同的纤维区域。

2. 混凝土的本构模型,根据混凝土的本构模型,将混凝土纤维划分为不同的区域,并确定每个区域的材料性质,如抗压强度、抗拉强度、受拉刚度等。

3. 纵向钢筋的本构模型,根据钢筋的材料性质和布置情况,将纵向钢筋划分为不同的区域,并确定每个区域的材料性质,如屈服强度、弹性模量等。

通过合理的纵筋纤维划分,可以更准确地模拟混凝土截面的受力行为,为结构的非线性分析提供可靠的基础。

在OpenSees中,可以通过定义纤维截面来实现纵筋纤维划分,然后将其应用于整个结构模型的分析中。

这样可以更真实地反映结构在地震等极限荷载作用下的受力性能,为工程设计提供更可靠的依据。

opensees单元剪应力剪应变记录

opensees单元剪应力剪应变记录

opensees单元剪应力剪应变记录本次实验使用OpenSees软件对单元剪应力和剪应变进行了记录和分析。

实验中,我们使用了梁单元,通过施加不同的剪力载荷,在不同的剪切变形下,记录了各个节点的剪应力和剪应变。

通过这些数据,我们可以分析出材料在受到剪力载荷时的变形和应力分布情况。

在OpenSees中,梁单元是一种非线性单元,用于模拟材料在剪切力下的行为。

梁单元由面积、惯性矩和剪切模量等参数定义。

根据这些参数,我们可以计算出单元的剪切刚度,然后将其与其他节点相连接,形成整个结构。

在本次实验中,我们采用了一个简单的二维梁结构作为例子。

该结构具有长度L和高度H,并受到一个垂直于梁平面的剪力载荷。

我们分别对两种不同的梁材料进行了测试,分别是钢材和混凝土材料。

首先,我们需要在OpenSees中定义梁单元的材料特性。

对于钢材,我们定义了弹性模量和剪切模量,同时还设置了材料的屈服强度和断裂强度。

对于混凝土材料,我们定义了弹性模量、剪切模量和轴向刚度,还设置了混凝土的抗拉和抗压强度。

接下来,我们使用OpenSees中的节点、单元和加载函数等命令,定义了梁结构的几何形状、材料特性和加载方式。

然后,我们使用合适的加载函数施加剪力载荷,以模拟实际的应力情况。

在梁结构受到剪力载荷时,我们通过OpenSees记录了各个节点的剪应力和剪应变。

通过对这些数据的分析,我们可以得到梁结构中各个部位的变形情况以及剪切应力的分布情况。

在实验结果中,我们可以观察到梁结构的中部区域受到最大的剪切应力,而两端区域则受到较小的剪切应力。

同时,钢材梁和混凝土梁在剪应力和剪应变方面的表现也有所不同。

钢材梁具有较高的剪应变能力,而混凝土梁则具有较低的剪应变能力。

通过对实验数据的分析,我们可以得到结论:钢材和混凝土在承受剪切力时的表现不同,钢材具有较高的剪应变能力和承载力,而混凝土则相对较低。

这些结果对于工程设计和结构分析具有重要的参考价值。

总结来说,本次实验使用OpenSees软件对单元剪应力剪应变进行了记录字数,通过模拟剪切载荷施加到不同材料梁结构上的情况,记录了各个节点的剪应力和剪应变,并进行了数据分析和结论总结。

opensees解题技巧

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 类型不是随便选,而是要根据方程类型来决定的!(不过直至 M 乍业做完,我对 nu mberer, system, test, algorithm, an alysis geomTra nsf, con strai nts )等求解控制命令还是一知半解!我觉得要想弄明白这些命令一OpenSEES 中默认的计算精度比较高!“0.1000000000000001 M 0.1 ” :(自行总结,未找到官方说明)这是一个真实的故事:我曾在程序中自以为是的将一连串相邻均只有0.1左右的数的差强行赋值为 0.1,而没有采 用循环命令将两数作差并将结果赋给新变量一一其中即有这样的强行截断!我以为小数点 后都n 位了,即使我带着它最后也会被系统截断,还不如我直接预处理来得清爽!没想到 这样做直接导致计算不收敛!真是失之毫厘谬以千里!可见在 OpenSEES 中默认的计算精度比较高!后来我还在老师给的一份范例程序( Silvia Mazzo ni & Frank McKe nna, 2006 )中发现了这么一段:set Ubig 1.e10; # a really large nu mber set Usmall [expr 1/$Ubig]; # a really small nu mber (还包括—得先回头好好翻翻有限元和数值分析的书了!可见系统并未认为Usmall=O !再一次印证了这一点!划分纤维截面时角点坐标输入的门道划分纤维截面时角点坐标输入非常有讲究!为了说的直白,我把要点放到下面这张图中了:OpenSEES中矩形横截面的坐插轴I■炬角点坐标描述规则例:用钢将上图所示截面分为9 (=3*3 )块「则命令为:section Fiber $TAGsec {: #TAGse< 为纟千维截面代号patch quad STAGsteel 3 3 yl zl y2 z2 y3 z3 y4 z4; #TAGstxl为钢材料代号 }这里y”坐标的IIS序万万不能乱写!否则运彳云吉果会出徒!数据文件处理OpenSEES运行中是可以生成并读写txt文档的!注意我说是"读写”哦!(生成txt文档的好处是方便运行完后双击生成的数据文件读取数据,你懂的。

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 材料)。

2、执行文件输入-、如何运行 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 命令文件。

opensees解题技巧

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 CuthillMcKee) 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)

OpenSees中的一些关键技术--(1)

OpenSees中的⼀些关键技术--(1)1. 纤维单元的定义和抗剪抗扭的合并。

纤维单元的定义⽅法如下:如图所⽰左图中是⼀个梁的截⾯,其中混凝⼟划分为36个纤维,钢筋有10个纤维,故共有46个纤维单元。

然后,局部坐标按右图来(这⾥插⼊右图的⽬的是想说明y朝上,z朝左),2轴代表y,3代表z,左图矩形中⼼是(0,0),然后每个纤维的中⼼坐标就出来了,⾃⼰计算⼀下就⾏了。

⽐如最右下⾓的纤维应该是两个负数。

定义的时候,⽤以下命令:section Fiber 1 {fiber -1.667E+002 -1.667E+002 4.444E+003 2。

}其中,fiber 后⾯跟的是单根纤维的y坐标值,z坐标值,纤维⾯积,材料编号,这样就定义了⼀个纤维截⾯。

如果定义第⼆个截⾯,section Fiber后⾯写2.下⾯是定义⼀个抗剪和⼀个抗扭刚度,加到截⾯上。

uniaxialMaterial Elastic 201 1.056E+010uniaxialMaterial Elastic 301 1.056E+010uniaxialMaterial Elastic 401 2.857E+014前两个是抗剪的,第三个是抗扭的。

矩形的计算公式为抗剪: Ksy=G*5*b*h/6 ;抗扭: Kt=HB^3(1/3-0.21*(B/H)*(1-B^4/H^4/12)) ; H是长边G是剪切模量。

然后section Aggregator 1001 201 Vy 301 Vz 401 T -section 1将截⾯1的201,301,401 分别赋予1001。

两个⽅向的抗剪,和⼀个⽅向的抗扭。

2. geomTransfer的意义。

看最上⾯右⾯的图,2朝上,3朝左。

由于咱们建⽴的时候就是这么摆放的,所以看2轴,2轴和你的整体坐标中的哪个轴平⾏,哪个轴就是1.例如,对于梁,我们建⽴截⾯的时候都是⽴着建⽴的,即左右长边,上下短边,2轴朝上。

opensees解题技巧

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命令解释

opensees命令解释

1、定义梁柱单元局部坐标轴的命令流为:geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ其中,$transfTag 代表局部坐标轴矢量的编号,$vecxzX $vecxzY $vecxzZ 表示局部坐标轴的方向矢量值。

2、OPENSEES 的刚性隔板假定命令流格式为:rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...其中,$perpDirn 表示刚性隔板的方法,如实例中楼板的刚性隔板的平移方向为U1(X 方向)与U2(Y 方向),即1-2 平面,该值应为3。

$masterNodeTag 为主结点,$slaveNodeTag1 为从结点。

主结点一般为刚性隔板刚心。

实例中:rigidDiaphragm 3 35 2,表示刚性隔板平动方向为1-2 平面,刚心主节点为35 点,2号结点为从结点。

3、弹性梁柱单元的命令流:element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag 需要提供截面的截面积A、截面Y 轴惯性矩Iy,截面Z 轴惯性矩Iz,截面扭转矩,截面材料的弹性模量E 及剪切模量G。

其中:$transfTag与$eleTag是一致的,表示一个单元有自已特定的坐标轴向量,为了编程的方便4、非线性材料模型的定义(1)uniaxialMaterial Steel01 1 335 200000 0.00001表示,钢筋的屈服强度为335MPa,弹性模量为200000MPa,硬化系数为0.00001,即屈服平台基本上为水平段。

将混凝土材料本构C40 改为非线性混凝土本构【Concrete01】,命令流如下:(2)uniaxialMaterial Concrete01 2 -26.8 -0.002 -10 -0.0033材料参数意见参考图所示。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

o p e n s e e s总结-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII1、定义梁柱单元局部坐标轴的命令流为:geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ其中,$transfTag 代表局部坐标轴矢量的编号,$vecxzX $vecxzY $vecxzZ 表示局部坐标轴的方向矢量值。

2、OPENSEES 的刚性隔板假定命令流格式为:rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...其中,$perpDirn 表示刚性隔板的方法,如实例中楼板的刚性隔板的平移方向为U1(X 方向)与U2(Y 方向),即1-2 平面,该值应为3。

$masterNodeTag 为主结点,$slaveNodeTag1 为从结点。

主结点一般为刚性隔板刚心。

实例中:rigidDiaphragm 3 35 2,表示刚性隔板平动方向为1-2 平面,刚心主节点为35 点,2号结点为从结点。

3、弹性梁柱单元的命令流:element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag需要提供截面的截面积A、截面Y 轴惯性矩Iy,截面Z 轴惯性矩Iz,截面扭转矩,截面材料的弹性模量E 及剪切模量G。

其中:$transfTag 与$eleTag 是一致的,表示一个单元有自已特定的坐标轴向量,为了编程的方便。

陈:例题三4、非线性材料模型的定义(1)uniaxialMaterial Steel01 1 335 200000 0.00001表示,钢筋的屈服强度为335MPa,弹性模量为200000MPa,硬化系数为0.00001,即屈服平台基本上为水平段。

将混凝土材料本构C40 改为非线性混凝土本构【Concrete01】,命令流如下:(2)uniaxialMaterial Concrete01 2 -26.8 -0.002 -10 -0.0033材料参数意见参考图所示。

注意:混凝土本构Concrete01 是最简单的混凝土本构,注意数值是负数,即表示受压段。

该本构没有受拉段,即受拉强度为0,表示结构一分析即进入弹塑性。

5、采用纤维单元,需要定义纤维截面,纤维截面的定义如下面代码所示:section Fiber 1 {fiber -1.125E+002 -2.700E+002 4.500E+003 2………fiber 1.150E+002 -2.650E+002 4.900E+002 1}以上命令流表示,纤维截面编号为1,{}内部为子命令流,表示每一个纤维的信息,每一个纤维的定义格式如下:fiber $Y $Z $Area $Mat命令中,$Y 表示每个纤维的截面Y 坐标(截面中心为原点0);$Z 表示每个纤维的截面Z 坐标(截面中心为原点0);$Area 表示每个纤维的贡献面积;$ Mat 表示每个纤维使用的非线性材料本构的编号。

注意:纤维的坐标与材料切线模量可以组装成截面的刚度,而纤维的坐标与材料的应力可以组装成截面的内力(抗力),那么每个纤维的应变可以通过截面的变形与坐标求出。

采用纤维截面的单元,即为基于平截面假定。

截面变形求解应变是基于平截面假定的。

6、采用的单元为非线性梁柱单元,即基于柔度法的纤维单元(Nonlinear BeamColumn Element or Force Beam Column Element),需要输入命令流如下:element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag其中,$eleTag 为单元编号;$iNode 为开始结点;$jNode 为结束结点;$numIntgrPts 为积分点数量;$secTag 为纤维截面编号,$transfTag 为局部坐标轴编号。

积分点数量,也就纤维单元的计算截面数量,纤维单元的刚度与抗力是由截面刚度与抗力沿杆件长度积分所得,显然,不能将全部截面积分,只能采用离散积分,OPENSEES 默认的积分方法是高斯-洛贝塔积分(Guass-Lobotto),各阶积分点分布及权函数如下图所示。

(OPENSEES 后期版本可提供其它积分方法:Legendre, Radau,NewtonCotes, Trapezoidal)。

梁柱单元的局部坐标的计算与编号在上章节已描述。

7、截面变形记录:本实例采用纤维单元,即可输出每段积分点处截面的变形,记录截面变形的命令如下:recorder Element -file $File -time -eleRange 1 6 section $SecPos deformation其中,$File 为记录的文本文件名;-eleRange 1 6,表示记录单元为1~6 号;$SecPos为输出积分点号,如下图所示,开始结点为1 号,如果积分点数为N,结束结点的截面编号为N,deformation 表示记录内容为截面变形。

截面变形输出结果中,输出三个数值分别是轴向应变,绕Z 轴弯曲曲率,绕Y 轴弯曲曲率。

积分点分布示意图8、均布荷载的定义。

本实例采用均布线荷载,即施加于单元的均布荷载,OPENSEES的线性荷载有两种,一种是均布荷载,另一种是线上点荷载。

以均布荷载为例,命令流格式如下:eleLoad -ele $eleTag1 <$eleTag2 ....> -type -beamUniform $Wy $Wz <$Wx>其中,$eleTag1 为施加荷载的单元编号,-type –beamUniform 表示均布线荷载,$Wy $Wz <$Wx>为三个轴方向的均布荷载值。

$Wy 表示截面局部坐标轴垂直方向的均布荷载,$Wz 表示截面局部坐标轴方向的均布荷载,$Wx 表示沿单无长度方向的均布荷载,如下图所示。

梁荷载向量示意图陈:例题四9、截面组装。

纤维截面是依据纤维截面(Section Fiber)命令流形成,命令流如下所示:##NC400X400section Fiber 1 {fiber -1.667E+002 -1.667E+002 4.444E+003 2…………fiber 1.650E+002 0.000E+000 4.900E+002 1}可见,纤维截面的编号为1(纤维截面算1 个截面本构),对应该截面的抗剪与抗扭本构编号分别为201,301 及401,通过截面组装的方式将这四个截面本构组装在一起,命令流如下:section Aggregator 1001 201 Vy 301 Vz 401 T -section 1其中,1001 为组装后的截面编号,201 Vy 代表Vy(Y 方向抗剪)采用单轴本构201号;301 Vz 代表Vz(Z 方向抗剪)采用单轴本构301 号;401 T 代表T(抗扭)采用单轴本构401 号;-section 1 表示参与组装的纤维截面为1 号截面;就这样将三个材料本构与一个纤维截面组装在一组,那么组装后的纤维截面编号即改为1001 号。

那么,在纤维单元定义时,单元采用的纤维截面编号即不为1 号,为1001 号,如下命令流所示。

element nonlinearBeamColumn 1 1 2 4 1001 1上述6:element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag 其中,$eleTag 为单元编号;$iNode 为开始结点;$jNode 为结束结点;$numIntgrPts 为积分点数量;$secTag 为纤维截面编号,$transfTag 为局部坐标轴编号。

10、Push-over 分析设置。

Push-over 是高层建筑结构弹塑性分析方法的一种,其分析过程分两个部分,一个就是静力弹塑性分析部分,另一部分为Push-Over 曲线转化为能力需求曲线进行抗震评估。

本实例只完成第一部分。

一般情况下,Push-over 过程分重力荷载加载过程(力控制),水平位移加载过程(位移控制)。

命令流如下:重力加载的命令流如下:puts "gravity"## Load Case = DEADpattern Plain 1 Linear {eleLoad -ele 5 -type -beamUniform 0 -3.797E+000 0…………eleLoad -ele 46 -type -beamUniform 0 -3.797E+000 0}puts "analysis"constraints Plainnumberer Plainsystem BandGeneraltest EnergyIncr 1.0e-6 200algorithm Newtonintegrator LoadControl 1.000E-001analysis Staticanalyze 10与上述章节介绍的是一样的,是一个简单的力控制加载,假定总施加的重力荷载为G,总荷载步为10 步,每步施加0.1G。

注意:施加的荷载工况(pattern Plain)与分析设置,一般连在一起,表明后面的分析工况采用的荷载就是上面的命令流描述的荷载。

所以力控制分析(loadControl)的分析工况所采用的荷载为上面的荷载(pattern Plain 1)。

位移控制加载的命令流如下:loadConst 0.0puts "pushover"## Load Case = PUSHpattern Plain 2 Linear {load 6 1.350E+004 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000…………load 20 4.500E+003 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000}puts "analysis"constraints Plainnumberer Plainsystem BandGeneraltest EnergyIncr 1.0e-6 200algorithm Newtonintegrator DisplacementControl 8 1 2.000E-001analysis Staticanalyze 100上述命令流中,最重要的一个就是荷载恒定设置,为保证重力加载的荷载保持不变,在这基础上施加位移控制,用到以下命令流:loadConst 0.0该命令流表明,命令以上的荷载保持不变。

相关文档
最新文档