Télécharger plaque_gurson2.dgibi

Retour à la liste

Numérotation des lignes :

  1. ********************************************************************************************************
  2. * Dans la note CEA DMT 96-566, le rapport de densite est deduit de l'expression lineaire de la variation de volume:
  3. * trace(epsilon)=dV/V0
  4. * avec: V le volume total, V0 le volume total initial et epsilon la deformation totale
  5. * On en deduit: V/V0=1+trace(epsilon)
  6. * Puis le rapport de densite RHO=V0/V=1/(1+trace(epsilon))
  7. * Cette expression n'est pas imposée dans l'article de Needleman et Tvergaard de réference
  8. * "AN ANALYSIS OF DUCTILE RUPTURE MODES AT A CRACK TIP"
  9. * A. NEEDLEMAN, V. TVERGAARD,
  10. * J. Mech. Phys. Solids Vol. 35, No. 2, pp. 151-183, 1987
  11. *---------------------------------------------
  12. * Si on exprime la variation de volume par son expression logarithmique:
  13. * trace(depsilon)=dln(V)
  14. * avec depsilon la variation de la deformation totale et dln(V) la variation du logarithme du volume V
  15. * On en deduit: ln(V/V0)=trace(epsilon)
  16. * Puis le rapport de densite RHO=exp(-trace(epsilon))
  17. * Cette expression donne de meilleurs résultats pour les très forts taux de déformation testés dans
  18. * ce cas test.
  19. *=========================================================================================================
  20. * PLAQUE CARREE SOUMISE A UN DEPLACEMENT IMPOSE SUR 2 DE SES COTES
  21. * - Le volume de la plaque est imposee dans les calculs
  22. *=========================================================================================================
  23. 'OPTI' 'DIME' 2 'MODE' 'PLAN' 'DEFO' 'ELEM' 'QUA8';
  24. 'OPTI' 'ECHO' 1;
  25. *'OPTI' 'EPSILON' 'LINEAIRE';
  26. igraph = FAUX ;
  27.  
  28. *---> Maillage
  29. xL0 = 1.E-3;
  30. P1 = 0. 0.;
  31. P2 = xL0 0.;
  32. P3 = xL0 xL0;
  33. P4 = 0. xL0;
  34. LL1 = 'DROI' 1 P1 P2;
  35. LL2 = 'DROI' 1 P2 P3;
  36. LL3 = 'DROI' 1 P3 P4;
  37. LL4 = 'DROI' 1 P4 P1;
  38.  
  39. SUR0 = 'DALL' LL1 LL2 LL3 LL4 'PLAN';
  40. 'SI' igraph ;
  41. 'TITR' ' SUR0';
  42. 'TRAC' SUR0;
  43. 'FINSI' ;
  44.  
  45. *---> Deplacement maximal impose dans le calcul
  46. depmax = 4. * xL0 / 10. ;
  47.  
  48. *---> Courbe de traction du materiau
  49. beta0 = 125. ;
  50. sig0 = 410.E6 ;
  51. xm = .1 ;
  52. youn0 = 2.1E11 ;
  53. epsp0 = 'PROG' 0. ;
  54. deb0 = 'PROG' 0. ;
  55. epsmax0 = 2. * depmax / xL0 ;
  56. pas0 = epsmax0 / 50 ;
  57. pas1 = pas0 / 10. ;
  58. epsmax1 = ( epsmax0 / 10. ) ;
  59. epsp1 = ( 'PROG' 0. 'PAS' pas1 epsmax1 ) 'ET'
  60. ( 'PROG' ( epsmax1 + pas0 ) 'PAS' pas0 epsmax0 ) ;
  61. *epsp1 = 'PROG' 0. 'PAS' pas0 epsmax0 ;
  62. dim00 = 'DIME' epsp1 ;
  63. un = 'PROG' dim00 '*' 1. ;
  64. Y0 = sig0 ;
  65. epsp2 = beta0 * epsp1 ;
  66. epsp3 = epsp2 + un ;
  67. epsp31 = log epsp3 ;
  68. epsp32 = epsp31 * xm ;
  69. epsp4 = exp epsp32 ;
  70. Y1 = Y0 * epsp4 ;
  71.  
  72. epsp1 = epsp0 'ET' epsp1 ;
  73. Y1 = deb0 'ET' Y1 ;
  74. epsp2 = epsp1 + ( Y1 / youn0 ) ;
  75. trac00 = 'EVOL' 'MANU' 'defo' epsp1 'sigm' Y1 ;
  76.  
  77. trac0 = 'EVOL' 'MANU' 'defo' epsp2 'sigm' Y1 ;
  78. lsm1 = y1 enle 1 ;
  79. lep1 = (epsp2 enle 1) - (lsm1 / youn0) ;
  80. evec = evol vert manu eps lep1 sig lsm1 ;
  81. 'SI' igraph ;
  82. dess (trac0 et evec) titr ' Courbes de traction et d ecrouissage (vert)' ;
  83. 'FINSI' ;
  84. SIG00 = youn0 / 500. ;
  85.  
  86. *---> Definition du modele
  87. mod0 = 'MODE' SUR0 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  88. 'PLASTIQUE_ENDOM' 'GURSON2' ;
  89.  
  90. fc0 = 0.10 ;
  91. mod0 = 'MODE' SUR0 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  92. 'PLASTIQUE_ENDOM' 'GURSON2' ;
  93. q00 = 'ZERO' mod0 'VARINTER' ;
  94. q01 = 'MANU' 'CHML' mod0 'VHWF' fc0 'TYPE' 'VARINTER' 'STRESSES';
  95. q02 = 'MANU' 'CHML' mod0 'VHOT' 1. 'TYPE' 'VARINTER' 'STRESSES';
  96. qq00 = q00 + q01 + q02;
  97.  
  98. mat0 = 'MATE' mod0 'YOUN' youn0 'NU' 0.3
  99. 'ECRO' evec 'Q' 1.5 'FU' ( 1. / 1.5 ) 'FF' 0.25 'FC' 0.15
  100. 'FNS0' 0.00 'FNE0' 0.0 'SNS' ( .1 * SIG00 ) 'SNE' .1
  101. 'SIGN' ( 2.2 * SIG00 ) 'EPSN' .8 'F0' q01;
  102.  
  103. *---> Conditions aux limites
  104. * Les deplacements sont bloques perpendiculairement aux 4 cotes du carre
  105. cl1 = 'BLOQ' LL1 'UY';
  106. cl2 = 'BLOQ' LL2 'UX';
  107. cl3 = 'BLOQ' LL3 'UY';
  108. cl4 = 'BLOQ' LL4 'UX';
  109. cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4;
  110.  
  111. *---> Pas de temps calcule
  112. dt0 = 1.0;
  113. tfin0 = 100.;
  114. ltps0 = 'PROG' 0. 'PAS' dt0 tfin0;
  115.  
  116. *---> Chargement
  117. * On impose une augmentation de volume
  118. * - Des deplacements non-nuls sont imposes sur 2 cotes voisins.
  119. xde1 = depmax;
  120. xde2 = xde1;
  121. ldep1 = 'PROG' 0. xde1;
  122. ldep2 = 'PROG' 0. xde2;
  123. dep1 = 'DEPI' cl2 1.;
  124. dep2 = 'DEPI' cl3 1.;
  125. ev1 = 'EVOL' 'MANU' 's' ('PROG' 0. tfin0) 'm' ldep1;
  126. ev2 = 'EVOL' 'MANU' 's' ('PROG' 0. tfin0) 'm' ldep2;
  127. cha1 = 'CHAR' 'DIMP' dep1 ev1;
  128. cha2 = 'CHAR' 'DIMP' dep2 ev2;
  129. cha0 = cha1 'ET' cha2;
  130.  
  131. *---> Table PASAPAS
  132. tab0 = 'TABLE';
  133. tab0 .'MODELE' = mod0;
  134. tab0 .'CARACTERISTIQUES' = mat0;
  135. tab0 .'BLOCAGES_MECANIQUES' = cl0;
  136. tab0 .'CHARGEMENT' = cha0;
  137. tab0 .'TEMPS_CALCULES' = ltps0;
  138. tab0 .'VARIABLES_INTERNES' = 'TABLE';
  139. tab0 .'VARIABLES_INTERNES' . 0 = qq00;
  140. TMASAU = 'TABLE';
  141. tab0 . 'MES_SAUVEGARDES'=TMASAU;
  142. TMASAU .'DEFTO'=VRAI;
  143. TMASAU .'DEFIN'=VRAI;
  144. *tab0 .'GRANDS_DEPLACEMENTS' = vrai;
  145.  
  146. *---> Appel a PASAPAS
  147. PASAPAS tab0;
  148.  
  149. *======================================================
  150. * Boucle sur les pas de temps calcules
  151. *======================================================
  152. dim0 = 'DIME' (tab0 .'TEMPS');
  153. conf0 = 'FORM';
  154. 'REPETER' bloc0 dim0;
  155. index0 = &bloc0 - 1;
  156.  
  157. *---> Contraintes
  158. sigm0 = tab0 .'CONTRAINTES'. index0;
  159. smxx0 = 'EXCO' sigm0 'SMXX' 'SCAL';
  160. smyy0 = 'EXCO' sigm0 'SMYY' 'SCAL';
  161. smXX1 = 'CHAN' 'CHPO' smxx0 mod0;
  162. smYY1 = 'CHAN' 'CHPO' smyy0 mod0;
  163.  
  164. *---> Von Mises
  165. vmis0 = 'VMIS' sigm0 mod0;
  166. vmis1 = 'CHAN' 'CHPO' vmis0 mod0;
  167.  
  168. *---> Deplacements
  169. depl0 = tab0 .'DEPLACEMENTS'. index0;
  170.  
  171. *---> Variables internes
  172. var0 = tab0 .'VARIABLES_INTERNES'. index0;
  173.  
  174. *---> Deformation plastique equivalente
  175. epeq0 = 'EXCO' var0 'EPSE' 'SCAL';
  176. epeq1 = 'MAXI' epeq0;
  177. epeq2 = 'MINI' epeq0;
  178.  
  179. *---> Deformations totales et inelastiques
  180. esp0 = tab0 .'DEFORMATIONS'. index0;
  181. epi0 = tab0 .'DEFORMATIONS_INELASTIQUES'. index0;
  182.  
  183. *---> Trace des deformations totales et inelastiques
  184. treps0 = ('EXCO' esp0 'EPXX' 'SCAL') +
  185. ('EXCO' esp0 'EPYY' 'SCAL') +
  186. ('EXCO' esp0 'EPZZ' 'SCAL');
  187. trepi0 = ('EXCO' epi0 'EIXX' 'SCAL') +
  188. ('EXCO' epi0 'EIYY' 'SCAL') +
  189. ('EXCO' epi0 'EIZZ' 'SCAL');
  190. treps1 = 'MAXI' treps0;
  191. treps2 = 'MINI' treps0;
  192. trepi1 = 'MAXI' trepi0;
  193. trepi2 = 'MINI' trepi0;
  194.  
  195. *---> Trace de la deformation evaluee par le rapport de densite calcule
  196. * Formule logarithmique
  197. *
  198. rho0 = 'EXCO' var0 'VHOT' 'SCAL';
  199. rho1 = 'MAXI' rho0;
  200. rho2 = 'MINI' rho0;
  201. trRHO1 = (1. / rho1) - 1.;
  202. trRHO2 = (1. / rho2) - 1.;
  203. trRHO1 = 'LOG' (1. / rho1);
  204. trRHO2 = 'LOG' (1. / rho2);
  205.  
  206. *---> Fraction de cavites calculee
  207. fra0 = 'EXCO' var0 'VHWF' 'SCAL';
  208. fra1 = 'MAXI' fra0;
  209. fra2 = 'MINI' fra0;
  210.  
  211. *---> Fraction de cavite theorique
  212. fraE1 = (1. - fc0) * (('EXP' (-1. * trepi1)));
  213. fraE1 = 1. - fraE1;
  214. fmax0 = 'MAXI' ('EXCO' mat0 'FF' 'SCAL');
  215. 'SI' (fraE1 '>' fmax0);
  216. fraE1 = fmax0;
  217. 'FINSI';
  218. err1 = ABS (fraE1 - fra1);
  219. err2 = ABS (fraE1 - fra2);
  220.  
  221. *---> Stockage
  222. 'SI' (index0 'EGA' 0);
  223. lepeq0 = 'PROG' epeq1;
  224. lfra0 = 'PROG' fra1;
  225. lfra1 = 'PROG' fraE1;
  226. lerr1 = 'PROG' err1;
  227. lerr2 = 'PROG' err2;
  228. ltr0 = 'PROG' treps1;
  229. ltr1 = 'PROG' trepi1;
  230. ltr2 = 'PROG' trRHO1;
  231. lSMXX1 = 'PROG' ('MAXI' smXX1);
  232. lSMXX2 = 'PROG' ('MINI' smXX1);
  233. lSMYY1 = 'PROG' ('MAXI' smYY1);
  234. lSMYY2 = 'PROG' ('MINI' smYY1);
  235. lVMIS1 = 'PROG' ('MAXI' vmis0);
  236. lVMIS2 = 'PROG' ('MINI' vmis0);
  237. 'SINON';
  238. lepeq0 = lepeq0 'ET' ('PROG' epeq1);
  239. lfra0 = lfra0 'ET' ('PROG' fra1);
  240. lfra1 = lfra1 'ET' ('PROG' fraE1);
  241. lerr1 = lerr1 'ET' ('PROG' err1);
  242. lerr2 = lerr2 'ET' ('PROG' err2);
  243. ltr0 = ltr0 'ET' ('PROG' treps1);
  244. ltr1 = ltr1 'ET' ('PROG' trepi1);
  245. ltr2 = ltr2 'ET' ('PROG' trRHO1);
  246. lSMXX1 = lSMXX1 'ET' ('PROG' ('MAXI' smXX1));
  247. lSMXX2 = lSMXX2 'ET' ('PROG' ('MINI' smXX1));
  248. lSMYY1 = lSMYY1 'ET' ('PROG' ('MAXI' smYY1));
  249. lSMYY2 = lSMYY2 'ET' ('PROG' ('MINI' smYY1));
  250. lVMIS1 = lVMIS1 'ET' ('PROG' ('MAXI' vmis0));
  251. lVMIS2 = lVMIS2 'ET' ( 'PROG' ('MINI' vmis0));
  252. 'FINSI';
  253.  
  254. *---> Sorties ecran
  255. * 'MESS' ' EPEQ=' ('MINI' (epeq0 * 100.)) ('MAXI' (epeq0 * 100.));
  256. * 'MESS' ' SMXX=' ('MINI' (smXX0 / 1.E6)) ('MAXI' (smXX0 / 1.E6));
  257. * 'MESS' ' SMYY=' ('MINI' (smYY0 / 1.E6)) ('MAXI' (smYY0 / 1.E6));
  258. * 'MESS' ' VMIS=' ('MINI' (vmis0 / 1.E6)) ('MAXI' (vmis0 / 1.E6));
  259. * 'MESS' ' RHO=' rho1 rho2;
  260. * 'MESS' ' TRACE(EPS)=' treps1 treps2;
  261. * 'MESS' ' TRACE(EPI)=' trepi1 trepi2;
  262. * 'MESS' ' TRACE(RHO)=' trRHO1 trRHO2;
  263. * 'MESS' ' FRA =' fra1 fra2;
  264.  
  265. 'FIN' bloc0;
  266. *======================================================
  267. * Fin de la boucle sur les pas de temps calcules
  268. *======================================================
  269.  
  270. 'SI' igraph ;
  271. *---> Evolutions en fonction du temps (btps0 = vrai) ou de EPEQ (btps0=faux)
  272. btps0 = faux;
  273.  
  274. *---> Evolutions
  275. 'SI' btps0;
  276. evSXX1 = 'EVOL' 'MANU' 's' ltps0 'MPa' (lSMXX1 / 1.E6);
  277. evSYY1 = 'EVOL' 'MANU' 's' ltps0 'MPa' (lSMYY1 / 1.E6);
  278. evVMI1 = 'EVOL' 'MANU' 's' ltps0 'MPa' (lVMIS1 / 1.E6);
  279. evf0 = 'EVOL' 'MANU' 's' ltps0 '%' (lfra0 * 100.);
  280. evf1 = 'EVOL' 'MANU' 's' ltps0 '%' (lfra1 * 100.);
  281. evt0 = 'EVOL' 'MANU' 's' ltps0 '%' (ltr0 * 100.);
  282. evt1 = 'EVOL' 'MANU' 's' ltps0 '%' (ltr1 * 100.);
  283. evt2 = 'EVOL' 'MANU' 's' ltps0 '%' (ltr2 * 100.);
  284. 'SINON';
  285. evSXX1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) 'MPa' (lSMXX1 / 1.E6);
  286. evSYY1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) 'MPa' (lSMYY1 / 1.E6);
  287. evVMI1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) 'MPa' (lVMIS1 / 1.E6);
  288. evf0 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lfra0 * 100.);
  289. evf1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lfra1 * 100.);
  290. everr1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lerr1 * 100.);
  291. everr2 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lerr2 * 100.);
  292. evt0 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (ltr0 * 100.);
  293. evt1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (ltr1 * 100.);
  294. evt2 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (ltr2 * 100.);
  295. 'FINSI';
  296.  
  297. *---> Contraintes
  298. TAB = 'TABLE' ;
  299. TAB.1 = 'MARQ CARR' ;
  300. TAB.2 = 'MARQ TRIA' ;
  301. TAB.3 = 'MARQ PLUS' ;
  302. TAB.'TITRE' = 'TABLE' ;
  303. TAB.'TITRE'. 1 = MOT 'SMXX' ;
  304. TAB.'TITRE'. 2 = MOT 'SMYY' ;
  305. TAB.'TITRE'. 3 = MOT 'VMIS' ;
  306. 'DESS' (evSXX1 'ET' evSYY1 'ET' evVMI1)
  307. 'TITR' ' Contraintes (en MPa)' 'LEGE' TAB;
  308.  
  309. *---> Fraction de cavites
  310. TAB = 'TABLE' ;
  311. TAB.1 = 'MARQ CARR' ;
  312. TAB.2 = 'MARQ TRIA' ;
  313. TAB.'TITRE' = 'TABLE' ;
  314. TAB.'TITRE'. 1 = MOT 'CALCUL' ;
  315. TAB.'TITRE'. 2 = MOT 'THEORIE' ;
  316. 'DESS' (evf0 'ET' evf1)
  317. 'TITR' ' Fraction de cavite (en %)' 'LEGE' TAB;
  318. 'DESS' (everr1 'ET' everr2)
  319. 'TITR' ' Ecart fraction de cavite a la theorie (en %)' ;
  320.  
  321. *---> Trace des deformations
  322. TAB = 'TABLE' ;
  323. TAB.1 = 'MARQ CARR' ;
  324. TAB.2 = 'MARQ TRIA' ;
  325. TAB.3 = 'MARQ TRIB' ;
  326. TAB.'TITRE' = 'TABLE' ;
  327. TAB.'TITRE'. 1 = MOT 'TRACE(EPS)' ;
  328. TAB.'TITRE'. 2 = MOT 'TRACE(EPI)' ;
  329. TAB.'TITRE'. 3 = MOT 'TRACE(RHO)' ;
  330. 'DESS' (evt0 'ET' evt1 'ET' evt2)
  331. 'TITR' ' Trace des deformations (en %)' 'LEGE' TAB;
  332. 'FINSI' ;
  333.  
  334. *---> Test sur l'ecart a la fraction volumique de cavite theorique
  335. errmax = ('MAXI' (lerr1 'ET' lerr2)) * 100. ;
  336. 'MESS' 'Ecart max. (calcul - theorie) sur la fraction volumique de '
  337. 'cavite (%) : ' errmax ;
  338. 'SI' (errmax > 1.E-3) ;
  339. 'ERRE' 5 ;
  340. 'FINSI' ;
  341.  
  342.  
  343. 'FIN' ;
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  

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