t1c2
C T1C2 SOURCE CHAT 05/01/13 03:29:24 5004 1 XLAM1,XLAM2,IDAM,ANG) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO DIMENSION SIG(3),DSIG(3),SFC(3),DSFC(3),TSFC(3),SFG(3),DSFG(3), 1 EPC(3),A(4),B(2),IDAM(3),EPC1(3),EPC2(3),SG(3),DSG(3),SG1(3), 1 SG2(3),TENS(3) Y=YOUN/(1.D0-ANU*ANU) IF(RT1.LT.1.E-10) THEN H1=0.D0 RT1=0.D0 ENDIF C C------------------------------------------ C TRACTION DANS LA DIRECTION 1 | C COMPRESSION DANS LA DIRECTION 2 | C------------------------------------------ C C------------------------------------------------- C ON SE PLACE DANS LE REPERE DE FISSURATION | C------------------------------------------------- C IF(IIMPI.EQ.9) WRITE(IOIMP,9999) 9999 FORMAT(1X,'T1C2 COUPLAGE TRACTION 1 COMP 2',/) C C------------------------------------------ C OBTENTION DU SYSTEME EN DL1 DL2 C------------------------------------------ C 1 B(1)=-RT1+DSFG(1)+SFG(1) B(2)=DSFG(2)+SFG(2) A(1)=Y-H1 A(4)=Y A(2)=ANU*Y A(3)=A(2) C C----------------------------------------- C CAS DES FAUX COUPLAGES C----------------------------------------- C IF(DL1.LT.-1.E-10) IDAM(1)=0 IF(DL2.GT.1.E-10) IDAM(2)=0 IF(IDAM(1).EQ.0.OR.IDAM(2).EQ.0) THEN RETURN ENDIF C C----------------------------------------------- C CAS OU LA LIMITE EN TRACTION ATTEINT 0 | C----------------------------------------------- C IF((RT1-H1*DL1).GE.-1.E-10) GOTO 1000 DL1=RT1/H1 A(1)=DSFG(1) A(3)=DSFG(2) A(4)=-Y A(2)=-Y*ANU X=0.D0 DL2=(SFG(1)-Y*DL1)/Y/ANU IF(DL2.GT.0.D0) DL2=0.D0 GOTO 5 ENDIF B(1)=-SFG(1)+Y*DL1 B(2)=-SFG(2)+ANU*Y*DL1 5 EPC(1)=DL1 EPC(2)=DL2 EPC(3)=0.D0 DO 10 ITYP=1,3 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 10 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) IF(DL2.LT.-XLAM2) GOTO 1001 IF(VCDP.GT.0.D0) GOTO 3000 RT1=0.D0 H1=0.D0 XLAM1=XLAM1+DL1 XLAM2=XLAM2+DL2 DO 20 ITYP=1,3 DSFG(ITYP)=DSFC(ITYP) 20 SFG(ITYP)=SFC(ITYP) GOTO 1 C C----------------------------------------------- C CAS OU ON FERME TOTALEMENT LA FISSURE 2 C----------------------------------------------- C 1000 IF(DL2.GE.-XLAM2) GOTO 2000 1001 DL2=-XLAM2 B(1)=RT1-SFG(1)+DL2*ANU*Y B(2)=-SFG(2)+DL2*Y A(2)=-Y+H1 A(1)=DSFG(1) A(4)=-Y*ANU A(3)=DSFG(2) X=0.D0 DL1=(SFG(1)-RT1-DL2*ANU*Y)/(Y-H1) IF(DL1.LT.0.D0) DL1=0.D0 GOTO 1005 ENDIF 1005 CONTINUE EPC(1)=DL1 EPC(2)=DL2 EPC(3)=0.D0 DO 1010 ITYP=1,3 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 1010 TSFC(ITYP)=DSFG(ITYP)+SFG(ITYP) VCDP=-1.D0 IF(VCDP.GT.0.D0) GOTO 3000 RT1=RT1-H1*DL1 IF(RT1.LE.1.E-10) THEN H1=0.D0 RT1=0.D0 ENDIF XLAM2=0.D0 XLAM1=XLAM1+DL1 IDAM(2)=0 GAMCO=10.D0 IDAM(1)=0 IDAM(3)=0 IF(GAM.GE.1.D0) THEN GAM=1.D0 GOTO 1020 ENDIF IF(ABS(GAM-GAMCO).LE.1.E-10) IDAM(1)=-1 1020 DO 1030 ITYP=1,3 SFG(ITYP)=SFC(ITYP)+GAM*DSFC(ITYP) 1030 DSFG(ITYP)=DSFC(ITYP)*(1.D0-GAM) RETURN 2000 CONTINUE EPC(1)=DL1 EPC(2)=DL2 EPC(3)=0.D0 DO 2010 ITYP=1,3 2010 SFC(ITYP)=DSFG(ITYP)+SFG(ITYP)-SFC(ITYP) IF(VCDP.GT.0.D0) GOTO 3000 C C------------------------------------------------ C ON VERIFIE QUE LE DP N EST PAS ENDOMMAGE C PENDANT L 'ECOULEMENT (SINON 3000) C------------------------------------------------ C RT1=RT1-H1*DL1 IF(RT1.LE.1.E-10) THEN H1=0.D0 RT1=0.D0 ENDIF XLAM1=XLAM1+DL1 XLAM2=XLAM2+DL2 IDAM(1)=0 IDAM(2)=0 IDAM(3)=0 DO 2020 ITYP=1,3 2020 DSIG(ITYP)=0.D0 RETURN 3000 CONTINUE EPC1(1)=1.D0 EPC1(2)=0.D0 EPC1(3)=0.D0 EPC2(2)=1.D0 EPC2(1)=0.D0 EPC2(3)=0.D0 B(1)=SFG(1)-RT1 B(2)=SFG(2) A(4)=Y A(1)=Y-H1 A(2)=ANU*Y A(3)=A(2) B(1)=DSFG(1) B(2)=DSFG(2) DO 3010 ITYP=1,3 SG(ITYP)=SFG(ITYP)-DL11*SG1(ITYP)-DL21*SG2(ITYP) 3010 DSG(ITYP)=DSFG(ITYP)-DL12*SG1(ITYP)-DL22*SG2(ITYP) IF(ITEST.EQ.1) THEN IDAM(1)=1 IDAM(2)=-1 IDAM(3)=1 RETURN ENDIF DL1=DL11+X*DL12 DL2=DL21+X*DL22 RT1=RT1-H1*DL1 IF(RT1.LE.1.E-10) THEN H1=0.D0 RT1=0.D0 ENDIF XLAM1=XLAM1+DL1 XLAM2=XLAM2+DL2 IDAM(1)=1 IDAM(2)=-1 IDAM(3)=1 IF(XLAM2.LT.1.E-8) THEN XLAM2=0.D0 IDAM(2)=0 ENDIF EPC(1)=DL1 EPC(2)=DL2 EPC(3)=0.D0 DO 3020 ITYP=1,3 SFG(ITYP)=X*DSFG(ITYP)+SFG(ITYP)-SFC(ITYP) 3020 DSFG(ITYP)=(1.D0-X)*DSFG(ITYP) RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales