incre5
C INCRE5 SOURCE CB215821 16/04/21 21:17:10 8920 & MFR,NVARI,NCOMAT) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*) DIMENSION XX(6),XT1(6),XT2(6),AN(6),ANS(6),YY(6) DIMENSION XK1(6),XK2(6) DIMENSION SIG0(6),EPS0(6) PARAMETER (AMAX = 1.0D20 , AMIN = 1.D-10) DETIER = 2.0D0/3.0D0 ROOT = SQRT(DETIER) C-------------------------------------------------------------------| C******* EVALUATION OF J2 SIGMA - X | C-------------------------------------------------------------------I IF (MFR.EQ.5) THEN NSTRS=6 SIG0(1)=SIG(1) SIG0(2)=SIG(2) SIG0(3)=0.D0 SIG0(4)=SIG(3) SIG0(5)=SIG(4) SIG0(6)=SIG(5) ELSE NSTRS=NSTRS0 DO 10 I=1,NSTRS SIG0(I)=SIG(I) 10 CONTINUE ENDIF DO 70 I=1,NSTRS A = 0.0D0 IF (I.LE.3) A=1.0D0 70 CONTINUE AJ2 = SQRT(1.5D0*AJ2) C--------------------------------------------------------------------| C******* CALCUL OF SIGV/K | C -------------------------------------------------------------------I RR = VAR (4*NSTRS+2) RS = XMAT(10)*RR SK = (AJ2 - RS-XMAT(7))/( XMAT(8) + XMAT(9)*RR ) C--------------------------------------------------------------------| C******* CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) | C -------------------------------------------------------------------I IF (SK.GT.0.0D0) THEN ELSE PPT1= 0.0D0 PPT2= 0.0D0 ENDIF PPT2=1.0D20 PPT = PPT1 * PPT2 VARPT(4*NSTRS+1) = PPT C---------------------------------------------------------------------| C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPS0) | C---------------------------------------------------------------------I DO 71 I=1,NSTRS,1 IF (PPT.EQ.0.0) THEN EPS0 (I) = 0.0D0 XX (I) = 0.0D0 VARPT(3*NSTRS+I)= 0.0D0 ELSE XX(I) = 1.5D0*XX(I)/AJ2 EPS0 (I) = XX(I)*PPT VARPT(3*NSTRS+I)=EPS0(I) ENDIF 71 CONTINUE C P = VAR(4*NSTRS+1) C----------------------------------------------------------------| C ******* CALCULATION OF PI(P) | C----------------------------------------------------------------I C----------------------------------------------------------------| C******* CALCULATION OF XII | C----------------------------------------------------------------I DO 72 I=1,NSTRS XT1(I)=VAR(I) XT2(I)=VAR(I+NSTRS) 72 CONTINUE X1II = 0.0D0 X2II = 0.0D0 IF(XMAT(17).NE.0.0D0) IF(XMAT(18).NE.0.0D0) COX1 = 0.0D0 COX2 = 0.0D0 IF(X1II.GT.0.0D0) then clox1=(xmat(19)-1.D0)*log(X1II) clox1=min(max(-300d0,clox1),300d0) COX1 = exp(clox1) endif IF(X2II.GT.0.0D0) then clox2=(xmat(20)-1.D0)*log(X2II) clox2=min(max(-300d0,clox2),300d0) COX2 = exp(clox2) endif ** IF(X2II.GT.0.0D0) COX2 = X2II**(XMAT(20)-1.0D0) C-----------------------------------------------------------------| C******* CALCULATION OF ( (X/r)**EXP ) * < DEPST : k > | C-----------------------------------------------------------------| IF (X1II.NE.0.D0) THEN DO 720 I=1,NSTRS XK1(I)=XT1(I)/X1II 720 CONTINUE ELSE DO 721 I=1,NSTRS XK1(I)=0.D0 721 CONTINUE ENDIF IF (X2II.NE.0.D0) THEN DO 722 I=1,NSTRS XK2(I)=XT2(I)/X2II 722 CONTINUE ELSE DO 723 I=1,NSTRS XK2(I)=0.D0 723 CONTINUE ENDIF IF (PROD1.LT.0.D0) PROD1=0.D0 IF (PROD2.LT.0.D0) PROD2=0.D0 XLIM1=XMAT(12)/PIP XLIM2=XMAT(15)/PIP RAPP1=(X1II/XLIM1)**XMAT(27) RAPP2=(X2II/XLIM2)**XMAT(28) PPT10=RAPP1*PROD1 PPT20=RAPP2*PROD2 C ----------------------------------------------------------------| C******* CALCULATION OF DX1 AND DX2 | C-----------------------------------------------------------------I DO 73 I=1,NSTRS VARPT( I)=0.0D0 73 VARPT(NSTRS+I)=0.0D0 DO 74 I=1,NSTRS T3 = COX1 * XT1(I) T3 = COX2 * XT2(I) C-----------------------------------------------------------------| C******* CALCULATION OF DR | C-----------------------------------------------------------------I CO1= QR-VAR(4*NSTRS+2) CO = ABS(CO1) IF(CO.GT.0.0D0) CO = CO**(XMAT(22)-1.0D0) VARPT(4*NSTRS+2)=DR C----------------------------------------------------------------| C******* CALCULATION OF PROD (N X N*) | C----------------------------------------------------------------I DO 75 I=1,NSTRS * A=1.0D0 * IF(I.GT.3) A = 2.0D0 YY(I)=VAR(3*NSTRS+I) - VAR(2*NSTRS+I) 75 CONTINUE IF(AJ2.LT.AMIN) AJ2=AMIN DO 76 I= 1,NSTRS ANS(I) = SQRT(1.5D0)*YY(I)/AJ2 AN (I) = ROOT*XX(I) 76 CONTINUE FF = DETIER*AJ2-VAR(4*NSTRS+4) HF=0.0D0 IF(FF.GT.0.0D0) HF=1.0D0 ANANS=0.0D0 IF(ANAN1.GT.0.0) ANANS=ANAN1 C----------------------------------------------------------------| C******* CALCULATION OF DQ | C----------------------------------------------------------------I DQ = XMAT(23)*HF*ANANS*PPT VARPT(4*NSTRS+4)=DQ C----------------------------------------------------------------| C******* CALCULATION OF DGETA | C----------------------------------------------------------------I DO 78 I=1,NSTRS 78 CONTINUE C----------------------------------------------------------------| C******* CALCULATION OF DQQ | C----------------------------------------------------------------I VARPT(4*NSTRS+3)=2.0D0*XMAT(24)*(XMAT(25)-VAR(4*NSTRS+3))*DQ C C IF (MFR.EQ.5) THEN EPSVPT(1)=EPS0(1) EPSVPT(2)=EPS0(2) EPSVPT(3)=EPS0(4) EPSVPT(4)=EPS0(5) EPSVPT(5)=EPS0(6) ELSE DO 11 I=1,NSTRS EPSVPT(I)=EPS0(I) 11 CONTINUE ENDIF C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales