资源描述:
《平面桁架计算程序.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、!PTA说明:1,数据输入文件为DATAIN.TXT中,数据依次为(NE,NJ,NR,NP,NP);(X,Y)*NJ;!(IJ1,IJ2,A,EI)*NE;(JR1,JR2,JR3,JR4)*NR;(PJ1,PJ2,PJ3)*NP;(PF1,PF2,PF3,PF4)*NF!2,NE单元总数;NJ节点总数;NR约束总数;NP节点荷载总数;NF非节点荷载数;X,Y节点坐标;!IJ(NE,1),IJ(NE,2)单元期终点;A单元面积;ZI截面惯性矩;JR(NR,1)约束结点号;!JR(NE,2:4)横向竖向转动约束(1);PJ(NP,1:3)分别为结点号、荷载类型、荷载值;!P
2、F(NF,1:4)分别为单元号、荷载类型,荷载值、荷载据起点距离!主程序PROGRAMPlane_Truss_AnalysisimplicitnoneintegerNE,NJ,NP,NF,NR,NrealEinteger,allocatable,DIMENSION(:,:)::IJ,JRreal,allocatable,DIMENSION(:)::A,P,X,Y!动态数组定义real,allocatable,DIMENSION(:,:)::PJ,PF,TKOPEN(1,FILE='datain.TXT',STATUS='OLD')!打开文件大datain.txt并存到标号
3、1中OPEN(2,FILE='dataout.TXT',STATUS='NEW')!建立文件dataout存储计算结果READ(1,*)NE,NJ,NR,NP,NF,EN=NJ*2!位移总数allocate(X(1:NJ),Y(1:NJ),IJ(1:NE,2),JR(1:NR,4),A(1:NE),PJ(1:NP,3),PF(1:NF,4),TK(1:N,1:N),P(1:N))WRITE(2,10)NE,NJ,NR,NP,NF,E!打印表头10FORMAT(/1X,'***********平面桁架力计算PTA***********'//4X,'单元数NE=',I2,12
4、X,'结点数NJ=',I2,14X,'支座数NR=',I2,/4X,'结点荷载数NP=',I2,8X,'非节点荷载数NF=',I2,8X,'弹性模量E=',E12.4)CALLINPUT(NE,NJ,NR,NP,NF,X,Y,IJ,A,JR,PJ,PF)!数据输入CALLTSM(NE,NJ,E,X,Y,IJ,A,TK,N)!形成结构原始刚度矩阵CALLJLP(NE,NJ,NP,NF,X,Y,IJ,PJ,PF,P,N)!形成结构综合节点荷载阵列CALLISC(NR,JR,TK,P,N)!引入结构约束条件CALLGAUSS(TK,P,N)!高斯消去法计算结构坐标下的节点位移C
5、ALLMVN(NE,NJ,NF,E,X,Y,IJ,A,PF,P,N)!计算单元杆端内力CLOSE(1)CLOSE(2)deallocate(X,Y,IJ,JR,A,P,PJ,PF,TK)ENDPROGRAMPlane_Truss_Analysis!原始数据输入SUBROUTINEINPUT(NE,NJ,NR,NP,NF,X,Y,IJ,A,JR,PJ,PF)DIMENSIONX(NJ),Y(NJ),IJ(NE,2),A(NE),JR(NR,4),PJ(NP,3),PF(NF,4)READ(1,*)(X(I),Y(I),I=1,NJ)!从1中顺序读取节点坐标READ(1,*)
6、(IJ(I,1),IJ(I,2),A(I),I=1,NE)!从1中顺序读取单元期终编号,截面积,惯性矩READ(1,*)((JR(I,J),J=1,3),I=1,NR)!从1中顺序读取支座信息IF(NP.GT.0)READ(1,*)((PJ(I,J),J=1,3),I=1,NP)!判断并从1中顺序读取结点荷载编码,方向,大小IF(NF.GT.0)READ(1,*)((PF(I,J),J=1,4),I=1,NF)!判断并从1中顺序读取非结点荷载编码,荷载类型,大小,位子参数WRITE(2,10)(I,X(I),Y(I),I=1,NJ)!将结点号、结点坐标,按10格式写入2中
7、WRITE(2,20)(I,IJ(I,1),IJ(I,2),A(I),I=1,NE)!将单元号、单元起终号、单元截面性质,按20格式写入2中WRITE(2,30)((JR(I,J),J=1,3),I=1,NR)!将结点支座信息按格式30写入2中IF(NP.GT.0)WRITE(2,40)((PJ(I,J),J=1,3),I=1,NP)IF(NF.GT.0)WRITE(2,50)((PF(I,J),J=1,4),I=1,NF)10FORMAT(//4X,'1>.结点坐标'/8X,'结点号',12X,'X',12X,'Y'/(6X