欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第八讲平面钢架程序设计.ppt

    • 资源ID:2562680       资源大小:634.01KB        全文页数:27页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第八讲平面钢架程序设计.ppt

    第八讲 平面钢架程序设计,第一节 概述 第二节 平面刚架内力和位移计算的框图与程序 第三节 平面刚架程序计算实例,第一节 概述,一·程序编制说明,平面刚架在荷载作用下的结点位移和杆端力 图3-15所示的六种固端梁的等效结点荷载 平面和桁架组合结构,本程序建立整体刚度矩阵时,采用直接刚度法中的“先处理法”。 各单元为等截面杆。当两结点间的梁自然段抗弯刚度不等时,可将截面突变点作为结点处理。 本章根据第一章所述的计算原理和方法,讨论用矩阵位移计算平面刚架结构的程序设计,本程序可用于计算,编制说明,计算模型与计算方法,以杆件联结点、支座结点、截面突变和外伸端点作为计算结点,任意两结点间的杆件作为计算单元。在局部坐标系下,单元两端的杆端力、杆端位移列阵如式(1-15)、式(1-16)所示,即:,1.计算模型,在局部坐标系下,单元刚度矩阵如下式所示,即:,3.支承条件的引入及整体刚度矩阵的组集,整体刚度矩阵的组集采用“直接刚度矩阵法”。整体坐标系下单元刚度矩阵各元素的下标由单元定位数组确定,即在组集整体刚度矩阵之前引入支承条件。,确定单元数组时应注意以下两个问题,(1)支座结点的未知位移分量编号,若单元的某一端与支座相联,则单元支座结点的未知位移分量信息应按表5-1输入,(2)杆件联结点未知位移分量编号,若单元的某一端与其他杆件相联,则应首先根据联结情况确定结点编码,而后再确定与结点相应的单元未知位移分量编码。现将常遇到的几种情况列于表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,第二节,平面刚架内力和位移计算的框图与程序,一、,程序标识符说明,平面刚架静力分析程序名为,PFSAP (Plane Farme Structural Analysis Program),。其,主要标识符说明如下,:,TITLE(2,0),算力标题。实型数组,输入参数。,NJ,结点总数。,,输入参数。,N,结点自由度,即整体刚度矩阵的阶数。,整型变量,输入参数。,NE,单元总数。,整型变量,输入参数。,NM,单元类型总数。,同类型的单元,E,、,A,、,I,相同。,整型变量,输入参数。,NPJ,结点载荷总数。,整型变量,输入参数。,NPF,非结点载荷总数。,整型变量,输入参数。,JN,(,3,,,100,),结点位移号数组。,整型数组,输入参数。,X,(,100,),,Y,(,100,),结点坐标数组。,实型数组,输入参数。,JE,(,2,,,100,),单元两端结点号数组。,整型,数组,输入参数。,JEAI,(,100,),单元类型信息数组,,JEAI,(,e,)为单元的类型号。,同类型的单元,弹性模量、横截面积及极惯性矩均相同。,整型数组,输入参数。,RT,(,6,,,6,),单元坐标转换矩阵的转置矩阵。实型数组。,P,(,100,),综合结点荷载数组。实型数组。,FF,(,6,),局部坐标系下单元杆端力数组。实型数组。,FE,(,6,),局部坐标系下单元等效荷载数组。实型数组。,AFE,(,6,),整体坐标系下单元等效荷载数组。实型数组。,D,(,50,),整体坐标系下自由解点位移数组。实型数组。,ADE,(,6,),整体坐标系下单元杆端位移数组。实型数组。,DE,(,6,),局部坐标系下单元杆端位移数组。实型数组。,F,(,3,),整体坐标系下结点位移数组。实型数组。,NO,计算题目的符,号,整型变量,输入参数。,SQRT,标准函数,计算非负实数的平方根。,READ,子程序,输入原始数据。,MKE,子程序,计算局部坐标系下单元刚度矩阵。,MR,子程序,计算单元坐标转换矩阵。,平面刚架静力分析原程序(PFSAP.FOR) 1: C ANALYSIS PROGRAM FOR PLANE FRAME 2: REAL K(200,200), KE(6,6),AKE(6,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),NO 7: OPEN(6,FILE=PFSAP.IN) 8: OPEN(8,FILE=PFSAP.OUT) 9: READ(6,·)NO 10: IF(NO.EQ.0)STOP 11: WRITE(8,(/A5,I3,A1)(NO.=,NO, 12: CALL READ(NJ,N,NE,NM,NPJ,NPF,JN,X,Y,JE, & JEAI,EAI,JPJ,PJ,JPF,PF) 13: DO 5 I=1,N 14: P(I)=0 15: DO 5 J=1,N 16: K(I,J)=0 17: DO 10 IE=1,NE 18: 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:调用MR,形成单元坐标转换矩阵。 20:调用MAKE,形成整体坐标系的单元刚度矩阵。在该子程序中又调用了TRAN和MULV。,21: CALL CALM(M,IE,JN,JE 22: CALL MK(K,AKE,M) 23: 10 CONTINUE 24: DO 20 IP=1,NP 25: 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:20 CONTINUE 32: DO 30 I=1,NP 33:30 P(JPJ(I)=P(JPJ(I)+PJ(I) 34: CALL SLOV(K,P,D,N) 35: WRITE(8,(/2(26(1H·),A)RESULTS OF CALCULATION 36: WRITE(8,40) 37:40 FORMAT(/5X,NO.N,4X,X-DISPLACEMENT,2X, 38: Y-DISPLACEMENT,3X,ANG.ROT.(RAD) 39: DO 60 KK=1,NJ 40: DO 50 II=1,3 41: F(II)=0 42: I1=JN(II,KK),21: 调用CALM,形成单元定位数组。 22: 调用MK子程序,按单元定位数 组给出的编号,“对号入座”组集整 体坐标系下的整体结构刚度矩阵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: 80 FORMAT(/NO.E,5X,N(1),8X,Q(1),8X,M(1), 48: DO 130 IE=1,NE 50: 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,NPF 56: IF(JPF(1,IP).EQ.IE) THEN 57: CALL PE(EF,IP,JPF,PF,AL) 58: DO 90 I=1,6 59:90 FE(I)=FF(I)-FE(I) 60: ENDIF 61: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 1 66: END (7)子程序READ 67: 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,100),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)TITLE 74: READ(6,·)NJ,N,NE,NM,NPJ,NPF 75: WRITE(8,(/3(5X,A4,1H:I2)NJ=,NJ, 76: & N=,N,NE=,NE,NM=,NM,NPJ=,NPJ,NPF=,NPF 77: WRITE(8,5) 78:5 FORMAT(/4X,NO.(1)(2)(3),10X,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,NJ 82: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 FORMAT(5(3I5),88: DO 50 I=1,NE 89:50 WRITE(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:60 FORMAT(/3X,NO.MAT,6X,ELASTIC MODULUS,8X, 93: & AREA,5X,MOMENT OF INERTIA/(I6,9X,3G16.6) 94: IF(NPJ.EQ.0) GOTO 90 95: WRITE(8,(20X,16H NODEL LOADS) 96: WRITE( 8,(16XA) NO.DISP.VALUE 97: READ(6,70)(JPJ(I),PJ(I),I=1,NPJ) 98:70 FORMAT(5(I5,G16.4) 99: DO 80 I=1,NP 100:80 WRITE(8,(14X,I7,F16.3) JPJ(I),PJ(I) 101:90 CONTINUE 102: IF(NPF.EQ.0)GOTO 130 103: WRITE(8,(/20X,16HNON-NODEL LOADS) 104: WRITE(8,(11X,A,8X,A,9X,A)NO.E.NO.LOAD.MODEL,A,C 105: READ(6,100)(JPF(1,J),JPF(2,I),PF(1,I),PF(2,I),I=1,NPF) 106: FORMAT(2(2I5,2G16.4) 107: DO 110 I=1,NPF 108:110 WRITE(8,120)(JPF(J,I),J=1,2),PF(1,I),PF(2,I) 109:120 FORMAT(6X,2I8,10X,2F10.3) 110:130 CONTINUE 112 END,(8)子程序MKE 113: SUBROUTINE MKE(KE,IE,JE,JEAI,EAI,X,Y,AL) 114: REAL KE(6,6),X(100),Y(100),EAI(3,100),AL(100),L 115: INTEGER JE(2,100),JEAI(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)=L 121: A1=EAI(1,MT)*EAI(2,MT)/L 122: A2=EAI(1,MT)*EAI(3,MT)/L*3 123: A3=EAI(1,MT)*EAI(3,MT)/L*2 124: A4=EAI(1,MT)*EAI(3,MT)/L 125: KE(1,1)=A1 126: KE(1,4)=-A1 127: KE(2,2)=12*A2 128: KE(2,3)=6*A3 129: KE(2,5)-12*A2 130: KE(2,6)=6*A3 131: KE(3,3)=4*A4 132: KE(3,5)=-6*A3 133: KE(3,6)=2*A4 134: KE(4,4)=A1,135: KE(5,5)=12*A2 136: KE(5,6)=-6*A3 137: KE(6,6)=4*A4 138: DO 10 I=1,6 139: DO 10 K=I,6 140:10 KE(K,I)=KE(I,K) 141: RETURN 142: END (9)子程序MR 143: SUBROUTINE MR(R,IE,JE,X,Y) 144: REAL R(6,6),X(100),Y(100),L,CX,CY 145: INTEGER JE(2,100) 146: I=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)/L 150: CY=(Y(J)-Y(I)/L 151: DO 10 J=1,6 152: DO 10 I=1,6 153:10 R(I,J)=CX 154: DO 20 I=1,4,3 155: R(I,I)=CX 156: R(I,I+1)=CY 157: R(I+1,I)=-CY,158: R(I+1,I+1)=CX 159:20 R(I+2,I+2)=1 160: RETURN 161: END (10)子程序MAKE 162: SUBRUTINE MAKE(KE,R,AKE) 163: REAL 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: RETURN 168: END (11)子程序CALM 169: SUBROUTINE CALM(M,JE,JN,JE) 170: INTEGER M(6),JN(3,100),JE(2,100),IE 171: DO 10 I=1,3 172: M(I)=JN(I,JE(1,IE) 173:10 M(I+3)=JN(I,JE(2,IE) 174: RETURN 175: END (12)子程序MK 176: 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,6 180: DO 10 J=1,6 181: 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:10 CONTINUE 184: RETURN 185: END (13)子程序PE 186: SUBROUTINE PE(FE,IP,JPF,PF,AL) 187: REAL FE(6),PF(2,100),AL(100),L 188: INTEGER 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,6 194:5 FE(I)=0 195: GOTO (10,20,30,40,50,60),IND 196:10 FE(2)=(7*A/20+3*C/20)*L 197: FE(3)=(A/20+C/30)*L*2 198: FE(5)=(3*A/20+7*C/20)*L 199: FE(6)=-(A/30+C/20)*L*2,200: RETURN 201:20 FE(5)=A*C*3*(2*L-C)/2/L*3 202: FE(2)=A*C-FE(5) 203: FE(3)=A*C*2*(6*L*L-8*C*L+3*C*C)/12/L/L 204: FE(6)=-A*C*3*(4*L-3*C)/12/L/L 205: RETURN 206: FE(2)=A*(L-C)*2*(L+C*2)/L*3 207: FE(3)=A*C*(C-L)*2/L*2 208: FE(5)=A-FE(2) 209: FE(6)=-A*C*2*(L-C)/L*2 210: RETURN 211: FE(2)=-6*A*C*(L-C)/L*2 212: FE(3)=A*(L-C)*(L-3*C)/L*2 213: FE(5)=-FE(2) 214: FE(6)=A*C*(3*C-2*L)/L*2 215: RETURN 216: FE(1)=A*(1-C/L) 217: FE(4)=A*C/L 218: RETURN 219: END 220: FE(4)=FE(1) 221: RETURN 222: END,梁长为L的两端固定梁的等效结点荷载。见书57页。,(14)子程序MULV6 223: SUBROUTINE MULV6(A,B,C) 224: REAL C(6),A(6,6),B(6) 225: DO 10 I=1,6 226: C(I)=0.0 227: DO 10 J=1,6 228:10 C(I)=C(I)+A(I,J)*B(J) 229: RETURN 230: END (15)子程序MF 231: SUBROUTINE MF(P,AFE,M) 232: REAL P(100),AFE(6) 233: INTEGER M(6) 234: DO 10 I=1,6 235: IF(M(I).NE.0) P(M(I)=AFE(I)+P(M(i) 236:10 CONTINUE 237: RETURN 238: END (16)子程序SLOV 239: SUBROUTINE SLOV(AK,P,D,N) 240: REAL AK(200,200),P(100),D(100) 241: DO 5 I=1,100 242:5 DO(I)=P(I),243: DO 10 K=1,N-1 244: DO 10 I=K+1,N 245: C=-AK(K,I)/AK(K,K) 246: DO 20 J=I,N 247:20 AK(I,J)=AK(I,J)+C*AK(K,J) 248:10 D(J)=D(I)+C*D(K) 249: D(N)=D(N)/AK(N,N) 250: DO 40 I=N-1,1,-1 251: DO 30 J=I+1,N 252:30 D(I)=D(I)-AK(I,J)*D(J) 253:40 D(I)=D(I)/AK(I,J) 254: RETURN 255: END (17)子程序MADE 256: 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,6 260:3 ADE(I)=0 261:10 DO 10 I=1,3 262: 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:10 CONTINUE 265: RETURN 266: END (18)子程序TRAN 267: SUBROUTINE TRAN(R,RT) 268: REAL R(6,6),RT(6,6) 269: DO 10 I=1,6 270: DO 10 J=1,6 271:10 RT(I,J)=R(J,I) 272: RETURN 273: END (19)子程序MULV 274: SUBROUTINE MULV(A,B,C) 275: REAL A(6,6),B(6,6),C(6,6) 276: DO 10 I=1,6 277: DO 10 J=1,6 278: C(I,J)=0 279: DO 10 K=1,6 280:10 C(I,J)=C(I,J)+A(I,K)*B(K,J) 281: RETURN 282: END,程序标题及数组说明,读入数据并打印,形成整体刚度矩阵,形成结点荷载,解方程并打印杆端位移,计算并打印杆端力,子程序READ,子程序MKE,子程序MK,子程序PE,子程序MULV6,子程序MF,子程序SOLV,子程序MADE,子程序TRAN,子程序MR,子程序MAKE,子程序CALM,子程序MULV,

    注意事项

    本文(第八讲平面钢架程序设计.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开