C CELAST    SOURCE    STRU      08/12/22    21:15:01     6246
c     Sous-Programme du module MISTRAL0
C     --------------------------------------------------------------------------
      SUBROUTINE CELAST (TT, PCOEL, E1,E2,E3, E1P,E2P,E3P,
     &                   XNU12,XNU23,XNU31, XNU12P,XNU23P,XNU31P,
     &                   XMU12,XMU13,XMU23, XMU12P,XMU13P,XMU23P)
C     --------------------------------------------------------------------------
C     Calcul des :
C     - modules d'Young :          E1, E2, E3,
C     - coefficients de Poisson :  XNU12, XNU23, XNU31,
C     - modules de cisaillement :  XMU12, XMU13, XMU23
C     et de leurs derivees en fonction de la temperature TT :
C     E1P, E2P, E3P, XNU12P, XNU23P, XNU31P, XMU12P, XMU13P, XMU23P.
C     --------------------------------------------------------------------------
      IMPLICIT INTEGER (I-N)
      IMPLICIT REAL*8 (A-H, O-Z)
        DIMENSION PCOEL(1:*)
      ISOEL = NINT(PCOEL(1))
      IF (ISOEL.EQ.1) THEN
C     -----------------
C     Materiau isotrope
C
         YOUNG = PCOEL(2)+PCOEL(3)*TT
         POIS = PCOEL(4)+PCOEL(5)*TT
         CISAIL = YOUNG/(2.*(1.+POIS))
         CISAIP = (PCOEL(3)/(1.+POIS)-YOUNG*PCOEL(5)/(1.+POIS)**2)/2.
         E1 = YOUNG
         E1P = PCOEL(3)
         E2 = YOUNG
         E2P = PCOEL(3)
         E3 = YOUNG
         E3P = PCOEL(3)
         XNU12 = POIS
         XNU12P = PCOEL(5)
         XNU23 = POIS
         XNU23P = PCOEL(5)
         XNU31 = POIS
         XNU31P = PCOEL(5)
         XMU12 = CISAIL
         XMU12P = CISAIP
         XMU13 = CISAIL
         XMU13P = CISAIP
         XMU23 = CISAIL
         XMU23P = CISAIP
      ELSE
C     -------------------
C     Materiau orthotrope
C
         E1 = PCOEL(2)+PCOEL(3)*TT
         E1P = PCOEL(3)
         E2 = PCOEL(4)+PCOEL(5)*TT
         E2P = PCOEL(5)
         E3 = PCOEL(6)+PCOEL(7)*TT
         E3P = PCOEL(7)
         XNU12 = PCOEL(8)+PCOEL(9)*TT
         XNU12P = PCOEL(9)
         XNU23 = PCOEL(10)+PCOEL(11)*TT
         XNU23P = PCOEL(11)
         XNU31 = PCOEL(12)+PCOEL(13)*TT
         XNU31P = PCOEL(13)
         XMU12 = PCOEL(14)+PCOEL(15)*TT
         XMU12P = PCOEL(15)
         XMU13 = PCOEL(16)+PCOEL(17)*TT
         XMU13P = PCOEL(17)
         XMU23 = PCOEL(18)+PCOEL(19)*TT
         XMU23P = PCOEL(19)
        END IF
      RETURN
        END

