C FLUD      SOURCE    CB215821  16/04/21    21:16:54     8920
      SUBROUTINE FLUD(VARF,NVARI,CMAT,NMAT,IFOUR,NSTRS,
     $                       AN,BN,CN,NFLU,NDI)
C
C_______________________________________________________________________
C
C SOUS PROGRAMME QUI CALCUL LES MATRICES DE DEFORMATION
C  DE FLUAGE PROPRE
C   D APRES LE MODELE DE KELVIN
C_______________________________________________________________________
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION VARF(NVARI),CMAT(NMAT),EPSFLU(6)
      DIMENSION AN(*),BN(NDI,*),CN(NDI,*)
C
      CALL ZERO(AN,NSTRS,1)
      CALL ZERO(BN,NDI,NSTRS)
      CALL ZERO(CN,NDI,NSTRS)
C
C RECUPERATION DES VALEURS DES PARAMETRES MATERIAU
C
      RRDV = CMAT(8 + (2 * NFLU) )
      TDT  = CMAT(NMAT)
      TDEV = CMAT(9 + (2 * NFLU))
      TDEXP = EXP(-TDT/TDEV)
      XNU  = CMAT(24)

C
C RECUPERATION DES VARIABLES INTERNES INITIALES
C
C    REMPLISSAGE DES VECTEURS DE DEFORMATION DE FLUAGE
C
      EPSFLU(1) = VARF(3 + (6 * NFLU) )
      EPSFLU(2) = VARF(4 + (6 * NFLU) )
      EPSFLU(3) = VARF(5 + (6 * NFLU) )
      EPSFLU(4) = VARF(6 + (6 * NFLU) )
      EPSFLU(5) = VARF(7 + (6 * NFLU) )
      EPSFLU(6) = VARF(8 + (6 * NFLU) )
C
C
C CONSTRUCTION DE LA MATRICE
C
      ADR = TDEXP - 1.D0
      BDR = 1.D0/RRDV*( TDEXP*(-(2*TDEV/TDT+1.D0) + TDEV/TDT)
     $      + (2.D0*(TDEV-TDT)/TDT+1.D0) - (TDEV-TDT)/TDT )
      CDR = 1.D0/(TDT*RRDV)*( TDEV*TDEXP - (TDEV - TDT) )

C
      DO 10 I=1,NSTRS
          AN(I) = ADR * EPSFLU(I)
  10  CONTINUE
C
      IF(IFOUR.EQ.-2) THEN
C
C  - CONTRAINTES PLANES
C
         BN(1,1)=1.D0
         BN(1,2)=-XNU
         BN(2,1)=BN(1,2)
         BN(2,2)=BN(1,1)
         BN(3,3)=1.D0+XNU
      ELSE IF((IFOUR.EQ.-1).OR.(IFOUR.EQ.0)) THEN
C
C  - DEFORMATION PLANE OU AXISYMETRIQUE
C
         BN(1,1)=1.D0
         BN(1,2)=-XNU
         BN(1,3)=BN(1,2)
         BN(2,1)=BN(1,2)
         BN(2,2)=BN(1,1)
         BN(2,3)=BN(1,2)
         BN(3,1)=BN(1,2)
         BN(3,2)=BN(1,2)
         BN(3,3)=BN(1,1)
         BN(4,4)=1.D0+XNU
      ELSE
C
C  - CALCUL TRIDIMENSIONEL
C
         BN(1,1)=1.D0
         BN(1,2)=-XNU
         BN(1,3)=BN(1,2)
         BN(2,1)=BN(1,2)
         BN(2,2)=BN(1,1)
         BN(2,3)=BN(1,2)
         BN(3,1)=BN(1,2)
         BN(3,2)=BN(1,2)
         BN(3,3)=BN(1,1)
         BN(4,4)=1.D0+XNU
         BN(5,5)=BN(4,4)
         BN(6,6)=BN(4,4)
      ENDIF
C
      DO 20 I=1,NSTRS
        DO 20 J=1,NSTRS
          CN(I,J) = CDR * BN(I,J)
          BN(I,J) = BDR * BN(I,J)
  20  CONTINUE
C
      END




