Télécharger rupt27.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rupt27.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. opti trac psc eptr 5 ;
  5. *
  6. GRAPH = 'O' ;
  7. *
  8. opti dime 2 elem qua8 mode axis ;
  9. opti epsi lineaire;
  10.  
  11. ************************
  12. *Données paramètriques :
  13. ************************
  14. * a : profondeur de la fissure *
  15. * t : epaisseur du tube *
  16. * ri, re : rayon interne/externe *
  17. * h : hauteur du tube *
  18.  
  19. h = 1. ;
  20. t = 60.e-3 ;
  21. a = t/5 ;
  22. ri = t*5;
  23. re = ri+t;
  24.  
  25. *COORDONNEE DE LA POINTE DE LA FISSURE
  26. pf = (a + ri) 0. ;
  27.  
  28. *NOMBRE D'ELEMENTS AUTOUR DE LA POINTE DE LA FISSURE (1 et 2 COUT)
  29. n_fiss = 10;
  30.  
  31. *TAILLE D'UN ELEMENT DE LA 1ERE ET 2EME COUTURE*
  32. t_el = 200e-6 ; t_el2 = 400e-6 ;
  33. *Facteur d'agrandissement de la taille du derafinement
  34. tt_el2 = 4.*t_el2 ;
  35.  
  36. *LONGUEUR DE LA 1ERE ET 2EME COUTURE*
  37. lc1 = n_fiss * t_el ; lc2 = t_el2 * n_fiss;
  38.  
  39. *NIVEAU DE CHARGEMENT
  40. p0T = -400. ; dt0 = 300.;
  41.  
  42. *=============================================================
  43. **************************************************************
  44. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  45. * DEBUT DU MAILLAGE
  46. *=============================================================
  47. **************************************************************
  48. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  49.  
  50.  
  51. **************************************************************
  52. ********************** 1ERE COUTURE ************************
  53. ************ (Autour de la pointe de la fissure) ***********
  54. **************************************************************
  55.  
  56. p1cbd = pf plus (lc1 0.) ;
  57. p1chd = pf plus (lc1 lc1) ;
  58. pf1 = pf plus (0. lc1) ;
  59. p1chg = pf1 moin (lc1 0.) ;
  60. p1cbg = pf moin (lc1 0.) ;
  61.  
  62. d1ch = droi (2*n_fiss) p1chg p1chd;
  63. d1cg = droi (n_fiss) p1cbg p1chg ;
  64. d1cd = droi (n_fiss) p1cbd p1chd ;
  65. d1cbg = droi (n_fiss) p1cbg pf ;
  66. d1cbd = droi (n_fiss) pf p1cbd ;
  67.  
  68. cout1 = regl n_fiss d1ch (d1cbg et d1cbd) ;
  69. cout1 = coul jaun cout1 ;
  70.  
  71. **************************************************************
  72. ********************** 2EME COUTURE ************************
  73. ************ (Autour de la pointe de la fissure) ***********
  74. ************** Partie au-dessus de la fissure **************
  75. **************************************************************
  76.  
  77. p2cbd = pf plus (lc2 0.) ;
  78. p2chd = pf plus (lc2 lc2) ;
  79. pf2 = pf plus (0. lc2) ;
  80. p2chg = pf2 moin (lc2 0.) ;
  81. p2cbg = pf moin (lc2 0.) ;
  82.  
  83. d2ch = droi (2*n_fiss) p2chg p2chd;
  84. d2cg = droi (n_fiss) p2cbg p2chg ;
  85. d2cd = droi (n_fiss) p2cbd p2chd ;
  86.  
  87. cout2 = regl n_fiss (d1cd et d1ch et d1cg) (d2cd et d2ch et d2cg) ;
  88. cout2 = coul vert cout2 ;
  89.  
  90. cout1et2 = cout1 et cout2;
  91.  
  92. **************************************************************
  93. ***************** DERAFINEMENT DES COUTURES ****************
  94. ************** Partie au-dessus de la fissure **************
  95. **************************************************************
  96.  
  97. *------------------( DERAF A 4 ELEMENT )-------------------
  98.  
  99. pid1 = p2chg moin (0. tt_el2) ;
  100. pid2 = pid1 plus (0. t_el2) ;
  101. pid3 = pid2 plus (0. t_el2) ;
  102. pid4 = pid3 plus (0. t_el2) ;
  103. pid5 = pid4 plus (0. t_el2) ;
  104. pid6 = pid2 moin (t_el2 0.) ;
  105. pid7 = pid3 moin (t_el2 0.) ;
  106. pid8 = pid4 moin (t_el2 0.) ;
  107. pid9 = pid1 moin (tt_el2 0.) ;
  108. pid10 = pid3 moin (tt_el2 0.) ;
  109. pid11 = pid5 moin (tt_el2 0.) ;
  110.  
  111. did1 = droi 1 pid1 pid2 ;
  112. did2 = droi 1 pid2 pid3 ;
  113. did3 = droi 1 pid3 pid4 ;
  114. did4 = droi 1 pid4 pid5 ;
  115. did5 = droi 1 pid9 pid6 ;
  116. did6 = droi 1 pid6 pid7 ;
  117. did7 = droi 1 pid7 pid8 ;
  118. did8 = droi 1 pid11 pid8 ;
  119. did9 = droi 1 pid10 pid7 ;
  120.  
  121. si1 = (regl 1 did1 did5) et (regl 1 did2 did6) et
  122. (regl 1 did3 did7) et (regl 1 did4 (inve did8)) et
  123. (regl 1 did8 did9) et (regl 1 did9 did5) ;
  124. elim si1 1.e-5 ;
  125.  
  126. *------------------( DERAF A 3 ELEMENT )-------------------
  127.  
  128. pad1 = pf moin (lc2 0.) ;
  129. pad2 = pad1 plus (0. t_el2) ;
  130. pad3 = pad2 plus (0. t_el2) ;
  131. pad4 = pad3 plus (0. t_el2) ;
  132. pad5 = pad2 moin (t_el2 0.) ;
  133. pad6 = pad3 moin (t_el2 0.) ;
  134. pad7 = pad1 moin (tt_el2 0.) ;
  135. pad8 = pad4 moin (tt_el2 0.) ;
  136.  
  137. dad1 = droi 1 pad1 pad2 ;
  138. dad2 = droi 1 pad2 pad3 ;
  139. dad3 = droi 1 pad3 pad4 ;
  140. dad4 = droi 1 pad7 pad5 ;
  141. dad5 = droi 1 pad5 pad6 ;
  142. dad6 = droi 1 pad6 pad8 ;
  143.  
  144. sa1 = (regl 1 dad1 dad4) et (regl 1 dad2 dad5) et
  145. (regl 1 dad3 dad6) et (regl 1 dad4 (inve dad6));
  146. saa1 = sa1 ;
  147. repe i0 1 ;
  148. ssa1 = sa1 plus ( 0. (3.*&i0*t_el2)) ;
  149. fin i0 ;
  150. sa1 = sa1 et ssa1 ;
  151. elim sa1 1.e-5 ;
  152.  
  153. *---------------------- PARTIE GAUCHE -----------------------
  154. sig = sa1 et si1 ; elim sig 1.e-5 ;
  155.  
  156. *---------------------- PARTIE DROITE -----------------------
  157. sid = sig syme droi ((coor 1 pf) 0.) ((coor 1 pf) lc2) ;
  158. elim sid 1.e-5 ;
  159.  
  160. *---------------------- PARTIE HAUTE -----------------------
  161.  
  162. *lignes diagonales pour la symetrie
  163. p_diagod = p2chd plus (lc1 lc1);
  164. p_diago = p2chg moin (lc1 0.);
  165. p_diagog = p_diago plus (0. lc1);
  166.  
  167. d_diagog = droi 1 p1chg p_diagog;
  168. d_diagod = droi 1 p1chd p_diagod;
  169.  
  170. sihg = sig syme droi p1chg p_diagog ;
  171. elim sihg 1.e-5 ;
  172. sihd = sid syme droi p1chd p_diagod ;
  173. elim sihd 1.e-5 ;
  174.  
  175. sih = sihd et sihg ; elim sih 1.e-5 ;
  176.  
  177. *---------------------- PARTIE COIN -----------------------
  178.  
  179. dg = droi 1 pid11 p2chg;
  180. dcg = dg tran 1 (0. tt_el2);
  181. dcd = dcg syme droi ((coor 1 pf) 0.) ((coor 1 pf) lc2) ;
  182. sic = dcd et dcg; elim sic 1.e-5;
  183. cout3 = sig et sid et sih et sic ; elim cout3 1.e-5 ;
  184.  
  185. cout_tot = cout1 et cout2 et cout3;
  186. elim d1cbd cout_tot 1.e-5 ;
  187.  
  188. **************************************************************
  189. ********************* RESTE DU MAILLAGE ********************
  190. ************** Partie au-dessus de la fissure **************
  191. **************************************************************
  192.  
  193. *Partie de gauche
  194. *----------------
  195. pt1 = mini (coor 1 cout_tot) 0.;
  196. pt2 = (mini (coor 1 cout_tot)) (maxi (coor 2 cout_tot));
  197. pt_partg = cout3 poin droit pt1 pt2 1.e-5 ;
  198. d_partg = (cont cout_tot) elem appuye strictement pt_partg ;
  199. p_ri = ri 0.;
  200. pg = d_partg tran
  201. (((coor 1 p_ri)-(mini(coor 1 cout_tot))) 0.) dini 1.6e-3 dfin 3.2e-3;
  202.  
  203. *Partie de droite
  204. *----------------
  205. pt3 = maxi (coor 1 cout_tot) 0.;
  206. pt4 = (maxi (coor 1 cout_tot)) (maxi (coor 2 cout_tot));
  207. pt_partd = cout_tot poin droit pt3 pt4 1.e-5 ;
  208. d_partd = (cont cout_tot) elem appuye strictement pt_partd ;
  209. p_re = re 0.;
  210. pd = d_partd tran
  211. (((coor 1 p_re)-(maxi(coor 1 cout_tot))) 0.) dini 1.6e-3 dfin 3.2e-3;
  212. bas_cout = pg et pd et cout_tot ; elim bas_cout 1.e-5 ;
  213.  
  214. *Partie du haut
  215. *--------------
  216. p5 = (mini (coor 1 bas_cout)) (maxi (coor 2 bas_cout));
  217. p6 = (maxi (coor 1 bas_cout)) (maxi (coor 2 bas_cout));
  218. pt_parth = bas_cout poin droit p5 p6 1.e-5 ;
  219. d_partd = (cont bas_cout) elem appuye strictement pt_parth ;
  220. ph = d_partd tran (0. ((h/2.) - (maxi(coor 2 bas_cout))))
  221. dini 1.6e-3 dfin t ;
  222.  
  223. *Structure totale
  224. *************************************
  225. s0 = ph et bas_cout ; elim s0 1.e-5 ;
  226. *************************************
  227.  
  228. **************************************************************
  229. ****************** LEVRE SUPERIEUR ********************
  230. **************************************************************
  231.  
  232. pa = s0 poin proc (ri 0.);
  233. pb = s0 poin proc (re 0.);
  234.  
  235. lig1 = (cont s0) elem compris p1cbd pb;
  236.  
  237. lvsup = (cont s0) elem compris pa pf ;
  238.  
  239. *Definition des bords
  240.  
  241. l_hau = cote 3 ph;
  242. l_bas = (cont s0) elem compris pf pb ;
  243. p_gau = s0 poin droit (ri (mini (coor 2 s0)))
  244. (ri (maxi (coor 2 s0))) 1.e-5 ;
  245. l_gau = (cont s0) elem appuye strictement p_gau ;
  246.  
  247. si (ega GRAPH 'O') ;
  248. trac qual s0 ;
  249. fins ;
  250.  
  251. *=============================================================
  252. **************************************************************
  253. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  254. * FIN DU MAILLAGE
  255. *=============================================================
  256. **************************************************************
  257. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  258.  
  259.  
  260. *=============================================================
  261. **************************************************************
  262. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  263. * PARTIE CALCULS
  264. *=============================================================
  265. **************************************************************
  266. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  267.  
  268. * PROPRIETES MATERIAUX A 300°C
  269.  
  270. coefEP = 5. ;
  271. E0 = 185e3; nu0 = 0.499 ; alfa0 = 13.08e-6;
  272.  
  273. *ldc elasto plastique
  274. dsig = 0.01 ;
  275. ls1 = prog 50. pas 500. 10000. ;
  276. ls3002 = (prog 0. dsig) et ls1 ;
  277. le3002 = (prog 0. (dsig / E0)) et (coefEP * ls1 / E0) ;
  278. ta3002 = evol manu le3002 ls3002 ;
  279.  
  280. mo0 = mode s0 mecanique elastique plastique ;
  281. ma0 = mate mo0 YOUN E0 nu nu0 alph alfa0 trac ta3002 ;
  282. *ma0 = mate mo0 YOUN E0 nu nu0 alph alfa0 ;
  283. rg0 = rigi mo0 ma0 ;
  284.  
  285. * CONDITIONS AUX LIMITES
  286.  
  287. cl1 = bloq uz l_bas ;
  288. cl2 = rela ense uz l_hau ;
  289. cl0 = cl1 et cl2;
  290.  
  291. * CHARGEMENT
  292. *Traction uniaxiale
  293. f0T = press mass mo0 p0T l_hau ;
  294. ev0 = evol manu (prog 0. 1.) (prog 0. 1.) ;
  295. cha0 = char meca f0T ev0 ;
  296.  
  297. *Gradient de temperature
  298. chr = ((s0 coor 1) - ri) / (re - ri) ;
  299. cht0 = nomc 'T' (0. * chr) ;
  300. cht1 = nomc 'T' (dt0 * chr);
  301.  
  302. tt1 = table ; tt2 = table ;
  303. tt1 . 0 = 0. ; tt1 . 1 = 1. ;
  304. tt2 . 0 = cht0 ; tt2 . 1 = cht1 ;
  305. chat = CHAR 'T' tt1 tt2 ;
  306.  
  307. *Contraintes résiduelles
  308. epsimp = epth cht1 mo0 ma0 ;
  309. chsr = char DEFI epsimp ev0 ;
  310.  
  311. ***********************************************
  312. *CALCUL ELASTOPLASTIQUE : Contraintes résiduelles
  313. ***********************************************
  314.  
  315. tcha = prog 0.01 0.05 pas 0.05 1. ;
  316. tab_meca = table ;
  317. tab_meca . 'MODELE' = mo0 ;
  318. tab_meca . 'CARACTERISTIQUES' = ma0 ;
  319. tab_meca . 'BLOCAGES_MECANIQUES' = cl0 ;
  320. tab_meca . 'CHARGEMENT' = chsr ;
  321. tab_meca . 'TEMPS_CALCULES' = tcha ;
  322. pasapas tab_meca ;
  323.  
  324. ************************************
  325. * Calcul de J elasto-plastique
  326. ************************************
  327.  
  328. tabJpl = table ;
  329. tabJpl . 'SOLUTION_PASAPAS' = tab_meca ;
  330. tabJpl . 'OBJECTIF' = mot 'J' ;
  331. tabJpl . 'LEVRE_SUPERIEURE' = lvsup ;
  332. tabJpl . 'FRONT_FISSURE' = pf ;
  333. tabJpl . 'COUCHE' = 4 ;
  334. g_theta tabJpl ;
  335.  
  336. np = (dime tabJpl.resultats) - 1 ;
  337. JplSR = tabJpl.resultats.np ;
  338.  
  339. ***********************************************
  340. *CALCUL ELASTOPLASTIQUE : Chargement thermique
  341. ***********************************************
  342.  
  343. tcha = prog 0.01 0.05 pas 0.05 1. ;
  344. tab_meca = table ;
  345. tab_meca . 'MODELE' = mo0 ;
  346. tab_meca . 'CARACTERISTIQUES' = ma0 ;
  347. tab_meca . 'BLOCAGES_MECANIQUES' = cl0 ;
  348. tab_meca . 'CHARGEMENT' = chat ;
  349. tab_meca . 'TEMPS_CALCULES' = tcha ;
  350. pasapas tab_meca ;
  351.  
  352. ************************************
  353. * Calcul de J elasto-plastique
  354. ************************************
  355.  
  356. tabJpl = table ;
  357. tabJpl . 'SOLUTION_PASAPAS' = tab_meca ;
  358. tabJpl . 'OBJECTIF' = mot 'J' ;
  359. tabJpl . 'LEVRE_SUPERIEURE' = lvsup ;
  360. tabJpl . 'FRONT_FISSURE' = pf ;
  361. tabJpl . 'COUCHE' = 4 ;
  362. g_theta tabJpl ;
  363.  
  364. np = (dime tabJpl.resultats) - 1 ;
  365. JplTH = tabJpl.resultats.np ;
  366.  
  367. ***********************************************
  368. *CALCUL ELASTOPLASTIQUE : Traction uniaxiale
  369. ***********************************************
  370.  
  371. tcha = prog 0.01 0.05 pas 0.05 1. ;
  372. tab_meca = table ;
  373. tab_meca . 'MODELE' = mo0 ;
  374. tab_meca . 'CARACTERISTIQUES' = ma0 ;
  375. tab_meca . 'BLOCAGES_MECANIQUES' = cl0 ;
  376. tab_meca . 'CHARGEMENT' = cha0 ;
  377. tab_meca . 'TEMPS_CALCULES' = tcha ;
  378. pasapas tab_meca ;
  379.  
  380. ************************************
  381. * Calcul de J elasto-plastique
  382. ************************************
  383.  
  384. tabJpl = table ;
  385. tabJpl . 'SOLUTION_PASAPAS' = tab_meca ;
  386. tabJpl . 'OBJECTIF' = mot 'J' ;
  387. tabJpl . 'LEVRE_SUPERIEURE' = lvsup ;
  388. tabJpl . 'FRONT_FISSURE' = pf ;
  389. tabJpl . 'COUCHE' = 4 ;
  390. g_theta tabJpl ;
  391.  
  392. np = (dime tabJpl.resultats) - 1 ;
  393. JplT = tabJpl.resultats.np ;
  394.  
  395. ****************************************
  396. ********* SOLUTIONS ANALYTIQUES *********
  397. *****************************************
  398.  
  399. *Fonctions d'influence
  400. i0 = 1.2208 ;
  401. i1 = 0.7205 ;
  402.  
  403. *Contraintes imposées pour le gradient de temperature
  404. sig0 = ((E0*alfa0*dt0)/(1-nu0)) * (ri/(3*t)) *
  405. ((2*(re**2))/(ri*(re+ri)) - 1);
  406. sig1 = -1. * ((E0*alfa0*dt0)/(1-nu0));
  407.  
  408. * J analytiques
  409. JT = coefEP * (1-(nu0**2)) * ((i0*(-1.*p0T)*((pi*a)**(1./2.)))**2) / E0;
  410. JTH = (1-(nu0**2)) / coefEP *
  411. ((((i0*sig0)+ (i1*sig1*(a/t)))*((pi*a)**(1./2.))) **2)/E0;
  412.  
  413. *Erreurs sur J entre la solution analytique et le MEF
  414. errT = ((JplT-JT)/JT)*100.;
  415. errTH = ((JplTH-JTH)/JTH)*100.;
  416. errSR = ((JplSR-JTH)/JTH)*100.;
  417.  
  418. mess 'Solution MEF : ' JplT JplTH JplSR ;
  419. mess 'Solution Theorique : ' JT JTH JTH;
  420. mess 'Erreur en % : ' errT errTH errSR ;
  421.  
  422. * Test sur les erreurs
  423. si ((abs errT) > 0.3) ;
  424. erre 'Erreur sur le calcul de JplT' ;
  425. fins ;
  426. si ((abs errTH) > 0.7) ;
  427. erre 'Erreur sur le calcul de JplTH' ;
  428. fins ;
  429. si ((abs errSR) > 0.7) ;
  430. erre 'Erreur sur le calcul de JplSR' ;
  431. fins ;
  432.  
  433.  
  434. FIN ;
  435.  
  436.  
  437.  
  438.  
  439.  

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