资源描述:
《有限元程序设计000new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、有限元程序设计报告有限元程序设计1.程序说明本程序适用于节点荷载作用下的桁架分析问题,当有节间荷载存在时可按照静力等效原理将其转化为节点荷载。可求解平面桁架在静力荷载作用下的内力和位移。(1)TOTAL(INELE,LNODE,ESTIF,ASTIF)该子程序用于形成半带宽存贮的结构原始刚度矩阵(2)UNIT(INELE,YOUNG,COORD,LNODE,AA,ESTIF,LL,CX,CY)该子程序利用式2.桁架有限元程序框图开始输入数据数组定义计算各杆截面面积和半带宽调用形成单刚矩阵UNIT调
2、用形成半带宽存贮的结构原始刚度矩阵TOTAL有节点荷载否输入节点荷载值,并将其送入相应的荷载列阵P(N)中考虑结构是否自重将杆自重引起的等效荷载叠加到P(N)中支座处理、解方程,并输出U(N)、V(N)调用UNIT,求各单元杆端内力结束单元循环没有有否是3.平面桁架内力计算的标识符NPOIN最大节点数NELEM[最大单元数NLOAD节点的荷载总数NZERO节点的约束位移总数WT为结构的自重EE为材料的弹性模量LL一维数组,用于存放单元杆件的长度AA一维数组,用于存放单元杆件的面积COORD[节点坐
3、标数组LNODE单元节点数组BH[二维数组,用于存放单元截面尺寸NRES[二维数组,用于存放约束的位移值JP[二维数组,用于存放节点的荷载值ESTIF四维数组,用于存放整体坐标系下的单元刚度矩阵ASTIF[二十维数组,用于存放半带宽结构原始刚度矩阵P用于存放节点的荷载列阵U用于存放节点x方向的位移值V用于存放节点y方向的位移值4.程序原代码INTEGERE,NELEM,Z,HREALLL,ESTIF,ASTIF,JPDIMENSIONCOORD(3,2),LNODE(3,2),AA(200),BH
4、(3,2),RES(3,2),&LL(200),ESTIF(4,4),ASTIF(400,20),JP(1,2),P(400),U(200),&V(200)OPEN(2,FILE='D:NMXJIA.DAT',STATUS='NEW')C输入已知数据DATANPOIN,NELEM,NJP,NRES,EE,WT/3,3,1,3,21000,0/DATACOORD/0,6,0,0,0,6/DATALNODE/1,2,1,2,3,3/DATABH/3*2,3*10/DATARES/3*0,1,2,4
5、/C计算各单元面积DO200E=1,NELEMAA(E)=BH(E,1)*BH(E,2)CALLUNIT(E,EE,COORD,LNODE,AA,ESTIF,LL,CX,CY)200CONTINUEC计算半带宽L2=2*NPOINNHBW=0DO210E=1,NELEMM=ABS(LNODE(E,1)-LNODE(E,2))IF(NHBW.LT.M)NHBW=M210CONTINUEWRITE(2,*)'半带宽'NHBW=2*(NHBW+1)WRITE(2,220)NHBW220FORMAT(1X
6、,'NHBW=',I2)C单元循环DO300I1=1,L2DO300J1=1,NHBW300ASTIF(I1,J1)=0.0DO400E=1,NELEMCALLUNIT(E,EE,COORD,LNODE,AA,ESTIF,LL,CX,CY)CALLTOTAL(E,LNODE,ESTIF,ASTIF)400CONTINUEDO560N=1,L2560P(N)=0.0IF(NJP.EQ.0)GOTO650DATAJP/10,5/DO630K1=1,NJPNN=JP(K1,2)+0.1630P(NN)=
7、JP(K1,1)650IF(WT.LE.0.0)GOTO750DO700E=1,NELEMN1=LNODE(E,1)N2=LNODE(E,2)P(2*N1)=P(2*N1)-WT*AA(E)*LL(E)/2.0P(2*N2)=P(2*N2)-WT*AA(E)*LL(E)/2.0700CONTINUEWRITE(2,710)710FORMAT(/4X,'荷载总数',8X,'水平荷载',8X,'铅垂荷载')DO730K=1,NO730WRITE(2,740)K,P(2*K-1),P(2*K)740FO
8、RMAT(4X,I2,8X,F8.3,8X,F8.3)750DO800I1=1,NRESZ=RES(I1,2)+1E-5ASTIF(Z,1)=ASTIF(Z,1)*1E8P(Z)=ASTIF(Z,1)*RES(I1,1)800CONTINUEDO850K1=1,L2-1IF(L2.GT.(K1+NHBW-1))THENIM=K1+NHBW-1ELSEIM=L2ENDIFDO850I1=K1+1,IML1=I1-K1+1C1=ASTIF(K1,L1)/ASTIF(K1,1)DO830