Télécharger hbmzw.eso

Retour à la liste

Numérotation des lignes :

hbmzw
  1. C HBMZW SOURCE OF166741 26/05/11 21:15:17 12538
  2.  
  3. *=======================================================================
  4. * calcule la derivee Z,w
  5. * Z,w = [ Z0,w 0 0 ... ]
  6. * [ Z1,w 0 ... ]
  7. * [ ... ]
  8. * [ Zh,w ]
  9. * Zj,w = [ -2j²wM jC ]
  10. * [ -jC -2j²wM ]
  11. *=======================================================================
  12.  
  13. SUBROUTINE HBMZW(NT,NHBM,NDDL,KTQ,KTKAM,KdZw)
  14.  
  15. IMPLICIT INTEGER(I-N)
  16. IMPLICIT REAL*8(A-H,O-Z)
  17.  
  18. -INC TMDYNC
  19.  
  20. INTEGER NT,NHBM,NDDL
  21.  
  22. INTEGER I,J
  23. c REAL*8 AA,BB,Mi,Ci
  24. REAL*8 AA,BB
  25.  
  26. * Segment des variables
  27. MTQ=KTQ
  28. * Segment des proprietes mecaniques
  29. MTKAM=KTKAM
  30. * Segment local : matrice dZw
  31. MdZw = KdZw
  32.  
  33. * Initialisation
  34. DO J = 1,NT
  35. DO I = 1,NT
  36. MdZw.MATRC(I,J)=0.D0
  37. ENDDO
  38. ENDDO
  39.  
  40. * Remplissage
  41. DO J=2,2*NHBM,2
  42. r_za = -2.D0 * (OMEG*(J/2)**2)
  43. r_zb = (J/2)
  44. j_z2 = NDDL*(1+(J-2))
  45. j_z1 = NDDL*(1+(J-1))
  46.  
  47. DO I=1,NDDL
  48. c Mi = XM(I,1)
  49. c Ci = XASM(I,1)
  50. c AA = -2.*(OMEG*(J/2)**2)*Mi
  51. c BB = (J/2)*Ci
  52. AA = r_za * XM(I,1)
  53. BB = r_zb * XASM(I,1)
  54. i_z2 = j_z2 + I
  55. i_z1 = j_z1 + I
  56.  
  57. MdZw.MATRC(i_z2,i_z2) = AA
  58. MdZw.MATRC(i_z2,i_z1) = BB
  59. MdZw.MATRC(i_z1,i_z2) = -BB
  60. MdZw.MATRC(i_z1,i_z1) = AA
  61. ENDDO
  62. ENDDO
  63.  
  64. RETURN
  65. END
  66.  
  67.  
  68.  

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