Télécharger elast1.eso

Retour à la liste

Numérotation des lignes :

elast1
  1. C ELAST1 SOURCE CHAT 05/01/12 23:29:27 5004
  2. SUBROUTINE ELAST1(ISENS,IFOUR,VAR,NNVARI,XMATT,NCOMAT,
  3. & YUNGV,XNUV,XCAR,ICARA,MFR,NSTRS,DD,DDV,KERRE,INDIC,ITHHER)
  4. C
  5. C----------------------------------------------------------------------------
  6. C Objet: Calcul de la matrice de Hooke endommagee(ISENS=1)
  7. C ou son inverse(ISENS=2) et de sa derivee par rapport
  8. C a T a la temperature T0 dans le cas de la plasticite avec
  9. C ecrouissage et endommagement isotropes(materiau 26)
  10. C et dans le cas de la viscoplasticite avec endommagement
  11. C isotrope(materiau 29) en regime anisotherme
  12. C----------------------------------------------------------------------------
  13. C
  14. C----------------------------------------------------------------------------
  15. C Entree: ISENS= 1 DD en sortie est la matrice de Hooke endommagee
  16. C d'ou SIG=DD*EPSELAS
  17. C = 2 DD en sortie est la matrice de Hooke inverse
  18. C endommagee d'ou EPSELAS=DD*SIG
  19. C avec SIG contraintes et EPSELAS deformations elastiques
  20. C IFOUR= -2 EN CONTR. PLANES
  21. C -1 EN DEFORM. PLANES
  22. C 0 EN AXISYMETRIE
  23. C 1 EN SERIE DE FOURIER
  24. C 2 EN TRIDIM
  25. C NSTRS nombre de composantes des contraintes ou
  26. C des deformations
  27. C NNVARI nombre de variables internes pilotant les
  28. C equations du modele
  29. C VAR(NVARI) tableau des variables internes
  30. C XMATT(NCOMAT) tableau des parametres scalaires du materiau
  31. C a une temperature T donnee
  32. C dont XMATT(1) module d'Young et XMATT(2) coeff de Poisson
  33. C YUNGV derivee /T du module d'Young a T
  34. C XNUV derivee /T du coeff de Poisson a T
  35. C MFR indice de la formulation mecanique(seulement massif
  36. C pour les materiaux endommageables)
  37. C ICARA nombre de caracteristiques geometriques des elements
  38. C finis
  39. C XCAR(ICARA) tableau des caracteristiques geometriques des
  40. C elements finis
  41. C INDIC=0, 1 OU -1 pour plasticite avec endommagement
  42. C =2 OU -2 pour viscoplasticite avec endommagement
  43. C ITHHER = 0 pas de chargement thermique et materiau constant
  44. C = 1 chargement thermique et materiau constant
  45. C = 2 chargement thermique et materiau(T)
  46. C--------------------------------------------------------------------------------
  47. C
  48. C--------------------------------------------------------------------------------
  49. C Sortie: DD(NSTRS,NSTRS) matrice de Hooke endommagee si ISENS=1
  50. C son inverse si ISENS=2
  51. C DDV(NSTRS,NSTRS) derivee de la matrice de Hooke
  52. C endommagee si ISENS=1
  53. C son inverse si ISENS=2
  54. C KERRE indice qui regit les erreurs
  55. C Il vaut 99 si la formulation mecanique n'est pas disponible ou
  56. C s'il y a incompatibilite entre MFR et IFOUR
  57. C _______________________________________________________________________________
  58. C
  59. IMPLICIT INTEGER(I-N)
  60. IMPLICIT REAL*8 (A-H,O-Z)
  61. DIMENSION VAR(*),XCAR(*),XMATT(*)
  62. DIMENSION DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS)
  63. C
  64. CALL ZERO(DD,NSTRS,NSTRS)
  65. CALL ZERO(DDV,NSTRS,NSTRS)
  66. KERRE=0
  67. C
  68. YUNG=XMATT(1)
  69. XNU=XMATT(2)
  70. XD=VAR(3)
  71. * write(6,*) 'elast1 ifour mfr ',ifour,mfr
  72. C
  73. D1=1.D0-XD
  74. C
  75. C ====================================================================
  76. C SI LE PT. DE GAUSS EST ROMPU, ON DIV. SON MOD. D'YOUNG PAR 1 MILLION
  77. C ====================================================================
  78. IF (INDIC.EQ.2.OR.INDIC.EQ.-2) THEN
  79. IF (XD.EQ.1.D0) D1=1.D-6
  80. GOTO 3
  81. ENDIF
  82. C
  83. DC=XMATT(7)
  84. IF (INDIC.EQ.-1.AND.XD.GE.DC) D1=1.D-6
  85. C
  86. 3 CONTINUE
  87. COEFF1=(D1*YUNG)/(1.D0-XNU*XNU)
  88. COEFF2=1.D0/(D1*YUNG)
  89. COEFF3=(D1*YUNG)/((1.D0+XNU)*(1.D0-2.D0*XNU))
  90. COEFF4=(1.D0-2.D0*XNU)/2.D0
  91. C
  92. IF (ITHHER.EQ.2) THEN
  93. COEF1V=YUNGV+(2.D0*XNUV*YUNG*XNU/(1.D0-XNU*XNU))
  94. COEF1V=COEF1V*D1/(1.D0-XNU*XNU)
  95. C
  96. COEF2V=-YUNGV/(YUNG*YUNG*D1)
  97. C
  98. DEN=(1.D0+XNU)*(1.D0-2.D0*XNU)
  99. COEF3V=(1.D0+(4.D0*XNU))*YUNG*XNUV
  100. COEF3V=COEF3V/DEN
  101. COEF3V=COEF3V+YUNGV
  102. COEF3V=D1*COEF3V/DEN
  103. C
  104. COEF4V=-XNUV
  105. ENDIF
  106. C
  107. IF (MFR.NE.1) GOTO 20
  108. C
  109. C------------
  110. C MASSIFS
  111. C------------
  112. IF (IFOUR.EQ.-2) GOTO 10
  113. C
  114. C ----------------------------------
  115. C DEFORMATIONS PLANES ET AXISYMETRIE
  116. C ----------------------------------
  117. IF (ISENS.EQ.1) THEN
  118. C
  119. C----------------
  120. C SIG=DD*EPSELAS
  121. C----------------
  122. DD(1,1)=COEFF3*(1.D0-XNU)
  123. DD(1,2)=COEFF3*XNU
  124. DD(1,3)=DD(1,2)
  125. DD(2,2)=DD(1,1)
  126. DD(2,3)=DD(1,2)
  127. DD(3,3)=DD(1,1)
  128. DD(2,1)=DD(1,2)
  129. DD(3,1)=DD(1,2)
  130. DD(3,2)=DD(1,2)
  131. C
  132. IF (ITHHER.EQ.2) THEN
  133. DDV(1,1)=(COEF3V*(1.D0-XNU))-(COEFF3*XNUV)
  134. DDV(1,2)=(COEF3V*XNU)+(COEFF3*XNUV)
  135. DDV(1,3)=DDV(1,2)
  136. DDV(2,2)=DDV(1,1)
  137. DDV(2,3)=DDV(1,2)
  138. DDV(3,3)=DDV(1,1)
  139. DDV(2,1)=DDV(1,2)
  140. DDV(3,1)=DDV(1,2)
  141. DDV(3,2)=DDV(1,2)
  142. ENDIF
  143. LA=4
  144. LB=4
  145. C
  146. C ---------------------------
  147. C LB=6 POUR TRIDIM ET FOURIER
  148. C ---------------------------
  149. IF (IFOUR.GT.0) LB=6
  150. DO 5 IA=LA,LB
  151. DD(IA,IA)=COEFF3*COEFF4
  152. IF (ITHHER.EQ.2) THEN
  153. DDV(IA,IA)=(COEF3V*COEFF4)+(COEFF3*COEF4V)
  154. ENDIF
  155. 5 CONTINUE
  156. ELSE
  157. C
  158. C-------------------
  159. C EPSELAS=DD*SIG
  160. C-------------------
  161. DD(1,1)=COEFF2
  162. DD(1,2)=-XNU*COEFF2
  163. DD(1,3)=DD(1,2)
  164. DD(2,2)=DD(1,1)
  165. DD(2,3)=DD(1,2)
  166. DD(3,3)=DD(1,1)
  167. DD(2,1)=DD(1,2)
  168. DD(3,1)=DD(1,3)
  169. DD(3,2)=DD(2,3)
  170. IF (ITHHER.EQ.2) THEN
  171. DDV(1,1)=COEF2V
  172. DDV(1,2)=-( (XNUV*COEFF2)+(XNU*COEF2V) )
  173. DDV(1,3)=DDV(1,2)
  174. DDV(2,2)=DDV(1,1)
  175. DDV(2,3)=DDV(1,2)
  176. DDV(3,3)=DDV(1,1)
  177. DDV(2,1)=DDV(1,2)
  178. DDV(3,1)=DDV(1,3)
  179. DDV(3,2)=DDV(2,3)
  180. ENDIF
  181. LA=4
  182. LB=4
  183. C
  184. C ---------------------------
  185. C LB=6 POUR TRIDIM ET FOURIER
  186. C ---------------------------
  187. IF (IFOUR.GT.0) LB=6
  188. DO 7 IA=LA,LB
  189. DD(IA,IA)=(1.D0+XNU)*DD(1,1)*2.D0
  190. IF (ITHHER.EQ.2) THEN
  191. DDV(IA,IA)=2.D0*( (XNUV*COEFF2)+((1.D0+XNU)*COEF2V) )
  192. ENDIF
  193. 7 CONTINUE
  194. C
  195. ENDIF
  196. C
  197. GOTO 500
  198. C
  199. C -------------
  200. C CONTR. PLANES
  201. C -------------
  202. 10 IF (ISENS.EQ.1) THEN
  203. C
  204. C-----------------
  205. C SIG=DD*EPSELAS
  206. C-----------------
  207. DD(1,1)=COEFF1
  208. DD(1,2)=COEFF1*XNU
  209. DD(2,2)=COEFF1
  210. DD(4,4)=COEFF1*((1.D0-XNU)/2.D0)
  211. DD(2,1)=DD(1,2)
  212. IF (ITHHER.EQ.2) THEN
  213. DDV(1,1)=COEF1V
  214. DDV(1,2)=(COEF1V*XNU)+(COEFF1*XNUV)
  215. DDV(2,2)=COEF1V
  216. DDV(4,4)=0.5D0*( (COEF1V*(1.D0-XNU))-(COEFF1*XNUV) )
  217. DDV(2,1)=DDV(1,2)
  218. ENDIF
  219. ELSE
  220. C
  221. C------------------
  222. C EPSELAS=DD*SIG
  223. C------------------
  224. DD(1,1)=COEFF2
  225. DD(1,2)=-COEFF2*XNU
  226. DD(2,2)=COEFF2
  227. DD(4,4)=COEFF2*2.D0*(1.D0+XNU)
  228. DD(2,1)=DD(1,2)
  229. DD(3,1)=DD(1,2)
  230. DD(3,2)=DD(1,2)
  231. C
  232. IF (ITHHER.EQ.2) THEN
  233. DDV(1,1)=COEF2V
  234. DDV(1,2)=-( (COEF2V*XNU)+(COEFF2*XNUV) )
  235. DDV(2,2)=COEF2V
  236. DDV(4,4)=2.D0*( ((1.D0+XNU)*COEF2V)+(XNUV*COEFF2) )
  237. DDV(2,1)=DDV(1,2)
  238. DDV(3,1)=DDV(1,2)
  239. DDV(3,2)=DDV(1,2)
  240. ENDIF
  241. ENDIF
  242. C
  243. GOTO 500
  244. C
  245. 20 IF (MFR.NE.5) GOTO 30
  246. C
  247. C------------------------------------------
  248. C COQUES EPAISSES TRIDIM
  249. C------------------------------------------
  250. C
  251. C
  252. IF(IFOUR.EQ.2) THEN
  253. XK=1.2d0
  254. IF (ISENS.EQ.1) THEN
  255. C sig= DD * EPSELAS
  256. AUX=COEFF1
  257. AUX1=COEFF1*XNU
  258. GEGE=YUNG*D1*0.5D0/(1.D0+XNU)
  259. C
  260. DD(1,1)=AUX
  261. DD(2,1)=AUX1
  262. DD(1,2)=AUX1
  263. DD(2,2)=AUX
  264. DD(3,3)=GEGE
  265. DD(4,4)=GEGE/XK
  266. DD(5,5)=DD(4,4)
  267. IF (ITHHER.EQ.2) THEN
  268. DDV(1,1)=COEF1V
  269. DDV(1,2)=(COEF1V*XNU)+(COEFF1*XNUV)
  270. DDV(2,2)=COEF1V
  271.  
  272. DDV(2,1)=DDV(1,2)
  273. DDV(3,3)=0.5D0*( (COEF1V*(1.D0-XNU))-(COEFF1*XNUV) )
  274. DDV(4,4)=DDV(3,3) * XK
  275. DDV(5,5)=DDV(3,3) * XK
  276. ENDIF
  277. ELSE
  278. C eps = DD* SIG
  279. C------------------
  280. DD(1,1)=COEFF2
  281. DD(1,2)=-COEFF2*XNU
  282. DD(2,2)=COEFF2
  283. DD(3,3)=COEFF2*2.D0*(1.D0+XNU)
  284. DD(2,1)=DD(1,2)
  285. DD(4,4)=DD(3,3)/XK
  286. DD(5,5)=DD(3,3)/XK
  287. C
  288. IF (ITHHER.EQ.2) THEN
  289. DDV(1,1)=COEF2V
  290. DDV(1,2)=-( (COEF2V*XNU)+(COEFF2*XNUV) )
  291. DDV(2,2)=COEF2V
  292. DDV(3,3)=2.D0*( ((1.D0+XNU)*COEF2V)+(XNUV*COEFF2) )
  293. DDV(2,1)=DDV(1,2)
  294. DDV(4,4)=DDV(3,3)/XK
  295. DDV(5,5)=DDV(3,3)/XK
  296. ENDIF
  297. ENDIF
  298. ELSE
  299. IRET=0
  300. ENDIF
  301. GO TO 500
  302. 30 IF(MFR.NE.3) go to 40
  303. IF (ISENS.EQ.1) THEN
  304. C
  305. C-----------------
  306. C SIG=DD*EPSELAS
  307. C-----------------
  308. DD(1,1)=COEFF1
  309. DD(1,2)=COEFF1*XNU
  310. DD(2,2)=COEFF1
  311. DD(4,4)=COEFF1*((1.D0-XNU)/2.D0)
  312. C voir petite ruse de hookis pour (3,3)
  313. DD(3,3)=COEFF1*1.d-6
  314. DD(2,1)=DD(1,2)
  315. IF (ITHHER.EQ.2) THEN
  316. DDV(1,1)=COEF1V
  317. DDV(1,2)=(COEF1V*XNU)+(COEFF1*XNUV)
  318. DDV(2,2)=COEF1V
  319. DDV(4,4)=0.5D0*( (COEF1V*(1.D0-XNU))-(COEFF1*XNUV) )
  320. DDV(2,1)=DDV(1,2)
  321. ENDIF
  322. ELSE
  323. C
  324. C------------------
  325. C EPSELAS=DD*SIG
  326. C------------------
  327. DD(1,1)=COEFF2
  328. DD(1,2)=-COEFF2*XNU
  329. DD(2,2)=COEFF2
  330. DD(4,4)=COEFF2*2.D0*(1.D0+XNU)
  331. DD(2,1)=DD(1,2)
  332. DD(3,1)=DD(1,2)
  333. DD(3,2)=DD(1,2)
  334. C
  335. IF (ITHHER.EQ.2) THEN
  336. DDV(1,1)=COEF2V
  337. DDV(1,2)=-( (COEF2V*XNU)+(COEFF2*XNUV) )
  338. DDV(2,2)=COEF2V
  339. DDV(4,4)=2.D0*( ((1.D0+XNU)*COEF2V)+(XNUV*COEFF2) )
  340. DDV(2,1)=DDV(1,2)
  341. DDV(3,1)=DDV(1,2)
  342. DDV(3,2)=DDV(1,2)
  343. ENDIF
  344. ENDIF
  345.  
  346. GO TO 500
  347. C FORMULATION NON DISPONIBLE
  348. 40 KERRE=99
  349. 500 CONTINUE
  350. RETURN
  351. END
  352.  
  353.  
  354.  
  355.  
  356.  

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