C CMAXGE    SOURCE    PV        17/12/08    21:15:52     9660           
       SUBROUTINE CMAXGE(WRK52,WRK53,WRK54,WR12,
     1      IB,IGAU,NCHAIN,DT,NWA)
C MAXGEN    SOURCE    AM        00/12/13    21:37:45     4045
*       SUBROUTINE MAXGEN(WRK0,WRK1,WRK5,WR12,MFR,
*     1      IB,IGAU,MELE,NCHAIN,KERRE,DT,CMATE,NWA,TEMP0)
*
*==============================================================
*      chaine de Maxwell pour les coques et plaques
*==============================================================
*
* entrees
*        XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
*
*        SIG0(NSTRS)  = CONTR. AU DEBUT DU PAS D'INTEGRATION
*        DEPST(NSTRS) = INCREMENT DES DEFORM. TOTALES
*        VAR0(NVARI)  = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION
*        XCAR(ICARA)  = CARACT. GEOMETRIQUES DES ELEMENTS FINIS
*
*        EPINO(NSTRS) = DEFORMATION INELASTIQUE AU DEBUT DU PAS D'INTEGRATION
*
*   WRK12
*        EMi(2,NWA(i+1))    i=0 a 8
*                        = EVOLUTION DU MODUE D'YOUNG DE LA BRANCHE i
*        SMi(NSTRS)         i=1 a 8
*                         = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION
*
*   IB = NUMERO DE L'ELEMENT
*   IGAU = NUMERO DU POINT DE GAUSS
*   MELE = NUMERO DE L'ELEMENT FINI (TYPE)
*   NCHAIN = NOMBRE DE BRANCHE DU MODELE DE MAXWELL
*   DT = INCREMENT DE TEMPS
*   NWA = DIMENSION DES EVOLUTIONS EMi
*   TEMP0 = TEMPS COURANT
*

* sorties
*
*        SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION
*        DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS
*               D'INTEGRATION
*
*        EPINF(NSTRS) = DEFORMATION INELASTIQUE A LA FIN DU PAS D'INTEGRATION
*
*==============================================================
*
      IMPLICIT INTEGER(I-N)
       IMPLICIT REAL*8(A-H,O-Z)

-INC PPARAM
-INC CCOPTIO
-INC DECHE
*
*
      SEGMENT WR12
        REAL*8  EM0(2,NWA(1)),EM1(2,NWA(2)),EM2(2,NWA(3))
        REAL*8  EM3(2,NWA(4)),EM4(2,NWA(5)),EM5(2,NWA(6))
        REAL*8  EM6(2,NWA(7)),EM7(2,NWA(8)),EM8(2,NWA(9))
        REAL*8  SM0(NSTRS),SM1(NSTRS),SM2(NSTRS),SM3(NSTRS)
        REAL*8  SM4(NSTRS),SM5(NSTRS),SM6(NSTRS),SM7(NSTRS)
        REAL*8  SM8(NSTRS)
      ENDSEGMENT
*

       DIMENSION NWA(9)
       NCXMAT=XMAT(/1)
       NVARI=VAR0(/1)
       NSTRS=SIG0(/1)
       ANU=XMAT(2)
       UNANU=1.D0-ANU
       TPS1=TEMP0
       TPS2=TEMP0+DT
       SE1=0.D0
       SE2=0.D0

*
         ep=xcarb(1)

      IF(CMATE.EQ.'ISOTROPE') THEN
******************************************************
*        Formulations  COQUES MINCES - ISOTROPE      *
******************************************************

***        TRIDIMENSIONNEL - FOURIER
         IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN

         CONS=1.D0/(1.D0-(ANU*ANU))
         CONS1=1.D0/(1.D0+ANU)
         ep=xcarb(1)

         DO 10 M=0,NCHAIN-1
         CALL CMODFI(TPS1,TPS2,M,WR12,WRK52,WRK53,
     1                NWA,EFIC,TR,E1,E2)
           SE1=SE1+E1
           SE2=SE2+E2
           FLUA=EXP(-TR*DT)
           IF (M.EQ.0) THEN
             SM0(1)=SM0(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM0(2)=SM0(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM0(3)=SM0(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM0(4)=SM0(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM0(5)=SM0(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM0(6)=SM0(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SM0(I)
             ENDDO
           ELSE IF (M.EQ.1) THEN
             SM1(1)=SM1(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM1(2)=SM1(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM1(3)=SM1(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM1(4)=SM1(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM1(5)=SM1(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM1(6)=SM1(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM1(I)
             ENDDO
           ELSE IF (M.EQ.2) THEN
             SM2(1)=SM2(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM2(2)=SM2(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM2(3)=SM2(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM2(4)=SM2(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM2(5)=SM2(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM2(6)=SM2(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM2(I)
             ENDDO
           ELSE IF (M.EQ.3) THEN
             SM3(1)=SM3(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM3(2)=SM3(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM3(3)=SM3(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM3(4)=SM3(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM3(5)=SM3(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM3(6)=SM3(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM3(I)
             ENDDO
           ELSE IF (M.EQ.4) THEN
             SM4(1)=SM4(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM4(2)=SM4(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM4(3)=SM4(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM4(4)=SM4(4)*FLUA+
     1               CONS*EFIC*((ep**3)/1.D02)*(DEPST(4)+ANU*DEPST(5))
             SM4(5)=SM4(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM4(6)=SM4(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM4(I)
             ENDDO
           ELSE IF (M.EQ.5) THEN
             SM5(1)=SM5(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM5(2)=SM5(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM5(3)=SM5(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM5(4)=SM5(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM5(5)=SM5(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM5(6)=SM5(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM5(I)
             ENDDO
           ELSE IF (M.EQ.6) THEN
             SM6(1)=SM6(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM6(2)=SM6(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM6(3)=SM6(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM6(4)=SM6(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM6(5)=SM6(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM6(6)=SM6(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM6(I)
             ENDDO
           ELSE IF (M.EQ.7) THEN
             SM7(1)=SM7(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM7(2)=SM7(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM7(3)=SM7(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM7(4)=SM7(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM7(5)=SM7(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM7(6)=SM7(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM7(I)
             ENDDO
           ELSE IF (M.EQ.8) THEN
             SM8(1)=SM8(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM8(2)=SM8(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2))
             SM8(3)=SM8(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3)
             SM8(4)=SM8(4)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5))
             SM8(5)=SM8(5)*FLUA+
     1               CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5))
             SM8(6)=SM8(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6))
             DO I=1,6
               SIGF(I)=SIGF(I)+SM8(I)
             ENDDO
           END IF
10       CONTINUE

         DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(ep*SE2)
     1                   -(SIG0(1)-ANU*SIG0(2))/(ep*SE1))
         DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(ep*SE2)
     1                   -(SIG0(2)-ANU*SIG0(1))/(ep*SE1))
         DEFP(3)=DEPST(3)-(2.D0*(1+ANU)/ep)*(SIGF(3)/SE2-SIG0(3)/SE1)
         DEFP(4)=DEPST(4)-(12.D0/(ep**3))*((SIGF(4)-ANU*SIGF(5))/SE2
     1                     -(SIG0(4)-ANU*SIG0(5))/SE1)
         DEFP(5)=DEPST(5)-(12.D0/(ep**3))*((SIGF(5)-ANU*SIGF(4))/SE2
     1                     -(SIG0(5)-ANU*SIG0(4))/SE1)
         DEFP(6)=DEPST(6)
     1         -(24.D0*(1+ANU)/ep**3)*(SIGF(6)/SE2-SIG0(6)/SE1)
         DO I=1,NSTRS
           EPINF(I)=EPIN0(I)+DEFP(I)
         END DO
         GOTO 999

**        Formulation DEFORMATIONS PLANES /AXISYMETRIQUE
         ELSE IF(IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN

         CONS=1.D0/(1.D0-(ANU*ANU))
         DO 20 M=0,NCHAIN-1
         CALL CMODFI(TPS1,TPS2,M,WR12,WRK52,WRK53,
     1                NWA,EFIC,TR,E1,E2)
           SE1=SE1+E1
           SE2=SE2+E2
           FLUA=EXP(-TR*DT)
           IF (M.EQ.0) THEN
             SM0(1)=SM0(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM0(2)=SM0(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM0(3)=SM0(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM0(4)=SM0(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SM0(I)
             ENDDO
           ELSE IF (M.EQ.1) THEN
             SM1(1)=SM1(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM1(2)=SM1(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM1(3)=SM1(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM1(4)=SM1(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM1(I)
             ENDDO
           ELSE IF (M.EQ.2) THEN
             SM2(1)=SM2(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM2(2)=SM2(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM2(3)=SM2(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM2(4)=SM2(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM2(I)
             ENDDO
           ELSE IF (M.EQ.3) THEN
             SM3(1)=SM3(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM3(2)=SM3(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM3(3)=SM3(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM3(4)=SM3(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM3(I)
             ENDDO
           ELSE IF (M.EQ.4) THEN
             SM4(1)=SM4(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM4(2)=SM4(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM4(3)=SM4(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM4(4)=SM4(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM4(I)
             ENDDO
           ELSE IF (M.EQ.5) THEN
             SM5(1)=SM5(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM5(2)=SM5(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM5(3)=SM5(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM5(4)=SM5(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM5(I)
             ENDDO
           ELSE IF (M.EQ.6) THEN
             SM6(1)=SM6(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM6(2)=SM6(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM6(3)=SM6(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM6(4)=SM6(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM6(I)
             ENDDO
           ELSE IF (M.EQ.7) THEN
             SM7(1)=SM7(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM7(2)=SM7(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM7(3)=SM7(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM7(4)=SM7(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM7(I)
             ENDDO
           ELSE IF (M.EQ.8) THEN
             SM8(1)=SM8(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2))
             SM8(2)=SM8(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1))
             SM8(3)=SM8(3)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4))
             SM8(4)=SM8(4)*FLUA
     1            +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4))
             DO I=1,4
               SIGF(I)=SIGF(I)+SM8(I)
             ENDDO
           END IF
20       CONTINUE

         DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(SE2*ep)
     1                   -(SIG0(1)-ANU*SIG0(2))/(SE1*ep))
         DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(SE2*ep)
     1                   -(SIG0(2)-ANU*SIG0(1))/(SE1*ep))
         DEFP(3)=DEPST(3)-(12/ep**3)*((SIGF(3)-ANU*SIGF(4))/SE2
     1                   -(SIG0(3)-ANU*SIG0(4))/SE1)
         DEFP(4)=DEPST(4)-(12/ep**3)*((SIGF(4)-ANU*SIGF(3))/SE2
     1                   -(SIG0(4)-ANU*SIG0(3))/SE1)
         DO I=1,NSTRS
           EPINF(I)=EPIN0(I)+DEFP(I)
         END DO
         GOTO 999

*        Formulation CONTRAINTES PLANES
*
        ELSE IF(IFOMOD.EQ.-1.AND.IFOUR.EQ.-2) THEN
         er=(ep**3)/12.d0
         DO 30 M=0,NCHAIN-1
         CALL CMODFI(TPS1,TPS2,M,WR12,WRK52,WRK53,
     1                NWA,EFIC,TR,E1,E2)
           SE1=SE1+E1
           SE2=SE2+E2
           FLUA=EXP(-TR*DT)
           IF (M.EQ.0) THEN
             SM0(1)=SM0(1)*FLUA+EFIC*ep*DEPST(1)
             SM0(3)=SM0(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SM0(1)
             SIGF(3)=SM0(3)
           ELSE IF (M.EQ.1) THEN
             SM1(1)=SM1(1)*FLUA+EFIC*ep*DEPST(1)
             SM1(3)=SM1(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM1(1)
             SIGF(3)=SIGF(3)+SM1(3)
           ELSE IF (M.EQ.2) THEN
             SM2(1)=SM2(1)*FLUA+EFIC*ep*DEPST(1)
             SM2(3)=SM2(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM2(1)
             SIGF(3)=SIGF(3)+SM2(3)
           ELSE IF (M.EQ.3) THEN
             SM3(1)=SM3(1)*FLUA+EFIC*ep*DEPST(1)
             SM3(3)=SM3(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM3(1)
             SIGF(3)=SIGF(3)+SM3(3)
           ELSE IF (M.EQ.4) THEN
             SM4(1)=SM4(1)*FLUA+EFIC*ep*DEPST(1)
             SM4(3)=SM4(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM4(1)
             SIGF(3)=SIGF(3)+SM4(3)
           ELSE IF (M.EQ.5) THEN
             SM5(1)=SM5(1)*FLUA+EFIC*ep*DEPST(1)
             SM5(3)=SM5(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM5(1)
             SIGF(3)=SIGF(3)+SM5(3)
           ELSE IF (M.EQ.6) THEN
             SM6(1)=SM6(1)*FLUA+EFIC*ep*DEPST(1)
             SM6(3)=SM6(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM6(1)
             SIGF(3)=SIGF(3)+SM6(3)
           ELSE IF (M.EQ.7) THEN
             SM7(1)=SM7(1)*FLUA+EFIC*ep*DEPST(1)
             SM7(3)=SM7(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM7(1)
             SIGF(3)=SIGF(3)+SM7(3)
           ELSE IF (M.EQ.8) THEN
             SM8(1)=SM8(1)*FLUA+EFIC*ep*DEPST(1)
             SM8(3)=SM8(3)*FLUA+EFIC*er*DEPST(3)
             SIGF(1)=SIGF(1)+SM8(1)
             SIGF(3)=SIGF(3)+SM8(3)
           END IF
30       CONTINUE

         DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2
     1                   -SIG0(1)/SE1)
         DEFP(2)=0.D0
         DEFP(3)=DEPST(3)-(1.d0/er)*(SIGF(3)/SE2
     1                   -SIG0(3)/SE1)
         DEFP(4)=0.D0
         DO I=1,NSTRS
           EPINF(I)=EPIN0(I)+DEFP(I)
         END DO
         GOTO 999
           END IF

*        Formulation  UNIDIRECTIONNELLES
*
        ELSE IF(CMATE.EQ.'UNIDIREC') THEN
         DO 40 M=0,NCHAIN-1
         CALL CMODFI(TPS1,TPS2,M,WR12,WRK52,WRK53,
     1                NWA,EFIC,TR,E1,E2)
           SE1=SE1+E1
           SE2=SE2+E2
           FLUA=EXP(-TR*DT)
           IF (M.EQ.0) THEN
             SM0(1)=SM0(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SM0(1)
           ELSE IF (M.EQ.1) THEN
             SM1(1)=SM1(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM1(1)
           ELSE IF (M.EQ.2) THEN
             SM2(1)=SM2(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM2(1)
           ELSE IF (M.EQ.3) THEN
             SM3(1)=SM3(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM3(1)
           ELSE IF (M.EQ.4) THEN
             SM4(1)=SM4(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM4(1)
           ELSE IF (M.EQ.5) THEN
             SM5(1)=SM5(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM5(1)
           ELSE IF (M.EQ.6) THEN
             SM6(1)=SM6(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM6(1)
           ELSE IF (M.EQ.7) THEN
             SM7(1)=SM7(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM7(1)
           ELSE IF (M.EQ.8) THEN
             SM8(1)=SM8(1)*FLUA+EFIC*ep*DEPST(1)
             SIGF(1)=SIGF(1)+SM8(1)
           END IF
40       CONTINUE

         DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2
     1                   -SIG0(1)/SE1)
         DO I=1,NSTRS
           EPINF(I)=EPIN0(I)+DEFP(I)
         END DO
         GOTO 999
       ENDIF
       GOTO 999



999       RETURN
        END











 
 
 
