2016基本平面刚架各种荷载MATLAB程序.docVIP

  • 38
  • 0
  • 约5.9千字
  • 约 5页
  • 2016-12-03 发布于重庆
  • 举报
2016基本平面刚架各种荷载MATLAB程序

% 平面刚架MATLAB程序 % 2003.9.16 2008.4.1 2009.10 2011.10 2013.9 2014.09 2016.03 %************************************************* % 变量说明 % NPOIN NELEM NVFIX NFPOIN NFPRES % 总结点数,单元数,约束数, 力结点数,非结点力数 % COORD LNODS YOUNG % 结构节点坐标数组, 单元定义数组,弹性模量 % FPOIN FPRES FORCE FIXED % 结点力数组,非结点力数组,总体荷载向量, 约束信息数组 % HK DISP % 总体刚度矩阵结点位移向量 %************************************************** format short e %设定输出类型 clearFP1=fopen(6-6.txt,rt) %打开数据文件 % NELEM=fscanf(FP1,%d,1); %单元数NPOIN=fscanf(FP1,%d,1); %结点数NVFIX=fscanf(FP1,%d,1); %约束数NFPOIN=fscanf(FP1,%d,1); %作用荷载结点数NFPRES=fscanf(FP1,%d,1); %非结点荷载数YOUNG=fscanf(FP1,%f,1); %弹性模量 % 读取结构信息 LNODS=fscanf(FP1,%f,[6,NELEM]) % 单元定义: 左、右结点号,面积,惯性矩线膨胀系数截面高度(共计 NELEM组) COORD=fscanf(FP1,%f,[2,NPOIN]) % 坐标: x,y坐标(共计 NPOIN 组) FPOIN=fscanf(FP1,%f,[4,NFPOIN]) % 节点力(共计 NFPOIN 组):结点号、X方向力(向右正), % Y方向力(向上正),M力偶(逆时针正) FPRES=fscanf(FP1,%f,[,NFPRES]) % 均布力(共计 % NFPRES 组):单元号、荷载类型、荷载大小、距离左端长度温差下端上端上。下边% 荷载类型荷载 5-温度荷载荷载FIXED=fscan f(FP1,%f,NVFIX) % 约束信息:约束对应的位移编码(共计 NVFIX 组) %---------------------------------------------------------HK=zeros(3*NPOIN,3*NPOIN); % 张成总刚矩阵并清零 FORCE=zeros(3*NPOIN,1); % 张成总荷载向量并清零 %总刚 for i=1:NELEM % 对单元个数循环 % 生成局部单刚(局部坐标) 右手坐标系 EK=ele_EK(i,LNODS,COORD,YOUNG); T=zbzh(i,LNODS,COORD); % 坐标转换矩阵 EKT=T’*EK*T% 生成整体单刚(整体坐标系) % 组成总刚 按3*3子块加入总刚中(共计4块) for j=1:2 %对行进行循环---按结点号循环 N1=LNODS(i,j)*3; % j结点第3个位移的整体编码 for k=1:2 %对列进行循环---按结点号循环 N2=LNODS(i,k)*3; % k结点第3个位移的整体编码 HK((N1-2):N1,(N2-2):N2)=HK((N1-2):N1,(N2-2):N2)... +EKT(j*3-2:j*3,k*3-2:k*3); % 单刚3 x 3子块叠加到总刚中 end end % 由结点力与非结点力生成总荷载向量列阵 for i=1:NFPOIN % 对结点荷载个数进行循环 N1=FPOIN(i,1); % 作用荷载的结点号 N1=N1*3-3; % 该结点号对应第一个位移编码 - 1 for j=1:3 FORCE(N1+j)=FORCE(N1+j)+FPOIN(i,j+1);%取结点荷载 end end % 计算由非结点荷载引起的等效结点荷载 for i=1:NFPRES % 对非结点荷载个数进行循环 F0=ele_FPRES(i,FP

文档评论(0)

1亿VIP精品文档

相关文档