等参元八节点matlab,四边形八节点等参元matlab程序.doc

41528d3028836879cd698677c3999917.gif四边形八节点等参元matlab程序.doc

四边形八节点等参元matlab程序—1—悬臂钢梁,尺寸如图一所示;v=0.3。h=1,E=2.1e11.图一悬臂钢梁图二单元划分与结点编号四边形八节点等参元matlab程序—2—Matlab输出结果四边形八节点等参元matlab程序—3—附录Ⅰ:有限元ANSYS分析结果采用PLANE183单元(四边形八节点)单元得出的结构Y向最大位移为-0.216E-04。约等于matlab平面四边形八节点等参元结点Y向最大位移-2.4024E-5。四边形八节点等参元matlab程序—4—附录Ⅱ:%---------------四边形八节点等参元matlab计算程序----------------------------%———————————主程序—————————%*******************************************************************%************************************%2012年%本程序只能处理集中荷载作用下的情况%只输出了节点位移、单元中心点的应力%*******************************************************************%***************%变量说明%Evh%弹性模量泊松比厚度%NPOINNELEMNVFIXNNODENFPOIN%总结点数,单元数,约束结点个数,单元节点数,受力结点数%COORDLNODS%结构节点整体坐标数组,单元定义数组,%FPOINFORCEFIXED%结点力数组,总体荷载向量,约束信息数组%HKDISP%总体刚度矩阵,结点位移向量%******************************clearallatshorteFP1=( bjd.txt , rt );%打开数据文件%%读入控制数据E=fscanf(FP1, %f ,1);%弹性模量v=fscanf(FP1, %f ,1);%泊松比h=fscanf(FP1, %f ,1);%厚度NELEM=fscanf(FP1, %d ,1);%单元数NPOIN=fscanf(FP1, %d ,1);%总结点数NNODE=fscanf(FP1, %d ,1);%单元节点数NFPOIN=fscanf(FP1, %d ,1);%受力结点数NVFIX=fscanf(FP1, %d ,1);%约束结点个数LNODS=fscanf(FP1, %f ,[NNODE,NELEM]) ;%单元定义:单元结点号(逆时针)四边形八节点等参元matlab程序—5—COORD=fscanf(FP1, %f ,[2,NPOIN]) ;%结点号x,y坐标(整体坐标下)FPOIN=fscanf(FP1, %f ,[3,NFPOIN]) ;%节点力:结点号、X方向力(向右正),Y方向力(向上正)FIXED=fscanf(FP1, %d ,[3,NVFIX]) ;%约束信息数组(n,3)n:受约束节点数目,(n,1):约束点号%(n,2)与(n,3)分别为约束点x方向和y方向的约束情况,受约束为1否则为0%*******************************************************************%*******************************************************************%========平面应力问题的求解==============%%*******************************************************************%*******************************************************************%—————————————————————%刚度矩阵的生成%计算刚度矩阵,并对约束条件进行处理Ke=zeros(2*NNODE,2*NNODE);%单元刚度矩阵并清零HK=zeros(2*NPOIN,2*NPOIN);%张成总刚矩阵并清零%调用子程序生成单元刚度矩阵=1:NELEM%m为单元号Ke=K(E,v,h,.COORD(LNODS(m,1),1),COORD(LNODS(m,1),2),.COORD(LNODS(m,3),1),COORD(LNODS(m,3),2),.COORD(LNODS(m,5),1),COORD(LNODS(m,5),2),.COORD(LNODS(m,7),1),COORD(LNODS(m,7),2));%调用单元刚度矩阵a=LNODS(m,:);%临时向量,用来记录当前单元的节点编号%对总刚度矩阵的处理forj=1:8fork=1:8HK((a(j)*2-1):a(j)*2,(a(k)*2-1):a(k)*2)=HK((a(j)*2-1):a(j)*2,(a(k)*2-1):a(k)*2)+.Ke(j*2-1:j*2,k*2-1:k*2);endendend%—————————————————————————————————%对荷载向量进行处理四边形八节点等参元matlab程序—6—FORCE=zeros(2*NPOIN,1);%张成总荷载向量并清零fori=1:NFPOINb1=FPOIN(i,1)*2-1;b2=FPOIN(i,1)*2;%FPION(i,1)为作用点FORCE(b1)=FPOIN(i,2);%FPION(i,2)为x方向的节点力FORCE(b2)=FPOIN(i,3);%FPION(i,3)为y方向的节点力end%—————————————————————————————————%将约束信息加入总刚,总荷载fori=1:NVFIXifFIXED(i,2)==1c1=2*FIXED(i,1)-1;HK(c1,:)=0;%将一约束序号处的总刚列向量清0HK(:,c1)=0;%将一约束序号处的总刚行向量清0HK(c1,c1)=1;%将行列交叉处的元素置为1FORCE(c1)=0;endifFIXED(i,3)==1c2=2*FIXED(i,1);HK(c2,:)=0;HK(:,c2)=0;HK(c2,c2)=1;FORCE(c2)=0;endend%—————————————————————————————————%===========================================================%===========================================================DISP=HK\FORCE%计算节点位移向量%===========================================================%===========================================================%—————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值