aclj
C ACLJ SOURCE PV 17/12/08 21:15:01 9660 IMPLICIT REAL*8(a-H, o-Z) IMPLICIT INTEGER (i-N) -INC PPARAM -INC CCOPTIO -INC SMEVOLL -INC SMLREEL -INC DECHE C 'Cont: Initial stress' CONT = SIG0(1) C 'Normal stresses' CON2 = SIG0(2) CON3 = SIG0(3) C 'Gliss: Initial slip' GLISS = EPST0(1) C 'EPSI 1-2: Initial normal disp' C 'DGLIS: imposed disp in tangent' DGLIS = DEPST(1) C 'DEPS 2-3: imposed disp in normals' DEPS2 = DEPST(2) DEPS3 = DEPST(3) C 'GMAXP: Max slip in + direction' C 'GMAXN: Max slip in - direction' C 'CMAXP: Stress at GMAXP' C 'CMAXN: Stress at GMAXN' GMAXP = VAR0(1) GMAXN = VAR0(2) CMAXP = VAR0(3) CMAXN = VAR0(4) MEVOLL = INT(VALMAT(3)) SEGACT MEVOLL KEVOLL = IEVOLL(1) SEGACT KEVOLL C 'ADHENSION LAW' MLREE1 = IPROGX MLREE2 = IPROGY SEGACT MLREE1, MLREE2 C 'GLISSEMENTS/DEPLACEMENTS' C 'GTOT: Final slip' GTOT = GLISS + DGLIS C 'GABS: Absolute value of GTOT' GABS = ABS(GTOT) C 'EPSN1-2: Final disp in normal directions' C 'CP1 = Last stress value of adhesion graph' CN1 = (-1.D0)*CP1 C 'GP1 = Second disp value of adhesion graph' GN1 = (-1.D0)*GP1 CCN1 = (-1.D0)*CCP1 C 'Difference between fist 2 points in adhesion graph' C 'GP2 = Difference of displacement' C 'CP2 = Difference of stress' C 'TAN0 = Tangent of elastic part' TAN0 = CP2/GP2 GGN1 = (-1.D0)*GGP1 END IF END DO GLIM1 = GLISS-(CONT+CP1)/TAN0 GLIM2 = GLISS+(CP1-CONT)/TAN0 GLIM1 = MIN(GLIM1,GLIM2) GLIM2 = MAX(GLIM1,GLIM2) GLIMP1 = GMAXP-(CP1+CMAXP)/TAN0 GLIMP2 = GMAXP+(CP1-CMAXP)/TAN0 GLIMN1 = GMAXN-(CP1+CMAXN)/TAN0 GLIMN2 = GMAXN+(CP1-CMAXN)/TAN0 IF (DGLIS.GE.0.D0) THEN c WRITE(6,*) 'LOADING' IF (GTOT.GE.GMAXP) THEN c WRITE(6,*) 'Case 10:Monotonic Loading in Plastic Region' INDC = 10 ELSE IF (GTOT.LE.GMAXP) THEN IF (GTOT.GE.GLISS.AND.GTOT.LE.GLIM2) THEN c WRITE(6,*) 'Case 1' INDC = 1 ELSE IF (GTOT.GT.GLIM2.AND.GTOT.LT.GLIMP2) THEN c WRITE(6,*) 'Case 3' INDC = 3 ELSE IF (GTOT.GE.GLIMP2.AND.GTOT.LE.GMAXP) THEN c WRITE(6,*) 'Case 5' INDC = 5 END IF END IF ELSE IF (DGLIS.LE.0.D0)THEN c WRITE(6,*) 'UNLOADING' IF (GTOT.LE.GMAXN) THEN c WRITE(6,*) 'Case 20:Monotonic Unloading in Plastic Region' INDC = 20 ELSE IF (GTOT.GE.GMAXN) THEN IF (GTOT.GE.GLIM1.AND.GTOT.LE.GLISS) THEN c WRITE(6,*) 'Case 2' INDC = 2 ELSE IF (GTOT.GT.GLIMN1.AND.GTOT.LT.GLIM1) THEN c WRITE(6,*) 'Case 4' INDC = 4 ELSE IF (GTOT.LE.GLIMN1.AND.GTOT.GE.GMAXN) THEN c WRITE(6,*) 'Case 6' INDC = 6 END IF END IF END IF IF (INDC.EQ.1) THEN TAN1 = TAN0 CTOT = CONT+(GTOT-GLISS)*TAN1 GMAXPF = GMAXP GMAXNF = GMAXN CMAXPF = CMAXP CMAXNF = CMAXN ELSE IF (INDC.EQ.2) THEN TAN1 = TAN0 CTOT = CONT+(GTOT-GLISS)*TAN1 GMAXPF = GMAXP GMAXNF = GMAXN CMAXPF = CMAXP CMAXNF = CMAXN ELSE IF (INDC.EQ.3) THEN TAN1 = 0.D0 CTOT = CP1 GMAXP = MAX(GGP1,GMAXP) GMAXPF = GMAXP GMAXNF = GMAXN CMAXPF = CMAXP CMAXNF = CMAXN ELSE IF (INDC.EQ.4) THEN TAN1 = 0.D0 CTOT = CN1 GMAXN = MIN(GGN1,GMAXN) GMAXPF = GMAXP GMAXNF = GMAXN CMAXPF = CMAXP CMAXNF = CMAXN ELSE IF (INDC.EQ.5) THEN TAN1 = TAN0 CTOT = CP1+(GTOT-GLIMP2)*TAN1 GMAXPF = GMAXP GMAXNF = GMAXN CMAXPF = CMAXP CMAXNF = CMAXN ELSE IF (INDC.EQ.6) THEN TAN1 = TAN0 CTOT = CN1+(GTOT-GLIMN1)*TAN1 GMAXPF = GMAXP GMAXNF = GMAXN CMAXPF = CMAXP CMAXNF = CMAXN ELSE IF (INDC.EQ.10.) THEN IF (GTOT.LE.G2.AND.GTOT.GE.G1) THEN GMAXPF = GTOT GMAXNF = GMAXN CMAXPF = CTOT CMAXNF = CMAXN END IF END DO ELSE IF (INDC.EQ.20.) THEN IF (GABS.LE.G2.AND.GABS.GE.G1) THEN GMAXPF = GMAXP GMAXNF = GTOT CMAXPF = CMAXP CMAXNF = CTOT END IF END DO END IF SIGF(1) = CTOT SIGF(2) = VALMAT(2)*EPSN1 SIGF(3) = VALMAT(2)*EPSN2 VARF(1) = GMAXPF VARF(2) = GMAXNF VARF(3) = CMAXPF VARF(4) = CMAXNF VARF(5) = TAN1 c WRITE(6,*) 'SIGF(1):', SIGF(1) c WRITE(6,*) 'SIGF(2):', SIGF(2), 'SIGF(3):', SIGF(3) c WRITE(6,*) 'VALMAT2:', VALMAT(2), 'VALMAT3:', VALMAT(3) C WRITE(6,*) 'EPSN1:', EPSN1, 'EPSN2:', EPSN2 c WRITE(6,*) 'EPSI2', EPSI2, 'DEPS2', DEPS2 c WRITE(6,*) 'EPSI3', EPSI3, 'DEPS3', DEPS3 * WRITE(6,*) 'GLISS', GLISS, 'CONT', CONT * WRITE(6,*) 'GTOT', GTOT, 'CTOT', CTOT * WRITE(6,*) 'GMAXP', GMAXP, 'CMAXP', CMAXP * WRITE(6,*) 'GMAXPF', GMAXPF, 'CMAXPF', CMAXPF * WRITE(6,*) 'GMAXN', GMAXN, 'CMAXN', CMAXN * WRITE(6,*) 'GMAXNF', GMAXNF, 'CMAXNF', CMAXNF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales