第八讲 平面钢架程序设计

27
第第第 第第第第第第第第 第第第 第第第第第第第第 第第 第第第 第第第第第第第第第第第第第第第第第 第第第 第第第第第第第第第第

Upload: dustin

Post on 14-Jan-2016

80 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 第八讲   平面钢架程序设计

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

第一节 概述

第二节 平面刚架内力和位移计算的框图与程序

第三节 平面刚架程序计算实例

Page 2: 第八讲   平面钢架程序设计

第一节 概述第一节 概述一一 ·· 程序编制说明程序编制说明

平面刚架在荷载作用下的结点位移和杆端力图 3-15 所示的六种固端梁的等效结点荷载平面和桁架组合结构

本程序建立整体刚度矩阵时,采用直接刚度法中的“先处理法”。

各单元为等截面杆。当两结点间的梁自然段抗弯刚度不等时,可将截面突变点作为结点处理。

本章根据第一章所述的计算原理和方法,讨论用矩阵位移计算平面刚架结构的程序设计

本程序可用于计算

编制说明

Page 3: 第八讲   平面钢架程序设计

计算模型与计算方法计算模型与计算方法

• 以杆件联结点、支座结点、截面突变和外伸端点作为计算以杆件联结点、支座结点、截面突变和外伸端点作为计算结点,任意两结点间的杆件作为计算单元。在局部坐标系结点,任意两结点间的杆件作为计算单元。在局部坐标系下,单元两端的杆端力、杆端位移列阵如式(下,单元两端的杆端力、杆端位移列阵如式( 1-151-15 )、)、式(式( 1-161-16 )所示,即:)所示,即:

1. 计算模型

Tjjjiiie

MYXMYXF

Tjjjiiie

vuvu

Page 4: 第八讲   平面钢架程序设计

在局部坐标系下,单元刚度矩阵如下式所示,即 :

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

3. 支承条件的引入及整体刚度矩阵的组集整体刚度矩阵的组集采用“直接刚度矩阵法”。整体坐标系下单元刚度矩阵各元素的下标由单元定位数组确定,即在组集整体刚度矩阵之前引入支承条件。

◇ 确定单元数组时应注意以下两个问题

( 1 )支座结点的未知位移分量编号

若单元的某一端与支座相联,则单元支座结点的未知位移分量信息应按表 5-1 输入

( 2 )杆件联结点未知位移分量编号

若单元的某一端与其他杆件相联,则应首先根据联结情况确定结点编码,而后再确定与结点相应的单元未知位移分量编码。现将常遇到的几种情况列于表 5-2 中。

Page 7: 第八讲   平面钢架程序设计

表 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: 第八讲   平面钢架程序设计

结点名称 结点简图 结点编号 未知位移分量编号

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: 第八讲   平面钢架程序设计

开始

( 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: 第八讲   平面钢架程序设计

第二节 平面刚架内力和位移计算的框图与程序

一、 程序标识符说明 平面刚架静力分析程序名为 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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

MAKE——子程序,计算整体坐标系下的单元刚度矩阵。

CALM——子程序,计算单元定位数组。

MK——子程序,计算整个结构的刚度矩阵。

PE——子程序,计算局部坐标系单元等效结点荷载。

MULV6——子程序,计算 6阶矩阵与 6元素列阵相乘。

MF——子程序,计算整体坐标系下荷载列阵。

SLOV——子程序,解方程求自由结点位移。

MADE——子程序,计算整体坐标系下单元杆端位移。

TRAN——子程序,计算单元坐标转换矩阵的转置矩阵。

MULV——子程序,计算 6阶矩阵与 6阶矩阵相乘。

Page 14: 第八讲   平面钢架程序设计

平面刚架静力分析原程序( 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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

( 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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

(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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

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: 第八讲   平面钢架程序设计

程序标题及数组说明

读入数据并打印

形成整体刚度矩阵

形成结点荷载

解方程并打印杆端位移

计算并打印杆端力 子程序 READ

子程序 MKE

子程序 MK子程序PE

子程序MULV6

子程序MF

子程序SOLV

子程序 MADE

子程序 TRAN

子程序 MR

子程序 MAKE

子程序 CALM

子程序 MULV