预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共64页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四章 结构刚度矩阵的存贮方式和组集程序前面几章,我们介绍了有限元法的基本原理,较深入地讨论了单元分析和系统分析理论。有限元法的重要价值在于方便编写程序,借助于计算机完成全部计算工作。本章讨论的结构刚度矩阵存贮方式和组集的基本内容,适合于各类结构,包括杆系结构、弹性连续结构等。适合于结构静力分析,也是结构动力分析以及稳定性分析的重要基础。为叙述简便起见,本章中所用“单元刚度矩阵”一词都指结构坐标单元刚度矩阵。只有特别需要时才加“结构坐标”定语。(1)单刚地址 单刚地址是指单元刚度矩阵元素在膨胀前的单元刚度矩阵中的地址,即行、列号。式(4-1)矩阵中每个元素的两个下标就是该元素的单刚地址。第一个下标指行号,第二个下标指列号。例如k15的说明它是矩阵中第1行第5列位置的元素。(2)总刚地址 总刚地址是指单元刚度矩阵元素在膨胀后的单元刚度矩阵中的地址(行、列号)。这个地址与单元的节点号有关,而节点号是离散结构时编好的,还与节点自由度有关。(4-2)图4-2(4-5)(3)两类地址的连接数组从式(4-6)、(4-7)知,建立连接数组应先知道单元的节点号i、j、m。这些数据应作为结构计算的初始数据在程序开始后即读入的,因此是已知的。通常,这些数据读入后,按照单元号顺序由小到大依次存放在若干个一维数组中,例如,数组IO、JO、MO分别存放i、j、m节点号;数组IO、JO、MO的长度为单元总数。当然也可用一个多维数组存放它们。现在我们指出一个明显而重要的事实。所谓单元刚度矩阵的膨胀只不过为了说明问题的概念。事实上,执行时并不去膨胀单元刚度矩阵。所谓把所有单元膨胀后的单元刚度矩阵累加起来,即算式 的实现操作方法非常简单:(2)步骤(d)建立e号单元的连接数组[LM] (e)把e号单元结构坐标单元刚度矩阵[k]的元素按连接数组给出的总刚地址送入结构刚度矩阵[K]并进行累加。赋值语句为: K(i,j)=K(i,j)+k(p,q)(4-8) K(i,j)——结构刚度矩阵中第i行j列元素 k(p,q)——单元刚度矩阵中第p行q列元素 p,q——单刚地址 i,j——总刚地址执行命令 K(j,i)=K(i,j)(i<j) 即得结构刚度矩阵[K]的下三角部分元素。执行上述第②步时,对每个单元皆重复同样规律的计算,因而应编写独立的子程序。K[R,C]←K[R,C]+k[I,J]3、组集约束结构总刚度矩阵假定所讨论的结构受刚性支承约束的节点共有NRJ个。我们用一维数组 KRJ(NRJ) 来存贮这些受刚性支承约束的节点的号码。 每个受约束的节点,它的各个自由度可能全受到约束,也可能只有一个自由度被约束。为了表明这种情况,还需一个二维数组:例图4-3所示框架结构NRJ=3(2)节点位移信息数组再对ID数组进行如下改造:从第1列开始,自上而下检查,遇1改0,遇0则用上一个非0元素加1;然后,对第2列、第3列、…依次按同样办法检查处理,完成后,得最终形式的ID数组。仍以图4-3为例,对式(5-9)改造后,得:a)如果 ID(i,j)=0 则表明j号节点第i个自由度受有约束。[ID]←0J←(1,1,NJ)组集受约束结构总刚度矩阵[Kff]和组集无约束结构总刚度矩阵[K]的区别在于前者引入了约束,而后者没有。因此,组集受约束结构总刚度矩阵[Kff]的步骤与组集无约束结构总刚度矩阵[K]的步骤完全相同。只须在组集无约束结构总刚度矩阵[K]的方法中,做以下三点修改,以反应约束的引入。②根据ID数组形成连接数组 ③在单元刚度[k]的总刚地址中只要为0,则根本不把[k]中的相应行和列送入结构刚度矩阵。(4)程序框图K[IR,JC]←K[IR,JC] +k[I,J]4.2结构刚度矩阵的等带宽存贮在对结构系统进行平衡分析时知,如果i节点发生单位位移,只有与节点i有直接联系的那些节点才会受到影响,产生节点力。反之,i节点是否产生节点力也只会受与它直接相连的节点的影响。 设结构中共有100个节点,其中第i(i=4)号节点及其与i号节点直接联系的节点如图4-4所示。2由于刚度矩阵为对称矩阵,只要对节点适当编号,就能使刚度矩阵的非零元素聚集在主对角线两侧,呈现为图4-6所示带状矩阵。一般,刚度矩阵各行的非零元素个数和排列是不同的。对第i行而言,从主对角线元素Kii算起,直到它最右边的一个非零元素为止,其间所有元素(包括可能有的零元素)的个数,称为该行的右带宽。以图4-5为例,第10行的右带宽为12,即包括 K10,10,K10,11,…,K10,21。 这12个元素。图中所示三行中最大的右带宽为: (∣j–i∣+1)*3刚度矩阵各行右带宽中之最大者,称为最大右带宽。因刚度矩阵为对称矩阵,最大右带宽和最大左带宽是相同的,故简称最大右带宽为最大半带宽,记为UBW(UpperBandWidth