C MSHETI    SOURCE    CHAT      05/01/13    01:53:08     5004
C MSHETI    SOURCE    PP        02/01/10    23:59:59     ????
C======================================================================
C       MUR_SHEAR, Elisa, Armelle et Pierre, ELSA/ISPRA 01/2002
C======================================================================
C
C                    MODELE GLOBAL DE MUR EN CISAILLEMENT
C            (Sur des elements de poutre TIMO - Effort tranchant/Cisail.)
C            (pour appel de ecou60)
C
      SUBROUTINE MSHETI(WRK0,WRK1,WRK2,
     >                  NCURFP,NCURKP,NCURLP,NCURFM,NCURKM,NCURLM,
     >                  IPOSFP,IPOSKP,IPOSLP,IPOSFM,IPOSKM,IPOSLM,
     >                  KERRE)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
C
C=======================================================================
C             CETTE ROUTINE EST APPELE DANS ECOU60
C
C
C WRK0      = Segment materiaux
C WRK1      = Segment contraintes
C WRK2      = Segment courbe
C NCURFP    = longueur courbe de charge  +           (x>0,y>0)
C NCURKP    = longueur courbe de raideur +           (x>0,y>0)
C NCURLP    = longueur courbe de domaine elastique + (x>0,y>0)
C NCURFM    = longueur courbe de charge  -           (x<0,y<0)
C NCURKM    = longueur courbe de raideur -           (x<0,y>0)
C NCURLM    = longueur courbe de domaine elastique - (x<0,y>0)
C IPOS....  = pointeurs sur les courbes dans TRAC
C
C======================================================================
C XCAR      = Caracteristique de la section
C DEPST     = Increment de deformation axiale
C SIG0      = Contrainte initiale
C VAR0      = Variables internes initiales
C SIGF      = Contrainte finale
C VARF      = Variables internes finales
C DEFP      = Deformation plastique
C
C=======================================================================
C
      REAL*8 INRX,INRY,INRZ
      PARAMETER (XZER=0.D0,UN=1.D0,EPSILO=1.D-16)
C
C=======================================================================
C      VARIABLES ET SEGMENTS NECESSAIRES
C=========================================================================

-INC PPARAM
-INC CCOPTIO
C  Segment des materiaux
       SEGMENT WRK0
         REAL*8 XMAT(NCXMAT)
       ENDSEGMENT
C  Segment des contraintes
       SEGMENT WRK1
         REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
         REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
         REAL*8 DEFP(NSTRS),XCAR(ICARA)
       ENDSEGMENT
C  Segment de la courbe
       SEGMENT WRK2
         REAL*8 TRAC(LTRAC)
       ENDSEGMENT
C
       NVARI=VAR0(/1)
C
C  Lecture materiau
C
       YOUN   = XMAT(1)
       XNU    = XMAT(2)
       DTRANP = XMAT(11)
       DTRANM = XMAT(12)
       BETA   = XMAT(13)
       NPELA  = INT(XMAT(14)+EPSILO)
c+2003
       TRFA   = XMAT(15)
       DOCP   = XMAT(16)
       DOCM   = XMAT(17)
C+2003
c+2004
       EXPN   = XMAT(18)
C+2004
C
       IF (IDIM.EQ.3) THEN
        INRX = YOUN*XCAR(1)
        INRY = YOUN*XCAR(2)
        INRZ = YOUN*XCAR(3)
        SECT = YOUN*XCAR(4)
        SRDY = (YOUN/(2.D0*(1.D0+XNU)))*XCAR(5)
        SECZ = (YOUN/(2.D0*(1.D0+XNU)))*XCAR(6)
C
        XDDEP = DEPST(3)
        XFOR0 = SIG0(3)
C
       ELSE
C
        SECT = YOUN*XCAR(1)
        INRZ = YOUN*XCAR(2)
        SECZ = (YOUN/(2.D0*(1.D0+XNU)))*XCAR(3)
C
        XDDEP = DEPST(2)
        XFOR0 = SIG0(2)
       ENDIF
C
C Appel de la loi
C
C2003 CALL MSHEAR(XDDEP,XFOR0,XFORF,VAR0,VARF,NVARI,DDINL,
C2003 & DTRANP,DTRANM,BETA,NPELA,
C2004  CALL MSHEAR(XDDEP,XFOR0,XFORF,VAR0,VARF,NVARI,DDINL,
C2004& DTRANP,DTRANM,BETA,NPELA,TRFA,DOCP,DOCM
       CALL MSHEAR(XDDEP,XFOR0,XFORF,VAR0,VARF,NVARI,DDINL,
     & DTRANP,DTRANM,BETA,NPELA,TRFA,DOCP,DOCM,EXPN,
     & TRAC(IPOSFP),NCURFP,TRAC(IPOSKP),NCURKP,TRAC(IPOSLP),NCURLP,
     & TRAC(IPOSFM),NCURFM,TRAC(IPOSKM),NCURKM,TRAC(IPOSLM),NCURLM,
     & KERRE)
C
C==================================================================
C
C  On remplit les tableaux avant de sortir
C
C==================================================================
       NSTRS=DEFP(/1)
       DO IE1=1,NSTRS
         DEFP(IE1)=XZER
       ENDDO
       IF (IDIM.EQ.3) THEN
        SIGF(1) = SIG0(1) + SECT*DEPST(1)
        SIGF(2) = SIG0(2) + SRDY*DEPST(2)
        SIGF(3) = XFORF
        DEFP(3) = DDINL
        SIGF(4) = SIG0(4) + INRX*DEPST(4)
        SIGF(5) = SIG0(5) + INRY*DEPST(5)
        SIGF(6) = SIG0(6) + INRZ*DEPST(6)
       ELSE
        SIGF(1) = SIG0(1) + SECT*DEPST(1)
        SIGF(2) = XFORF
        DEFP(2) = DDINL
        SIGF(3) = SIG0(3) + INRZ*DEPST(3)
       ENDIF
C
C=====================================================
C            FIN DE LA ROUTINE DU MODELE
C======================================================
      RETURN

      END




