C ELAST     SOURCE    STRU      08/12/22    21:15:15     6246
c     Sous-Programme du module MISTRAL0
C     --------------------------------------------------------------------------
      SUBROUTINE ELAST (TT,TTP,SIG, PCOEL, SOEL,VEPEL0)
C     --------------------------------------------------------------------------
C     Calcul :
C     - des coefficients d'elasticite skl (de souplesse) :
C             s11 = 1/E1          s22 = 1/E2          s33 = 1/E3
C             s12 = -XNU12/E1     s23 = -XNU23/E2     s31 = -XNU31/E3
C             s44 = 1/(2.XMU12)   s55 = 1/(2.XMU13)   s66 = 1/(2.XMU23)
C     stockes dans SOEL(K,L),
C     - de la matrice VEPEL0 definie par :
C                           VEPSEL = VEPEL0 + SOEL*SIGP
C     donnant les vitesses de deformations elastiques VEPSEL(IJ) en fonction
C     des derivees par rapport au temps des contraintes SIGP(IPJP).
C     --------------------------------------------------------------------------
      IMPLICIT INTEGER (I-N)
      IMPLICIT REAL*8 (A-H, O-Z)
        DIMENSION SIG(1:*),PCOEL(1:*)
        DIMENSION SOEL(1:6,1:*),VEPEL0(1:*)
      DO K = 4,6
         DO L = 1,K-1
          SOEL(K,L) = 0.
          SOEL(L,K) = 0.
         END DO
        END DO
      CALL CELAST (TT, PCOEL, E1,E2,E3, E1P,E2P,E3P,
     &             XNU12,XNU23,XNU31, XNU12P,XNU23P,XNU31P,
     &             XMU12,XMU13,XMU23, XMU12P,XMU13P,XMU23P)
      SOEL(1,1) = 1./E1
        SOEL(2,2) = 1./E2
        SOEL(3,3) = 1./E3
        SKL = -XNU12/E1
        SOEL(1,2) = SKL
        SOEL(2,1) = SKL
        SKL = -XNU23/E2
        SOEL(2,3) = SKL
        SOEL(3,2) = SKL
        SKL = -XNU31/E3
        SOEL(3,1) = SKL
        SOEL(1,3) = SKL
      SOEL(4,4) = 0.5/XMU12
      SOEL(5,5) = 0.5/XMU13
      SOEL(6,6) = 0.5/XMU23
      S11P = -E1P/E1**2
      S22P = -E2P/E2**2
      S33P = -E3P/E3**2
      S12P = -XNU12P/E1-XNU12*S11P
      S23P = -XNU23P/E2-XNU23*S22P
      S31P = -XNU31P/E3-XNU31*S33P
      S44P = -0.5*XMU12P/XMU12**2
      S55P = -0.5*XMU13P/XMU13**2
      S66P = -0.5*XMU23P/XMU23**2
        VEPEL0(1) = (S11P*SIG(1)+S12P*SIG(2)+S31P*SIG(3))*TTP
        VEPEL0(2) = (S12P*SIG(1)+S22P*SIG(2)+S23P*SIG(3))*TTP
        VEPEL0(3) = (S31P*SIG(1)+S23P*SIG(2)+S33P*SIG(3))*TTP
        VEPEL0(4) = S44P*SIG(4)*TTP
        VEPEL0(5) = S55P*SIG(5)*TTP
        VEPEL0(6) = S66P*SIG(6)*TTP
        RETURN
        END

