Télécharger rupt28.dgibi

Retour à la liste

Numérotation des lignes :

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

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