平面钢架程序设计(PPT27).ppt

上传人:文库蛋蛋多 文档编号:2217949 上传时间:2023-02-01 格式:PPT 页数:27 大小:636KB
返回 下载 相关 举报
平面钢架程序设计(PPT27).ppt_第1页
第1页 / 共27页
平面钢架程序设计(PPT27).ppt_第2页
第2页 / 共27页
平面钢架程序设计(PPT27).ppt_第3页
第3页 / 共27页
平面钢架程序设计(PPT27).ppt_第4页
第4页 / 共27页
平面钢架程序设计(PPT27).ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《平面钢架程序设计(PPT27).ppt》由会员分享,可在线阅读,更多相关《平面钢架程序设计(PPT27).ppt(27页珍藏版)》请在三一办公上搜索。

1、第八讲 平面钢架程序设计,第一节概述第二节平面刚架内力和位移计算的框图与程序第三节平面刚架程序计算实例,第一节 概述,一程序编制说明,平面刚架在荷载作用下的结点位移和杆端力图3-15所示的六种固端梁的等效结点荷载平面和桁架组合结构,本程序建立整体刚度矩阵时,采用直接刚度法中的“先处理法”。各单元为等截面杆。当两结点间的梁自然段抗弯刚度不等时,可将截面突变点作为结点处理。本章根据第一章所述的计算原理和方法,讨论用矩阵位移计算平面刚架结构的程序设计,本程序可用于计算,编制说明,计算模型与计算方法,以杆件联结点、支座结点、截面突变和外伸端点作为计算结点,任意两结点间的杆件作为计算单元。在局部坐标系下

2、,单元两端的杆端力、杆端位移列阵如式(1-15)、式(1-16)所示,即:,1.计算模型,在局部坐标系下,单元刚度矩阵如下式所示,即:,3.支承条件的引入及整体刚度矩阵的组集,整体刚度矩阵的组集采用“直接刚度矩阵法”。整体坐标系下单元刚度矩阵各元素的下标由单元定位数组确定,即在组集整体刚度矩阵之前引入支承条件。,确定单元数组时应注意以下两个问题,(1)支座结点的未知位移分量编号,若单元的某一端与支座相联,则单元支座结点的未知位移分量信息应按表5-1输入,(2)杆件联结点未知位移分量编号,若单元的某一端与其他杆件相联,则应首先根据联结情况确定结点编码,而后再确定与结点相应的单元未知位移分量编码。

3、现将常遇到的几种情况列于表5-2中。,开始,(1)标题及数组说明(读入题目序号NO),NO是否为零,(2)读入数据并打印,(3)形成整体刚度矩阵,(4)形成结点荷载,(5)解方程并打印杆端位移,(6)计算并打印杆端力,结束,(7)子程序READ,(8)子程序MKE,(9)子程序MR,(10)子程序MAKE,(11)子程序CALM,(12)子程序MK,(13)子程序PE,(14)子程序MULV6,(15)子程序MF,(16)子程序SOLV,(17)子程序MADE,(19)子程序MULV,(18)子程序TRAN,第二节,平面刚架内力和位移计算的框图与程序,一、,程序标识符说明,平面刚架静力分析程序

4、名为,PFSAP(Plane Farme Structural Analysis Program),。其,主要标识符说明如下,:,TITLE(2,0),算力标题。实型数组,输入参数。,NJ,结点总数。,,输入参数。,N,结点自由度,即整体刚度矩阵的阶数。,整型变量,输入参数。,NE,单元总数。,整型变量,输入参数。,NM,单元类型总数。,同类型的单元,E,、,A,、,I,相同。,整型变量,输入参数。,NPJ,结点载荷总数。,整型变量,输入参数。,NPF,非结点载荷总数。,整型变量,输入参数。,JN,(,3,,,100,),结点位移号数组。,整型数组,输入参数。,X,(,100,),,Y,(,1

5、00,),结点坐标数组。,实型数组,输入参数。,JE,(,2,,,100,),单元两端结点号数组。,整型,数组,输入参数。,JEAI,(,100,),单元类型信息数组,,JEAI,(,e,)为单元的类型号。,同类型的单元,弹性模量、横截面积及极惯性矩均相同。,整型数组,输入参数。,RT,(,6,,,6,),单元坐标转换矩阵的转置矩阵。实型数组。,P,(,100,),综合结点荷载数组。实型数组。,FF,(,6,),局部坐标系下单元杆端力数组。实型数组。,FE,(,6,),局部坐标系下单元等效荷载数组。实型数组。,AFE,(,6,),整体坐标系下单元等效荷载数组。实型数组。,D,(,50,),整体

6、坐标系下自由解点位移数组。实型数组。,ADE,(,6,),整体坐标系下单元杆端位移数组。实型数组。,DE,(,6,),局部坐标系下单元杆端位移数组。实型数组。,F,(,3,),整体坐标系下结点位移数组。实型数组。,NO,计算题目的符,号,整型变量,输入参数。,SQRT,标准函数,计算非负实数的平方根。,READ,子程序,输入原始数据。,MKE,子程序,计算局部坐标系下单元刚度矩阵。,MR,子程序,计算单元坐标转换矩阵。,平面刚架静力分析原程序(PFSAP.FOR)1:CANALYSIS PROGRAM FOR PLANE FRAME2:REAL K(200,200),KE(6,6),AKE(6

7、,6),X(100),Y(100),AL(100)3:&EAI(3,100),PJ(100),PF(2,100),R(6,6),P(100),FF(6),4:&FE(6),D(100),ADE(6),DE(6),RT(6,6),AFE(6),F(3)5:INTEGER JE(2,100),JN(3,100),JPJ(100),JPF(2,00),M(6),6:&JEAI(100),NO7:OPEN(6,FILE=PFSAP.IN)8:OPEN(8,FILE=PFSAP.OUT)9:READ(6,)NO10:IF(NO.EQ.0)STOP11:WRITE(8,(/A5,I3,A1)(NO.=,N

8、O,12:CALL READ(NJ,N,NE,NM,NPJ,NPF,JN,X,Y,JE,&JEAI,EAI,JPJ,PJ,JPF,PF)13:DO 5 I=1,N14:P(I)=015:DO 5 J=1,N16:K(I,J)=017:DO 10 IE=1,NE18:CALL MKE(KE,IE,JE,JEAI,EAI,X,Y,AL)19:CALL MR(R,IE,JE,X,Y)20:CALL MAKE(KE,R,AKE),2:6:数组说明7:8:定义输入输出设备9:11:读题目序号。若序号为零,停止运算,程序结束,否则,将序号打印出来。,18:调用MKE,形成局部坐标系下的单元刚度矩阵。19:

9、调用MR,形成单元坐标转换矩阵。20:调用MAKE,形成整体坐标系的单元刚度矩阵。在该子程序中又调用了TRAN和MULV。,21:CALL CALM(M,IE,JN,JE22:CALL MK(K,AKE,M)23:10CONTINUE24:DO 20 IP=1,NP25:CALL MR(R,JPF(1,IP),JE,X,Y)26:CALL TRAN(R,RT)27:CALL PE(FE,IP,JPF,PF,AL)28:CALL MULV6(RT,FE,AFE)29:CALL CALM(M,JPF(1,IP),JN,JE)30:CALL MF(P,AFE,M)31:20CONTINUE32:DO

10、 30 I=1,NP33:30P(JPJ(I)=P(JPJ(I)+PJ(I)34:CALL SLOV(K,P,D,N)35:WRITE(8,(/2(26(1H),A)RESULTS OF CALCULATION36:WRITE(8,40)37:40FORMAT(/5X,NO.N,4X,X-DISPLACEMENT,2X,38:Y-DISPLACEMENT,3X,ANG.ROT.(RAD)39:DO 60 KK=1,NJ40:DO 50 II=1,341:F(II)=042:I1=JN(II,KK),21:调用CALM,形成单元定位数组。22:调用MK子程序,按单元定位数组给出的编号,“对号入座

11、”组集整体坐标系下的整体结构刚度矩阵K.,25-30:分别调用MR,TRAN(单元坐标转换矩阵的转置矩阵),PE(等效结点荷载),MULV6(6阶矩阵与6元素列阵相乘),CALM(单元定位数组),MF(整体坐标系下荷载列阵)32:对直接作用在结点上的荷载循环。33:将直接作用在结点上的荷载按位移编号累加入P.,35:38:打印计算结果表名和结点位移表名。39:45:打印各结点的位移值。,43:50 IF(I1.GT.0)F(II)=D(I1)44:60 WRITE(8,70)KK,F(1),F(2),F(3)45:70 FORMAT(I8,2X,3G16.5)46:WRITE(8,80)47:

12、80 FORMAT(/NO.E,5X,N(1),8X,Q(1),8X,M(1),48:DO 130 IE=1,NE50:CALL MADE(IE,JN,JE,D,ADE)51:CALL MKE(KE,IE,JE,JEAI,EAI,X,Y,AL)52:CALL MR(R,IE,JE,X,Y)53:CALL MULV6(R,ADE,DE)54:CALL MULV6(KE,DE,EF)55:DO 100 IP=1,NPF56:IF(JPF(1,IP).EQ.IE)THEN57:CALL PE(EF,IP,JPF,PF,AL)58:DO 90 I=1,659:90 FE(I)=FF(I)-FE(I)6

13、0:ENDIF61:100 CONTINUE 62:WRITE(8,110)IE,(FF(I),I=1,6)63:110 FORMAT(I5,2X,6G12.5)64:130 CONTINUE,50:54:分别调用MADE,MKE,MR,MULV6子程序。56:60:若非结点荷载不为零,则将由于非结点荷载引起的固端力取出并存入FF数组。,65:GOTO 166:END(7)子程序READ67:SUBROUTINE READ(NJ,N,NE,NM,NPJ,NPF,JN,X,Y,JE,JEAI,EAI,68:&JPJ,PJ,JPF,PF)69:REAL X(100),Y(100),EAI(3,10

14、0),PJ(100),PF(2,100)70:INTEGER JE(2,100),JN(3,1000),JPJ(100),JPF(2,100),JEAI(100)71:&TITLE(20)72:READ(6,(20A4)(TITLE(I),I=1,20)73:WRITE(8,(/7X,20A4)TITLE74:READ(6,)NJ,N,NE,NM,NPJ,NPF75:WRITE(8,(/3(5X,A4,1H:I2)NJ=,NJ,76:&N=,N,NE=,NE,NM=,NM,NPJ=,NPJ,NPF=,NPF77:WRITE(8,5)78:5 FORMAT(/4X,NO.(1)(2)(3),10

15、X,X,8X,Y)79:READ(6,10)(JN(J,I),J=1,3),X(I),Y(I),=1,NJ)80:10 FORMAT(2,(3I5,2G16.4)81:DO 20 I=1,NJ82:20 WRITE(8,(2X,1H(,I2,1H),3I6,4X,2F10.3)I,JN(1,I),JN(2,I),83:&JN(3,I),X(I),Y(I)84:WRITE(8,30)85:30 FORMAT(/10X,ELEMENT NO.NODE-1 NODE-2 MATERIALS)86:READ(6,40)(JE(1,I),JE(2,I),JEAI(I),I=1,NE)87:40 FORM

16、AT(5(3I5),88:DO 50 I=1,NE89:50WRITE(8,(14X,I2,3(7X,I3)I,JE(1,I),JE(2,I),JEAI(I)90:READ(6,*)(EAI(I,J),I=1,3),J=1,NM)91:WRITE(8,60)(J,(EAI(I,J),I=1,3),J=1.NM)92:60FORMAT(/3X,NO.MAT,6X,ELASTIC MODULUS,8X,93:&AREA,5X,MOMENT OF INERTIA/(I6,9X,3G16.6)94:IF(NPJ.EQ.0)GOTO 9095:WRITE(8,(20X,16H NODEL LOADS)9

17、6:WRITE(8,(16XA)NO.DISP.VALUE97:READ(6,70)(JPJ(I),PJ(I),I=1,NPJ)98:70FORMAT(5(I5,G16.4)99:DO 80 I=1,NP100:80WRITE(8,(14X,I7,F16.3)JPJ(I),PJ(I)101:90CONTINUE102:IF(NPF.EQ.0)GOTO 130103:WRITE(8,(/20X,16HNON-NODEL LOADS)104:WRITE(8,(11X,A,8X,A,9X,A)NO.E.NO.LOAD.MODEL,A,C105:READ(6,100)(JPF(1,J),JPF(2,I

18、),PF(1,I),PF(2,I),I=1,NPF)106:FORMAT(2(2I5,2G16.4)107:DO 110 I=1,NPF108:110WRITE(8,120)(JPF(J,I),J=1,2),PF(1,I),PF(2,I)109:120FORMAT(6X,2I8,10X,2F10.3)110:130CONTINUE112END,(8)子程序MKE113:SUBROUTINE MKE(KE,IE,JE,JEAI,EAI,X,Y,AL)114:REAL KE(6,6),X(100),Y(100),EAI(3,100),AL(100),L115:INTEGER JE(2,100),J

19、EAI(100)116:II=JE(1,IE)117:JJ=JE(2,IE)118:MT=JEAI(IE)119:L=SQRT(X(JJ)-X(II)*+(Y(JJ)-Y(II)*2)120:AL(IE)=L121:A1=EAI(1,MT)*EAI(2,MT)/L122:A2=EAI(1,MT)*EAI(3,MT)/L*3123:A3=EAI(1,MT)*EAI(3,MT)/L*2124:A4=EAI(1,MT)*EAI(3,MT)/L125:KE(1,1)=A1126:KE(1,4)=-A1127:KE(2,2)=12*A2128:KE(2,3)=6*A3129:KE(2,5)-12*A21

20、30:KE(2,6)=6*A3131:KE(3,3)=4*A4132:KE(3,5)=-6*A3133:KE(3,6)=2*A4134:KE(4,4)=A1,135:KE(5,5)=12*A2136:KE(5,6)=-6*A3137:KE(6,6)=4*A4138:DO 10 I=1,6139:DO 10 K=I,6140:10KE(K,I)=KE(I,K)141:RETURN 142:END(9)子程序MR143:SUBROUTINE MR(R,IE,JE,X,Y)144:REAL R(6,6),X(100),Y(100),L,CX,CY145:INTEGER JE(2,100)146:I=

21、JE(1,IE)147:J=JE(2,IE)148:L=SQRT(X(J)-X(I)*2+(Y(J)-Y(I)*2)149:CX=(X(j)-X(I)/L150:CY=(Y(J)-Y(I)/L151:DO 10 J=1,6152:DO 10 I=1,6153:10R(I,J)=CX154:DO 20 I=1,4,3155:R(I,I)=CX156:R(I,I+1)=CY157:R(I+1,I)=-CY,158:R(I+1,I+1)=CX159:20R(I+2,I+2)=1160:RETURN161:END(10)子程序MAKE162:SUBRUTINE MAKE(KE,R,AKE)163:RE

22、AL KE(6,6),R(6,6),RT(6,6),TMP(6,6),AKE(6,6)164:CALL TRAN(R,RT)165:CALL MULV(RT,KE,TMP)166:CALL MULV(TMP,R,AKE)167:RETURN168:END(11)子程序CALM169:SUBROUTINE CALM(M,JE,JN,JE)170:INTEGER M(6),JN(3,100),JE(2,100),IE171:DO 10 I=1,3172:M(I)=JN(I,JE(1,IE)173:10M(I+3)=JN(I,JE(2,IE)174:RETURN175:END(12)子程序MK176

23、:SUBROUTINE MK(K,AKE,M)177:REAL K(200,200),AKE(6,6),MAKE子程序需用TRAN和MULV调用,178:INTEGER M(6)179:DO 10 I=1,6180:DO 10 J=1,6181:IF(M(I).NE.0.AND.M(J).NE.0)182:&K(M(I),M(J)=K(M(I),M(J)+AKE(I,J)183:10CONTINUE184:RETURN185:END(13)子程序PE186:SUBROUTINE PE(FE,IP,JPF,PF,AL)187:REAL FE(6),PF(2,100),AL(100),L188:I

24、NTEGER JPF(2,100)189:A=PF(1,IP)190:C=PF(2,IP)191:L=AL(JPF(1,IP)192:IND=JPF(2,IP)193:DO 5 I=1,6194:5FE(I)=0195:GOTO(10,20,30,40,50,60),IND196:10FE(2)=(7*A/20+3*C/20)*L197:FE(3)=(A/20+C/30)*L*2198:FE(5)=(3*A/20+7*C/20)*L199:FE(6)=-(A/30+C/20)*L*2,200:RETURN201:20FE(5)=A*C*3*(2*L-C)/2/L*3202:FE(2)=A*C-

25、FE(5)203:FE(3)=A*C*2*(6*L*L-8*C*L+3*C*C)/12/L/L204:FE(6)=-A*C*3*(4*L-3*C)/12/L/L205:RETURN206:FE(2)=A*(L-C)*2*(L+C*2)/L*3207:FE(3)=A*C*(C-L)*2/L*2208:FE(5)=A-FE(2)209:FE(6)=-A*C*2*(L-C)/L*2210:RETURN211:FE(2)=-6*A*C*(L-C)/L*2212:FE(3)=A*(L-C)*(L-3*C)/L*2213:FE(5)=-FE(2)214:FE(6)=A*C*(3*C-2*L)/L*2215

26、:RETURN216:FE(1)=A*(1-C/L)217:FE(4)=A*C/L218:RETURN219:END220:FE(4)=FE(1)221:RETURN222:END,梁长为L的两端固定梁的等效结点荷载。见书57页。,(14)子程序MULV6223:SUBROUTINE MULV6(A,B,C)224:REAL C(6),A(6,6),B(6)225:DO 10 I=1,6226:C(I)=0.0227:DO 10 J=1,6228:10C(I)=C(I)+A(I,J)*B(J)229:RETURN230:END(15)子程序MF231:SUBROUTINE MF(P,AFE,M

27、)232:REAL P(100),AFE(6)233:INTEGER M(6)234:DO 10 I=1,6235:IF(M(I).NE.0)P(M(I)=AFE(I)+P(M(i)236:10CONTINUE237:RETURN238:END(16)子程序SLOV239:SUBROUTINE SLOV(AK,P,D,N)240:REAL AK(200,200),P(100),D(100)241:DO 5 I=1,100242:5DO(I)=P(I),243:DO 10 K=1,N-1244:DO 10 I=K+1,N245:C=-AK(K,I)/AK(K,K)246:DO 20 J=I,N2

28、47:20AK(I,J)=AK(I,J)+C*AK(K,J)248:10D(J)=D(I)+C*D(K)249:D(N)=D(N)/AK(N,N)250:DO 40 I=N-1,1,-1251:DO 30 J=I+1,N252:30D(I)=D(I)-AK(I,J)*D(J)253:40D(I)=D(I)/AK(I,J)254:RETURN255:END(17)子程序MADE256:SUBROUTINE MADE(IE,JN,JE,D,ADE)257:REAL ADE(6),D(100)258:INTEGER IE,JN(3,100),JE(2,100)259:DO 3 I=1,6260:3A

29、DE(I)=0261:10DO 10 I=1,3262:IF(JN(I,JE(1,IE).NE.0)ADE(I)=D(JN(I,JE(1,IE)263:IF(JN(I,JE(2,IE).NE.0)ADE(I+3)=D(JN(I,JE(2,IE),264:10CONTINUE265:RETURN266:END(18)子程序TRAN267:SUBROUTINE TRAN(R,RT)268:REAL R(6,6),RT(6,6)269:DO 10 I=1,6270:DO 10 J=1,6271:10RT(I,J)=R(J,I)272:RETURN273:END(19)子程序MULV274:SUBRO

30、UTINE MULV(A,B,C)275:REAL A(6,6),B(6,6),C(6,6)276:DO 10 I=1,6277:DO 10 J=1,6278:C(I,J)=0279:DO 10 K=1,6280:10C(I,J)=C(I,J)+A(I,K)*B(K,J)281:RETURN282:END,程序标题及数组说明,读入数据并打印,形成整体刚度矩阵,形成结点荷载,解方程并打印杆端位移,计算并打印杆端力,子程序READ,子程序MKE,子程序MK,子程序PE,子程序MULV6,子程序MF,子程序SOLV,子程序MADE,子程序TRAN,子程序MR,子程序MAKE,子程序CALM,子程序MULV,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号