有限元程序设计2.doc
文本预览下载声明
平面问题
有限元程序设计
理学院
学号 兔兔
设计人 —
完成日期
程序功能说明
本程序适用于节点荷载作用下的桁架分析问题,当有节间荷载存在时可按照静力等效原理将其转化为节点荷载。可求解平面桁架在静力荷载作用下的内力和位移。
框图的设计
程序的标识符及数组说明
NPOIN 最大节点数
NELEM 最大单元数
NLOAD 节点的荷载总数
NZERO 节点的约束位移总数
WT 结构的自重
EE 材料的弹性模量
LL 一维数组,用于存放单元杆件的长度
AA 一维数组,用于存放单元杆件的面积
COORD 节点坐标数组
LNODE 单元节点数组
BH 二维数组,用于存放单元截面尺寸
NRES 二维数组,用于存放约束的位移值
JP 二维数组,用于存放节点的荷载值
ESTIF 四维数组,用于存放整体坐标系下的单元刚度矩阵
ASTIF 二十维数组,用于存放半带宽结构原始刚度矩阵
P 用于存放节点的荷载列阵
U 用于存放节点x方向的位移值
V 用于存放节点y方向的位移值
源程序
INTEGER E,NELEM,Z,H
REAL LL,ESTIF,ASTIF,JP
DIMENSION COORD(3,2),LNODE(3,2),AA(200),BH(3,2),RES(3,2),
LL(200),ESTIF(4,4),ASTIF(400,20),JP(1,2),P(400),U(200),
V(200)
OPEN(2,FILE=D:\NMX\JIA.DAT,STATUS=NEW)
C 输入已知数据
DATA NPOIN,NELEM,NJP,NRES,EE,WT/3,3,1,3,21000,0/
DATA COORD/0,6,0,0,0,6/
DATA LNODE/1,2,1,2,3,3/
DATA BH/3*2,3*10/
DATA RES/3*0,1,2,4/
C 计算各单元面积
DO 200 E=1,NELEM
AA(E)=BH(E,1)*BH(E,2)
CALL UNIT(E,EE,COORD,LNODE,AA,ESTIF,LL,CX,CY)
200 CONTINUE
C 计算半带宽
L2=2*NPOIN
NHBW=0
DO 210 E=1,NELEM
M=ABS(LNODE(E,1)-LNODE(E,2))
IF(NHBW.LT.M) NHBW=M
210 CONTINUE
WRITE(2,*) 半带宽
NHBW=2*(NHBW+1)
WRITE(2,220) NHBW
220 FORMAT(1X,NHBW=, I2)
C 单元循环
DO 300 I1=1,L2
DO 300 J1=1,NHBW
300 ASTIF(I1,J1)=0.0
DO 400 E=1,NELEM
CALL UNIT(E,EE,COORD,LNODE,AA,ESTIF,LL,CX,CY)
CALL TOTAL(E,LNODE,ESTIF,ASTIF)
400 CONTINUE
DO 560 N=1,L2
560 P(N)=0.0
IF(NJP.EQ.0) GOTO 650
DATA JP/10,5/
DO 630 K1=1,NJP
NN=JP(K1,2)+0.1
630 P(NN)=JP(K1,1)
650 IF(WT.LE.0.0) GOTO 750
DO 700 E=1,NELEM
N1=LNODE(E,1)
N2=LNODE(E,2)
P(2*N1)=P(2*N1)-WT*AA(E)*LL(E)/2.0
P(2*N2)=P(2*N2)-WT*AA(E)*LL(E)/2.0
700 CONTINUE
WRITE(2,710)
710 FORMAT(/4X,荷载总数,8X,水平荷载,8X,铅垂荷载)
DO 730 K=1,NO
730 WRITE(2,740) K,P(2*K-1),P(2*K)
740 FORMAT(4X,I2,8X,F8.3,8X,F8
显示全部