有限元程序分析与算例

2020-02-20 23:10

有限元分析程序与算例

平面四结点等参数单元分析程序

一、 源程序:

! PROGRAM NODE4.FOR

! IMPLICIT DOUBLE PRECISION(A-H,O-Z) DIMENSION A(115000) INTEGER IA(115000) EQUIVALENCE(IA,A) CHARACTER*12 AR,BR;

COMMON /C1/ NP,NE,NM,NR,NW,NF,NI,NDP COMMON /C2/ N,MX,NH

COMMON /C3/ SKE(8,8),NN(8),RF(8),B(3,8),XY(2,4) WRITE(0,250)

250 FORMAT(///'PLEASE INPUT FILE NAME OF DATA=') READ(*,400)AR 400 FORMAT(A12)

OPEN(15,FILE=AR,STATUS='OLD') WRITE(*,350)

350 FORMAT(///'PLEASE OUTPUT FILE NAME OF DATA=') READ(*,400)BR

OPEN(16,FILE=BR,STATUS='UNKNOWN')

CALL CONTROL NBY=1

N1=1

N2=N1+NP*2 N3=N2+NP*2 N4=N3+NP*3

N5=N4+NP*2*NBY N6=N5+NP*NBY*2 N7=N6+4*NM*NBY N8=N7+2*NW*NBY N9=N8+NP N10=N9+NDP

N11=N10+6*NDP*NBY NSPACE=115000-N11

!C --N1=MA N2=JR N3=NRR N4=COOR N5=R N6=AE !C --N7=WG N8=IV N9=NDP N10=DV N11=SK WRITE(16,800)NSPACE

- 1 -

有限元分析程序与算例

800 FORMAT(40X,'NSPACE=',I8)

CALL INPUT(IA(N1),IA(N2),A(N4),A(N5),A(N6),A(N7),IA(N3))

OPEN(12,FILE='ELEMENT',STATUS='UNKNOWN',FORM='UNFORMATTED') OPEN(7,FILE='LOAD',STATUS='UNKNOWN',FORM='UNFORMATTED') OPEN(10,FILE='GRAPH1',STATUS='UNKNOWN') OPEN(11,FILE='GRAPH2',STATUS='UNKNOWN') OPEN(13,FILE='GRAPH3',STATUS='UNKNOWN') DO 10 IE=1,NE

CALL SDTK4(IA(N1),IA(N2),A(N4),A(N6),A(N7)) CALL ASLOAD(A(N5),8)

10 CONTINUE CALL CBAND(IA(N1))

CALL OUTPUT(IA(N2),A(N5),0) CALL ASESK(A(N11),IA(N1))

IF(NDP.GT.0)CALL TREAT(A(N11),IA(N1),A(N5),IA(N2),IA(N9),A(N10)) CALL DECOMP(A(N11),IA(N1)) CALL FOBA(A(N11),IA(N1),A(N5)) CALL OUTPUT(IA(N2),A(N5),1)

CALL STRESS(A(N6),A(N5),IA(N1),A(N9)) CLOSE(12,STATUS='DELETE') WRITE(16,700)

700 FORMAT(2X,'PROGRAM HAS BEEN ENDED') STOP END

!C****************************************************************** SUBROUTINE CONTROL

!C IMPLICIT DOUBLE PRECISION(A-H,O-Z) COMMON/C1/NP,NE,NM,NR,NW,NI,NF,NDP COMMON/C2/N,MX,NH

READ(15,*)NP,NE,NM,NR,NW,NI,NF,NDP WRITE(16,600)NP,NE,NM,NR,NW,NI,NF,NDP

600 FORMAT('NUMBER OF NODE………………………………………………NP=',I5,/ & 1X,'NUMBER OF ELEMENT …………………………………………NE=',I5,/& 1X,'NUMBER OF MATERIAL…………………………………………NM=',I5,/ & 1X,'NUMBER OF CONSTAINT ………………………………………NR=',I5,/ & 1X,'NUMBER OF WATER PRESS KIND………………………………NW=',I5,/ & 1X,'NUMBER OF CONCENTRATE LOAD………………………………NF=',I5,/ & 1X,'PLANE STRESS OR PLANE STAIN ……………………………NI=',I5,/ &

1X,'NUMBER OF KNOWN-DISPLACEMENT……………………………NDP=',I5) RETURN END

- 2 -

有限元分析程序与算例

!C****************************************************************** SUBROUTINE INPUT(MA,JR,COOR,R,AE,WG,NRR) !C IMPLICIT DOUBLE PRECISION(A-H,O-Z)

DIMENSION JR(2,*),COOR(2,*),AE(4,*),NRR(3,*),XY(2),IR(2),WG(2,*),R(*),MA(*) COMMON /C1/ NP,NE,NM,NR,NW,NF,NI,NDP COMMON /C2/ N,MX,NH

DO 10 I=1,NP DO 10 J=1,2 10 JR(J,I)=1 WRITE(16,500)

DO 20 I=1,NR

READ(15,*) NN,IR NRR(1,I)=NN NRR(2,I)=IR(1) NRR(3,I)=IR(2) DO 15 J=1,2

JR(J,NN)=IR(J) 15 CONTINUE

20 WRITE(16,600) ((NRR(I,J),I=1,3),J=I,I) N=0

DO 30 I=1,NP DO 30 J=1,2

IF(JR(J,I))30,30,25 25 N=N+1 JR(J,I)=N

30 CONTINUE

DO 40 I=1,N MA(I)=0

40 CONTINUE

DO 70 I=1,NP

READ(15,*) NN,XY

IF(NN.NE.I) GOTO 60 DO 45 J=1,2

45 COOR(J,NN)=XY(J) GOTO 70

60 WRITE(16,750) NN,I !C STOP 333 70 CONTINUE

- 3 -

有限元分析程序与算例

WRITE(16,800) (NN,(JR(I,NN),I=1,2), (COOR(J,NN),J=1,2),NN=1,NP) READ(15,*) ((AE(I,J),I=1,4),J=1,NM)

WRITE(16,910) (J,(AE(I,J),I=1,4),J=1,NM) IF(NI.EQ.0) GOTO 75 DO 73 J=1,NM

AE(2,J)=AE(2,J)/(1.+AE(2,J))

AE(1,J)=AE(1,J)*(1.-AE(2,J)*AE(2,J)) 73 CONTINUE 75 CONTINUE IF(NW.EQ.0) GOTO 80

READ(15,*) ((WG (I,J),I=1,2),J=1,NW) WRITE(16,960) (J,(WG(I,J),I=1,2),J=1,NW) 80 DO 85 I=1,N R(I)=0.0

85 CONTINUE IF(NF.EQ.0) GOTO 200 WRITE(16,980)

DO 100 I=1,NF

READ(15,*) NN,XY WRITE(16,990) NN,XY DO 95 J=1,2 L=JR(J,NN)

IF(L.EQ.0) GOTO 95 R(L)=R(L)+XY(J) 95 CONTINUE 100 CONTINUE

200 CONTINUE

500 FORMAT(/25X,'NODAL INFORMATION'/10X,'CONSTRINED& MESSAGE NODE NO.STATE'/) 600 FORMAT(6X,8(I5,2X,2I1))

750 FORMAT(1X,'***FATAL ERROR ***',/,'CARDS',& 'INPUT',I5,'IS NOT EQUAL TO',I5)

800 FORMAT(1X,'NODE NO.',2X,'X-FREEDOM',2X,&

'Y-FREEDOM',2X,'X-COORDINAT',2X,'Y-COORDINAT', & /(1X,I5,2I10,4X,2F14.4))

910 FORMAT(/20X,'MATERIAL PROPERTIES',/,2X, &

'N.M.',5X,'YOUNGS MODULUS',5X,'POISION RATIO', & 4X,'UNIT WEIGHT WIDTH'/(1X,I5,4E16.4))

960 FORMAT(/5X,'PARAMETERES OF WATER AND', & 'SILT PRESSURE'/2X,'N.P.',2X,'ZERO-PRESSURE', & 'SURFACE',8X,'UNIT WEIGHT'/(1X,I5,2F15.5)) 980 FORMAT(/20X,'CONCENTRAED FORCES'/1X,&

- 4 -

有限元分析程序与算例

'NODE NO.',8X,'X-DIRECTION',8X,'Y-DIRECTION'/) 990 FORMAT(1X,I5,2F20.6) RETURN END

!C****************************************************************** SUBROUTINE CBAND(MA) !C $LARGE:MA

!C IMPLICIT DOUBLE PRECISION(A-H,O-Z) DIMENSION MA(*)

COMMON /C2/ N,MX,NH MX=0 MA(1)=1 DO 10 I=2,N

IF(MA(I).GT.MX) MX=MA(I) 10 MA(I)=MA(I)+MA(I-1) CONTINUE NH=MA(N)

WRITE(16,500) N,MX,NH

500 FORMAT(4X,'TOTAL DEGREES OF FREEDOM.…………………N=',I6/ & 4X,'MAX-SEMI-BANDWIDTH ………………………… MX=',I6/ & 4X,'TOTAL-STORAGE …………………………………… NH=',I6) RETURN END

!C****************************************************************** SUBROUTINE SDTK4(MA,JR,COOR,AE,WG)

!C IMPLICIT DOUBLE PRECISION(A-H,O-Z)

DIMENSION MA(*),JR(2,*),COOR(2,*),AE(4,*),WG(2,*),NOD(4),NFACE(4),PR(2) COMMON /C1/ NP,NE,NM,NR,NW,NF,NI,NDP COMMON /C2/N,MX,NH

COMMON /C3/ SKE(8,8),NN(8),RF(8),B(3,8),XY(2,4) COMMON /C4/ NEE,NME,NET,NK,NSF,NST COMMON /GAUSS/ RSTG(2)

RSTG(1)=-0.5773503 RSTG(2)=0.5773503

READ(15,*) NEE,NOD,NME,NET,NK,NSF,NST WRITE(16,600) NEE,NME,NET,NK,NSF,NST,NOD DO 10 I=1,4 J=NOD(I) DO 10 L=1,2

XY(L,I)=COOR(L,J) 10 CONTINUE

DO 40 I=1,8

- 5 -


有限元程序分析与算例.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:现场盘点培训- 副本讲解

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: