C BDBSTS    SOURCE    CHAT      05/01/12    21:38:00     5004
      SUBROUTINE BDBSTS(BGENE,DJAC,DHOOK,LRE,NSTRS,REL)
C=======================================================================
C
C
C      INTEGRE LE PRODUIT BDB
C      "EXTENSION" A PARTIR DE BDBST AU CAS NON-SYMETRIQUE
C      WARNING INB<-->INC
C
C      VERSION SEPTEMBRE 92 PIERRE PEGON
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)
C
      DO   301 IX=1,LRE
C
C     BOUCLE SUR LES DDL
C
        DO   401 INA=1,NSTRS
C
C     CALCUL DE JACOBIAN*POIDS*B   POUR LE DDL IX
C
          WORK1(INA)=DJAC*BGENE(INA,IX)
  401   CONTINUE
        DO   501 INB=1,NSTRS
          CC=0.D0
          DO   601 INC=1,NSTRS
            CC=CC+WORK1(INC)*DHOOK(INC,INB)
  601     CONTINUE
          WORK2(INB)=CC
  501   CONTINUE
        DO   701 IY=1,LRE
C
C     CALCUL DE BDB POUR LES DDL IX ET IY
C
          CC=0.D0
          DO   801 IND=1,NSTRS
            CC=CC+BGENE(IND,IY)*WORK2(IND)
  801     CONTINUE
          REL(IX,IY)=REL(IX,IY)+CC
  701   CONTINUE
  301 CONTINUE
C
      RETURN
      END


