Télécharger hbmdmat.eso

Retour à la liste

Numérotation des lignes :

hbmdmat
  1. C HBMDMAT SOURCE BP208322 20/09/18 21:16:39 10718
  2.  
  3. SUBROUTINE HBMDMAT(NT,NDDL,OMEG,Ms)
  4.  
  5. *=======================================================================
  6. * Derivation dans le domaine frequentiel : cas matriciel
  7. * Ms = w*Me*kron(L,In)
  8. * e NT,NDDL : nombre de coefficients, ddl
  9. * es Me/Ms : matrices d'entree/sortie
  10. * e OMEG : coefficient
  11. *=======================================================================
  12.  
  13. IMPLICIT INTEGER(I-N)
  14. IMPLICIT REAL*8(A-H,O-Z)
  15. REAL*8 Me(NT,NT), Ms(NT,NT)
  16.  
  17. NHBM = ((NT/NDDL)-1)/2
  18. c copie locale : Ms(:,:) --> Me(:,:)
  19. CALL COPYMAT(NT,Ms,Me)
  20.  
  21. c Premiere colonne de blocs: termes statiques
  22. DO I = 1,NT
  23. DO J = 1,NDDL
  24. Ms(I,J) = 0.D0
  25. ENDDO
  26. ENDDO
  27. c Boucle sur les lignes de blocs
  28. DO I = 1,2*NHBM+1
  29. c Boucle sur les harmoniques (colonnes)
  30. DO J = 2,2*NHBM,2
  31. Cf = OMEG*(J/2)
  32. c Permutation des blocs
  33. DO II = 1,NDDL
  34. DO JJ=1,NDDL
  35. Ms((I-1)*NDDL+II,(J-1)*NDDL+JJ) =
  36. & -Cf*Me((I-1)*NDDL+II,J*NDDL+JJ)
  37. Ms((I-1)*NDDL+II,J*NDDL+JJ) =
  38. & Cf*Me((I-1)*NDDL+II,(J-1)*NDDL+JJ)
  39. ENDDO
  40. ENDDO
  41. ENDDO
  42. ENDDO
  43. END
  44.  
  45.  
  46.  

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