C MATLAS    SOURCE    AM        09/12/08    21:15:22     6582
      SUBROUTINE MATLAS(CMAT,NMAT,NSTRS,IFOUR,DEP,KERRE)
C
C ROUTINE APPELE DANS CAMECA
C_______________________________________________________________________
C
C        FORMATION DE LA MATRICE D ELASTICITE DE HOOKE
C_______________________________________________________________________
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION DEP(NSTRS,NSTRS),CMAT(NMAT)
C

      YOUN = CMAT(1)
      XNU  = CMAT(2)
C
      CALL ZERO(DEP,NSTRS,NSTRS)
C
      IF(IFOUR.EQ.-2) THEN
C
C CALCUL DES MATRICES D ELASTICITE SUIVANT LE TYPE DE CALCUL : DEP
C  - CONTRAINTES PLANES
C
         E1=YOUN/(1.D0-XNU*XNU)
         DEP(1,1)=E1
         DEP(1,2)=XNU*E1
         DEP(2,1)=XNU*E1
         DEP(2,2)=E1
         DEP(3,3)=E1*(1.D0-XNU)/2.D0
         GOTO 100
C
      ELSE IF((IFOUR.EQ.-1).OR.(IFOUR.EQ.0)) THEN
C
C  - DEFORMATION PLANE OU AXISYMETRIQUE
C
         E1=YOUN/(1.D0+XNU)/(1.D0-2.D0*XNU)
         DEP(1,1)=E1*(1.D0-XNU)
         DEP(1,2)=E1*XNU
         DEP(1,3)=E1*XNU
         DEP(2,1)=E1*XNU
         DEP(2,2)=E1*(1.D0-XNU)
         DEP(2,3)=E1*XNU
         DEP(3,1)=E1*XNU
         DEP(3,2)=E1*XNU
         DEP(3,3)=E1*(1.D0-XNU)
         DEP(4,4)=E1*(1.D0-2.D0*XNU)/2.D0
         GOTO 100
      ELSE
C
C  - CALCUL TRIDIMENSIONEL
C
         E1=YOUN/(1.D0+XNU)/(1.D0-2.D0*XNU)
         DEP(1,1)=E1*(1.D0-XNU)
         DEP(1,2)=E1*XNU
         DEP(1,3)=E1*XNU
         DEP(2,1)=E1*XNU
         DEP(2,2)=E1*(1.D0-XNU)
         DEP(2,3)=E1*XNU
         DEP(3,1)=E1*XNU
         DEP(3,2)=E1*XNU
         DEP(3,3)=E1*(1.D0-XNU)
         DEP(4,4)=E1*(1.D0-2.D0*XNU)/2.D0
         DEP(5,5)=E1*(1.D0-2.D0*XNU)/2.D0
         DEP(6,6)=E1*(1.D0-2.D0*XNU)/2.D0
         GOTO 100
      ENDIF
C
      WRITE(*,*) 'ERREUR DANS MATLAS : PB DE DIMENSION'
      KERRE=99
  100 CONTINUE
C
      END


