C SAUFLD    SOURCE    CB215821  26/08/24    21:18:24     12622          
      SUBROUTINE SAUFLD(VARF,NVARI,CMAT,NMAT,SIGF,
     $           SIGEF,NSTRS,IFOUR,NFLU,EPSFLU,AN,BN,CN)
C
C_______________________________________________________________________
C
C SOUS PROGRAMME QUI CALCUL LA DEFORMATION
C DE FLUAGE PROPRE A LA FIN DU PAS DE TEMPS
C_______________________________________________________________________
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION VARF(NVARI),CMAT(NMAT),SIGF(NSTRS),SIGEF(NSTRS)
      DIMENSION EPSFLU(6),SIGFI(10)
      DIMENSION AN(NSTRS),BN(NSTRS,NSTRS),CN(NSTRS,NSTRS)

C
C  TEST DE DIMENSION
C
      IF(NSTRS.GT.10) THEN
          PRINT *, 'SAUFLD - DIMENSION INSUFFISANTE'
          RETURN
      ENDIF

C
C RECUPERATION DES VALEURS DES PARAMETRES MATERIAU
C
      TDT  = CMAT(NMAT)
C
C RECUPERATION DES VARIABLES INTERNES INITIALES
C
C   FLUAGE PROPRE
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  TEST SI LE TEMPS EST NUL
C
      IF (TDT.EQ.0.D0) THEN
        GOTO 30
      ENDIF
C
C INITIALISATION DES MATRICES
C
      CALL ZERO(AN,NSTRS,1)
      CALL ZERO(BN,NSTRS,NSTRS)
      CALL ZERO(CN,NSTRS,NSTRS)
      CALL ZERO(SIGFI,NSTRS,1)
C
      DO 10 I=1,NSTRS
          SIGFI(I) = SIGF(I)
  10  CONTINUE
C
C_______________________________________________________________________
C
C  FLUAGE PROPRE KELVIN VOIGT
C
      NDI = NSTRS
      CALL FLUD(VARF,NVARI,CMAT,NMAT,IFOUR,NSTRS,
     $                 AN,BN,CN,NFLU,NDI)
C
      DO 31 I=1,NSTRS
        EPSFLU(I) = EPSFLU(I) + AN(I)
        DO 20 J=1,NSTRS
          EPSFLU(I) = EPSFLU(I) + BN(I,J)*SIGEF(J) + CN(I,J)*SIGFI(J)
  20  CONTINUE
   31 CONTINUE
C
  30  CONTINUE
C
C  SAUVEGARDE DES DEFORMATIONS
C
C    FLUAGE PROPRE
C
      VARF(3 + (6 * NFLU) ) = EPSFLU(1)
      VARF(4 + (6 * NFLU) ) = EPSFLU(2)
      VARF(5 + (6 * NFLU) ) = EPSFLU(3)
      VARF(6 + (6 * NFLU) ) = EPSFLU(4)
      VARF(7 + (6 * NFLU) ) = EPSFLU(5)
      VARF(8 + (6 * NFLU) ) = EPSFLU(6)
C
      END


 
