C DBDKT2    SOURCE    CHAT      05/02/28    21:15:01     5037
      SUBROUTINE DBDKT2(XEL,DD,XDDL,IGAU,XSTRS,SHP1,SHPTOT,BGENE,
     *  NBNO,LRE,NST)
C======================================================================
C
C  AJOUTE DANS LES CONTRAINTES XSTRS LA PARTIE DHO * EPS2
C                  QUE POUR LES ELEMENTS DKT
C  ENTREE
C    XEL(3,3)           =COORDONNEES LOCALES  DU DKT
C    DD(6,6)            =MATRICE DE HOOKE
C    XDDL(18)          =D D L LOCAUX DE LA FORMULATION
C    IGAU               =NUMERO DU POINT DE GAUSS    DE 1 A 3
C    XSTRS(6)           =CONTRAINTES  DHO*(EPS1        )
C  SORTIE
C    XSTRS(6)           =CONTRAINTES DHO*(EPS1 + EPS2 )
C
C   CODE EBERSOLT AOUT  85
C=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION XEL(3,*),DD(6,*),XSTRS(*),XDDL(*)
      DIMENSION EPS2(6),SHP(6,9),ROT(9)
      DIMENSION SHP1(6,NBNO),SHPTOT(6,NBNO,*)
      DIMENSION BGENE(NST,*)
C
C
      DATA XZER,UNDEMI/0.D0,.5D0/
C
      DUDX=XZER
      DUDY=XZER
      DVDX=XZER
      DVDY=XZER
      DWDX=XZER
      DWDY=XZER
      eps2(4)=xzer
      eps2(5)=xzer
      eps2(6)=xzer
C
      CALL DKTSHP(IGAU,XEL,SHP,DJAC)
C
C     ON EXTRAIT LES DEGRES W ROT X ROT Y
C
      IACC= 0
      IADD= 2
      DO 100 IA=1,3
      DO 110 IB=1,3
      ROT(IACC+IB)=XDDL(IADD+IB)
 110  CONTINUE
      IACC=IACC+3
      IADD=IADD+6
 100  CONTINUE
C
      DO 200 IA=1,9
      DWDX =SHP(2,IA)*ROT(IA) +DWDX
      DWDY =SHP(3,IA)*ROT(IA) +DWDY
  200 CONTINUE
C
C--Calcul des derivees de u et v
      DO 300 IA=0,2
      DUDX=DUDX + BGENE(1,1+6*IA)*XDDL(1+6*IA)
      DUDY=DUDY + BGENE(3,1+6*IA)*XDDL(1+6*IA)
      DVDX=DVDX + BGENE(3,2+6*IA)*XDDL(2+6*IA)
      DVDY=DVDY + BGENE(2,2+6*IA)*XDDL(2+6*IA)
  300 CONTINUE
C
C
      EPS2(1)=0.5D0*(DUDX*DUDX+DVDX*DVDX+DWDX*DWDX)
      EPS2(2)=0.5D0*(DUDY*DUDY+DVDY*DVDY+DWDY*DWDY)
      EPS2(3)=DUDX*DUDY+DVDX*DVDY+DWDX*DWDY
C
C     MULTIPLICATION PAR LA MATRICE DE HOOKE
C
      DO 700 IB=1,6
      DO 700 IC=1,6
      XSTRS(IB)=XSTRS(IB)+ DD(IB,IC)*EPS2(IC)
  700 CONTINUE
C
      RETURN
      END


