Télécharger epthun.eso

Retour à la liste

Numérotation des lignes :

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

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