c1
C C1 SOURCE CHAT 05/01/12 21:44:51 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 A(4),B(2),IDAM(3),EPC(3),SG(3),DSG(3) Y=YOUN/(1.D0-ANU*ANU) C C-------------------------------------------- C BOITE D ECOULEMENT DE COMPRESSION C-------------------------------------------- C C----------------------------------------------- C ON SE PLACE DANS LE REPERE DE FISSURATION C----------------------------------------------- C IF(IIMPI.EQ.9) WRITE(IOIMP,9999) 9999 FORMAT(1X,'C1 ECOULEMENT SUIVANT COMP 1',/) DL1=(SFG(1)+DSFG(1))/Y C C------------------------------------------ C CAS OU LA FISSURE RESTE OUVERTE C TOUT LE TEMPS DE L ECOULEMENT (1000) C------------------------------------------- C IF(DL1.GT.0.D0) THEN IDAM(1)=0 RETURN ENDIF IF(DL1.GE.-XLAM1) THEN EPC(1)=DL1 EPC(2)=0.D0 EPC(3)=0.D0 X=1.D0 GOTO 1000 ENDIF C C------------------------------------------- C CAS OU LA FISSURE EST FERME AVANT C LA FIN DE L ECOULEMENT C------------------------------------------- C DL1=-XLAM1 EPC(1)=DL1 EPC(2)=0.D0 EPC(3)=0.D0 C C------------------------------------------ C ON CALCULE LA PARTIE DE DSIGMA C QU IL FAUT POUR FERMER LA FISSURE C------------------------------------------ C IF(DSFG(1).EQ.0.D0) THEN X=0.D0 DO 10 ITYP=1,3 DSFC(ITYP)=DSFG(ITYP) 10 SFC(ITYP)=SFG(ITYP)-SFC(ITYP) XLAM1=0.D0 DL1=0.D0 GOTO 1010 ENDIF X=(-SFG(1)+SFC(1))/DSFG(1) IF(X.LT.0.D0) THEN X=0.D0 DO 15 ITYP=1,3 DSFC(ITYP)=DSFG(ITYP) 15 SFC(ITYP)=SFG(ITYP)-SFC(ITYP) XLAM1=0.D0 DL1=0.D0 GOTO 1010 ENDIF 1000 DO 20 ITYP=1,3 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 20 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) C C----------------------------------------------- C ON REGARDE SI LES AUTRES CRITERES NE C SONT PAS ENDOMMAGES PENDANT L ECOULEMENT C----------------------------------------------- C C C------------------------------------ C CRITERE DE TRACTION ENDOMMAGE C------------------------------------ C IF(VCTR2.GT.0.D0) GOTO 2000 C C---------------------------------------- C CRITERE DE COMPRESSION ENDOMMAGE C---------------------------------------- C IF(VCCO2.GT.0.D0) GOTO 3000 C C------------------------------------ C CRITERE DE TRACTION ENDOMMAGE C------------------------------------ C IF(VCDP.GT.0.D0) GOTO 4000 C C--------------------------------------------------- C AUCUN CRITERE ENDOMMAGE PENDANT L ECOULEMENT C--------------------------------------------------- C 1010 DO 30 ITYP=1,3 30 TSFC(ITYP)=DSFC(ITYP)+SFC(ITYP) C C--------------------------------------------------- C ON REGARDE SI L ECOULEMENT RESTANT N ENDOMMAGE C PAS LES CRITERES C--------------------------------------------------- C IDAM(1)=0 IDAM(2)=0 IDAM(3)=0 C=1.D0-1.D-10 IF(X.GE.C) THEN GAM=1.D0 GOTO 1500 ENDIF GAMCO2=10.D0 GAMTR2=10.D0 IF(GAM.GE.C) THEN GAM=1.D0 GOTO 1500 ENDIF IF(ABS(GAMCO2-GAM).LT.1.E-10) IDAM(2)=-1 IF(ABS(GAMTR2-GAM).LT.1.E-10) IDAM(2)=1 IF(ABS(GAMDP-GAM).LT.1.E-10) IDAM(3)=1 XLAM1=0.D0 DL1=0.D0 1500 DO 40 ITYP=1,3 SFG(ITYP)=SFC(ITYP)+GAM*DSFC(ITYP) 40 DSFG(ITYP)=(1.D0-GAM)*DSFC(ITYP) XLAM1=XLAM1+DL1 RETURN C C---------------------------------------- C CAS OU EN ENDOMMAGE LA TRACTION2 C PENDANT LA FERMETURE DE LA FISSURE C---------------------------------------- C 2000 A(1)=DSFG(1) A(3)=DSFG(2) A(2)=-Y A(4)=A(2)*ANU IDAM(1)=-1 IDAM(2)=1 IDAM(3)=0 RETURN ENDIF B(1)=-SFG(1) B(2)=RT2-SFG(2) EPC(1)=DL1 EPC(2)=0.D0 EPC(3)=0.D0 DO 50 ITYP=1,3 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 50 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) IF(VCDP.GT.0.D0) GOTO 4000 IDAM(1)=-1 IDAM(2)=1 IDAM(3)=0 XLAM1=XLAM1+DL1 RETURN C C---------------------------------------- C CAS OU EN ENDOMMAGE LA COMPRESSION2 C PENDANT LA FERMETURE DE LA FISSURE C---------------------------------------- C 3000 A(1)=DSFG(1) A(3)=DSFG(2) A(2)=-Y A(4)=A(2)*ANU IDAM(1)=-1 IDAM(2)=-1 IDAM(3)=0 RETURN ENDIF B(1)=-SFG(1) B(2)=-SFG(2) EPC(1)=DL1 EPC(2)=0.D0 EPC(3)=0.D0 DO 150 ITYP=1,3 DSFC(ITYP)=(1.D0-X)*DSFG(ITYP) 150 SFC(ITYP)=SFG(ITYP)+X*DSFG(ITYP)-SFC(ITYP) IF(VCDP.GT.0.D0) GOTO 4000 IDAM(1)=-1 IDAM(2)=-1 IDAM(3)=0 XLAM1=XLAM1+DL1 RETURN C C---------------------------------------- C CAS OU EN ENDOMMAGE LE DP C PENDANT LA FERMETURE DE LA FISSURE C---------------------------------------- C 4000 CONTINUE EPC(1)=1.D0 EPC(2)=0.D0 EPC(3)=0.D0 E=Y F=SFG(1)/E G=DSFG(1)/E DO 70 ITYP=1,3 SG(ITYP)=SFG(ITYP)-F*SFC(ITYP) 70 DSG(ITYP)=DSFG(ITYP)-G*SFC(ITYP) IF(ITEST.EQ.1) THEN IDAM(1)=-1 IDAM(2)=0 IDAM(3)=1 RETURN ENDIF DL1=(SFG(1)+X*DSFG(1))/Y EPC(1)=DL1 EPC(2)=0.D0 EPC(3)=0.D0 DO 60 ITYP=1,3 SFG(ITYP)=X*DSFG(ITYP)-SFC(ITYP)+SFG(ITYP) 60 DSFG(ITYP)=DSFG(ITYP)*(1.D0-X) XLAM1=XLAM1+DL1 IDAM(1)=-1 IDAM(2)=0 IDAM(3)=1 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales