Télécharger epthan.eso

Retour à la liste

Numérotation des lignes :

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

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