C AVANX1    SOURCE    CB215821  17/11/30    21:15:12     9639           
      SUBROUTINE AVANX1(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,
     &SIGD,EPSVD,VARD,NSTRS,NVARI)
C
C----------------------------------------------------------------
C Objet: Mise a jour des variables internes
C                    des deformations plastiques
C                    des contraintes
C----------------------------------------------------------------
C
C----------------------------------------------------------------
C Entree: TAU pas de temps
C         SIG(NSTRS,NSTRS) contraintes au debut du pas
C         EPSV(NSTRS,NSTRS) deformations plastiques
C           au debut du pas
C         VAR(NVARI) variables internes au debut du pas
C         EPSVD(NSTRS,NSTRS) vitesse de deformations
C           visco-plastiques calculees au debut du pas
C         VARD(NVARI) vitesse des variables internes au debut du pas
C         SIGD(NSTRS) vitesse des contraintes
C-------------------------------------------------------------
C
C-------------------------------------------------------------
C Sortie: SIG1(NSTRS,NSTRS) etat de contraintes a la fin du pas
C         EPSV1(NSTRS,NSTRS) deformations plastiques la fin
C           du pas
C         VAR1(NVARI) variables internes a la fin du pas
C--------------------------------------------------------------
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      logical dtlibr
      DIMENSION SIG(*),EPSV(*),VAR(*)
      DIMENSION SIG1(*),EPSV1(*),VAR1(*)
      DIMENSION EPSVD(*),VARD(*),SIGD(*)
      DIMENSION D1(3,3),Di(3),ROT(3,3)
C     write(6,*) 'Entrée dans AVANX1'
C
C----------------------
C CALCULATE   VARIABLES
C----------------------
20    DO 50 I = 1,7
50      VAR1(I) = VAR(I)+TAU*VARD(I)
      XD11=VAR1(2)
      XD22=VAR1(3)
      XD33=VAR1(4)
      XD12=VAR1(5)
      XD13=VAR1(6)
      XD23=VAR1(7)
      CALL ZERO(D1,3,3)
      D1(1,1) = XD11
      D1(2,2) = XD22
      D1(3,3) = XD33
      D1(1,2) = XD12
      D1(1,3) = XD13
      D1(2,3) = XD23
      D1(2,1) = D1(1,2)
      D1(3,1) = D1(1,3)
      D1(3,2) = D1(2,3)
C
      CALL JACOB3(D1,3,Di,ROT)
C
      ADMAX =  MAX(Di(1),Di(2),Di(3))
      VAR1(8)=ADMAX
C
C-------------------------------
C CALCULATE  PLASTIC  STRAINS
C-------------------------------
      DO  60 I = 1,NSTRS
60    EPSV1(I) = EPSV(I)+TAU*EPSVD(I)
C
C -------------------------------
C CALCULATE STRESS
C--------------------------------
      DO 70 I=1,NSTRS
70      SIG1(I)=SIG(I)+TAU*SIGD(I)
      RETURN
      END





 
