Télécharger chgrep2.eso

Retour à la liste

Numérotation des lignes :

chgrep2
  1. C CHGREP2 SOURCE CHAT 05/01/12 21:56:48 5004
  2. SUBROUTINE CHGREP2(COSA,SINA,XSTRS,ISENS,IND)
  3. *---------------------------------------------------------------------*
  4. * *
  5. * PASSAGE DU REPERE D'ORTHOTROPIE AU REPERE LOCAL DES ELEMENTS *
  6. * (OU LE CONTRAIRE) POUR LES DEFORMATIONS OU LES CONTRAINTES DANS *
  7. * LE CAS DE L'ELEMENT DST *
  8. * *
  9. *---------------------------------------------------------------------*
  10. * *
  11. * ENTREES : *
  12. * ________ *
  13. * *
  14. * COSA, SINA = A angle de rotation entre le repère local et le *
  15. * repère d'orthotropie *
  16. * XSTRS = tableau de contraintes ou de déformations *
  17. * ISENS = 0 -> passage rep. ortho.-> rep. local *
  18. * 1 -> passage rep. local -> rep. ortho.
  19. * IND = 0 -> tableau de déformations *
  20. * 1 -> tableau de contraintes *
  21. * *
  22. * SORTIES : *
  23. * ________ *
  24. * *
  25. * XSTRS = tableau de contraintes ou de déformations après *
  26. * le changement de repère *
  27. * *
  28. *---------------------------------------------------------------------*
  29. IMPLICIT INTEGER(I-N)
  30. IMPLICIT REAL*8(A-H,O-Z)
  31. *
  32. DIMENSION TRAV(3,3),A(3,3),R(3,3),RT(3,3)
  33. DIMENSION XSTRS(*)
  34. *
  35. * Matrice de passage entre le repere local de la coque
  36. * et le repere d'orthotropie
  37. *
  38. CALL ZERO(R,3,3)
  39. CALL ZERO(RT,3,3)
  40. R(1,1)=COSA
  41. IF (ISENS.EQ.0) THEN
  42. R(2,1)=-SINA
  43. ELSE
  44. R(2,1)=SINA
  45. ENDIF
  46. R(1,2)=-R(2,1)
  47. R(2,2)= R(1,1)
  48. R(3,3)= 1.D0
  49. SIGFLX= 1.D0
  50. CALL TRSPOD(R,3,3,RT)
  51. *
  52. * Rotation du tenseur pour les termes de membrane
  53. *
  54. CALL ZERO(A,3,3)
  55. CALL ZERO(TRAV,3,3)
  56. A(1,1) = XSTRS(1)
  57. A(2,2) = XSTRS(2)
  58. A(1,2) = XSTRS(3)
  59. A(1,3) = XSTRS(7)
  60. A(2,3) = XSTRS(8)
  61. IF (IND.EQ.0) THEN
  62. A(1,2) = A(1,2)/2.D0
  63. A(1,3) = A(1,3)/2.D0
  64. A(2,3) = A(2,3)/2.D0
  65. ENDIF
  66. AUX4=XSTRS(4)
  67. AUX5=XSTRS(5)
  68. AUX6=XSTRS(6)
  69. A(2,1)=A(1,2)
  70. A(3,1)=A(1,3)
  71. A(3,2)=A(2,3)
  72. * t
  73. * >>> Changement de repere : A = R A R <<<
  74. *
  75. CALL MULMAT(TRAV,A,R,3,3,3)
  76. CALL MULMAT(A,RT,TRAV,3,3,3)
  77. IF (IND.EQ.0) THEN
  78. A(1,2) = A(1,2)*2.D0
  79. A(1,3) = A(1,3)*2.D0
  80. A(2,3) = A(2,3)*2.D0
  81. ENDIF
  82. XSTRS(1)=A(1,1)
  83. XSTRS(2)=A(2,2)
  84. XSTRS(3)=A(1,2)
  85. XSTRS(7)=A(1,3)
  86. XSTRS(8)=A(2,3)
  87. *
  88. * Rotation du tenseur pour les termes de flexion
  89. *
  90.  
  91. CALL ZERO(A,3,3)
  92. CALL ZERO(TRAV,3,3)
  93. A(1,1)=AUX4
  94. A(2,2)=AUX5
  95. A(1,2)=AUX6
  96. IF (IND.EQ.0) A(1,2) = A(1,2)/2.D0
  97. A(2,1)=A(1,2)
  98. * t
  99. * >>> Changement de repere : A = R A R <<<
  100. *
  101. CALL MULMAT(TRAV,A,R,3,3,3)
  102. CALL MULMAT(A,RT,TRAV,3,3,3)
  103. IF (IND.EQ.0) A(1,2) = A(1,2)*2.D0
  104. XSTRS(4)= A(1,1)
  105. XSTRS(5)= A(2,2)
  106. XSTRS(6)= A(1,2)
  107. *
  108. RETURN
  109. END
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  

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