C ECORHM    SOURCE    PV        22/04/22    21:15:09     11344          
CCC
C **********************************************************************
CCC
      SUBROUTINE ECO_RHMC (SIGINI,VARINI,DSIGTR,SIGFIN,VARFIN,
     .                     ddefpl,iplast,ndims,xmat,kerre,
     .                     precis,nitmax,nescri,ues,iterlocal)
      IMPLICIT INTEGER(I-N)
      integer   ndims,kerre,nitmax,nescri,ues,ione,
     .          iplast,i,iterlocal
      real*8    sigini(    6),varini(2),ddefpl(    6),sigtr(    6),
     .          sigfin(    6),varfin(2),xmat(*),precis,sigtri(6),
     .          xtri(7),xini(7),lini,resu,dsigtr(6),void(1)
      void(1)  =0.D0
      ione  =1
      kerre =0
      iplast=1
      do i=1,7
        xtri(i)=0.D0
        xini(i)=0.D0
      enddo
      call carac_mate_rhmc(xmat)
      do i=1,ndims
        sigtri(i)=sigini(i)+dsigtr(i)
      enddo
      call yielddRHMC(sigtri,ndims,void,ione,resu)
      if (resu.le.0.D0) then
         if (nescri.eq.1) write(ues,*)' Paso elastico'
         iplast=0
         do i=1,ndims
           sigfin(i)=sigtri(i)
         enddo
         varfin(1)=varini(1)
         varfin(2)=-1.D0
         iterlocal=0
         return
      endif
      if (nescri.eq.1) write(ues,*)' Paso plastico'
      do i=1,ndims
         xtri(i)=sigtri(i)
         xini(i)=sigtri(i)
      enddo
      lini=0.D0
      call Integra0RHMC(xtri,xini,ndims,lini,ddefpl,ndims,
     .                  precis,nitmax,nescri,ues,kerre,iterlocal)
      varfin(1)=varini(1)+lini
      varfin(2)=lini
        do i=1,ndims
          sigfin(i)=xini(i)
        enddo
      return
      end



 
