C TP3D      SOURCE    FD218221  24/02/07    21:15:28     11834          
        subroutine tp3d(x3,xd3,devi,trac,press)

c      calcul des deux 1er invariant d un tenseur d ordre 2 à partir
c      des valeurs principales

c      declarations externes
       implicit integer(i-n)
       implicit real*8(a-h,o-z)

       real*8 x3(3),xd3(3),devi,trac,press
       real*8 aux1

       integer i

       trac=0.d0
       do i=1,3
            trac=trac+x3(i)
       end do
       press=-trac/3.d0
       devi=0.d0
       do i=1,3
            xd3(i)=x3(i)+press
            devi=devi+xd3(i)**2
       end do
       devi=sqrt(devi/2.d0)
       return
       end

         
         
 
