Télécharger matglo.eso

Retour à la liste

Numérotation des lignes :

matglo
  1. C MATGLO SOURCE CHAT 05/01/13 01:34:06 5004
  2. SUBROUTINE MATGLO(CMAT,CMAT1,CMAT2,TXR,XLOC,XGLOB,VALMAT,
  3. S NDIM,IDIM,INM,IFOMOD)
  4. C-----------------------------------------------------------------------
  5. C Transformation d'une matrice exprimée dans le repere local a l'element
  6. C au repere global dans le cas d'un materiau ...trope.
  7. C Cette matrice, issue du MCHAML materiau de sous type caracteristique,
  8. C caracterise le materiau : Conductibilité, Perméabilité ...
  9. C-----------------------------------------------------------------------
  10. C
  11. C---------------------------
  12. C Parametres Entree/Sortie :
  13. C---------------------------
  14. C
  15. C /S CMAT : Matrice caracterisant le materiau dans le repere global.
  16. C E/ TXR : Cosinus directeurs des axes locaux / repere global.
  17. C E/ VALMAT : Valeurs des coeff. de la matrice CMAT et des
  18. C cosinus directeurs des axes d'ortho. / repere local.
  19. C E/ NDIM : Taille de la matrice CMAT (=IDIM sauf en FOURIER=3)
  20. C E/ IDIM : Dimension de l'espace (2 en 2D et 3 en 3D)
  21. C E/ INM : Indique la Nature du Materiau (1/iso,2/ortho,3/aniso)
  22. C E/ IFOMOD : Vaut 1 si on utilise les elements massifs 2D de FOURIER.
  23. C
  24. C----------------------
  25. C Tableaux de travail :
  26. C----------------------
  27. C
  28. C CMAT1 : Matrice caracterisant le materiau dans le repere local.
  29. C CMAT2 : Matrice caracterisant le materiau dans le repere global.
  30. C XLOC : Cosinus directeurs des axes d'ortho. / repere local.
  31. C XGLOB : Cosinus directeurs des axes d'ortho. / repere global.
  32. C
  33. C-----------------------------------------------------------------------
  34. C
  35. C Langage : FORTRAN77
  36. C
  37. C Auteurs : F.DABBENE 08/93 d'apres tnumac.eso de P. DOWLATYARI 10/90
  38. C
  39. C-----------------------------------------------------------------------
  40. IMPLICIT INTEGER(I-N)
  41. IMPLICIT REAL*8(A-H,O-Z)
  42. C
  43. DIMENSION CMAT(NDIM,NDIM), CMAT1(IDIM,IDIM), CMAT2(IDIM,IDIM),
  44. S TXR (IDIM,IDIM), XLOC (IDIM,IDIM), XGLOB(IDIM,IDIM),
  45. S VALMAT(*)
  46. C
  47. C= Mise a zero des tableaux de travail
  48. C
  49. CALL ZERO(CMAT,NDIM,NDIM)
  50. CALL ZERO(CMAT1,IDIM,IDIM)
  51. CALL ZERO(CMAT2,IDIM,IDIM)
  52. CALL ZERO(XGLOB,IDIM,IDIM)
  53. C
  54. C------------------------------------------------------------------
  55. C RECUPERATION DE LA MATRICE DANS LE REPERE LOCAL ET CONSTRUCTION
  56. C DE LA MATRICE DE PASSAGE DU REPERE LOCAL AU REPERE GLOBAL
  57. C------------------------------------------------------------------
  58. C
  59. IF (IDIM.EQ.2) THEN
  60. C
  61. C= ELEMENT MASSIF BIDIM
  62. C
  63. IF (INM.EQ.1) THEN
  64. C
  65. C- Materiau isotrope
  66. C
  67. CMAT(1,1) = VALMAT(1)
  68. CMAT(2,2) = VALMAT(1)
  69. RETURN
  70. ELSEIF (INM.EQ.2) THEN
  71. C
  72. C- Materiau orthotrope
  73. C
  74. CMAT1(1,1) = VALMAT(1)
  75. CMAT1(2,2) = VALMAT(2)
  76. C
  77. XLOC(1,1) = VALMAT(3)
  78. XLOC(2,1) = VALMAT(4)
  79. XLOC(1,2) =-VALMAT(4)
  80. XLOC(2,2) = VALMAT(3)
  81. ELSEIF (INM.EQ.3) THEN
  82. C
  83. C- Materiau anisotrope
  84. C
  85. CMAT1(1,1) = VALMAT(1)
  86. CMAT1(2,2) = VALMAT(2)
  87. CMAT1(2,1) = VALMAT(3)
  88. CMAT1(1,2) = CMAT1(2,1)
  89. C
  90. XLOC(1,1) = VALMAT(4)
  91. XLOC(2,1) = VALMAT(5)
  92. XLOC(1,2) =-VALMAT(5)
  93. XLOC(2,2) = VALMAT(4)
  94. ENDIF
  95. C
  96. C- Calcul des cos.directeurs des axes orth. /repere global
  97. C- XGLOB=TXR*XLOC
  98. C
  99. DO 10 K=1,IDIM
  100. DO 10 J=1,IDIM
  101. DO 10 I=1,IDIM
  102. XGLOB(K,J) = TXR(J,I)*XLOC(I,K) + XGLOB(K,J)
  103. 10 CONTINUE
  104. ELSE
  105. C
  106. C= ELEMENT MASSIF TRIDIM
  107. C
  108. IF (INM.EQ.1) THEN
  109. C
  110. C- Materiau isotrope
  111. C
  112. CMAT(1,1) = VALMAT(1)
  113. CMAT(2,2) = VALMAT(1)
  114. CMAT(3,3) = VALMAT(1)
  115. RETURN
  116. ELSEIF (INM.EQ.2) THEN
  117. C
  118. C- Materiau orthotrope
  119. C
  120. CMAT1(1,1) = VALMAT(1)
  121. CMAT1(2,2) = VALMAT(2)
  122. CMAT1(3,3) = VALMAT(3)
  123. C
  124. XLOC(1,1) = VALMAT(4)
  125. XLOC(2,1) = VALMAT(5)
  126. XLOC(3,1) = VALMAT(6)
  127. XLOC(1,2) = VALMAT(7)
  128. XLOC(2,2) = VALMAT(8)
  129. XLOC(3,2) = VALMAT(9)
  130. ELSEIF (INM.EQ.3) THEN
  131. C
  132. C- Materiau anisotrope
  133. C
  134. CMAT1(1,1) = VALMAT(1)
  135. CMAT1(2,2) = VALMAT(2)
  136. CMAT1(3,3) = VALMAT(3)
  137. CMAT1(2,1) = VALMAT(4)
  138. CMAT1(1,2) = CMAT1(2,1)
  139. CMAT1(3,1) = VALMAT(5)
  140. CMAT1(1,3) = CMAT1(3,1)
  141. CMAT1(3,2) = VALMAT(6)
  142. CMAT1(2,3) = CMAT1(3,2)
  143. C
  144. XLOC(1,1) = VALMAT(7)
  145. XLOC(2,1) = VALMAT(8)
  146. XLOC(3,1) = VALMAT(9)
  147. XLOC(1,2) = VALMAT(10)
  148. XLOC(2,2) = VALMAT(11)
  149. XLOC(3,2) = VALMAT(12)
  150. ENDIF
  151. C
  152. C- Calcul du vecteur 3
  153. C
  154. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  155. C
  156. C- Calcul des cos.directeurs des axes orth. /repere global
  157. C- XGLOB=TXR*XLOC
  158. C
  159. DO 20 K=1,IDIM
  160. DO 20 J=1,IDIM
  161. DO 20 I=1,IDIM
  162. XGLOB(K,J) = TXR(J,I)*XLOC(I,K) + XGLOB(K,J)
  163. 20 CONTINUE
  164. ENDIF
  165. C
  166. C----------------------------------------------------------
  167. C TRANSFORMATION DE LA MATRICE CMAT1 DANS LE REPERE GLOBAL
  168. C----------------------------------------------------------
  169. C
  170. IF (IFOMOD.EQ.1) THEN
  171. C
  172. C- Element massif bidim de FOURIER
  173. C
  174. CALL PRODT(CMAT2,CMAT1,XGLOB,IDIM,IDIM)
  175. CMAT(1,1)=CMAT2(1,1)
  176. IF (INM.EQ.2) THEN
  177. CMAT(2,2) = VALMAT(5)
  178. ELSE
  179. CMAT(2,2) = VALMAT(6)
  180. ENDIF
  181. CMAT(1,3) = CMAT2(1,2)
  182. CMAT(3,1) = CMAT (1,3)
  183. CMAT(3,3) = CMAT2(2,2)
  184. ELSE
  185. C
  186. C- Element MASSIF : CMAT = transpose(XGLOB)*CMAT1*XGLOB
  187. C
  188. CALL PRODT(CMAT,CMAT1,XGLOB,IDIM,IDIM)
  189. ENDIF
  190. C
  191. RETURN
  192. END
  193.  
  194.  

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