C BDKT2     SOURCE    CHAT      05/02/25    21:15:02     5035
      SUBROUTINE BDKT2(XEL,XDDL,IGAU,BGENE,XSTRS)
C======================================================================
C
C  AJOUTE DANS LES DEFORMATIOND XSTRS LA PARTIE      EPS2
C                  QUE POUR LES ELEMENTS DKT
C  ENTREE
C    XEL(3,3)           =COORDONNEES LOCALES  DU DKT
C    XDDL(18)           =D D L LOCAUX DE LA FORMULATION
C    IGAU               =NUMERO DU POINT DE GAUSS    DE 1 A 3
C    XSTRS(6)           =DEFORMATIONS    (EPS1      )
C    BGENE(6,18)          =MATRICE BGENE reliant deformations et XDDL
C  SORTIE
C    XSTRS(6)           =DEFORMATIONS    (EPS1 + EPS2 )
C
C   CODE EBERSOLT AOUT  85
C=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      PARAMETER(XZER=0.D0,UNDEMI=.5D0)
      DIMENSION XEL(3,*),XSTRS(*),XDDL(*)
      DIMENSION SHP(6,9),ROT(9),BGENE(6,18)
C
      DUDX=XZER
      DUDY=XZER
      DVDX=XZER
      DVDY=XZER
      DWDX=XZER
      DWDY=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--Mise a jour des deformations au deuxieme ordre
      XSTRS(1)=XSTRS(1)+UNDEMI*(DUDX*DUDX+DVDX*DVDX+DWDX*DWDX)
      XSTRS(2)=XSTRS(2)+UNDEMI*(DUDY*DUDY+DVDY*DVDY+DWDY*DWDY)
      XSTRS(3)=XSTRS(3)+DUDX*DUDY+DVDX*DVDY+DWDX*DWDY
C
      RETURN
      END

