Télécharger epthun.eso

Retour à la liste

Numérotation des lignes :

epthun
  1. C EPTHUN SOURCE BP208322 17/03/01 21:17:29 9325
  2. SUBROUTINE EPTHUN(MFR,MELE,VALMAT,NSTRS,TEMP,THIF,THM,
  3. 1 THSU,EPAIST,TXR,XLOC,XGLOB,ROTS,RES,KERRE)
  4. *******************************************************************
  5. * APPELE PAR EPTHP :DEFORMATIONS THERMIQUES POUR LES MATERIAUX
  6. * UNIDIRECTIONNELS
  7. *
  8. * ENTREES :
  9. * MFR = NUMERO DE LA FORMULATION
  10. * MELE = NUMERO DE L'ELEMENT FINI
  11. * VALMAT = TABLEAU DE MATERIAU
  12. * NSTRS = NOMBRE DE COMPOSANTES DES DEFORMATIONS
  13. * TEMP,THIF,THM,THSU = TEMPERATURES
  14. * EPAIST = EPAISSEUR
  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) THEN
  45. *
  46. CALL ZERO (XGLOB,IDIM,IDIM)
  47.  
  48. *
  49. * CONTRAINTES PLANES
  50. * OU
  51. * DEFORMATIONS PLANES OU AXI OU FOURIER
  52. *
  53. IF(IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0
  54. 1 .OR.IFOUR.EQ.1)THEN
  55. *
  56. ALPH= VALMAT(1)
  57. XLOC(1,1)=VALMAT(2)
  58. XLOC(2,1)=VALMAT(3)
  59. XLOC(1,2)=-XLOC(2,1)
  60. XLOC(2,2)=XLOC(1,1)
  61. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  62. DO 4310 K=1,IDIM
  63. DO 4310 J=1,IDIM
  64. DO 4310 I=1,IDIM
  65. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  66. 4310 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)=ALPH
  74. *
  75. * CHGT D'AXES
  76. *
  77. EPS2(1)=CC*EPS1(1)
  78. EPS2(2)=SS*EPS1(1)
  79. EPS2(3)=0.D0
  80. EPS2(4)=(CS*EPS1(1))*2.D0
  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. IF(IFOUR.EQ.1) THEN
  87. RES(5)=0.D0
  88. RES(6)=0.D0
  89. ENDIF
  90. *
  91. * TRIDIMENSIONNEL
  92. *
  93. ELSE
  94. ALPH= VALMAT(1)
  95. XLOC(1,1)=VALMAT(2)
  96. XLOC(2,1)=VALMAT(3)
  97. XLOC(3,1)=VALMAT(4)
  98. XLOC(1,2)=VALMAT(5)
  99. XLOC(2,2)=VALMAT(6)
  100. XLOC(3,2)=VALMAT(7)
  101. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
  102. C DEFINITION DES AXES ORTHO./AXES GLOBAUX
  103. DO 2330 K=1,IDIM
  104. DO 2330 J=1,IDIM
  105. DO 2330 I=1,IDIM
  106. XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  107. 2330 CONTINUE
  108. *
  109. * MATRICE DE TRANSFORMATION
  110. *
  111. DO 2331 IC=1,3
  112. DO 2331 IL=1,3
  113. ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)
  114. 2331 CONTINUE
  115. C
  116. DO 2332 IL=1,3
  117. ROTS(IL,4)=XGLOB(IL,1)*XGLOB(IL,2)
  118. ROTS(IL,5)=XGLOB(IL,2)*XGLOB(IL,3)
  119. ROTS(IL,6)=XGLOB(IL,1)*XGLOB(IL,3)
  120. 2332 CONTINUE
  121. C
  122. DO 2333 IC=1,3
  123. ROTS(4,IC)=2.D0*XGLOB(1,IC)*XGLOB(2,IC)
  124. ROTS(5,IC)=2.D0*XGLOB(2,IC)*XGLOB(3,IC)
  125. ROTS(6,IC)=2.D0*XGLOB(1,IC)*XGLOB(3,IC)
  126. 2333 CONTINUE
  127. C
  128. DO 2334 IL=4,6
  129. IL1=IL-3
  130. IL2=IL1+1
  131. IF(IL2.GT.3)IL2=IL2-3
  132. DO 2334 IC=4,6
  133. IC1=IC-3
  134. IC2=IC1+1
  135. IF(IC2.GT.3)IC2=IC2-3
  136. ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+
  137. . XGLOB(IL1,IC2)*XGLOB(IL2,IC1)
  138. 2334 CONTINUE
  139. DO 2335 IC=1,6
  140. AA=ROTS(6,IC)
  141. ROTS(6,IC)=ROTS(5,IC)
  142. ROTS(5,IC)=AA
  143. 2335 CONTINUE
  144. DO 2336 IL=1,6
  145. AA=ROTS(IL,6)
  146. ROTS(IL,6)=ROTS(IL,5)
  147. ROTS(IL,5)=AA
  148. 2336 CONTINUE
  149. *
  150. * EN AXES D'ORTHOTROPIE
  151. *
  152. EPS1(1)=ALPH
  153. DO 2340 I=2,6
  154. EPS1(I)=0.D0
  155. 2340 CONTINUE
  156. *
  157. * CHGT D'AXES
  158. *
  159. DO 2350 I=1,6
  160. EPS2(I)=0.D0
  161. DO 2350 J=1,6
  162. EPS2(I)= EPS2(I) +ROTS(I,J)*EPS1(J)
  163. 2350 CONTINUE
  164. *
  165. RES(1)=EPS2(1)*TEMP
  166. RES(2)=EPS2(2)*TEMP
  167. RES(3)=EPS2(3)*TEMP
  168. RES(4)=EPS2(4)*TEMP
  169. RES(5)=EPS2(5)*TEMP
  170. RES(6)=EPS2(6)*TEMP
  171. ENDIF
  172. *____________________________________________________________________
  173. *
  174. * SECTEUR DE CALCUL POUR LES ELEMENTS COQUES MINCES SAUF COQ2
  175. *____________________________________________________________________
  176. *
  177. ELSE IF(MELE.EQ.27.OR.MELE.EQ.28.OR.
  178. 1 MELE.EQ.49)THEN
  179. ALPH=VALMAT(1)
  180. V1X= VALMAT(2)
  181. V1Y= VALMAT(3)
  182. CC=V1X*V1X
  183. SS=V1Y*V1Y
  184. CS=V1X*V1Y
  185. THMO=(THSU+THIF+4.D0*THM)/6.D0
  186. THDI=THSU-THIF
  187. FACM=THMO
  188. FACF=THDI/EPAIST
  189. *
  190. * EN AXES D'ORTHOTROPIE
  191. *
  192. EPS1(1)=ALPH
  193. EPS1(2)=0.D0
  194. EPS1(3)=0.D0
  195. *
  196. * CHGT D'AXES
  197. *
  198. EPS2(1)=CC*EPS1(1)
  199. EPS2(2)=SS*EPS1(1)
  200. EPS2(3)=CS*EPS1(1)*2.D0
  201. *
  202. IF(IFOUR.GT.0) THEN
  203. RES(1)=EPS2(1)*FACM
  204. RES(2)=EPS2(2)*FACM
  205. RES(3)=EPS2(3)*FACM
  206. RES(4)=(EPS2(1)*FACF)
  207. *2.D0
  208. RES(5)=(EPS2(2)*FACF)
  209. *2.D0
  210. RES(6)=(EPS2(3)*FACF)
  211. *2.D0
  212. ELSE IF(IFOUR.LE.0) THEN
  213. *
  214. * PAS GRAND SENS DANS CE CAS
  215. *
  216. KERRE=19
  217. GO TO 99
  218. ENDIF
  219. C____________________________________________________________________
  220. C
  221. C SECTEUR DE CALCUL POUR LES ELEMENTS COQ2
  222. C____________________________________________________________________
  223. C
  224. ELSEIF(MELE.EQ.44)THEN
  225. ALPH=VALMAT(1)
  226. V1X =VALMAT(2)
  227. V1Y =VALMAT(3)
  228. CC=V1X*V1X
  229. SS=V1Y*V1Y
  230. CS=V1X*V1Y
  231. THMO=(THSU+THIF+4.D0*THM)/6.D0
  232. THDI=THSU-THIF
  233. FACM=THMO
  234. FACF=THDI/EPAIST
  235. *
  236. * EN AXES D'ORTHOTROPIE
  237. *
  238. EPS1(1)=ALPH
  239. EPS1(2)=0.D0
  240. EPS1(3)=0.D0
  241. *
  242. * CHGT D'AXES
  243. *
  244. EPS2(1)=CC*EPS1(1)
  245. EPS2(2)=SS*EPS1(1)
  246. EPS2(3)=CS*EPS1(1)*2.D0
  247. *
  248. IF(IFOUR.GT.0) THEN
  249. RES(1)=EPS2(1)*FACM
  250. RES(2)=EPS2(2)*FACM
  251. RES(3)=EPS2(3)*FACM
  252. RES(4)=EPS2(1)*FACF
  253. *2.D0
  254. RES(5)=EPS2(2)*FACF
  255. *2.D0
  256. RES(6)=EPS2(3)*FACF
  257. *2.D0
  258. ELSE IF(IFOUR.LE.0) THEN
  259. RES(1)=EPS2(1)*FACM
  260. RES(2)=EPS2(2)*FACM
  261. RES(3)=EPS2(1)*FACF
  262. RES(4)=EPS2(2)*FACF
  263. *2.D0
  264. ELSE
  265. KERRE=19
  266. GO TO 99
  267. ENDIF
  268. ELSE
  269. KERRE=19
  270. ENDIF
  271. *
  272. 99 CONTINUE
  273. RETURN
  274. END
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  

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