C INCVAR SOURCE ROUX 07/10/25 21:15:48 5933 C INCREP SOURCE ROUX G-M 10/11/04 SUBROUTINE INCVAR(SIG,VAR,EPSVPT,VARPT,XMAT,NSTRS0, & MFR,NVARI,NCOMAT,INPLAS) IMPLICIT REAL*8(A-H,O-Z) DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*) DIMENSION XX(6),ST(3,3),D(3),XP(3,3) C*********************************************** C CALCUL MECANIQUE C*********************************************** C------------------------------ C Initialisation des variables C------------------------------ IF (INPLAS.EQ.137.OR.INPLAS.EQ.139) THEN IF (INPLAS.EQ.137) THEN C1=XMAT(11) gam1=XMAT(12) C2=XMAT(13) ELSE C1=XMAT(10) gam1=XMAT(11) C2=XMAT(12) ENDIF ENDIF C----------------- C Calcul de J2(ss) C----------------- C calcul de ss, déviateur des contraintes TRACE =(SIG(1)+SIG(2)+SIG(3))/3.0D0 DO 70 I=1,NSTRS0 A = 0.0D0 IF (I.LE.3) A=1.0D0 IF (INPLAS.EQ.136.OR.INPLAS.EQ.138) THEN XX(I) = SIG(I)-A*TRACE ENDIF IF (INPLAS.EQ.137.OR.INPLAS.EQ.139) THEN XXX = SIG(I)-A*TRACE-VAR(I)*C1 XX(I) = XXX-VAR(I+NSTRS0)*C2 ENDIF 70 CONTINUE AJ2 = PROCON (XX,XX,NSTRS0) AJ2 = SQRT(1.5D0*AJ2) C------------------ C test d'élasticité C------------------ IF (INPLAS.EQ.136.OR.INPLAS.EQ.138) THEN RR=VAR(1)*XMAT(6)*XMAT(7) ENDIF IF (INPLAS.EQ.137.OR.INPLAS.EQ.139) THEN RR=VAR((2*NSTRS0)+1)*XMAT(6)*XMAT(7) ENDIF SY=XMAT(5) EE=AJ2-SY-RR IF (EE.GT.0D0) THEN TESTE=0.0D0 ELSE TESTE=1.0D0 ENDIF C------------------------------------------------- C vitesse de déformation plastique cumulée ppt=rpt C------------------------------------------------- IF (TESTE.EQ.1.0D0) THEN RPT=0.0D0 ELSE IF (INPLAS.EQ.136.OR.INPLAS.EQ.137) THEN RPT1=EE/XMAT(8) RPT2=(exp(RPT1)-exp(-1.D0*RPT1))/2.d0 RPT=XMAT(10)*(RPT2)**XMAT(9) ENDIF IF (INPLAS.EQ.138.OR.INPLAS.EQ.139) THEN RPT=(EE/XMAT(8))**XMAT(9) ENDIF ENDIF IF (INPLAS.EQ.136.OR.INPLAS.EQ.138) THEN VARPT(2)=RPT ENDIF IF (INPLAS.EQ.137.OR.INPLAS.EQ.139) THEN VARPT((2*NSTRS0)+2)=RPT ENDIF C---------------------------------- C vitesses de déformation plastique C---------------------------------- IF (TESTE.EQ.1.0D0) THEN DO 80 I=1,NSTRS0 EPSVPT(I)=0.0D0 80 CONTINUE ELSE DO 90 I=1,NSTRS0 EPSVPT(I)=(1.5D0*RPT*XX(I))/AJ2 90 CONTINUE ENDIF C---------------------------------------------- C vitesse d'évolution de l'écrouissage isotrope C---------------------------------------------- IF (INPLAS.EQ.136.OR.INPLAS.EQ.138) THEN Dr=(1-XMAT(6)*VAR(1))*RPT VARPT(1)=Dr ENDIF IF (INPLAS.EQ.137.OR.INPLAS.EQ.139) THEN Dr=(1-XMAT(6)*VAR((2*NSTRS0)+1))*RPT VARPT((2*NSTRS0)+1)=Dr ENDIF C------------------------------------------------- C vitesse d'évolution de l'écrouissage cinematique C------------------------------------------------- IF (INPLAS.EQ.137.OR.INPLAS.EQ.139) THEN C======NON-LINEAIRE DO 96 I=1,NSTRS0 VARPT(I)=EPSVPT(I)-gam1*RPT*VAR(I) 96 CONTINUE C======NON-LINEAIRE DO 97 I=1,NSTRS0 VARPT(I+NSTRS0)=EPSVPT(I) 97 CONTINUE ENDIF RETURN END