Télécharger dyne42.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE42 SOURCE CHAT 05/01/12 23:17:52 5004
  2. SUBROUTINE DYNE42(XROTA,XAXROT,IPOINT,ICDG,IDIMB,MERR)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. *---------------------------------------------------------------*
  6. * *
  7. * Opérateur DYNE : algorithme de Fu - de Vogelaere *
  8. * ________________________________________________ *
  9. * *
  10. * Pour les corps rigides, calcul des fausses déformées *
  11. * modales de rotation . *
  12. * *
  13. * Paramètres *
  14. * *
  15. * es XAXROT Tableau contenant l'axe de rotation *
  16. * e MERR Indique si le calcul s'est effectué correctement *
  17. * e IPOINT Numéro du point ou le calcul s'effectue *
  18. * e ICDG Numéro du point centre de gravité du corps *
  19. * e IDIMB Dimension de travail *
  20. * *
  21. * *
  22. * Auteur, date de création: *
  23. * *
  24. * Samuel DURAND : le 10 Octobre 1996 : Création *
  25. * *
  26. * *
  27. * *
  28. * *
  29. *---------------------------------------------------------------*
  30. *
  31. -INC CCOPTIO
  32. -INC SMCOORD
  33. *
  34. REAL*8 XROTA(2,*),XAXROT(3),XCDG(3),XPOINT(3)
  35. REAL*8 XXGP(3)
  36. *
  37. XEPSI=0.000000000001
  38. IF (MERR.EQ.1) THEN
  39. DO 9 ID=1,IDIM
  40. * Coordonnées du centre de gravité G
  41. XCDG(ID)=XCOOR((ICDG-1)*(IDIM+1) +ID)
  42. * Coordonnées du point du maillage P
  43. XPOINT(ID) = XCOOR((IPOINT-1)*(IDIM+1) +ID)
  44. 9 CONTINUE
  45. XPROJ = 0.D0
  46. DO 10 ID=1,IDIM
  47. XXGP(ID) = XPOINT(ID) - XCDG(ID)
  48. 10 CONTINUE
  49. IF (IDIM.EQ.3) THEN
  50. * Vecteur GP projetté sur le plan de rotation
  51. DO 11 ID=1,IDIM
  52. XPROJ = XPROJ + XXGP(ID)*XAXROT(ID)
  53. 11 CONTINUE
  54. DO 13 ID=1,IDIM
  55. XROTA(1,ID) = XXGP(ID) - XPROJ*XAXROT(ID)
  56. 13 CONTINUE
  57. XROTA(2,1)=XAXROT(2)*XROTA(1,3)-XAXROT(3)*XROTA(1,2)
  58. XROTA(2,2)=XAXROT(3)*XROTA(1,1)-XAXROT(1)*XROTA(1,3)
  59. XROTA(2,3)=XAXROT(1)*XROTA(1,2)-XAXROT(2)*XROTA(1,1)
  60. ELSE
  61. IF (XAXROT(1).GT.0) THEN
  62. ISIGNE =1
  63. ELSE
  64. ISIGNE = -1
  65. ENDIF
  66. DO 14 ID=1,IDIM
  67. XROTA(1,ID) = XXGP(ID)
  68. 14 CONTINUE
  69. XROTA(2,1)=-ISIGNE*XROTA(1,2)
  70. XROTA(2,2)= ISIGNE*XROTA(1,1)
  71. ENDIF
  72. *
  73. ELSE
  74. DO 18 ID=1,IDIM
  75. XROTA(1,ID)=0.D0
  76. XROTA(2,ID)=0.D0
  77. 18 CONTINUE
  78. ENDIF
  79. *
  80. DO 20 ID=(IDIM+1),IDIMB
  81. XROTA(1,ID)=0.D0
  82. XROTA(2,ID)=0.D0
  83. 20 CONTINUE
  84. END
  85.  
  86.  
  87.  
  88.  

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