Télécharger hbmzzf.eso

Retour à la liste

Numérotation des lignes :

hbmzzf
  1. C HBMZZF SOURCE CB215821 26/06/25 21:15:14 12581
  2.  
  3. SUBROUTINE HBMZZF(NT,NDDL,OMEG,AiDi,Di,LAMBD,VCTCS,ZZ)
  4.  
  5. *=======================================================================
  6. * Rajoute a Z la raideur dynamique Zf de couplage fluide-elastique
  7. * de granger-paidoussis
  8. *=======================================================================
  9.  
  10. IMPLICIT INTEGER(I-N)
  11. IMPLICIT REAL*8(A-H,O-Z)
  12.  
  13. INTEGER NHBM,NT,NDDL,H
  14.  
  15. REAL*8 ZZ(NT,NT),VCTCS(7),LAMBD(NDDL),AiDi(2),Di(2),bi(2)
  16. REAL*8 OMEG,V,cf0,mf0,sf0,cfei,dniR,dniI
  17.  
  18. *-----------------------------------------------------------------------
  19. * 0. Recuperation des coefficients
  20. *-----------------------------------------------------------------------
  21. V = VCTCS(4)
  22. * Coefficient de couplage: mf0 = -(rho_f/2)*(dCLdy)*V^2
  23. mf0 = -VCTCS(1)*VCTCS(7)*(V**2)
  24. * Coefficient d'amortissement: cf0 = (rho_f/2)*(DIAM)*(CD)*V
  25. cf0 = VCTCS(1)*VCTCS(5)*VCTCS(6)*V
  26. * Coefficient de raideur: sf0 = mf0*alpha_0
  27. sf0 = mf0*VCTCS(3)
  28. DO I = 1,2
  29. bi(I) = (Di(I)/VCTCS(5))*V
  30. ENDDO
  31. NHBM = (NT/NDDL - 1)/2
  32.  
  33. *-----------------------------------------------------------------------
  34. * 1. Termes de raideur/amortissement ajoutes
  35. *-----------------------------------------------------------------------
  36. * 1.1 Composante statique (harmonique 0)
  37. DO I=1,NDDL
  38. ZZ(I,I) = ZZ(I,I) + sf0*LAMBD(I)
  39. ENDDO
  40. * 1.2 Boucle sur les harmoniques > 0
  41. DO J=2,2*NHBM,2
  42. XJs2 =REAL(J/2)
  43. DO I=1,NDDL
  44. AA = sf0*LAMBD(I)
  45. BB = XJs2*OMEG*cf0*LAMBD(I)
  46. ZZ(NDDL*(1+(J-2))+I,NDDL*(1+(J-2))+I) =
  47. & ZZ(NDDL*(1+(J-2))+I,NDDL*(1+(J-2))+I)+AA
  48. ZZ(NDDL*(1+(J-2))+I,NDDL*(1+(J-1))+I) =
  49. & ZZ(NDDL*(1+(J-2))+I,NDDL*(1+(J-1))+I)+BB
  50. ZZ(NDDL*(1+(J-1))+I,NDDL*(1+(J-2))+I) =
  51. & ZZ(NDDL*(1+(J-1))+I,NDDL*(1+(J-2))+I)-BB
  52. ZZ(NDDL*(1+(J-1))+I,NDDL*(1+(J-1))+I) =
  53. & ZZ(NDDL*(1+(J-1))+I,NDDL*(1+(J-1))+I)+AA
  54. ENDDO
  55. ENDDO
  56.  
  57. *-----------------------------------------------------------------------
  58. * 2. Effet memoire
  59. *-----------------------------------------------------------------------
  60. * Boucle sur le nombre de termes
  61. * Les matrices sont de la forme: Zfi = Dfi*(bi*kron(I,Li)-w*kron(Nb,Li))
  62. * Elles ne sont pas stockees mais directement ajoutees a ZZ
  63. DO JJ = 1,2
  64. cfei = mf0*AiDi(JJ)*V/VCTCS(5)
  65. * 2.1 Composante statique
  66. DO I=1,NDDL
  67. ZZ(I,I) = ZZ(I,I) + cfei*LAMBD(I)/bi(JJ)
  68. ENDDO
  69. * 2.2 Boucle sur les harmoniques
  70. DO H = 2,2*NHBM,2
  71. XHs2 = REAL(H/2)
  72. dniR = cfei*bi(JJ)/((bi(JJ))**2+(XHs2*OMEG)**2)
  73. dniI = cfei*OMEG*XHs2/((bi(JJ))**2+(XHs2*OMEG)**2)
  74. * Boucle sur les DDL
  75. DO K = 1,NDDL
  76. ZZ(NDDL*(1+(H-2))+K,NDDL*(1+(H-2))+K) = LAMBD(K)*dniR
  77. & + ZZ(NDDL*(1+(H-2))+K,NDDL*(1+(H-2))+K)
  78. ZZ(NDDL*(1+(H-2))+K,NDDL*(1+(H-1))+K) =-LAMBD(K)*dniI
  79. & + ZZ(NDDL*(1+(H-2))+K,NDDL*(1+(H-1))+K)
  80. ZZ(NDDL*(1+(H-1))+K,NDDL*(1+(H-2))+K) = LAMBD(K)*dniI
  81. & + ZZ(NDDL*(1+(H-1))+K,NDDL*(1+(H-2))+K)
  82. ZZ(NDDL*(1+(H-1))+K,NDDL*(1+(H-1))+K) = LAMBD(K)*dniR
  83. & + ZZ(NDDL*(1+(H-1))+K,NDDL*(1+(H-1))+K)
  84. ENDDO
  85. ENDDO
  86. ENDDO
  87.  
  88. RETURN
  89. END
  90.  
  91.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales