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' 0;
  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. 'SI' igraph ;
  79. 'DESS' trac0 'TITR' ' Courbe de traction' ;
  80. 'FINSI' ;
  81. SIG00 = youn0 / 500. ;
  82.  
  83. *---> Definition du modele
  84. mod0 = 'MODE' SUR0 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  85. 'PLASTIQUE_ENDOM' 'GURSON2' ;
  86.  
  87. fc0 = 0.10 ;
  88. mod0 = 'MODE' SUR0 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  89. 'PLASTIQUE_ENDOM' 'GURSON2' ;
  90. q00 = 'ZERO' mod0 'VARINTER' ;
  91. q01 = 'MANU' 'CHML' mod0 'VHWF' fc0 'TYPE' 'VARINTER' 'STRESSES';
  92. q02 = 'MANU' 'CHML' mod0 'VHOT' 1. 'TYPE' 'VARINTER' 'STRESSES';
  93. qq00 = q00 + q01 + q02;
  94.  
  95. mat0 = 'MATE' mod0 'YOUN' youn0 'NU' 0.3
  96. 'TRAC' trac0 'Q' 1.5 'FU' ( 1. / 1.5 ) 'FF' 0.25 'FC' 0.15
  97. 'FNS0' 0.00 'FNE0' 0.0 'SNS' ( .1 * SIG00 ) 'SNE' .1
  98. 'SIGN' ( 2.2 * SIG00 ) 'EPSN' .8 'F0' q01;
  99.  
  100. *---> Conditions aux limites
  101. * Les deplacements sont bloques perpendiculairement aux 4 cotes du carre
  102. cl1 = 'BLOQ' LL1 'UY';
  103. cl2 = 'BLOQ' LL2 'UX';
  104. cl3 = 'BLOQ' LL3 'UY';
  105. cl4 = 'BLOQ' LL4 'UX';
  106. cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4;
  107.  
  108. *---> Pas de temps calcule
  109. dt0 = 1.0;
  110. tfin0 = 100.;
  111. ltps0 = 'PROG' 0. 'PAS' dt0 tfin0;
  112.  
  113. *---> Chargement
  114. * On impose une augmentation de volume
  115. * - Des deplacements non-nuls sont imposes sur 2 cotes voisins.
  116. xde1 = depmax;
  117. xde2 = xde1;
  118. ldep1 = 'PROG' 0. xde1;
  119. ldep2 = 'PROG' 0. xde2;
  120. dep1 = 'DEPI' cl2 1.;
  121. dep2 = 'DEPI' cl3 1.;
  122. ev1 = 'EVOL' 'MANU' 's' ('PROG' 0. tfin0) 'm' ldep1;
  123. ev2 = 'EVOL' 'MANU' 's' ('PROG' 0. tfin0) 'm' ldep2;
  124. cha1 = 'CHAR' 'DIMP' dep1 ev1;
  125. cha2 = 'CHAR' 'DIMP' dep2 ev2;
  126. cha0 = cha1 'ET' cha2;
  127.  
  128. *---> Table PASAPAS
  129. tab0 = 'TABLE';
  130. tab0 .'MODELE' = mod0;
  131. tab0 .'CARACTERISTIQUES' = mat0;
  132. tab0 .'BLOCAGES_MECANIQUES' = cl0;
  133. tab0 .'CHARGEMENT' = cha0;
  134. tab0 .'TEMPS_CALCULES' = ltps0;
  135. tab0 .'VARIABLES_INTERNES' = 'TABLE';
  136. tab0 .'VARIABLES_INTERNES' . 0 = qq00;
  137. TMASAU = 'TABLE';
  138. tab0 . 'MES_SAUVEGARDES'=TMASAU;
  139. TMASAU .'DEFTO'=VRAI;
  140. TMASAU .'DEFIN'=VRAI;
  141. *tab0 .'GRANDS_DEPLACEMENTS' = vrai;
  142.  
  143. *---> Appel a PASAPAS
  144. PASAPAS tab0;
  145.  
  146. *======================================================
  147. * Boucle sur les pas de temps calcules
  148. *======================================================
  149. dim0 = 'DIME' (tab0 .'TEMPS');
  150. conf0 = 'FORM';
  151. 'REPETER' bloc0 dim0;
  152. index0 = &bloc0 - 1;
  153.  
  154. *---> Contraintes
  155. sigm0 = tab0 .'CONTRAINTES'. index0;
  156. smxx0 = 'EXCO' sigm0 'SMXX' 'SCAL';
  157. smyy0 = 'EXCO' sigm0 'SMYY' 'SCAL';
  158. smXX1 = 'CHAN' 'CHPO' smxx0 mod0;
  159. smYY1 = 'CHAN' 'CHPO' smyy0 mod0;
  160.  
  161. *---> Von Mises
  162. vmis0 = 'VMIS' sigm0 mod0;
  163. vmis1 = 'CHAN' 'CHPO' vmis0 mod0;
  164.  
  165. *---> Deplacements
  166. depl0 = tab0 .'DEPLACEMENTS'. index0;
  167.  
  168. *---> Variables internes
  169. var0 = tab0 .'VARIABLES_INTERNES'. index0;
  170.  
  171. *---> Deformation plastique equivalente
  172. epeq0 = 'EXCO' var0 'EPSE' 'SCAL';
  173. epeq1 = 'MAXI' epeq0;
  174. epeq2 = 'MINI' epeq0;
  175.  
  176. *---> Deformations totales et inelastiques
  177. esp0 = tab0 .'DEFORMATIONS'. index0;
  178. epi0 = tab0 .'DEFORMATIONS_INELASTIQUES'. index0;
  179.  
  180. *---> Trace des deformations totales et inelastiques
  181. treps0 = ('EXCO' esp0 'EPXX' 'SCAL') +
  182. ('EXCO' esp0 'EPYY' 'SCAL') +
  183. ('EXCO' esp0 'EPZZ' 'SCAL');
  184. trepi0 = ('EXCO' epi0 'EIXX' 'SCAL') +
  185. ('EXCO' epi0 'EIYY' 'SCAL') +
  186. ('EXCO' epi0 'EIZZ' 'SCAL');
  187. treps1 = 'MAXI' treps0;
  188. treps2 = 'MINI' treps0;
  189. trepi1 = 'MAXI' trepi0;
  190. trepi2 = 'MINI' trepi0;
  191.  
  192. *---> Trace de la deformation evaluee par le rapport de densite calcule
  193. * Formule logarithmique
  194. *
  195. rho0 = 'EXCO' var0 'VHOT' 'SCAL';
  196. rho1 = 'MAXI' rho0;
  197. rho2 = 'MINI' rho0;
  198. trRHO1 = (1. / rho1) - 1.;
  199. trRHO2 = (1. / rho2) - 1.;
  200. trRHO1 = 'LOG' (1. / rho1);
  201. trRHO2 = 'LOG' (1. / rho2);
  202.  
  203. *---> Fraction de cavites calculee
  204. fra0 = 'EXCO' var0 'VHWF' 'SCAL';
  205. fra1 = 'MAXI' fra0;
  206. fra2 = 'MINI' fra0;
  207.  
  208. *---> Fraction de cavite theorique
  209. fraE1 = (1. - fc0) * (('EXP' (-1. * trepi1)));
  210. fraE1 = 1. - fraE1;
  211. fmax0 = 'MAXI' ('EXCO' mat0 'FF' 'SCAL');
  212. 'SI' (fraE1 '>' fmax0);
  213. fraE1 = fmax0;
  214. 'FINSI';
  215. err1 = ABS (fraE1 - fra1);
  216. err2 = ABS (fraE1 - fra2);
  217.  
  218. *---> Stockage
  219. 'SI' (index0 'EGA' 0);
  220. lepeq0 = 'PROG' epeq1;
  221. lfra0 = 'PROG' fra1;
  222. lfra1 = 'PROG' fraE1;
  223. lerr1 = 'PROG' err1;
  224. lerr2 = 'PROG' err2;
  225. ltr0 = 'PROG' treps1;
  226. ltr1 = 'PROG' trepi1;
  227. ltr2 = 'PROG' trRHO1;
  228. lSMXX1 = 'PROG' ('MAXI' smXX1);
  229. lSMXX2 = 'PROG' ('MINI' smXX1);
  230. lSMYY1 = 'PROG' ('MAXI' smYY1);
  231. lSMYY2 = 'PROG' ('MINI' smYY1);
  232. lVMIS1 = 'PROG' ('MAXI' vmis0);
  233. lVMIS2 = 'PROG' ('MINI' vmis0);
  234. 'SINON';
  235. lepeq0 = lepeq0 'ET' ('PROG' epeq1);
  236. lfra0 = lfra0 'ET' ('PROG' fra1);
  237. lfra1 = lfra1 'ET' ('PROG' fraE1);
  238. lerr1 = lerr1 'ET' ('PROG' err1);
  239. lerr2 = lerr2 'ET' ('PROG' err2);
  240. ltr0 = ltr0 'ET' ('PROG' treps1);
  241. ltr1 = ltr1 'ET' ('PROG' trepi1);
  242. ltr2 = ltr2 'ET' ('PROG' trRHO1);
  243. lSMXX1 = lSMXX1 'ET' ('PROG' ('MAXI' smXX1));
  244. lSMXX2 = lSMXX2 'ET' ('PROG' ('MINI' smXX1));
  245. lSMYY1 = lSMYY1 'ET' ('PROG' ('MAXI' smYY1));
  246. lSMYY2 = lSMYY2 'ET' ('PROG' ('MINI' smYY1));
  247. lVMIS1 = lVMIS1 'ET' ('PROG' ('MAXI' vmis0));
  248. lVMIS2 = lVMIS2 'ET' ( 'PROG' ('MINI' vmis0));
  249. 'FINSI';
  250.  
  251. *---> Sorties ecran
  252. * 'MESS' ' EPEQ=' ('MINI' (epeq0 * 100.)) ('MAXI' (epeq0 * 100.));
  253. * 'MESS' ' SMXX=' ('MINI' (smXX0 / 1.E6)) ('MAXI' (smXX0 / 1.E6));
  254. * 'MESS' ' SMYY=' ('MINI' (smYY0 / 1.E6)) ('MAXI' (smYY0 / 1.E6));
  255. * 'MESS' ' VMIS=' ('MINI' (vmis0 / 1.E6)) ('MAXI' (vmis0 / 1.E6));
  256. * 'MESS' ' RHO=' rho1 rho2;
  257. * 'MESS' ' TRACE(EPS)=' treps1 treps2;
  258. * 'MESS' ' TRACE(EPI)=' trepi1 trepi2;
  259. * 'MESS' ' TRACE(RHO)=' trRHO1 trRHO2;
  260. * 'MESS' ' FRA =' fra1 fra2;
  261.  
  262. 'FIN' bloc0;
  263. *======================================================
  264. * Fin de la boucle sur les pas de temps calcules
  265. *======================================================
  266.  
  267. 'SI' igraph ;
  268. *---> Evolutions en fonction du temps (btps0 = vrai) ou de EPEQ (btps0=faux)
  269. btps0 = faux;
  270.  
  271. *---> Evolutions
  272. 'SI' btps0;
  273. evSXX1 = 'EVOL' 'MANU' 's' ltps0 'MPa' (lSMXX1 / 1.E6);
  274. evSYY1 = 'EVOL' 'MANU' 's' ltps0 'MPa' (lSMYY1 / 1.E6);
  275. evVMI1 = 'EVOL' 'MANU' 's' ltps0 'MPa' (lVMIS1 / 1.E6);
  276. evf0 = 'EVOL' 'MANU' 's' ltps0 '%' (lfra0 * 100.);
  277. evf1 = 'EVOL' 'MANU' 's' ltps0 '%' (lfra1 * 100.);
  278. evt0 = 'EVOL' 'MANU' 's' ltps0 '%' (ltr0 * 100.);
  279. evt1 = 'EVOL' 'MANU' 's' ltps0 '%' (ltr1 * 100.);
  280. evt2 = 'EVOL' 'MANU' 's' ltps0 '%' (ltr2 * 100.);
  281. 'SINON';
  282. evSXX1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) 'MPa' (lSMXX1 / 1.E6);
  283. evSYY1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) 'MPa' (lSMYY1 / 1.E6);
  284. evVMI1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) 'MPa' (lVMIS1 / 1.E6);
  285. evf0 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lfra0 * 100.);
  286. evf1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lfra1 * 100.);
  287. everr1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lerr1 * 100.);
  288. everr2 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (lerr2 * 100.);
  289. evt0 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (ltr0 * 100.);
  290. evt1 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (ltr1 * 100.);
  291. evt2 = 'EVOL' 'MANU' '%' (ltr0 * 100.) '%' (ltr2 * 100.);
  292. 'FINSI';
  293.  
  294. *---> Contraintes
  295. TAB = 'TABLE' ;
  296. TAB.1 = 'MARQ CARR' ;
  297. TAB.2 = 'MARQ TRIA' ;
  298. TAB.3 = 'MARQ PLUS' ;
  299. TAB.'TITRE' = 'TABLE' ;
  300. TAB.'TITRE'. 1 = MOT 'SMXX' ;
  301. TAB.'TITRE'. 2 = MOT 'SMYY' ;
  302. TAB.'TITRE'. 3 = MOT 'VMIS' ;
  303. 'DESS' (evSXX1 'ET' evSYY1 'ET' evVMI1)
  304. 'TITR' ' Contraintes (en MPa)' 'LEGE' TAB;
  305.  
  306. *---> Fraction de cavites
  307. TAB = 'TABLE' ;
  308. TAB.1 = 'MARQ CARR' ;
  309. TAB.2 = 'MARQ TRIA' ;
  310. TAB.'TITRE' = 'TABLE' ;
  311. TAB.'TITRE'. 1 = MOT 'CALCUL' ;
  312. TAB.'TITRE'. 2 = MOT 'THEORIE' ;
  313. 'DESS' (evf0 'ET' evf1)
  314. 'TITR' ' Fraction de cavite (en %)' 'LEGE' TAB;
  315. 'DESS' (everr1 'ET' everr2)
  316. 'TITR' ' Ecart fraction de cavite a la theorie (en %)' ;
  317.  
  318. *---> Trace des deformations
  319. TAB = 'TABLE' ;
  320. TAB.1 = 'MARQ CARR' ;
  321. TAB.2 = 'MARQ TRIA' ;
  322. TAB.3 = 'MARQ TRIB' ;
  323. TAB.'TITRE' = 'TABLE' ;
  324. TAB.'TITRE'. 1 = MOT 'TRACE(EPS)' ;
  325. TAB.'TITRE'. 2 = MOT 'TRACE(EPI)' ;
  326. TAB.'TITRE'. 3 = MOT 'TRACE(RHO)' ;
  327. 'DESS' (evt0 'ET' evt1 'ET' evt2)
  328. 'TITR' ' Trace des deformations (en %)' 'LEGE' TAB;
  329. 'FINSI' ;
  330.  
  331. *---> Test sur l'ecart a la fraction volumique de cavite theorique
  332. errmax = ('MAXI' (lerr1 'ET' lerr2)) * 100. ;
  333. 'MESS' 'Ecart max. (calcul - theorie) sur la fraction volumique de '
  334. 'cavite (%) : ' errmax ;
  335. 'SI' (errmax > 1.E-3) ;
  336. 'ERRE' 5 ;
  337. 'FINSI' ;
  338.  
  339.  
  340. 'FIN' ;
  341.  
  342.  
  343.  
  344.  

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