Télécharger epthan.eso

Retour à la liste

Numérotation des lignes :

epthan
  1. C EPTHAN SOURCE CB215821 26/08/24 21:16:30 12622
  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 3352 K=1,IDIM
  63. DO 3351 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. 3351 CONTINUE
  68. 3352 CONTINUE
  69. CC=XGLOB(1,1)*XGLOB(1,1)
  70. SS=XGLOB(2,1)*XGLOB(2,1)
  71. CS=XGLOB(1,1)*XGLOB(2,1)
  72. *
  73. * EN AXES D'ORTHOTROPIE
  74. *
  75. EPS1(1)=ALP1
  76. EPS1(2)=ALP2
  77. EPS1(3)=ALP3
  78. EPS1(4)=AL12
  79. *
  80. * CHGT D'AXES
  81. *
  82. EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4)
  83. EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4)
  84. EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4)
  85. *
  86. RES(1)=EPS2(1)*TEMP
  87. RES(2)=EPS2(2)*TEMP
  88. RES(3)=0.D0
  89. RES(4)=EPS2(4)*TEMP
  90. *
  91. * DEFORMATIONS PLANES OU AXI OU FOURIER
  92. *
  93. ELSEIF(IFOUR.EQ.-1.OR.IFOUR.EQ.0
  94. 1 .OR.IFOUR.EQ.1.OR.IFOUR.EQ.-3)THEN
  95. ALP1= VALMAT(1)
  96. ALP2= VALMAT(2)
  97. AL12= VALMAT(3)
  98. ALP3= VALMAT(4)
  99. XLOC(1,1)=VALMAT(5)
  100. XLOC(2,1)=VALMAT(6)
  101. XLOC(1,2)=-XLOC(2,1)
  102. XLOC(2,2)=XLOC(1,1)
  103. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  104. DO 3354 K=1,IDIM
  105. DO 3353 J=1,IDIM
  106. DO 3320 I=1,IDIM
  107. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  108. 3320 CONTINUE
  109. 3353 CONTINUE
  110. 3354 CONTINUE
  111. CC=XGLOB(1,1)*XGLOB(1,1)
  112. SS=XGLOB(2,1)*XGLOB(2,1)
  113. CS=XGLOB(1,1)*XGLOB(2,1)
  114. *
  115. * EN AXES D'ORTHOTROPIE
  116. *
  117. EPS1(1)=ALP1
  118. EPS1(2)=ALP2
  119. EPS1(3)=ALP3
  120. EPS1(4)=AL12
  121. *
  122. * CHGT D'AXES
  123. *
  124. EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4)
  125. EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4)
  126. EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4)
  127. EPS2(3)=EPS1(3)
  128. *
  129. IF(IFOUR.EQ.-1.OR.IFOUR.EQ.0)THEN
  130. RES(1)=EPS2(1)*TEMP
  131. RES(2)=EPS2(2)*TEMP
  132. RES(3)=EPS2(3)*TEMP
  133. RES(4)=EPS2(4)*TEMP
  134. ELSE
  135. RES(1)=EPS2(1)*TEMP
  136. RES(2)=EPS2(2)*TEMP
  137. RES(3)=EPS2(3)*TEMP
  138. RES(4)=EPS2(4)*TEMP
  139. RES(5)=0.D0
  140. RES(6)=0.D0
  141. ENDIF
  142. *
  143. * TRIDIMENSIONNEL
  144. *
  145. ELSEIF(IFOUR.EQ.2)THEN
  146. ALP1= VALMAT(1)
  147. ALP2= VALMAT(2)
  148. ALP3= VALMAT(3)
  149. AL12= VALMAT(4)
  150. AL13= VALMAT(5)
  151. AL23= VALMAT(6)
  152. XLOC(1,1)=VALMAT(7)
  153. XLOC(2,1)=VALMAT(8)
  154. XLOC(3,1)=VALMAT(9)
  155. XLOC(1,2)=VALMAT(10)
  156. XLOC(2,2)=VALMAT(11)
  157. XLOC(3,2)=VALMAT(12)
  158. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  159. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  160. DO 3356 K=1,IDIM
  161. DO 3355 J=1,IDIM
  162. DO 3330 I=1,IDIM
  163. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  164. 3330 CONTINUE
  165. 3355 CONTINUE
  166. 3356 CONTINUE
  167. *
  168. * MATRICE DE TRANSFORMATION
  169. *
  170. DO 3357 IC=1,3
  171. DO 3331 IL=1,3
  172. ROTS (IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)
  173. 3331 CONTINUE
  174. 3357 CONTINUE
  175. C
  176. DO 3332 IL=1,3
  177. ROTS (IL,4)=XGLOB(IL,1)*XGLOB(IL,2)
  178. ROTS (IL,5)=XGLOB(IL,2)*XGLOB(IL,3)
  179. ROTS (IL,6)=XGLOB(IL,1)*XGLOB(IL,3)
  180. 3332 CONTINUE
  181. C
  182. DO 3333 IC=1,3
  183. ROTS (4,IC)=2.D0*XGLOB(1,IC)*XGLOB(2,IC)
  184. ROTS (5,IC)=2.D0*XGLOB(2,IC)*XGLOB(3,IC)
  185. ROTS (6,IC)=2.D0*XGLOB(1,IC)*XGLOB(3,IC)
  186. 3333 CONTINUE
  187. C
  188. DO 3358 IL=4,6
  189. IL1=IL-3
  190. IL2=IL1+1
  191. IF(IL2.GT.3)IL2=IL2-3
  192. DO 3334 IC=4,6
  193. IC1=IC-3
  194. IC2=IC1+1
  195. IF(IC2.GT.3)IC2=IC2-3
  196. ROTS (IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+
  197. . XGLOB(IL1,IC2)*XGLOB(IL2,IC1)
  198. 3334 CONTINUE
  199. 3358 CONTINUE
  200. DO 3335 IC=1,6
  201. AA=ROTS (6,IC)
  202. ROTS (6,IC)=ROTS (5,IC)
  203. ROTS (5,IC)=AA
  204. 3335 CONTINUE
  205. DO 3336 IL=1,6
  206. AA=ROTS (IL,6)
  207. ROTS (IL,6)=ROTS (IL,5)
  208. ROTS (IL,5)=AA
  209. 3336 CONTINUE
  210. *
  211. * EN AXES D'ORTHOTROPIE
  212. *
  213. EPS1(1)=ALP1
  214. EPS1(2)=ALP2
  215. EPS1(3)=ALP3
  216. EPS1(4)=AL12
  217. EPS1(5)=AL13
  218. EPS1(6)=AL23
  219. *
  220. * CHGT D'AXES
  221. *
  222. DO 3359 I=1,6
  223. EPS2(I)=0.D0
  224. DO 3350 J=1,6
  225. EPS2(I)=ROTS(I,J)*EPS1(J)+EPS2(I)
  226. 3350 CONTINUE
  227. 3359 CONTINUE
  228. *
  229. RES(1)=EPS2(1)*TEMP
  230. RES(2)=EPS2(2)*TEMP
  231. RES(3)=EPS2(3)*TEMP
  232. RES(4)=EPS2(4)*TEMP
  233. RES(5)=EPS2(5)*TEMP
  234. RES(6)=EPS2(6)*TEMP
  235. ELSE
  236. KERRE=19
  237. GOTO 99
  238. ENDIF
  239. ELSE IF(MFR.EQ.75) THEN
  240. IF (IDIM.EQ.3) THEN
  241. ALP1= VALMAT(1)
  242. ALP2= VALMAT(2)
  243. ALP3= VALMAT(3)
  244. ALQ1= VALMAT(4)
  245. ALQ2= VALMAT(5)
  246. ALQ3= VALMAT(6)
  247. *
  248. EPS1(1)=ALP1
  249. EPS1(2)=ALP2
  250. EPS1(3)=ALP3
  251. EPS1(4)=ALQ1
  252. EPS1(5)=ALQ2
  253. EPS1(6)=ALQ3
  254. *
  255. DO I=1,6
  256. RES(I)=EPS1(I)*TEMP
  257. ENDDO
  258. *
  259. ELSE IF (IDIM.EQ.2) THEN
  260. ALP1= VALMAT(1)
  261. ALP2= VALMAT(2)
  262. ALQ3= VALMAT(3)
  263. *
  264. EPS1(1)=ALP1
  265. EPS1(2)=ALP2
  266. EPS1(3)=ALQ3
  267. *
  268. DO I=1,3
  269. RES(I)=EPS1(I)*TEMP
  270. ENDDO
  271. ENDIF
  272. ELSE
  273. KERRE=19
  274. ENDIF
  275. *
  276. 99 CONTINUE
  277. RETURN
  278. END
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  

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