Télécharger epthan.eso

Retour à la liste

Numérotation des lignes :

  1. C EPTHAN SOURCE BP208322 17/03/01 21:17:26 9325
  2. SUBROUTINE EPTHAN(MFR,MELE,VALMAT,NSTRS,TEMP,
  3. 1 TXR,XLOC,XGLOB,ROTS,RES,KERRE)
  4. *******************************************************************
  5. * APPELE PAR EPTHP :DEFORMATIONS THERMIQUES POUR LES MATERIAUX
  6. * ANISOTROPES
  7. *
  8. * ENTREES :
  9. * MFR = FORMULATION DE L ELEMENT FINI
  10. * MELE = NUMERO DE L'ELEMENT FINI
  11. * VALMAT = TABLEAU DE MATERIAU
  12. * NSTRS = NOMBRE DE COMPOSANTES DES DEFORMATIONS
  13. * TEMP = TEMPERATURES
  14. * LHOOK = TAILLE DE LA MATRICE DE HOOKE
  15. * TXR,XLOC,XGLOB,ROTS = TABLEAUX DE TRAVAIL
  16. * SORTIES :
  17. * RES = TABLEAU DE DEFORMATIONS
  18. * KERRE = INDICATEUR D'ERREUR
  19. *
  20. * AM1 JANV 95
  21. ***********************************************************************
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24. *
  25. -INC CCOPTIO
  26. -INC CCHAMP
  27. *
  28. DIMENSION XLOC(3,3),XGLOB(3,3)
  29. DIMENSION ROTS(NSTRS,*)
  30. DIMENSION TXR(IDIM,*),RES(NSTRS)
  31. DIMENSION VALMAT(*)
  32. *
  33. DIMENSION EPS1(6),EPS2(6)
  34. *
  35. KERRE=0
  36. *
  37. * TEST SUR LA FORMULATION
  38. *
  39. *--------------------------------------------------------------
  40. * CAS MASSIF ET POREUX
  41. *--------------------------------------------------------------
  42. IF(MFR.EQ.1.OR.MFR.EQ.33.OR.MFR.EQ.31) THEN
  43. *
  44. CALL ZERO (XGLOB,IDIM,IDIM)
  45.  
  46. *
  47. * CONTRAINTES PLANES
  48. *
  49. IF(IFOUR.EQ.-2)THEN
  50. *
  51. ALP1= VALMAT(1)
  52. ALP2= VALMAT(2)
  53. AL12= VALMAT(3)
  54. ALP3=0.D0
  55. XLOC(1,1)=VALMAT(4)
  56. XLOC(2,1)=VALMAT(5)
  57. XLOC(1,2)=-XLOC(2,1)
  58. XLOC(2,2)=XLOC(1,1)
  59. * DEFINITION DES AXES ORTHO./AXES GLOBAUX
  60. DO 3310 K=1,IDIM
  61. DO 3310 J=1,IDIM
  62. DO 3310 I=1,IDIM
  63. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  64. 3310 CONTINUE
  65. CC=XGLOB(1,1)*XGLOB(1,1)
  66. SS=XGLOB(2,1)*XGLOB(2,1)
  67. CS=XGLOB(1,1)*XGLOB(2,1)
  68. *
  69. * EN AXES D'ORTHOTROPIE
  70. *
  71. EPS1(1)=ALP1
  72. EPS1(2)=ALP2
  73. EPS1(3)=ALP3
  74. EPS1(4)=AL12
  75. *
  76. * CHGT D'AXES
  77. *
  78. EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4)
  79. EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4)
  80. EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4)
  81. *
  82. RES(1)=EPS2(1)*TEMP
  83. RES(2)=EPS2(2)*TEMP
  84. RES(3)=0.D0
  85. RES(4)=EPS2(4)*TEMP
  86. *
  87. * DEFORMATIONS PLANES OU AXI OU FOURIER
  88. *
  89. ELSEIF(IFOUR.EQ.-1.OR.IFOUR.EQ.0
  90. 1 .OR.IFOUR.EQ.1.OR.IFOUR.EQ.-3)THEN
  91. ALP1= VALMAT(1)
  92. ALP2= VALMAT(2)
  93. AL12= VALMAT(3)
  94. ALP3= VALMAT(4)
  95. XLOC(1,1)=VALMAT(5)
  96. XLOC(2,1)=VALMAT(6)
  97. XLOC(1,2)=-XLOC(2,1)
  98. XLOC(2,2)=XLOC(1,1)
  99. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  100. DO 3320 K=1,IDIM
  101. DO 3320 J=1,IDIM
  102. DO 3320 I=1,IDIM
  103. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  104. 3320 CONTINUE
  105. CC=XGLOB(1,1)*XGLOB(1,1)
  106. SS=XGLOB(2,1)*XGLOB(2,1)
  107. CS=XGLOB(1,1)*XGLOB(2,1)
  108. *
  109. * EN AXES D'ORTHOTROPIE
  110. *
  111. EPS1(1)=ALP1
  112. EPS1(2)=ALP2
  113. EPS1(3)=ALP3
  114. EPS1(4)=AL12
  115. *
  116. * CHGT D'AXES
  117. *
  118. EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4)
  119. EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4)
  120. EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4)
  121. EPS2(3)=EPS1(3)
  122. *
  123. IF(IFOUR.EQ.-1.OR.IFOUR.EQ.0)THEN
  124. RES(1)=EPS2(1)*TEMP
  125. RES(2)=EPS2(2)*TEMP
  126. RES(3)=EPS2(3)*TEMP
  127. RES(4)=EPS2(4)*TEMP
  128. ELSE
  129. RES(1)=EPS2(1)*TEMP
  130. RES(2)=EPS2(2)*TEMP
  131. RES(3)=EPS2(3)*TEMP
  132. RES(4)=EPS2(4)*TEMP
  133. RES(5)=0.D0
  134. RES(6)=0.D0
  135. ENDIF
  136. *
  137. * TRIDIMENSIONNEL
  138. *
  139. ELSEIF(IFOUR.EQ.2)THEN
  140. ALP1= VALMAT(1)
  141. ALP2= VALMAT(2)
  142. ALP3= VALMAT(3)
  143. AL12= VALMAT(4)
  144. AL13= VALMAT(5)
  145. AL23= VALMAT(6)
  146. XLOC(1,1)=VALMAT(7)
  147. XLOC(2,1)=VALMAT(8)
  148. XLOC(3,1)=VALMAT(9)
  149. XLOC(1,2)=VALMAT(10)
  150. XLOC(2,2)=VALMAT(11)
  151. XLOC(3,2)=VALMAT(12)
  152. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  153. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  154. DO 3330 K=1,IDIM
  155. DO 3330 J=1,IDIM
  156. DO 3330 I=1,IDIM
  157. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  158. 3330 CONTINUE
  159. *
  160. * MATRICE DE TRANSFORMATION
  161. *
  162. DO 3331 IC=1,3
  163. DO 3331 IL=1,3
  164. ROTS (IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)
  165. 3331 CONTINUE
  166. C
  167. DO 3332 IL=1,3
  168. ROTS (IL,4)=XGLOB(IL,1)*XGLOB(IL,2)
  169. ROTS (IL,5)=XGLOB(IL,2)*XGLOB(IL,3)
  170. ROTS (IL,6)=XGLOB(IL,1)*XGLOB(IL,3)
  171. 3332 CONTINUE
  172. C
  173. DO 3333 IC=1,3
  174. ROTS (4,IC)=2.D0*XGLOB(1,IC)*XGLOB(2,IC)
  175. ROTS (5,IC)=2.D0*XGLOB(2,IC)*XGLOB(3,IC)
  176. ROTS (6,IC)=2.D0*XGLOB(1,IC)*XGLOB(3,IC)
  177. 3333 CONTINUE
  178. C
  179. DO 3334 IL=4,6
  180. IL1=IL-3
  181. IL2=IL1+1
  182. IF(IL2.GT.3)IL2=IL2-3
  183. DO 3334 IC=4,6
  184. IC1=IC-3
  185. IC2=IC1+1
  186. IF(IC2.GT.3)IC2=IC2-3
  187. ROTS (IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+
  188. . XGLOB(IL1,IC2)*XGLOB(IL2,IC1)
  189. 3334 CONTINUE
  190. DO 3335 IC=1,6
  191. AA=ROTS (6,IC)
  192. ROTS (6,IC)=ROTS (5,IC)
  193. ROTS (5,IC)=AA
  194. 3335 CONTINUE
  195. DO 3336 IL=1,6
  196. AA=ROTS (IL,6)
  197. ROTS (IL,6)=ROTS (IL,5)
  198. ROTS (IL,5)=AA
  199. 3336 CONTINUE
  200. *
  201. * EN AXES D'ORTHOTROPIE
  202. *
  203. EPS1(1)=ALP1
  204. EPS1(2)=ALP2
  205. EPS1(3)=ALP3
  206. EPS1(4)=AL12
  207. EPS1(5)=AL13
  208. EPS1(6)=AL23
  209. *
  210. * CHGT D'AXES
  211. *
  212. DO 3350 I=1,6
  213. EPS2(I)=0.D0
  214. DO 3350 J=1,6
  215. EPS2(I)=ROTS(I,J)*EPS1(J)+EPS2(I)
  216. 3350 CONTINUE
  217. *
  218. RES(1)=EPS2(1)*TEMP
  219. RES(2)=EPS2(2)*TEMP
  220. RES(3)=EPS2(3)*TEMP
  221. RES(4)=EPS2(4)*TEMP
  222. RES(5)=EPS2(5)*TEMP
  223. RES(6)=EPS2(6)*TEMP
  224. ELSE
  225. KERRE=19
  226. GOTO 99
  227. ENDIF
  228. ELSE IF(MFR.EQ.75) THEN
  229. IF (IDIM.EQ.3) THEN
  230. ALP1= VALMAT(1)
  231. ALP2= VALMAT(2)
  232. ALP3= VALMAT(3)
  233. ALQ1= VALMAT(4)
  234. ALQ2= VALMAT(5)
  235. ALQ3= VALMAT(6)
  236. *
  237. EPS1(1)=ALP1
  238. EPS1(2)=ALP2
  239. EPS1(3)=ALP3
  240. EPS1(4)=ALQ1
  241. EPS1(5)=ALQ2
  242. EPS1(6)=ALQ3
  243. *
  244. DO I=1,6
  245. RES(I)=EPS1(I)*TEMP
  246. ENDDO
  247. *
  248. ELSE IF (IDIM.EQ.2) THEN
  249. ALP1= VALMAT(1)
  250. ALP2= VALMAT(2)
  251. ALQ3= VALMAT(3)
  252. *
  253. EPS1(1)=ALP1
  254. EPS1(2)=ALP2
  255. EPS1(3)=ALQ3
  256. *
  257. DO I=1,3
  258. RES(I)=EPS1(I)*TEMP
  259. ENDDO
  260. ENDIF
  261. ELSE
  262. KERRE=19
  263. ENDIF
  264. *
  265. 99 CONTINUE
  266. RETURN
  267. END
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  

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