Download - 第八讲 平面钢架程序设计
![Page 1: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/1.jpg)
第八讲 平面钢架程序设计第八讲 平面钢架程序设计
第一节 概述
第二节 平面刚架内力和位移计算的框图与程序
第三节 平面刚架程序计算实例
![Page 2: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/2.jpg)
第一节 概述第一节 概述一一 ·· 程序编制说明程序编制说明
平面刚架在荷载作用下的结点位移和杆端力图 3-15 所示的六种固端梁的等效结点荷载平面和桁架组合结构
本程序建立整体刚度矩阵时,采用直接刚度法中的“先处理法”。
各单元为等截面杆。当两结点间的梁自然段抗弯刚度不等时,可将截面突变点作为结点处理。
本章根据第一章所述的计算原理和方法,讨论用矩阵位移计算平面刚架结构的程序设计
本程序可用于计算
编制说明
![Page 3: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/3.jpg)
计算模型与计算方法计算模型与计算方法
• 以杆件联结点、支座结点、截面突变和外伸端点作为计算以杆件联结点、支座结点、截面突变和外伸端点作为计算结点,任意两结点间的杆件作为计算单元。在局部坐标系结点,任意两结点间的杆件作为计算单元。在局部坐标系下,单元两端的杆端力、杆端位移列阵如式(下,单元两端的杆端力、杆端位移列阵如式( 1-151-15 )、)、式(式( 1-161-16 )所示,即:)所示,即:
1. 计算模型
Tjjjiiie
MYXMYXF
Tjjjiiie
vuvu
![Page 4: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/4.jpg)
在局部坐标系下,单元刚度矩阵如下式所示,即 :
l
EI
l
EI
l
EI
l
EIl
EI
l
EI
l
EI
l
EIl
EA
l
EAl
EI
l
EI
l
EI
l
EIl
EI
l
EI
l
EI
l
EIl
EA
l
EA
ke
460
260
6120
6120
0000
260
460
6120
6120
0000
22
2323
22
2323
![Page 5: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/5.jpg)
2.坐标变换
杆端力和杆端位移的坐标变换是通过式( 1-26)所示的单元坐标变换矩阵 eT
完成的。
100000
0cossin000
0sincos000
000100
0000cossin
0000sincos
eT
局部坐标单元杆端力、杆端位移与整体坐标系下单元杆端力、杆端位移之间
的关系分别为式( 1-25)和式(1-28),即
eeeTe
eee
TkT
FTF
整体坐标系下的单元刚度矩阵为 eeeTe TkTk
这里 ek 为式( 1-19)所示的 6 阶方阵。
![Page 6: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/6.jpg)
3. 支承条件的引入及整体刚度矩阵的组集整体刚度矩阵的组集采用“直接刚度矩阵法”。整体坐标系下单元刚度矩阵各元素的下标由单元定位数组确定,即在组集整体刚度矩阵之前引入支承条件。
◇ 确定单元数组时应注意以下两个问题
( 1 )支座结点的未知位移分量编号
若单元的某一端与支座相联,则单元支座结点的未知位移分量信息应按表 5-1 输入
( 2 )杆件联结点未知位移分量编号
若单元的某一端与其他杆件相联,则应首先根据联结情况确定结点编码,而后再确定与结点相应的单元未知位移分量编码。现将常遇到的几种情况列于表 5-2 中。
![Page 7: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/7.jpg)
表 5-1 支座结点未知位移分量信息
支座名称 简图 未知位移分量编号
(u、v、θ ) 结点编号
固定支座
0,0,0 1
铰支座
0,0,1 1
1
1,0,2 1
滚轴支座
2
0,1,2 1
1
1,0,0 1
滑动支座
2
0,1,0 1
自由端 1,2,3 1
![Page 8: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/8.jpg)
结点名称 结点简图 结点编号 未知位移分量编号
1 (1,2,3) 组合结点
2 (1,2,4)
1 (1,2,3)
2 (1,2,4) 铰结点
3 (1,2,5)
1 (1,2,3)
2 (1,4,5)
1 (1,2,3) 链杆联合结点
2 (4,2,5)
1 (1,2,3)
2 (1,4,3)
1 (1,2,3) 滑动支座结点
2 (4,2,3)
刚结点
1 (1,2,3)
![Page 9: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/9.jpg)
开始
( 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
![Page 10: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/10.jpg)
第二节 平面刚架内力和位移计算的框图与程序
一、 程序标识符说明 平面刚架静力分析程序名为 PFSAP (Plane Farme Structural Analysis Program) 。其
主要标识符说明如下:
TITLE(20)——算力标题。实型数组,输入参数。
NJ——结点总数。,输入参数。
N——结点自由度,即整体刚度矩阵的阶数。整型变量,输入参数。
NE——单元总数。整型变量,输入参数。
NM——单元类型总数。同类型的单元 E、A、I 相同。整型变量,输入参数。
NPJ——结点载荷总数。整型变量,输入参数。
NPF——非结点载荷总数。整型变量,输入参数。
JN(3,100)——结点位移号数组。整型数组,输入参数。
X(100),Y(100)——结点坐标数组。实型数组,输入参数。
JE(2,100)——单元两端结点号数组。整型数组,输入参数。
JEAI(100)——单元类型信息数组,JEAI(e)为单元的类型号。同类型的单元
弹性模量、横截面积及极惯性矩均相同。整型数组,输入参数。
![Page 11: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/11.jpg)
EAI(3,100)——各类型单元的物理、几何性质数组, EAI(1,e)、EAI(2,e)、EAI
(3,e)分别为第 ○e 号类型单元的弹性模零、横截面集、惯性矩。实型数组,输入
参数。
JPJ(3,100)——结点载荷位移号数组, JPJ(I)为与第 I 各结点行营位移分量的位移
号。整型数组,输入参数。
PJ(100)——结点荷载数值组。PJ(I)为第 I 各结点荷载数值。整型数组,输入参数。
JPF(2,100)——非结点荷载作用的单元号及类型数组。 JPF(1,e)为第○e 各非结点
荷载作用的单元号。 JPF(2,e)为第○e 各非结点荷载的类型,其取值 1 至 6,对
应图 3-15 的 6 种情况。整型数组,输入参数。
PF(2,100)——非结点荷载参数数组。 PF(1,e)、PF(2,e)分别为第○e 各非结点载
荷参数 a、c。整型数组,输入参数。
M(6)——单元定位数组。整型数组,输入参数。
K(200,200)——结构刚度矩阵数组。实型数组。
KE(6,6)——局部坐标系下单元刚度矩阵数组。实型数组。
AKE(6,6)——整体坐标系下单元刚度矩阵数组。实型数组。
AL(100)——单元长度数组。实型数组。
R(6,6)——单元坐标转换矩阵。实型数组。
![Page 12: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/12.jpg)
RT(6,6)——单元坐标转换矩阵的转置矩阵。实型数组。
P(100)——综合结点荷载数组。实型数组。
FF(6)——局部坐标系下单元杆端力数组。实型数组。
FE(6)——局部坐标系下单元等效荷载数组。实型数组。
AFE(6)——整体坐标系下单元等效荷载数组。实型数组。
D(50)——整体坐标系下自由解点位移数组。实型数组。
ADE(6)——整体坐标系下单元杆端位移数组。实型数组。
DE(6)——局部坐标系下单元杆端位移数组。实型数组。
F(3)——整体坐标系下结点位移数组。实型数组。
NO——计算题目的符号,整型变量,输入参数。
SQRT——标准函数,计算非负实数的平方根。
READ——子程序,输入原始数据。
MKE——子程序,计算局部坐标系下单元刚度矩阵。
MR——子程序,计算单元坐标转换矩阵。
![Page 13: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/13.jpg)
MAKE——子程序,计算整体坐标系下的单元刚度矩阵。
CALM——子程序,计算单元定位数组。
MK——子程序,计算整个结构的刚度矩阵。
PE——子程序,计算局部坐标系单元等效结点荷载。
MULV6——子程序,计算 6阶矩阵与 6元素列阵相乘。
MF——子程序,计算整体坐标系下荷载列阵。
SLOV——子程序,解方程求自由结点位移。
MADE——子程序,计算整体坐标系下单元杆端位移。
TRAN——子程序,计算单元坐标转换矩阵的转置矩阵。
MULV——子程序,计算 6阶矩阵与 6阶矩阵相乘。
![Page 14: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/14.jpg)
平面刚架静力分析原程序( PFSAP.FOR)
1: C ANALYSIS PROGRAM FOR PLANE FRAME2: 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),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.=’,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,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: 调用 MR ,形成单元坐标转换矩阵。20: 调用 MAKE ,形成整体坐标系的单元刚度矩阵。在该子程序中又调用了 TRAN 和 MULV 。
![Page 15: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/15.jpg)
21: CALL CALM(M,IE,JN,JE22: CALL MK(K,AKE,M)23: 10 CONTINUE24: 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:20 CONTINUE32: DO 30 I=1,NP33: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,NJ40: DO 50 II=1,341: F(II)=042: 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: 打印各结点的位移值。
![Page 16: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/16.jpg)
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: & 8X,’N(2)’,8X,’Q(2),8X,’M(2)’)49; 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)60: 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 数组。
![Page 17: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/17.jpg)
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,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)’)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)’,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,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 FORMAT(5(3I5))
![Page 18: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/18.jpg)
88: DO 50 I=1,NE89: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 9095: 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,NP100:80 WRITE(8,’(14X,I7,F16.3)’) JPJ(I),PJ(I)101:90 CONTINUE102: 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’,’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,NPF108: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 CONTINUE112 END
![Page 19: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/19.jpg)
( 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),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)=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*A2130: KE(2,6)=6*A3131: KE(3,3)=4*A4132: KE(3,5)=-6*A3133: KE(3,6)=2*A4134: KE(4,4)=A1
![Page 20: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/20.jpg)
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:10 KE(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=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:10 R(I,J)=CX154: DO 20 I=1,4,3155: R(I,I)=CX156: R(I,I+1)=CY157: R(I+1,I)=-CY
![Page 21: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/21.jpg)
158: R(I+1,I+1)=CX159:20 R(I+2,I+2)=1160: RETURN161: END (10) 子程序 MAKE162: 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: 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:10 M(I+3)=JN(I,JE(2,IE))174: RETURN175: END (12) 子程序 MK176: SUBROUTINE MK(K,AKE,M)177: REAL K(200,200),AKE(6,6)
MAKE 子程序需用TRAN 和 MULV 调用
![Page 22: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/22.jpg)
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:10 CONTINUE184: RETURN185: END ( 13 )子程序 PE186: SUBROUTINE PE(FE,IP,JPF,PF,AL)187: REAL FE(6),PF(2,100),AL(100),L188: 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,6194:5 FE(I)=0195: GOTO (10,20,30,40,50,60),IND196:10 FE(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
![Page 23: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/23.jpg)
200: RETURN201:20 FE(5)=A*C**3*(2*L-C)/2/L**3202: FE(2)=A*C-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: RETURN216: FE(1)=A*(1-C/L)217: FE(4)=A*C/L218: RETURN219: END220: FE(4)=FE(1)221: RETURN222: END
梁长为 L 的两端固定梁的等效结点荷载。见书 57 页。
![Page 24: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/24.jpg)
(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:10 C(I)=C(I)+A(I,J)*B(J)229: RETURN230: END (15) 子程序 MF231: SUBROUTINE MF(P,AFE,M)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:10 CONTINUE237: 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:5 DO(I)=P(I)
![Page 25: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/25.jpg)
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,N247: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,-1251: DO 30 J=I+1,N252:30 D(I)=D(I)-AK(I,J)*D(J)253:40 D(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:3 ADE(I)=0261:10 DO 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)))
![Page 26: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/26.jpg)
264:10 CONTINUE265: 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:10 RT(I,J)=R(J,I)272: RETURN273: END (19) 子程序 MULV274: SUBROUTINE 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:10 C(I,J)=C(I,J)+A(I,K)*B(K,J)281: RETURN282: END
![Page 27: 第八讲 平面钢架程序设计](https://reader030.vdocuments.pub/reader030/viewer/2022020919/5681491d550346895db657b2/html5/thumbnails/27.jpg)
程序标题及数组说明
读入数据并打印
形成整体刚度矩阵
形成结点荷载
解方程并打印杆端位移
计算并打印杆端力 子程序 READ
子程序 MKE
子程序 MK子程序PE
子程序MULV6
子程序MF
子程序SOLV
子程序 MADE
子程序 TRAN
子程序 MR
子程序 MAKE
子程序 CALM
子程序 MULV