第八讲 平面钢架程序设计

Post on 14-Jan-2016

80 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

第一节 概述

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

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

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

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

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

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

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

本程序可用于计算

编制说明

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

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

1. 计算模型

Tjjjiiie

MYXMYXF

Tjjjiiie

vuvu

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

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

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 阶方阵。

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

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

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

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

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

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

表 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

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

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)

开始

( 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(20)——算力标题。实型数组,输入参数。

NJ——结点总数。,输入参数。

N——结点自由度,即整体刚度矩阵的阶数。整型变量,输入参数。

NE——单元总数。整型变量,输入参数。

NM——单元类型总数。同类型的单元 E、A、I 相同。整型变量,输入参数。

NPJ——结点载荷总数。整型变量,输入参数。

NPF——非结点载荷总数。整型变量,输入参数。

JN(3,100)——结点位移号数组。整型数组,输入参数。

X(100),Y(100)——结点坐标数组。实型数组,输入参数。

JE(2,100)——单元两端结点号数组。整型数组,输入参数。

JEAI(100)——单元类型信息数组,JEAI(e)为单元的类型号。同类型的单元

弹性模量、横截面积及极惯性矩均相同。整型数组,输入参数。

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)——单元坐标转换矩阵。实型数组。

RT(6,6)——单元坐标转换矩阵的转置矩阵。实型数组。

P(100)——综合结点荷载数组。实型数组。

FF(6)——局部坐标系下单元杆端力数组。实型数组。

FE(6)——局部坐标系下单元等效荷载数组。实型数组。

AFE(6)——整体坐标系下单元等效荷载数组。实型数组。

D(50)——整体坐标系下自由解点位移数组。实型数组。

ADE(6)——整体坐标系下单元杆端位移数组。实型数组。

DE(6)——局部坐标系下单元杆端位移数组。实型数组。

F(3)——整体坐标系下结点位移数组。实型数组。

NO——计算题目的符号,整型变量,输入参数。

SQRT——标准函数,计算非负实数的平方根。

READ——子程序,输入原始数据。

MKE——子程序,计算局部坐标系下单元刚度矩阵。

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

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

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

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

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

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

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

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

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

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

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

平面刚架静力分析原程序( 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 。

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: 打印各结点的位移值。

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 数组。

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))

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

( 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

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

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 调用

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

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 页。

(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)

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)))

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

程序标题及数组说明

读入数据并打印

形成整体刚度矩阵

形成结点荷载

解方程并打印杆端位移

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

子程序 MKE

子程序 MK子程序PE

子程序MULV6

子程序MF

子程序SOLV

子程序 MADE

子程序 TRAN

子程序 MR

子程序 MAKE

子程序 CALM

子程序 MULV

top related