Télécharger rupt27.dgibi

Retour à la liste

Numérotation des lignes :

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

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