C BTUYO     SOURCE    CHAT      05/01/12    21:44:30     5004
      SUBROUTINE BTUYO(IGAU,MINTE,WRK1,WRK2,WRK3,XL,DJAC,KERRE)
*-----------------------------------------------------------------------
*
*              CALCUL DE B POUR L'ELEMENT TUYO
*
*-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)

-INC PPARAM
-INC CCOPTIO
-INC SMINTE
*
      SEGMENT WRK1
       REAL*8 DDHOOK(NSTRS,NSTRS) ,DDHOMU(NSTRS,NSTRS)
       REAL*8 REL(LRE,LRE) , XE(3,NBBB)
      ENDSEGMENT
*
      SEGMENT WRK2
       REAL*8 SHPWRK(6,NBNO) ,BGENE(NSTRS,LRE)
      ENDSEGMENT
*
      SEGMENT WRK3
       REAL*8 WORK(LW)
      ENDSEGMENT
*
*     INITIALISATIONS
*
      KERRE=0
      NSTRS=DDHOOK(/1)
      LRE  =REL(/1)
      CALL ZERO(BGENE,NSTRS,LRE)
      SL=1.D0/XL
      SL2 = 2.D0*SL
      SL4 = SL2*SL2
*
      T=ETAGAU(IGAU)
      ST=SIN(T)
      CT=COS(T)
      S2T=SIN(2.D0*T)
      C2T=COS(2.D0*T)
      S4T=SIN(4.D0*T)
      C4T=COS(4.D0*T)
*
      EP=WORK(1)
      R =WORK(2)-EP*0.5D0
      R2=R*R
      GR=WORK(3)
      UNSUR=0.D0
      IF(GR.NE.0.D0) UNSUR=1.D0/GR
      DJAC=XL*0.5D0*R
*
*   CERTAINS TERMES SONT MIS EN SOMMEIL
*
*   LES MEMBRANES
*
*   EPS TET-TET
*
      BGENE(1, 7)=SHPTOT(1,1,IGAU)/R
      BGENE(1,22)=SHPTOT(1,2,IGAU)/R
*
*   EPS PHI-PHI
*
      BGENE(2, 1)=SHPTOT(2,1,IGAU)*SL2
      BGENE(2,16)=SHPTOT(2,2,IGAU)*SL2
*
      BGENE(2, 3)=-SHPTOT(5,3,IGAU)*SL4*R*CT
      BGENE(2, 5)= SHPTOT(5,4,IGAU)*SL4*R*CT*XL
      BGENE(2,18)=-SHPTOT(5,5,IGAU)*SL4*R*CT
      BGENE(2,20)= SHPTOT(5,6,IGAU)*SL4*R*CT*XL
*
      BGENE(2, 2)=-SHPTOT(5,3,IGAU)*SL4*R*ST
      BGENE(2, 6)=-SHPTOT(5,4,IGAU)*SL4*R*ST*XL
      BGENE(2,17)=-SHPTOT(5,5,IGAU)*SL4*R*ST
      BGENE(2,21)=-SHPTOT(5,6,IGAU)*SL4*R*ST*XL
*
      BGENE(2, 8)=SHPTOT(2,1,IGAU)*SL2*C2T
      BGENE(2,23)=SHPTOT(2,2,IGAU)*SL2*C2T
      BGENE(2, 9)=SHPTOT(2,1,IGAU)*SL2*C4T
      BGENE(2,24)=SHPTOT(2,2,IGAU)*SL2*C4T
      BGENE(2,10)=SHPTOT(2,1,IGAU)*SL2*S2T
      BGENE(2,25)=SHPTOT(2,2,IGAU)*SL2*S2T
      BGENE(2,11)=SHPTOT(2,1,IGAU)*SL2*S4T
      BGENE(2,26)=SHPTOT(2,2,IGAU)*SL2*S4T
*
*     BGENE(2, 3)=BGENE(2, 3)+SHPTOT(1,3,IGAU)*UNSUR
*     BGENE(2, 5)=BGENE(2, 5)-SHPTOT(1,4,IGAU)*UNSUR*XL
*     BGENE(2,18)=BGENE(2,18)+SHPTOT(1,5,IGAU)*UNSUR
*     BGENE(2,20)=BGENE(2,20)-SHPTOT(1,6,IGAU)*UNSUR*XL
*
      BGENE(2,7) =SHPTOT(1,1,IGAU)*CT*UNSUR
      BGENE(2,22)=SHPTOT(1,2,IGAU)*CT*UNSUR
*
      BGENE(2,12)=SHPTOT(1,1,IGAU)*UNSUR*(CT*C2T+ST*S2T/2.D0)
      BGENE(2,27)=SHPTOT(1,2,IGAU)*UNSUR*(CT*C2T+ST*S2T/2.D0)
      BGENE(2,13)=SHPTOT(1,1,IGAU)*UNSUR*(CT*C4T+ST*S4T/4.D0)
      BGENE(2,28)=SHPTOT(1,2,IGAU)*UNSUR*(CT*C4T+ST*S4T/4.D0)
      BGENE(2,14)=SHPTOT(1,1,IGAU)*UNSUR*(CT*S2T-ST*C2T/2.D0)
      BGENE(2,29)=SHPTOT(1,2,IGAU)*UNSUR*(CT*S2T-ST*C2T/2.D0)
      BGENE(2,15)=SHPTOT(1,1,IGAU)*UNSUR*(CT*S4T-ST*C4T/4.D0)
      BGENE(2,30)=SHPTOT(1,2,IGAU)*UNSUR*(CT*S4T-ST*C4T/4.D0)
*
*     BGENE(2, 4)=SHPTOT(1,1,IGAU)*R*ST*UNSUR
*     BGENE(2,19)=SHPTOT(1,2,IGAU)*R*ST*UNSUR
*
*   GAM TET-PHI
*
      BGENE(3, 8)=SHPTOT(1,1,IGAU)*(ST*C2T*UNSUR-2.D0*S2T/R)
      BGENE(3,23)=SHPTOT(1,2,IGAU)*(ST*C2T*UNSUR-2.D0*S2T/R)
      BGENE(3, 9)=SHPTOT(1,1,IGAU)*(ST*C4T*UNSUR-4.D0*S4T/R)
      BGENE(3,24)=SHPTOT(1,2,IGAU)*(ST*C4T*UNSUR-4.D0*S4T/R)
      BGENE(3,10)=SHPTOT(1,1,IGAU)*(ST*S2T*UNSUR+2.D0*C2T/R)
      BGENE(3,25)=SHPTOT(1,2,IGAU)*(ST*S2T*UNSUR+2.D0*C2T/R)
      BGENE(3,11)=SHPTOT(1,1,IGAU)*(ST*S4T*UNSUR+4.D0*C4T/R)
      BGENE(3,26)=SHPTOT(1,2,IGAU)*(ST*S4T*UNSUR+4.D0*C4T/R)
*
      BGENE(3, 4)=-SHPTOT(2,1,IGAU)*SL2*R
      BGENE(3,19)=-SHPTOT(2,2,IGAU)*SL2*R
*
*     BGENE(3, 1)=SHPTOT(1,1,IGAU)*ST*UNSUR
*     BGENE(3,16)=SHPTOT(1,2,IGAU)*ST*UNSUR
*
*     BGENE(3, 3)=-SHPTOT(2,3,IGAU)*SL2*R*UNSUR*ST*CT
*     BGENE(3, 5)= SHPTOT(2,4,IGAU)*SL2*R*UNSUR*ST*CT*XL
*     BGENE(3,18)=-SHPTOT(2,5,IGAU)*SL2*R*UNSUR*ST*CT
*     BGENE(3,20)= SHPTOT(2,6,IGAU)*SL2*R*UNSUR*ST*CT*XL
*
*     BGENE(3, 2)=-SHPTOT(2,3,IGAU)*SL2*R*UNSUR*ST*ST
*     BGENE(3, 6)=-SHPTOT(2,4,IGAU)*SL2*R*UNSUR*ST*ST*XL
*     BGENE(3,17)=-SHPTOT(2,5,IGAU)*SL2*R*UNSUR*ST*ST
*     BGENE(3,21)=-SHPTOT(2,6,IGAU)*SL2*R*UNSUR*ST*ST*XL
*
      BGENE(3,12)=-SHPTOT(2,1,IGAU)*SL2*S2T/2.D0
      BGENE(3,27)=-SHPTOT(2,2,IGAU)*SL2*S2T/2.D0
      BGENE(3,13)=-SHPTOT(2,1,IGAU)*SL2*S4T/4.D0
      BGENE(3,28)=-SHPTOT(2,2,IGAU)*SL2*S4T/4.D0
      BGENE(3,14)= SHPTOT(2,1,IGAU)*SL2*C2T/2.D0
      BGENE(3,29)= SHPTOT(2,2,IGAU)*SL2*C2T/2.D0
      BGENE(3,15)= SHPTOT(2,1,IGAU)*SL2*C4T/4.D0
      BGENE(3,30)= SHPTOT(2,2,IGAU)*SL2*C4T/4.D0
*
*   LES FLEXIONS
*
*   QUI TET-TET
*
      BGENE(4,12)=SHPTOT(1,1,IGAU)*3.D0*C2T/R2
      BGENE(4,27)=SHPTOT(1,2,IGAU)*3.D0*C2T/R2
      BGENE(4,13)=SHPTOT(1,1,IGAU)*15.D0*C4T/R2
      BGENE(4,28)=SHPTOT(1,2,IGAU)*15.D0*C4T/R2
      BGENE(4,14)=SHPTOT(1,1,IGAU)*3.D0*S2T/R2
      BGENE(4,29)=SHPTOT(1,2,IGAU)*3.D0*S2T/R2
      BGENE(4,15)=SHPTOT(1,1,IGAU)*15.D0*S4T/R2
      BGENE(4,30)=SHPTOT(1,2,IGAU)*15.D0*S4T/R2
*
*   0. POUR LES 2 AUTRES
*
      RETURN
      END

