Télécharger hbmzw.eso

Retour à la liste

Numérotation des lignes :

hbmzw
  1. C HBMZW SOURCE CB215821 26/06/25 21:15:14 12581
  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. XJs2 = REAL(J/2)
  43. r_za =-2.D0 * (OMEG* XJs2**2)
  44. j_z2 = NDDL*(1+(J-2))
  45. j_z1 = NDDL*(1+(J-1))
  46.  
  47. DO I=1,NDDL
  48. AA = r_za * XM(I,1)
  49. BB = XJs2 * XASM(I,1)
  50. i_z2 = j_z2 + I
  51. i_z1 = j_z1 + I
  52.  
  53. MdZw.MATRC(i_z2,i_z2) = AA
  54. MdZw.MATRC(i_z2,i_z1) = BB
  55. MdZw.MATRC(i_z1,i_z2) =-BB
  56. MdZw.MATRC(i_z1,i_z1) = AA
  57. ENDDO
  58. ENDDO
  59.  
  60. RETURN
  61. END
  62.  
  63.  

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