C EPLR3D    SOURCE    PV090527  23/01/27    21:15:32     11574          
      SUBROUTINE EPLR3D(G,K,s1,s2,s3,f1,f2,f3,Vdep,numcas)
c     Ecoulement plastique Trois Rankine (A.Sellier 2021/04/22)
      implicit real*8 (a-h,o-z)
      implicit integer (i-n)

      real*8 G,K,s1,s2,s3,f1,f2,f3,Vdep(3)
      integer numcas
      
      if (numcas.eq.1) then
c       cas 1-3
      Vdep(1) = 0.3D1 * f1 / (0.4D1 * G + 0.3D1 * K)
      Vdep(2) = 0.d0
      Vdep(3) = 0.d0 
      
      else if (numcas.eq.2) then
c       cas 1-2
      Vdep(1) = (0.4D1 * G * f1 + 0.2D1 * G * f2 + 0.3D1 * K * f1 - 0.3D
     #1 * K * f2) / G / (G + 0.3D1 * K) / 0.4D1
      Vdep(2) = (0.2D1 * G * f1 + 0.4D1 * G * f2 - 0.3D1 * K * f1 + 0.3D
     #1 * K * f2) / G / (G + 0.3D1 * K) / 0.4D1
      Vdep(3) = 0.d0
      
      else if(numcas.eq.3) then
c       cas 1-1     
      Vdep(1) = (0.2D1 * G * f1 + 0.2D1 * G * f2 + 0.2D1 * G * f3 + 0.6D
     #1 * K * f1 - 0.3D1 * K * f2 - 0.3D1 * K * f3) / G / K / 0.18D2
      Vdep(2) = (0.2D1 * G * f1 + 0.2D1 * G * f2 + 0.2D1 * G * f3 - 0.3D
     #1 * K * f1 + 0.6D1 * K * f2 - 0.3D1 * K * f3) / G / K / 0.18D2
      Vdep(3) = (0.2D1 * G * f1 + 0.2D1 * G * f2 + 0.2D1 * G * f3 - 0.3D
     #1 * K * f1 - 0.3D1 * K * f2 + 0.6D1 * K * f3) / G / K / 0.18D2

      else
        print*,'incoherence dans eplr3d cas:',numcas
        ierr1=1
      end if

     
      return
      end
      
 
