资源描述:
《实验四 空间桁架程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验四空间桁架程序设计开始标题及数组说明组集整体刚度矩阵计算并打印各杆轴力解方程并打印杆端位移形成结点载荷列阵结束子程序READ子程序CSL子程序STIFFN输入并打印原始数据子程序MULV6子程序CALM子程序TARNS子程序SOLV一.空间桁架内力和位移计算总框图二.平面桁架静力分析源程序(STSAP.FOR)CANALYSISPROGRAMFORSPACETRUSSDIMENSIONJE(2,100),JEA(50),JN(3,100),M(6),EA(2,50),&JPJ(100),PJ(100),P(200),FE(6),T(6,6),AK
2、E(6,6),F(6),&AK(200,200),X(100),Y(100),Z(100),FF(100)OPEN(6,FILE='STSAP.IN',STATUS='OLD')OPEN(8,FILE='STSAP.OUT',STATUS='NEW')CALLREAD(NJ,N,NNE,NMT,NPJ,JN,X,Y,Z,JE,JEA,EA,JPJ,PJ)10DO20J=1,NDO20I=1,N20AK(I,J)=0.DO25IE=1,NNE7CALLCSL(CX,CY,CZ,AL,JE,IE,X,Y,Z)CALLSTIFFN(AKE,JEA(IE),
3、CX,CY,CZ,AL,EA)CALLCALM(M,IE,JE,JN)DO25I=1,6IF(M(I).EQ.0)GOTO25DO23J=I,6IF(M(J).EQ.0)GOTO23I1=MIN0(M(I),M(J))J1=MAX0(M(I),M(J))AK(I1,J1)=AK(I1,J1)+AKE(I,J)23CONTINUE25CONTINUEDO34I=1,N34P(I)=0.IF(NPJ.EQ.0)GOTO39DO35I=1,NPJI1=JPJ(I)35P(I1)=P(I1)+PJ(I)39CALLSLOV(AK,N,P)WRITE(8,40
4、)40FORMAT(/10X,10(1H*),'RESULTSOFCALCULATION',10(1H*),&//5X,'NO.N',4X,'X-DISPLACEMENT',2X,&'Y-DISPLACEMENT',3X,'Z-DISPLACEMENT')DO53K=1,NJDO52I=1,3F(I)=0.I1=JN(I,K)52IF(I1.GT.0)F(I)=P(I1)53WRITE(8,60)K,F(1),F(2),F(3)60FORMAT(I8,2X,3G16.5)WRITE(8,62)62FORMAT(/5X,'NO.E',5X,'AXIAL
5、FORCE',10X,'NO.E',5X,'AXIALFORCE')DO70IE=1,NNECALLCSL(CX,CY,CZ,AL,JE,IE,X,Y,Z)CALLCALM(M,IE,JE,JN)CALLSTIFFN(AKE,JEA(IE),CX,CY,CZ,AL,EA)DO65I=1,6L=M(I)F(I)=0.65IF(L.GT.0)F(I)=P(L)CALLMULV6(FE,AKE,F)CALLTRANS(T,CX,CY,CZ)CALLMULV6(F,T,FE)70FF(IE)=-F(1)7WRITE(8,80)(I,FF(I),I=1,NNE
6、)80FORMAT(2(3X,I5,7X,G12.5,2X))STOPENDSUBROUTINEREAD(NJ,N,NNE,NMT,NPJ,JN,X,Y,Z,JE,JEA,EA,JPJ,PJ)DIMENSIONJE(2,100),JEA(50),JN(3,100),EA(2,50),&JPJ(100),PJ(100),X(100),Y(100),Z(100),TL(20)READ(6,10)(TL(I),I=1,20)10FORMAT(20A4)READ(6,20)NJ,N,NNE,NMT,NPJ20FORMAT(5I5)WRITE(8,10)TLW
7、RITE(8,22)NJ,N,NNE,NMT,NPJ22FORMAT(/10X,'NUMBEROFNODES=',I5,&/10X,'NUMBEROFDEGREEOFFREEDOM=',I5,&/10X,'NUMBEROFELEMENTS=',I5,&/10X,'NUMBEROFMATERIALS=',I5,&/10X,'NUMBEROFNODALLOADS=',I5)READ(6,30)((JN(J,I),J=1,3),X(I),Y(I),Z(I),I=1,NJ)WRITE(8,40)(I,(JN(J,I),J=1,3),X(I),Y(I),Z(I
8、),I=1,NJ)30FORMAT(2(3I5,3F10.0))40FORMAT(/3X,'NO.N',2X