C ENPLAS    SOURCE    LJASON    07/09/24    21:15:08     5866
       SUBROUTINE ENPLAS(XMAT,NMATT,VAR0,VARF,NVARI,SIG0,
     & SIGF,DEPST,NSTRS,KERRE, ISTEP)

*******************************************************
*     Variables                                       *
*                                                     *
*     XMAT : Variables matériau                       *
*                                                     *
*     VAR0 : Variables internes à l'état initial      *
*     VARF : Variables internes après incrément       *
*                                                     *
*     SIG0 : Contrainte à l'incrément précédent       *
*     SIGF : Contrainte à l'incrément suivant         *
*                                                     *
*     DEPST : Incrément de déplacement total imposé   *
*******************************************************

      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

*****************************
* Déclaration des variables *
*****************************

      INTEGER NMATT, NVARI, NSTRS, KERRE, ISTEP

* Entrees
      REAL*8 XMAT(NMATT), VAR0(NVARI), SIG0(NSTRS)
      REAL*8 DEPST(NSTRS) , SIG02(6)

* Sorties
      REAL*8 SIGF(NSTRS), VARF(NVARI)

* Matrice tangente
      REAL*8 DSDE(6,6)

* Variables materiau
      REAL*8 E,NU
      REAL*8 AC, AT, BC, BT, EPSD0, RC, RT
      REAL*8 P, AH, BH, CH, GAMMA, ALPHA
      REAL*8 A, K0, BETA

* Transport des deformations
      DO I = 4,NSTRS
        DEPST(I) = DEPST(I)/2.d0
      END DO

      DO I=1,NSTRS
         SIG02(I) = SIG0(I)
      END DO

********************
* Partie plastique *
********************

         CALL PPLAST(XMAT,NMATT,VAR0,VARF,NVARI,SIG0,SIGF,DEPST,
     &   NSTRS,KERRE)

         DO I = 1,NSTRS
           SIG0(I) = SIGF(I)
         END DO

************************
* Partie endommagement *
************************

* Appel a la routine MAZARS modifiee

         CALL NMAZAR(XMAT,NMATT,VAR0,VARF,NVARI,SIG0,SIGF,
     &   DEPST,NSTRS,ISTEP)

       DO I = 4,NSTRS
         DEPST(I)=2.d0*DEPST(I)
       END DO

       IF (ISTEP.EQ.1) THEN
         DO I=1,NSTRS
            SIGF(I)=SIG02(I)
         END DO
       END IF

       IF (KERRE.NE.0.d0) THEN
         WRITE(*,*) KERRE
       END IF

       RETURN
       END

