C BDBSTA    SOURCE    CHAT      05/01/12    21:37:54     5004
      SUBROUTINE BDBSTA(BGENE,DJAC,DHOOK,LRE,NSTRS,REL)
C=======================================================================
C
C      INTEGRE LE PRODUIT BDB POUR UNE MATRICE ANTISYMETRIQUE
C      VERSION JANVIER 2004 - COMBESCURE
C      ROUTINE FORTRAN PUR
C
C=======================================================================
C     BGENE(NSTRS,LRE)=MATRICE B
C     DJAC =JACOBIEN
C     DHOOK(NSTRS,NSTRS)=MATRICE DE HOOKE
C     LRE=TAILLE DE LA MATRICE DE RIGIDITE
C     REL=MATRICE DE RIGIDITE
C           LES KIJ SONT AJOUTES SUR REL
C=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION DHOOK(NSTRS,1),REL(LRE,1)
      DIMENSION WORK1(10),WORK2(10),BGENE(NSTRS,1)
      DO   300 IX=1,LRE
C
C     BOUCLE SUR LES DDL
C
      DO   400 INA=1,NSTRS
C
C     CALCUL DE JACOBIAN*POIDS*B   POUR LE DDL IX
C
      WORK1(INA)=DJAC*BGENE(INA,IX)
  400 CONTINUE
      DO   500 INB=1,NSTRS
      CC=0.D0
      DO   600 INC=1,NSTRS
      CC=CC+WORK1(INC)*DHOOK(INB,INC)
  600 CONTINUE
      WORK2(INB)=CC
  500 CONTINUE
      DO   700 IY=1,IX
C
C     CALCUL DE BDB POUR LES DDL IX ET IY
C
      CC=0.D0
      DO   800 IND=1,NSTRS
      CC=CC+BGENE(IND,IY)*WORK2(IND)
  800 CONTINUE
      REL(IY,IX)=REL(IY,IX)+CC
      REL(IX,IY)=(-1.D0)*REL(IY,IX)
  700 CONTINUE
  300 CONTINUE
      RETURN
      END



