有限元分析程序与算例
II=MA(I)
SK(II)=SK(II)-SK(IP)*SK(IP)*SK(LPP) 60 CONTINUE 65 CONTINUE
RETURN END
!C****************************************************************** SUBROUTINE FOBA(SK,MA,R)
!C IMPLICIT DOUBLE PRECISION (A-H,O-Z) DIMENSION SK(*),MA(*),R(*)
COMMON /C1/ NP,NE,NM,NR,NW,NF,NI,NDP COMMON /C2/N,MX,NH
DO 10 I=2,N
L=I-MA(I)+MA(I-1)+1 K=I-1
IF(L.GT.K) GOTO 10 DO 5 LP=L,K IP=MA(I)-I+LP
R(I)=R(I)-SK(IP)*R(LP) 5 CONTINUE 10 CONTINUE DO 20 I=1,N II=MA(I)
R(I)=R(I)/SK(II) 20 CONTINUE DO 30 J1=2,N I=2+N-J1
L=I-MA(I)+MA(I-1)+1 K=I-1
IF(L.GT.K) GOTO 30 DO 40 J=L,K IJ=MA(I)-I+J
R(J)=R(J)-SK(IJ)*R(I) 40 CONTINUE 30 CONTINUE RETURN END
!C****************************************************************** SUBROUTINE STRESS (AE,R,ND,SNOD) !C IMPLICIT REAL*8(A-H,O-Z)
DIMENSION ME(4),XYG(2),AE(4,*),RJX(2,2),SG(6),S(3,8),ND(*),R(*),SNOD(6,*)
- 16 -
有限元分析程序与算例
COMMON /C1/ NP,NE,NM,NR,NW,NF,NI,NDP
COMMON /C3/SKE(8,8),NN(8),RF(8),B(3,8),XY(2,4) COMMON /C5/FUN(4),P(2,4),XJR(2,2) DO 1 I=1,NP 1 ND(I)=0 DO 5 I=1,NP DO 5 J=1,6
5 SNOD(J,I)=0.0 WRITE(16,300) REWIND 7
DO 105 IE=1,NE
READ(7) NEE,NME,ME,NN,XY E=AE(1,NME) U=AE(2,NME)
D1=E*(1.-U)/((1.+U)*(1.-2.*U)) D2=E*U/((1.+U)*(1.-2.*U)) D3=.5*E/(1.+U) DO 10 ID=1,4 LD=ME(ID)
10 ND(LD)=ND(LD)+1 SS=0. TT=0.
CALL RMSD (DET,SS,TT,RJX) J2=0
DO 30 I=1,4 J1=J2+1 J2=J1+1 BI=B(1,J1) CI=B(2,J2)
S(1,J1)=D1*BI S(2,J1)=D2*BI S(3,J1)=D3*CI S(1,J2)=D2*CI S(2,J2)=D1*CI S(3,J2)=D3*BI 30 CONTINUE DO 20 J=1,2 XYG(J)=0. DO 20 K=1,4
XYG(J)=XYG(J)+FUN(K)*XY(J,K) 20 CONTINUE DO 55 II=1,6 55 SG(II)=0. DO 70 K=1,8
- 17 -
有限元分析程序与算例
NA=NN(K)
IF (NA.EQ.0) GOTO 70 DO 60 L=1,3
SG(L)=SG(L)+S(L,K)*R(NA) 60 CONTINUE 70 CONTINUE CALL PRI(SG)
WRITE(16,500) NEE,(SG(I),I=1,6),(XYG(J),J=1,2) WRITE(13,550) IE,SG,XYG DO 80 JJ=1,4 LD=ME(JJ) DO 80 II=1,3
SNOD (II,LD)=SNOD(II,LD)+SG(II) 80 CONTINUE 105 CONTINUE
DO 120 I=1,NP LL=ND(I)
IF(LL.EQ.0) GOTO 120 DO 110 K=1,3
SNOD(K,I)=SNOD(K,I)/LL 110 CONTINUE 120 CONTINUE
WRITE(16,700) DO 240 J=1,NP DO 215 K=1,3 SG(K)=SNOD(K,J) 215 CONTINUE CALL PRI (SG)
WRITE (16,660) J,(SG(K),K=1,6) WRITE (11,550) J,SG 240 CONTINUE
300 FORMAT (/25X,'ELEMENT MID-POINT STRESS'/'ELE NO.', & 'SIG--XX',2X,'SIG--YY',2X,'SIG--XY',3X,'SIG-- & 1',3X, 'SIG--2 ANGLE',3X,'X--CO.',2X,'Y--CO.'/) 500 FORMAT (2X,I4,6F9.2,2X,2F7.2) 550 FORMAT (1X,I4,6F9.2,2X,2F7.2)
700 FORMAT (/25X,'NODES & PRINCIPAL STRESS'/2X,'NODE NO.',& 4X,'SIG-XX',5X,'SIG-YY',5X,'SIG-XY',6X,'SIG-1',6X,& 'SIG-2',6X,'ANGLE'/) 660 FORMAT (3X,I5,1X,6F11.3) RETURN
- 18 -
有限元分析程序与算例
END
!C****************************************************************** SUBROUTINE PRI(A)
!C IMPLICIT REAL*8(A-H,O-Z) DIMENSION A(6)
H1=A(1)+A(2) H2=A(1)-A(2)
H2=SQRT(H2*H2+4. *A(3)*A(3)) A(4)=(H1+H2)/2. A(5)=(H1-H2)/2.
IF (ABS(A(3)).GT.1.0E-4) GOTO 230 IF (A(1).GT.A(2)) GOTO 220 A(6)=90. GOTO 250
220 A(6)=0. GOTO 250
230 A(6)=ATAN((A(4)-A(1))/A(3))*57.2958 250 RETURN END
!C----------------NODE4.FOR PROGRAM HAS BEEN END ED
二、数据输入:
15 8 1 4 1 0 1 0 1 0 1 6 0 1 11 0 1 15 1 0 1 0.0 1.0 2 2.0 1.0 3 4.0 1.0 4 6.0 1.0 5 8.0 1.0 6 0.0 0.5 7 2.0 0.5 8 4.0 0.5 9 6.0 0.5 10 8.0 0.5 11 0.0 0.0 12 2.0 0.0 13 4.0 0.0 14 6.0 0.0 15 8.0 0.0
- 19 -
有限元分析程序与算例
20000000.0 0.2 0.0 1.0 11.0 1.0
1 6 7 2 1 1 0 1 0 0 1 0 0 1 0
2 7 8 3 2 1 0 1 0 0 1 0 0 1 0
3 8 9 4 3 1 0 1 0 0 1 0 0 1 0
4 9 10 5 4 1 0 1 0 0 1 0 0 1 0
5 11 12 7 6 1 0 0 0 0 6 12 13 8 7 1 0 0 0 0 7 13 14 9 8 1 0 0 0 0 8 14 15 10 9 1 0 0 0 0
三、结果输出:
NUMBER OF NODE………………………………………………NP= 15 NUMBER OF ELEMENT …………………………………………NE= 8 NUMBER OF MATERIAL…………………………………………NM= 1 NUMBER OF CONSTAINT ………………………………………NR= 4 NUMBER OF WATER PRESS KIND………………………………NW= 1 NUMBER OF CONCENTRATE LOAD………………………………NF= 0 PLANE STRESS OR PLANE STAIN ……………………………NI= 1
NUMBER OF KNOWN-DISPLACEMENT……………………………NDP= 0 NSPACE= 114813
NODAL INFORMATION CONSTRINED MESSAGE NODE NO.STATE
1 01 6 01 11 01 15 10
NODE NO. X-FREEDOM Y-FREEDOM X-COORDINAT Y-COORDINAT 1 0 1 .0000 1.0000 2 2 3 2.0000 1.0000 3 4 5 4.0000 1.0000 4 6 7 6.0000 1.0000 5 8 9 8.0000 1.0000 6 0 10 .0000 .5000 7 11 12 2.0000 .5000 8 13 14 4.0000 .5000 9 15 16 6.0000 .5000
- 20 -