PROGRAM LFEMIW C COMMON/RDK2/E11(3),E22(3),E33(3),G12(3),G13(3),G23(3) * ,PR12(3),PR13(3),PR23(3) COMMON/RDK3/AL1(3),AL2(3),AL3(3),BT1(3),BT2(3),BT3(3) COMMON Z(500000) open(5,file='l090cm.dat',status='old',err=8888) open(6,file='lfemiw.out',status='unknown',err=8888) open(10,file='l090cstresses.out',status='unknown',err=8888) READ(5,20)NE,NDS,NDP,NLD,NMTL 20 FORMAT(5I6) DO 45 I=1,NMTL READ(5,40)E11(I),E22(I),E33(I),G12(I),G13(I),G23(I) * ,PR12(I),PR13(I),PR23(I) 40 FORMAT(3(/,3(6X,E10.3))) READ(5,50)AL1(I),AL2(I),AL3(I),BT1(I),BT2(I),BT3(I) 45 continue 50 FORMAT(3(8X,e10.3),/,3(8x,e10.3)) READ(5,60)LTYPE,SLD,TLD,WLD 60 FORMAT(/,I6,/,F12.0,/,2F12.0) N1=1 N2=N1+3*NDS N3=N2+NDS CALL NEDATA(Z(N1),Z(N2),Z(N3),NDS,NE,LTYPE,TLD,WLD) CALL EQNUM(Z(N1),NDS,NEQ,NEQF,LTYPE) NEQ1=NEQ+1 CALL ADDRS(Z(N1),Z(N2),NE,NDS,NEQ1,LTYPE,NEQF,MBAND,NCOFS,NDOFE) N3=N2+NEQ1 N4=N3+NCOFS CALL ELMNT(Z(N1),Z(N2),Z(N3),Z(N4),NE,NDS,LTYPE,SLD,NCOFS,NEQ,NEQ1 * ,NEQF,NDOFE) IF(NLD.GT.0)CALL NDLD(Z(N1),Z(N4),NDS,NEQ,NLD) IF(NDP.GT.0)CALL NDDP(Z(N1),Z(N2),Z(N3),Z(N4),NDS,NEQ1,NCOFS,NEQ * ,NDP) CALL SOL(Z(N2),Z(N3),Z(N4),NEQ,NCOFS,NEQ1,1) CALL SOL(Z(N2),Z(N3),Z(N4),NEQ,NCOFS,NEQ1,2) CALL FORC(Z(N1),Z(N2),Z(N3),Z(N4),NDS,NEQ1,NCOFS,NEQ,MBAND) N3=N2+NDS*2 CALL FF(Z(N1),Z(N2),Z(N3),NDS,NEQ) CALL DISP(Z(N1),Z(N2),Z(N4),NDS,NEQ,NEQF,LTYPE,UKEEP) N2=N1+3*NDS N3=N2+3*NDS N4=N3+NE N5=N4+NE N6=N5+NE N7=N6+NE N8=N7+NE CALL STR(Z(N2),Z(N3),Z(N4),Z(N5),Z(N6),Z(N7),Z(N8),NE,NDS,LTYPE * ,SLD,UKEEP) rewind 2 rewind 3 rewind 4 rewind 7 rewind 8 rewind 9 close(2) close(3) close(4) close(7) close(8) close(9) 8888 STOP END SUBROUTINE NEDATA(ID,H,Z,NDS,NE,LTYPE,TLD,WLD) COMMON/RDK2/E11(3),E22(3),E33(3),G12(3),G13(3),G23(3), * PR12(3),PR13(3),PR23(3) COMMON/RDK3/AL1(3),AL2(3),AL3(3),BT1(3),BT2(3),BT3(3) DIMENSION ID(NDS,3),H(NDS),Z(NDS) PI=ACOS(-1.) DO 40 I=1,NDS READ(5,20)ID(I,1),ID(I,2),ID(I,3),H(I),Z(I) WRITE(3)H(I),Z(I) 20 FORMAT(6X,3I3,2F12.0) 40 CONTINUE DO 90 K=1,NE ENO=0.0 EHO=0.0 EHZO=0.0 EZO=0.0 READ(5,60)ND1,ND2,ND3,THETA,M 60 FORMAT(6X,3I6,F8.2,I3) THRAD=THETA*PI/180.0 C=COS(THRAD) S=SIN(THRAD) AREA=((H(ND1)-H(ND2))*(Z(ND1)+Z(ND2)) * +(H(ND2)-H(ND3))*(Z(ND2)+Z(ND3)) * +(H(ND3)-H(ND1))*(Z(ND3)+Z(ND1)))/2.0 AA=(Z(ND2)-Z(ND3))/2.0 BB=(H(ND3)-H(ND2))/2.0 CC=(Z(ND3)-Z(ND1))/2.0 DD=(H(ND1)-H(ND3))/2.0 EE=(Z(ND1)-Z(ND2))/2.0 GG=(H(ND2)-H(ND1))/2.0 IF(LTYPE.LE.1)GO TO 80 ENO=AL1(M)*TLD+BT1(M)*WLD EHO=C*C*(AL2(M)*TLD+BT2(M)*WLD)+S*S*(AL3(M)*TLD+BT3(M)*WLD) EZO=S*S*(AL2(M)*TLD+BT2(M)*WLD)+C*C*(AL3(M)*TLD+BT3(M)*WLD) EHZO=2.*S*C*(TLD*(AL3(M)-AL2(M))+WLD*(BT3(M)-BT2(M))) 80 WRITE(4)ND1,ND2,ND3,AA,BB,CC,DD,EE,GG,AREA,ENO,EHO,EHZO,EZO D=1.-PR12(M)**2*E22(M)/E11(M)-PR23(M)**2*E33(M)/E22(M) * -PR13(M)**2*E33(M)/E11(M)-2.*PR12(M)*E22(M)/E11(M) * *PR23(M)*E33(M)/E22(M)*PR13(M) C11=(1.0-PR23(M)**2*E33(M)/E22(M))*E11(M)/D C12=(PR12(M)*E22(M)/E11(M)+PR13(M)*E33(M)/E11(M)*PR23(M))*E11(M)/D C13=(PR13(M)*E33(M)/E11(M)+PR12(M)*PR23(M)*E33(M)/E11(M))*E11(M)/D C22=(1.0-PR13(M)**2*E33(M)/E11(M))*E22(M)/D C23=(PR23(M)*E33(M)/E22(M)+PR12(M)*PR13(M)*E33(M)/E11(M))*E22(M)/D C33=(1.0-PR12(M)**2*E22(M)/E11(M))*E33(M)/D C44=G23(M) C55=G13(M) C66=G12(M) D22=C22*C**4+2.*C**2*S**2*(C23+2.*C44)+C33*S**4 D23=C**2*S**2*(C22+C33-4.*C44)+C23*(S**4+C**4) D12=C12*C**2+C13*S**2 D24=-C*S*(C22*C**2-C33*S**2-(C23+2.*C44)*(C**2-S**2)) D33=C22*S**4+2.*C**2*S**2*(C23+2.*C44)+C33*C**4 D13=C12*S**2+C13*C**2 D34=-C*S*(C22*S**2-C33*C**2+(C23+2.*C44)*(C**2-S**2)) D11=C11 D14=C*S*(C13-C12) D55=C55*C**2+C66*S**2 D56=C*S*(C55-C66) D66=C66*C**2+C55*S**2 D44=(C22+C33-2.*C23)*C**2*S**2+C44*(C**2-S**2)**2 WRITE(7)D11,D12,D13,D14,D22,D23,D24,D33,D34,D44,D55,D56,D66 90 CONTINUE RETURN END SUBROUTINE EQNUM(ID,NDS,NEQ,NEQF,LTYPE) DIMENSION ID(NDS,3) IEQN=0 NEQF=0 DO 20 I=1,NDS DO 20 J=1,3 IF(ID(I,J))6,5,6 5 IEQN=IEQN+1 ID(I,J)=IEQN GO TO 20 6 ID(I,J)=0 20 CONTINUE NEQ=IEQN IF(LTYPE.LE.1)RETURN NEQ=NEQ+1 NEQF=NEQ RETURN END SUBROUTINE ADDRS(ID,MAXA,NE,NDS,NEQ1,LTYPE,NEQF,MBAND,NCOFS, * NDOFE) DIMENSION ID(NDS,3),MAXA(NEQ1),LM(10) DO 5 IEQN=1,NEQ1 5 MAXA(IEQN)=0 DO 10 I=1,10 10 LM(I)=0 REWIND 4 DO 40 K=1,NE READ(4)ND1,ND2,ND3,DX,DX,DX,DX,DX,DX,DX,DX,DX,DX,DX LM(1)=ID(ND1,1) LM(2)=ID(ND2,1) LM(3)=ID(ND3,1) LM(4)=ID(ND1,2) LM(5)=ID(ND2,2) LM(6)=ID(ND3,2) LM(7)=ID(ND1,3) LM(8)=ID(ND2,3) LM(9)=ID(ND3,3) IF(LTYPE.EQ.2)LM(10)=NEQF NDOFE=9 IF(LTYPE.EQ.2)NDOFE=10 DO 30 I=1,NDOFE L=LM(I) IF(L.EQ.0)GO TO 30 DO 20 J=1,NDOFE M=LM(J) IF(M.EQ.0)GO TO 20 IF(M.GT.L)GO TO 20 N=L-M+1 IF(N.GT.MAXA(L))MAXA(L)=N 20 CONTINUE 30 CONTINUE 40 CONTINUE MBAND=0 NEQ=NEQ1-1 DO 55 I=1,NEQ IF(MAXA(I).GT.MBAND)MBAND=MAXA(I) 55 CONTINUE NN=1 MAXA(1)=1 MAXM1=1 DO 60 I=2,NEQ1 NN=NN+MAXM1 MAXM1=MAXA(I) 60 MAXA(I)=NN NCOFS=MAXA(NEQ1) RETURN END SUBROUTINE ELMNT(ID,MAXA,A,V,NE,NDS,LTYPE,SLD, * NCOFS,NEQ,NEQ1,NEQF,NDOFE) DIMENSION ID(NDS,3),MAXA(NEQ1),A(NCOFS),V(NEQ) DIMENSION AK(10,10),F(10),LM(10) DO 1 I=1,NCOFS 1 A(I)=0.0 DO 2 I=1,NEQ 2 V(I)=0.0 REWIND 4 REWIND 7 DO 70 K=1,NE READ(4)ND1,ND2,ND3,AA,BB,CC,DD,EE,GG,ARR,ENO,EHO,EHZO,EZO LM(1)=ID(ND1,1) LM(2)=ID(ND2,1) LM(3)=ID(ND3,1) LM(4)=ID(ND1,2) LM(5)=ID(ND2,2) LM(6)=ID(ND3,2) LM(7)=ID(ND1,3) LM(8)=ID(ND2,3) LM(9)=ID(ND3,3) IF(LTYPE.EQ.2)LM(10)=NEQF READ(7)D11,D12,D13,D14,D22,D23,D24,D33,D34,D44,D55,D56,D66 DO 3 I=1,10 F(I)=0.0 DO 3 J=1,10 AK(I,J)=0.0 3 CONTINUE AK(1,1)=(D55*BB*BB+2.*AA*BB*D56+D66*AA*AA)/ARR AK(1,2)=(D55*BB*DD+(CC*BB+AA*DD)*D56+D66*AA*CC)/ARR AK(1,3)=(D55*BB*GG+(BB*EE+AA*GG)*D56+D66*AA*EE)/ARR AK(2,2)=(D55*DD*DD+2.*CC*DD*D56+D66*CC*CC)/ARR AK(2,3)=(D55*DD*GG+(EE*DD+CC*GG)*D56+D66*CC*EE)/ARR AK(3,3)=(D55*GG*GG+2.*EE*GG*D56+D66*EE*EE)/ARR AK(4,4)=(D22*AA*AA+2.*AA*BB*D24+D44*BB*BB)/ARR AK(4,5)=(D22*AA*CC+(AA*DD+BB*CC)*D24+D44*BB*DD)/ARR AK(4,6)=(D22*AA*EE+(AA*GG+BB*EE)*D24+D44*BB*GG)/ARR AK(4,7)=(AA*BB*(D23+D44)+AA*AA*D24+BB*BB*D34)/ARR AK(4,8)=(DD*(AA*D23+BB*D34)+CC*(AA*D24+BB*D44))/ARR AK(4,9)=(GG*(AA*D23+BB*D34)+EE*(AA*D24+BB*D44))/ARR AK(5,5)=(D22*CC*CC+2.*CC*DD*D24+D44*DD*DD)/ARR AK(5,6)=(D22*CC*EE+(CC*GG+DD*EE)*D24+D44*DD*GG)/ARR AK(5,7)=(BB*(CC*D23+DD*D34)+AA*(CC*D24+DD*D44))/ARR AK(5,8)=(DD*CC*(D23+D44)+CC*CC*D24+DD*DD*D34)/ARR AK(5,9)=(GG*(CC*D23+DD*D34)+EE*(CC*D24+DD*D44))/ARR AK(6,6)=(D22*EE*EE+2.*EE*GG*D24+D44*GG*GG)/ARR AK(6,7)=(EE*(BB*D23+AA*D24)+GG*(BB*D34+AA*D44))/ARR AK(6,8)=(DD*(EE*D23+GG*D34)+CC*(EE*D24+GG*D44))/ARR AK(6,9)=(GG*EE*(D23+D44)+GG*GG*D34+EE*EE*D24)/ARR AK(7,7)=(D33*BB*BB+2.*AA*BB*D34+D44*AA*AA)/ARR AK(7,8)=(D33*BB*DD+(DD*AA+CC*BB)*D34+D44*AA*CC)/ARR AK(7,9)=(D33*BB*GG+(AA*GG+EE*BB)*D34+D44*AA*EE)/ARR AK(8,8)=(D33*DD*DD+2.*DD*CC*D34+D44*CC*CC)/ARR AK(8,9)=(D33*DD*GG+(GG*CC+EE*DD)*D34+D44*CC*EE)/ARR AK(9,9)=(D33*GG*GG+2.*GG*EE*D34+D44*EE*EE)/ARR F(4)=-(D12*AA+BB*D14)*SLD F(5)=-(D12*CC+DD*D14)*SLD F(6)=-(D12*EE+GG*D14)*SLD F(7)=-(D13*BB+AA*D14)*SLD F(8)=-(D13*DD+CC*D14)*SLD F(9)=-(D13*GG+EE*D14)*SLD IF(LTYPE.LE.1)GO TO 20 AK(4,10)=D12*AA+D14*BB AK(5,10)=D12*CC+D14*DD AK(6,10)=D12*EE+D14*GG AK(7,10)=D13*BB+D14*AA AK(8,10)=D13*DD+D14*CC AK(9,10)=D13*GG+D14*EE AK(10,10)=D11*ARR F(4)=(D12*ENO+D22*EHO+D23*EZO+D24*EHZO)*AA * +(D14*ENO+D24*EHO+D34*EZO+D44*EHZO)*BB F(5)=(D12*ENO+D22*EHO+D23*EZO+D24*EHZO)*CC * +(D14*ENO+D24*EHO+D34*EZO+D44*EHZO)*DD F(6)=(D12*ENO+D22*EHO+D23*EZO+D24*EHZO)*EE * +(D14*ENO+D24*EHO+D34*EZO+D44*EHZO)*GG F(7)=(D13*ENO+D23*EHO+D33*EZO+D34*EHZO)*BB * +(D14*ENO+D24*EHO+D34*EZO+D44*EHZO)*AA F(8)=(D13*ENO+D23*EHO+D33*EZO+D34*EHZO)*DD * +(D14*ENO+D24*EHO+D34*EZO+D44*EHZO)*CC F(9)=(D13*ENO+D23*EHO+D33*EZO+D34*EHZO)*GG * +(D14*ENO+D24*EHO+D34*EZO+D44*EHZO)*EE F(10)=(D11*ENO+D12*EHO+D13*EZO+D14*EHZO)*ARR 20 JJJ=1 DO 40 II=1,NDOFE DO 30 JJ=JJJ,NDOFE 30 AK(JJ,II)=AK(II,JJ) 40 JJJ=JJJ+1 DO 60 I=1,NDOFE L=LM(I) IF(L.EQ.0)GO TO 60 NN=MAXA(L) DO 50 J=I,NDOFE M=LM(J) IF(M.EQ.0)GO TO 50 MM=MAXA(M) KK=M-L MM=MM+KK IF(KK.LT.0)MM=NN-KK A(MM)=A(MM)+AK(I,J) 50 CONTINUE V(L)=V(L)+F(I) 60 CONTINUE 70 CONTINUE WRITE(8)(A(I),I=1,NCOFS) WRITE(9)(V(I),I=1,NEQ) RETURN END SUBROUTINE NDLD(ID,V,NDS,NEQ,NLOAD) DIMENSION ID(NDS,3),V(NEQ) WRITE(6,99) 99 FORMAT(1H1,' PRESCRIBED LOADS ADDED TO LOAD VECTOR ',42(1H*)) DO 60 ILOAD=1,NLOAD READ(5,20)NOD,IDIRN,FLOAD 20 FORMAT(2I6,F12.0) IEQN=ID(NOD,IDIRN) V(IEQN)=V(IEQN)+FLOAD WRITE(6,50)IEQN,NOD,IDIRN,V(IEQN),FLOAD 50 FORMAT(' F(',I4,',',I3,',',I1,')=',E13.6,' APPLIED LOAD=',E13.6) 60 CONTINUE RETURN END SUBROUTINE NDDP(ID,MAXA,A,V,NDS,NEQ1,NCOFS,NEQ,NDP) DIMENSION ID(NDS,3),MAXA(NEQ1),A(NCOFS),V(NEQ) WRITE(8)(A(I),I=1,NCOFS) WRITE(6,99) 99 FORMAT(1H1,'PRESCRIBED (DISPL.)(1.0E+20) ADDED TO LOAD VECTOR' * ,29(1H*)) DO 60 IDISP=1,NDP READ(5,20)NOD,IDIRN,DISP 20 FORMAT(2I6,F12.0) IEQN=ID(NOD,IDIRN) II=MAXA(IEQN) A(II)=A(II)+1.0E+20 V(IEQN)=V(IEQN)+1.0E+20*DISP WRITE(6,50)IEQN,NOD,IDIRN,V(IEQN),DISP 50 FORMAT(' F(',I4,',',I3,',',I1,')=',E13.6,' APPLIED DISPL.=',E13.6) 60 CONTINUE RETURN END SUBROUTINE SOL(MAXA,A,V,NN,NWK,NNM,KKK) DIMENSION MAXA(NNM),A(NWK),V(NN) IF (KKK-2) 40,150,150 40 DO 140 N=1,NN KN=MAXA(N) KL=KN+1 KU=MAXA(N+1)-1 KH=KU-KL IF (KH) 110,90,50 50 K=N-KH IC=0 KLT=KU DO 80 J=1,KH IC=IC+1 KLT=KLT-1 KI=MAXA(K) ND=MAXA(K+1)-KI-1 IF (ND) 80,80,60 60 KK=IC IF (ND.LT.IC)KK=ND C=0.0 DO 70 L=1,KK 70 C=C+A(KI+L)*A(KLT+L) A(KLT)=A(KLT)-C 80 K=K+1 90 K=N B=0.0 DO 100 KK=KL,KU K=K-1 KI=MAXA(K) C=A(KK)/A(KI) B=B+C*A(KK) 100 A(KK)=C A(KN)=A(KN)-B 110 IF (A(KN)) 120,120,140 120 STOP 140 CONTINUE RETURN 150 DO 180 N=1,NN KL=MAXA(N)+1 KU=MAXA(N+1)-1 IF (KU-KL) 180,160,160 160 K=N C=0.0 DO 170 KK=KL,KU K=K-1 170 C=C+A(KK)*V(K) V(N)=V(N)-C 180 CONTINUE DO 200 N=1,NN K=MAXA(N) 200 V(N)=V(N)/A(K) IF (NN.EQ.1) RETURN N=NN DO 230 L=2,NN KL=MAXA(N)+1 KU=MAXA(N+1)-1 IF (KU-KL) 230,210,210 210 K=N DO 220 KK=KL,KU K=K-1 220 V(K)=V(K)-A(KK)*V(N) 230 N=N-1 RETURN END SUBROUTINE FORC(ID,MAXA,A,V,NDS,NEQ1,NCOFS,NEQ,MBAND,NDP) DIMENSION ID(NDS,3),MAXA(NEQ1),A(NCOFS),V(NEQ) MB=MBAND-1 LIMIT=NEQ1-MBAND REWIND 8 READ(8)(A(I),I=1,NCOFS) REWIND 2 DO 70 IEQN=1,NEQ II=MAXA(IEQN) N=MAXA(IEQN+1)-II IN=IEQN-N+1 IM=MAXA(IEQN+1)-1 FORCE=0.0 DO 30 K=1,N FORCE=FORCE+V(IN)*A(IM) IM=IM-1 IN=IN+1 30 CONTINUE IF(IEQN.GT.LIMIT)MB=NEQ1-1-IEQN IF(MB.EQ.0)GO TO 51 DO 50 IB=1,MB IM=MAXA(IN)+IB IF(IM.GE.MAXA(IN+1))GO TO 40 FORCE=FORCE+V(IN)*A(IM) 40 IN=IN+1 50 CONTINUE 51 WRITE(2)FORCE 70 CONTINUE RETURN END SUBROUTINE FF(ID,HZ,F,NDS,NEQ) DIMENSION ID(NDS,3),HZ(NDS,2),F(NEQ) WRITE(6,99) 99 FORMAT(1H1,' NODAL FORCES',66(1H*)) REWIND 9 READ(9)(F(I),I=1,NEQ) REWIND 3 DO 5 I=1,NDS 5 READ(3)HZ(I,1),HZ(I,2) REWIND 2 IW=1 IND=1 IDIR=1 TOTALN=0.0 TOTALH=0.0 TOTALZ=0.0 SMX2=0.0 SMX3=0.0 DO 70 IEQN=1,NEQ READ(2)FORCE F(IEQN)=FORCE-F(IEQN) 10 IF(ID(IND,IDIR).EQ.IEQN)GO TO 30 IF(IDIR.EQ.3)GO TO 20 IDIR=IDIR+1 GO TO 10 20 IDIR=1 IND=IND+1 IF(IND.GT.NDS)GO TO 70 GO TO 10 30 IF(ABS(F(IEQN)).LT.1.0E-5)GO TO 70 IF(IDIR.EQ.1)GO TO 40 IF(IDIR.EQ.2)SMX2=SMX2+F(IEQN)*HZ(IND,2) IF(IDIR.EQ.3)SMX3=SMX3-F(IEQN)*HZ(IND,1) 40 IF(IDIR.EQ.1)TOTALN=TOTALN+F(IEQN) IF(IDIR.EQ.2)TOTALH=TOTALH+F(IEQN) IF(IDIR.EQ.3)TOTALZ=TOTALZ+F(IEQN) WRITE(6,50)IEQN,IND,IDIR,F(IEQN) 50 FORMAT(' F(',I4,',',I3,',',I1,')=',E13.6) 70 CONTINUE WRITE(6,80)SMX2,SMX3,TOTALN,TOTALH,TOTALZ 80 FORMAT(1H1,' EQUILIBRIUM CHECK',50(1H*),//, *' SUMMATION OF MOMENTS ABOUT N-AXIS',/, *' FOR FORCES IN H-DIRECTION=',E13.6,/, *' FOR FORCES IN Z-DIRECTION=',E13.6,//, *' SUMMATION OF FORCES',/, *' IN N-DIRECTION=',E13.6,/, *' IN H-DIRECTION=',E13.6,/, *' IN Z-DIRECTION=',E13.6,//) RETURN END SUBROUTINE DISP(ID,U,V,NDS,NEQ,NEQF,LTYPE,UKEEP) DIMENSION ID(NDS,3),U(NDS,3),V(NEQ) IF(LTYPE.EQ.2)UKEEP=V(NEQF) IEQN=1 DO 10 I=1,NDS DO 10 J=1,3 U(I,J)=0.0 IF(ID(I,J).EQ.0)GO TO 10 U(I,J)=V(IEQN) IEQN=IEQN+1 10 CONTINUE RETURN END SUBROUTINE STR(U,EN,EH,EZ,EHZ,ENZ,ENH,NE,NDS,LTYPE,SLD,UKEEP) DIMENSION U(NDS,3),EN(NE),EH(NE),EZ(NE),EHZ(NE),ENZ(NE),ENH(NE) WRITE(6,10) 10 FORMAT(1H1,' ### STRESSES SIGN SIGH SIGZ TAUHZ TAUNZ TAUNH ###') IF(LTYPE.EQ.2)WRITE(6,15)UKEEP 15 FORMAT(' OUT-OT-PLANE THERMAL STRAIN=',E12.5) REWIND 4 REWIND 7 REWIND 8 DO 40 K=1,NE READ(4)ND1,ND2,ND3,AA,BB,CC,DD,EE,GG,ARR,ENO,EHO,EHZO,EZO READ(7)D11,D12,D13,D14,D22,D23,D24,D33,D34,D44,D55,D56,D66 EN(K)=SLD IF(LTYPE.EQ.2)EN(K)=UKEEP EH(K)=(AA*U(ND1,2)+CC*U(ND2,2)+EE*U(ND3,2))/ARR EZ(K)=(BB*U(ND1,3)+DD*U(ND2,3)+GG*U(ND3,3))/ARR EHZ(K)=(BB*U(ND1,2)+DD*U(ND2,2)+GG*U(ND3,2)+AA*U(ND1,3)+ 1CC*U(ND2,3)+EE*U(ND3,3))/ARR ENZ(K)=(BB*U(ND1,1)+DD*U(ND2,1)+GG*U(ND3,1))/ARR ENH(K)=(AA*U(ND1,1)+CC*U(ND2,1)+EE*U(ND3,1))/ARR IF(LTYPE.LE.1)GO TO 20 EN(K)=EN(K)-ENO EH(K)=EH(K)-EHO EHZ(K)=EHZ(K)-EHZO EZ(K)=EZ(K)-EZO 20 SIGN=D11*EN(K)+D12*EH(K)+D13*EZ(K)+D14*EHZ(K) SIGH=D12*EN(K)+D22*EH(K)+D23*EZ(K)+D24*EHZ(K) SIGZ=D13*EN(K)+D23*EH(K)+D33*EZ(K)+D34*EHZ(K) SIGHZ=D14*EN(K)+D24*EH(K)+D34*EZ(K)+D44*EHZ(K) SIGNZ=D55*ENZ(K)+D56*ENH(K) SIGNH=D56*ENZ(K)+D66*ENH(K) WRITE(10,31)SIGH,SIGZ,SIGHZ WRITE(6,30)K,SIGN,SIGH,SIGZ,SIGHZ,SIGNZ,SIGNH 31 FORMAT(3E11.4) 30 FORMAT(I5,6(1X,E11.4)) 40 CONTINUE WRITE(6,11) 11 FORMAT(1H1,' ##### DISPLACEMENTS U V W #####') DO 90 I=1,NDS 90 WRITE(6,100)I,U(I,1),U(I,2),U(I,3) 100 FORMAT(13X,I5,3(7X,E12.5)) RETURN END