ecubi1
C ECUBI1 SOURCE CHAT 05/01/12 23:28:00 5004 1 YOUNG,COHE1,TSUG,DEFPL,DLAM1,CO11,SI11,HACHE1,IDAM,KERRE) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION DEFPL(*),TSUG1(4),SOG1(*),DSOG1(*),DSAG1(4),SAG1(4), 1 DSUG1(4),SYG1(4),SUG1(4),TSUG(4),DEFPL1(4),DSUG(4),DSEG1(4) ITER=0 ZER=0.D0 DLA1=0.D0 IDAM=1 DO 48 ITYP=1,4 DEFPL(ITYP)=0.D0 48 CONTINUE C --------------------------------------------------------- C ON EFFECTUE L'ECOULEMENT1 .PAS DE 2EME CRITERE C --------------------------------------------------------- C ---------------------------------------------- C ON SE PLACE SUR LE CRITERE 1 C DO 90 ITYP=1,4 SAG1(ITYP)=SOG1(ITYP)+GAMMA1*DSOG1(ITYP) DSAG1(ITYP)=(1.D0-GAMMA1)*DSOG1(ITYP) 90 CONTINUE C ---------------------------------------------- C -------------------------------------------------------- C CALCUL DE DLAMDA C CIS1=SIGN(1.D0,SAG1(4)) DLA1=(PHI1*DSAG1(2)+CIS1 1 *DSAG1(4)+VCRIT1)/HACHE1 C-------------------------- C CAS DEFO PLANES C 1 *DLA1,DSUG1(1),DSUG1(2),DSUG1(3),DSUG1(4),XNU,YOUNG) C-------------------------- C CAS CONT PLANES C # CIS1*DLA1,DSUG1(1),DSUG1(2) # ,DSUG1(3),DSUG1(4),XNU,YOUNG) C-------------------------- DO 91 ITYP=1,4 TSUG1(ITYP)=DSAG1(ITYP)+SAG1(ITYP)-DSUG1(ITYP) 91 CONTINUE C--------------------------------------------------------- C---------------------------------------------------- C CAS OU ON DEPASSE LA LIMITE EN TRACTION C ON CALCULE UN NOUVEAU DLAMDA C IF(ITER.EQ.0) GO TO 234 DO 77 ITYP=1,4 DSUG1(ITYP)=DSOG1(ITYP)+SOG1(ITYP)-TSUG1(ITYP) 77 CONTINUE DLAM1=DLAM1+DLA1 GO TO 700 234 IF(TSUG1(2).LE.TRA1) DLAM1=DLAM1+DLA1 IF(TSUG1(2).LE.TRA1) GO TO 700 C-------------------------- C CAS DEFO PLANES C 1 ,SYG1(1),SYG1(2),SYG1(3),SYG1(4),XNU,YOUNG) C-------------------------- C CAS CONT PLANES C 1 ,SYG1(1),SYG1(2),SYG1(3),SYG1(4),XNU,YOUNG) C-------------------------- C ON CALCULE UN NOUVEAU DLAMDA C XAT=(TRA1-SAG1(2)+VCRIT1*SYG1(2)/HACHE1)/(DSAG1(2)-SYG1(2)*(DLA1 1 -VCRIT1/HACHE1)) DLA1=XAT*(DLA1-VCRIT1/HACHE1)+VCRIT1/HACHE1 C----------------------------------------------------- C ON CALCULE LES CONTRAINTES A LA POINTE ET C L INCREMENT DE CONTRAINTES C ON EFFECTUE L ECOULEMENT EN RAMENANT A LA POINTE C DU CRITERE C AVANT ON REGARDE SI ON PEUT ECOULER SUIVANT L'AUTRE C DIRECTION D'ECOULEMENT C----------------------------------------------------- C DO 92 ITYP=1,4 TSUG1(ITYP)=SAG1(ITYP)+XAT*DSAG1(ITYP)-DLA1*SYG1(ITYP) DSEG1(ITYP)=DSAG1(ITYP)*(1.D0-XAT) 92 CONTINUE VCRT=-DSEG1(2)+PSI1*ABS(DSEG1(4)) IF(VCRT.LE.0.D0.OR.ITER.GT.0) GO TO 456 ITER=ITER+1 CIS1=SIGN(1.D0,DSEG1(4)) DLAM1=DLAM1+DLA1 DO 97 ITYP=1,4 SAG1(ITYP)=TSUG1(ITYP) DSAG1(ITYP)=DSEG1(ITYP) 97 CONTINUE GO TO 457 C----------------------------------------------------- C CAS DEFO PLANES C 456 CONTINUE IF (NCAS.NE.1) HOOK=YOUNG/(1.D0+XNU)/(1.D0-2.D0*XNU) IF (NCAS.NE.1) BETA=(DSEG1(4)+TSUG1(4))/HOOK/(1.D0-2.D0*XNU) C-------------------------- C CAS CONT PLANES C IF (NCAS.EQ.1) HOOK=YOUNG/(1.D0-XNU*XNU) IF (NCAS.EQ.1) BETA=(DSEG1(4)+TSUG1(2))/HOOK/(1.D0-XNU) C----------------------------------------------------- # BETA,DSAG1(1),DSAG1(2) # ,DSAG1(3),DSAG1(4),XNU,YOUNG) # BETA,DSAG1(1),DSAG1(2) # ,DSAG1(3),DSAG1(4),XNU,YOUNG) DO 453 ITYP=1,4 TSUG1(ITYP)=TSUG1(ITYP)+DSEG1(ITYP)-DSAG1(ITYP) DSUG1(ITYP)=DSOG1(ITYP)+SOG1(ITYP)-TSUG1(ITYP) 453 CONTINUE C----------------------------------------------------- C CAS DEFO PLANES C C-------------------------- C CAS CONT PLANES C C----------------------------------------------------- RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales