C MATHOK    SOURCE    CHAT      05/01/13    01:34:13     5004
CCC
C **********************************************************************
CCC
C Matriz de Hook:
C     n   : dimension de la matriz
C     nsig: dimension de sigma
C     ifl : +1 matriz de Hook
C           -1 inversa
C Crisfield 1, pp107 (+1) (sigma, tau)=E (epsil, gamma=2 epsil)
CCC
      SUBROUTINE MATHOK (E,N,NSIG,IFL)
      IMPLICIT INTEGER(I-N)
      integer n,nsig,i,j,ifl
      real*8 E(n,n),aux0,aux1,aux2,aux3,you,xnu
      common /elasdata/ you,xnu
      if (ifl.eq.1) then
         aux0=you/((1.D0+xnu)*(1.D0-2.D0*xnu))
         aux1=(1.D0-xnu)*aux0
         aux2=xnu*aux0
         aux3=you/(2.D0*(1.D0+xnu))
      else if (ifl.eq.-1) then
         aux1=1.D0/you
         aux2=-xnu/you
         aux3=2.D0*(1.D0+xnu)/you
      else
         stop ' Error peticion a MatHook'
      endif
      do i=1,n
      do j=1,n
        E(i,j)=0.D0
      enddo
      enddo
      do i=1,3
         E(i,i)=aux1
      enddo
      E(1,2)=aux2
      E(1,3)=aux2
      E(2,1)=aux2
      E(2,3)=aux2
      E(3,1)=aux2
      E(3,2)=aux2
      if (n.lt.4) return
      do i=4,nsig
        E(i,i)=aux3
      enddo
      return
      end


