矩阵位移法编程大作业
(091210211 )
一.编织原理
本程序原理是根据结构力学矩阵位移法原理,以结构节点位移为基本未知量,将要分析的结构分解为已知节点力-节点力位移关系的单跨梁集,使结构发生未定的基本未知位移,根据各单跨梁受力分析结果保证结构平衡,从而建立位移法的线性方程组
二.程序说明
本程序是计算3层11跨框架右侧节点位移和弯矩的程序,编译过程按照矩阵位移法的预处理法进行。 首先,以结构杆件交点为节点,共有36个节点和108个位移编号,根据梁、柱、斜杆的不同分别建立单元刚度矩阵,转换为整体坐标系下的刚度矩阵,然后将所有杆件的单元刚度矩阵合并为整体刚度矩阵然后,通过分析载荷,自己决定载荷矩阵,直接写入程序中。 这样,可以求出36个节点的108个位移,用各单元的单元刚度矩阵和得到的位移求出单元杆的内力。
离散化编号如下图所示。
三.算法流程
采用杆单元刚度矩阵和求解的位移建立内力方程,求解位移确定综合节点荷载矩阵的预处理法是将各杆单元刚度矩阵合并为整体刚度矩阵,建立梁、柱、斜杆在局部坐标系下的单元刚度矩阵,并
用杆单元刚度矩阵和求解的位移求解内力
建立方程,求位移
综合节点荷载矩阵的确定
预处理法将各杆件单元刚度矩阵合并为整体刚度矩阵
梁、柱、斜杆局部坐标系下单元刚度矩阵的建立
确定梁、柱、斜杆在整体坐标系下的刚度矩阵
单元分析
结构离散化编号
结束结果输出
结束了
输出结果
四.源代码
%结构力学大作业3楼11跨框架矩阵位移法编程王贝091210211
输入h=input ()单层高度h ) );
L=input ('输入单跨距l:' );
EIc=input (输入柱的弯曲刚性EIc:);
EAc=input ('输入柱的压缩刚性EAc:' );
EIb=input (输入梁的弯曲刚性EIb:);
EAb=input (输入梁的抗压刚性EAb:);
EIo=input (输入'斜杆的弯曲刚性EIo:';
输入EAo=input ()斜杆的抗压刚性EAo:);
q=input (输入侧均布载荷集中度q: );
t1=[ 1,0,0,0,0,0;
0、1、0、0、0、0;
0,0,1,0,0,0;
0,0,0,1,0,0;
0,0,0,0,1,0;
0,0,0,0,0,1; %角度为0变换矩阵
T2=[ 0,1,0,0,0,0;
- 1,0,0,0,0,0;
0,0,1,0,0,0;
0,0,0,0,1,0;
0,0,0,- 1,0,0;
0,0,0,0,0,1; %角度为90变换矩阵
x=atan(h/L );
t=[cos(x )、sin (x ) ]、0、0、0;
-sin(x )、cos (x )、0、0、0;
0,0,1,0,0,0;
0,0,0,cos(x ),sin ) ) x ),0;
0,0,0,-sin(x ),cos ),x ),0;
0,0,0,0,0,1; %斜杠的变换矩阵
T3=T;
%梁的单元刚度矩阵
kb0=[EAb/L 0 0 -EAb/L 0 0;
012*eib/(L*L )6*eib/(L*L )012*eib/(L*L )6*eib/(L*L );
0*eib/(L*L )4* eib/l0-6 * eib/(l * l )2*EIb/L;
-EAb/L 0 0 EAb/L 0 0;
0-12*eib/(L*L )-6 * eib/(l * l ) 0-12*eib/(L*L )-6 * eib/(l * l );
0*eib/(L*L )2* eib/l0-6 * eib/(l * l )4*EIb/L] );
%柱的单元刚度矩阵
kc0=[EAc/h 0 0 -EAc/h 0 0;
012*EIC/(h*h )6* EIC/(h )012*EIC/(h*h )6* EIC/(h ) h ) h ) h ) h;
0*EIC/(h*h )4*EIC/h0-6*EIC/)2*EIc/h;
-EAc/h 0 0 EAc/h 0 0;
0-12*EIC/(h*h ) h )-6 * EIC/(h ) 0-12*EIC/(h*h )-6 * EIC/(h ) h ) ) h ) ) h ) );
0*EIC/(h*h )2*EIC/h0-6*EIC/)4*EIc/h; ];
%斜杆的单元刚度矩阵
h=sqrt(h*hL*L );
ko0=[EAo/