admin管理员组

文章数量:1531375

2024年6月5日发(作者:)

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 类型不是随便选,而是要根据方程类型来决定的!

opensees解题技巧

(不过直到作业做完,我对numberer, system, test, algorithm, analysis(还包括geomTransf,

constraints)等求解控制命令还是一知半解!我觉得要想弄明白这些命令-—得先回头好好翻翻有限元和数值分

析的书了!)

OpenSEES中默认的计算精度比较高!

“0。1001≠0.1”:(自行总结,未找到官方说明)这是一个真实的故事:我曾在程序中自以

为是的将一连串相邻均只有0.1左右的数的差强行赋值为0。1,而没有采用循环命令将两数作差并将结果赋给新

变量—-其中即有这样的强行截断!我以为小数点后都n位了,即使我带着它最后也会被系统截断,还不如我直

接预处理来得清爽!没想到这样做直接导致计算不收敛!真是失之毫厘谬以千里!可见在OpenSEES中默认的计

算精度比较高!

后来我还在老师给的一份范例程序(Silvia Mazzoni & Frank McKenna, 2006)中发现了这么一段:

……

set Ubig 1。e10; # a really large number

set Usmall [expr 1/$Ubig]; # a really small number

……

可见系统并未认为Usmall=0 !再一次印证了这一点!

划分纤维截面时角点坐标输入的门道

划分纤维截面时角点坐标输入非常有讲究!为了说的直白,我把要点放到下面这张图中了:

本文标签: 截面单位默认命令方程