C HBMRV     SOURCE    OF166741  26/05/11    21:15:14     12538          

*=======================================================================
*  Derivee du residu par rapport a la vitesse moyenne d'ecoulement Vmoy:
*  Rv = Zv*X
*  (pour a continuation en fonction de Vmoy)
*=======================================================================

      SUBROUTINE HBMRV(NT,NDDL,OMEG,Q1,AiDi,Di,LAMBD,VCTCS,Rv)

      IMPLICIT INTEGER(H-N)
      IMPLICIT REAL*8(A-G,O-Z)

      INTEGER NT,NDDL
      REAL*8 OMEG
c-      DIMENSION Rv(NT),Q1(NT),VCTCS(7),LAMBD(NDDL),AiDi(2),Di(2)
      REAL*8 Rv(*),Q1(*),VCTCS(*),LAMBD(*),AiDi(*),Di(*)

      REAL*8 mf0,cf0,sf0
      REAL*8 bi(2)

*-----------------------------------------------------------------------
* 0. Recuperation des coefficients
      V = VCTCS(4)
*    Coefficient de couplage: mf0dV = -(rho_f/2)*(dCLdy)*V^2
      mf0  = -VCTCS(1)*VCTCS(7)*(V**2)
*    Coefficient d'amortissement: cf0 = (rho_f/2)*(DIAM)*(CD)
      cf0  = VCTCS(1)*VCTCS(5)*VCTCS(6)
      DO I = 1,2
        bi(I) = Di(I)*V/VCTCS(5)
      ENDDO
      sf0  = 2.D0*mf0*VCTCS(3)/V
      NHBM = (NT/NDDL - 1)/2

*-----------------------------------------------------------------------
* 1. Terme de raideur/amortissement ajoutes
*  1.1 Composante statique:
      DO I=1,NDDL
        Rv(I) = sf0*LAMBD(I)*Q1(I)
      ENDDO
*  1.2 Boucle sur les harmoniques
      DO J=2,2*NHBM,2
        dmfej = (J/2)*OMEG*cf0
        DO I=1,NDDL
*         Cos
          Rv(NDDL*(1+(J-2))+I) = sf0*LAMBD(I)*Q1(NDDL*(1+(J-2))+I) +
     &                               dmfej*LAMBD(I)*Q1(NDDL*(1+(J-1))+I)
*         Sin
          Rv(NDDL*(1+(J-1))+I) = sf0*LAMBD(I)*Q1(NDDL*(1+(J-1))+I) -
     &                               dmfej*LAMBD(I)*Q1(NDDL*(1+(J-2))+I)
        ENDDO
      ENDDO

*-----------------------------------------------------------------------
** 2. Effet memoire
** Boucle sur le nombre de termes
      DO JJ = 1,2
        cfei = mf0*AiDi(JJ)*V/VCTCS(5)
*   2.1 Composante statique:
        DO I = 1,NDDL
          Rv(I) = Rv(I)+2.*cfei*LAMBD(I)*Q1(I)/(bi(JJ)*V)
        ENDDO
*   2.2 Boucle sur les harmoniques
        DO H = 2,2*NHBM,2
          cii = 1.D0/((bi(JJ))**2+((H/2)*OMEG)**2)
          dniR = bi(JJ)*(-2.D0*(bi(JJ)*cii)**2 + 4.D0*cii)/V
          dniI = (H/2)*OMEG*(2.D0*(cii*bi(JJ))**2 - 3.D0*cii)/V
**        Boucle sur les DDL
          DO K = 1,NDDL
*          Cos
           Rv(NDDL*(1+(H-2))+K)=LAMBD(K)*cfei*(dniR*Q1(NDDL*(1+(H-2))+K)
     &                  +dniI*Q1(NDDL*(1+(H-1))+K))+Rv(NDDL*(1+(H-2))+K)
*          Sin
           Rv(NDDL*(1+(H-1))+K)=LAMBD(K)*cfei*(dniR*Q1(NDDL*(1+(H-1))+K)
     &                  -dniI*Q1(NDDL*(1+(H-2))+K))+Rv(NDDL*(1+(H-1))+K)
          ENDDO
        ENDDO
      ENDDO

      RETURN
      END

 
