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

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