矩阵位移法编程大作业
(091210211)
一、编制原理
本程序的原理是基于结构力学矩阵位移法原理,以结构结点位移作基本未知量,将要分析的结构拆成已知节点力结点力位移关系的单跨梁集合,通过强令结构发生待定的基本未知位移,在各个单跨梁受力分析结果的基础上通过保证结构平衡建立位移法的线性方程组,从而求得基本未知量。
二、程序说明
本程序是计算3层11跨框架右侧结点的位移和弯矩的程序,编译过程是按照矩阵位移法的先处理法进行的。首先将结构杆件的交汇点作为结点,共有36个结点和108个位移编号,然后根据梁、柱、斜杆的不同分别建立单元刚度矩阵,然后转换为整体坐标系下的刚度矩阵,然后将所有杆件的单元刚度矩阵整合成为总体刚度矩阵,在进行整合时连续运用for函数,最终形成108阶的总体刚度矩阵。然后通过对荷载的分析自己确定出荷载矩阵,直接写进程序。这样就可以把36个结点的108个位移求得,然后再利用各个单元的单元刚度矩阵和所得的位移求得单元杆件的内力。离散化编号如下图:
三、算法流程
结构离散化编号
单元分析
建立梁、柱、斜杆的局部坐标系下的单元刚度矩阵
确定梁、柱、斜杆在整体坐标系下的刚度矩阵
先处理法把各个杆件的单元刚度矩阵整合成总体刚度矩阵
确定综合结点荷载矩阵
建立方程,求解位移
利用杆件单元刚度矩阵和所求位移求内力
f输出结果
结束
四、源代码
结构力学大作业3层11跨框架矩阵位移法编程王贝091210211hi
put输入单层高h:Li
put输入单跨度L:EIci
put输入柱子的抗弯刚度EIc:EAci
put输入柱子的抗压刚度EAc:EIbi
put输入梁的抗弯刚度EIb:EAbi
put输入梁的抗压刚度EAb:EIoi
put输入斜杆的抗弯刚度EIo:EAoi
put输入斜杆的抗压刚度EAo:qi
put输入侧向均布荷载集度qT1100000
010000001000000100000010000001角度为0°的转换矩阵T2010000100000001000000010000100000001角度为90°的转换矩阵xata
hLTcosxsi
x0000si
xcosx0000001000000cosxsi
x0000si
xcosx0000001斜杆的转换矩阵T3T梁的单元刚度矩阵kb0EAbL00EAbL00012EIbLLL6EIbLL012EIbLLL6EIbLL06EIbLL4EIbL06EIbLL2EIbLEAbL00EAbL00012EIbLLL6EIbLL012EIbLLL6EIbLL
f06EIbLL2EIbL06EIbLL4EIbL柱子的单元刚度矩阵kc0EAch00EAch00
012EIchhh6EIchh012EIchhh6EIchh06EIchh4EIch06EIchh2EIchr