Télécharger rupt25.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rupt25.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *******************************************************
  6. * Test rupt25.dgibi: Jeux de données *
  7. * --------------------------------- *
  8. *******************************************************
  9. * CAS TEST DU 15/12/15 PROVENANCE : TEST
  10.  
  11. *Cas test de validation pour le calcul de J sous plusieurs chargement
  12. *avec les procedures g_theta.procedur et g_calcul.procedur
  13. *
  14. *- chargement en traction
  15. *- chargement avec pression sur levres
  16. *- chargement thermique
  17.  
  18. *Calcul en dimension 3 avec des elements CU20 sur un maillage complet
  19. *symetrique
  20.  
  21. opti dime 3 elem cu20 echo 0 ;
  22. ************************
  23. *Données paramètriques :
  24. ************************
  25. * a : profondeur de la fissure *
  26. * t : epaisseur du tube *
  27. * ri, re : rayon interne/externe *
  28. * h : hauteur du tube *
  29.  
  30. h = 1. ;
  31. t = 60.e-3 ;
  32. a = t / 5. ;
  33. ri = t * 5.;
  34. re = ri + t;
  35.  
  36. *POINTS POUR L'AXE DE REVOLUTION
  37. p0 = (0. 0. 0.);
  38. py = (0. 1. 0.);
  39.  
  40. *COORDONNEE DE LA POINTE DE LA FISSURE
  41. pf = (a + ri) 0. 0.;
  42.  
  43. *NOMBRE D'ELEMENTS AUTOUR DE LA POINTE DE LA FISSURE (1 et 2 COUT)
  44. nfiss = 10;
  45.  
  46. *TAILLE D'UN ELEMENT DE LA 1ERE ET 2EME COUTURE*
  47. tel = 200e-6 ; tel2 = 400e-6 ;
  48. *Facteur d'agrandissement de la taille du derafinement
  49. ttel2 = 4.*tel2 ;
  50.  
  51. *LONGUEUR DE LA 1ERE ET 2EME COUTURE*
  52. lc1 = nfiss * tel ; lc2 = tel2 * nfiss;
  53.  
  54. *NIVEAU DE CHARGEMENT
  55. p0T = -400. ; p0P = 400. ; dt0 = 300.;
  56.  
  57. *=============================================================
  58. **************************************************************
  59. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  60. * DEBUT DU MAILLAGE
  61. *=============================================================
  62. **************************************************************
  63. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  64.  
  65.  
  66. **************************************************************
  67. ********************** 1ERE COUTURE ************************
  68. ************ (Autour de la pointe de la fissure) ***********
  69. **************************************************************
  70.  
  71. p1cbd = pf plus (lc1 0. 0.) ;
  72. p1chd = pf plus (lc1 lc1 0.) ;
  73. pf1 = pf plus (0. lc1 0.) ;
  74. p1chg = pf1 moin (lc1 0. 0.) ;
  75. p1cbg = pf moin (lc1 0. 0.) ;
  76.  
  77. d1ch = droi (2*nfiss) p1chg p1chd;
  78. d1cg = droi (nfiss) p1cbg p1chg ;
  79. d1cd = droi (nfiss) p1cbd p1chd ;
  80. d1cbg = droi (nfiss) p1cbg pf ;
  81. d1cbd = droi (nfiss) pf p1cbd ;
  82.  
  83. cout1 = regl nfiss d1ch (d1cbg et d1cbd) ;
  84. *cout1 = coul jaun cout1 ;
  85.  
  86. **************************************************************
  87. ********************** 2EME COUTURE ************************
  88. ************ (Autour de la pointe de la fissure) ***********
  89. ************** Partie au-dessus de la fissure **************
  90. **************************************************************
  91.  
  92. p2cbd = pf plus (lc2 0. 0.) ;
  93. p2chd = pf plus (lc2 lc2 0.) ;
  94. pf2 = pf plus (0. lc2 0.) ;
  95. p2chg = pf2 moin (lc2 0. 0.) ;
  96. p2cbg = pf moin (lc2 0. 0.) ;
  97.  
  98. d2ch = droi (2*nfiss) p2chg p2chd;
  99. d2cg = droi (nfiss) p2cbg p2chg ;
  100. d2cd = droi (nfiss) p2cbd p2chd ;
  101.  
  102. cout2 = regl nfiss (d1cd et d1ch et d1cg) (d2cd et d2ch et d2cg) ;
  103. *cout2 = coul vert cout2 ;
  104.  
  105. cout1et2 = cout1 et cout2;
  106.  
  107. **************************************************************
  108. ***************** DERAFINEMENT DES COUTURES ****************
  109. ************** Partie au-dessus de la fissure **************
  110. **************************************************************
  111.  
  112. *------------------( DERAF A 4 ELEMENT )-------------------
  113.  
  114. pid1 = p2chg moin (0. ttel2 0.) ;
  115. pid2 = pid1 plus (0. tel2 0.) ;
  116. pid3 = pid2 plus (0. tel2 0.) ;
  117. pid4 = pid3 plus (0. tel2 0.) ;
  118. pid5 = pid4 plus (0. tel2 0.) ;
  119. pid6 = pid2 moin (tel2 0. 0.) ;
  120. pid7 = pid3 moin (tel2 0. 0.) ;
  121. pid8 = pid4 moin (tel2 0. 0.) ;
  122. pid9 = pid1 moin (ttel2 0. 0.) ;
  123. pid10 = pid3 moin (ttel2 0. 0.) ;
  124. pid11 = pid5 moin (ttel2 0. 0.) ;
  125.  
  126. did1 = droi 1 pid1 pid2 ;
  127. did2 = droi 1 pid2 pid3 ;
  128. did3 = droi 1 pid3 pid4 ;
  129. did4 = droi 1 pid4 pid5 ;
  130. did5 = droi 1 pid9 pid6 ;
  131. did6 = droi 1 pid6 pid7 ;
  132. did7 = droi 1 pid7 pid8 ;
  133. did8 = droi 1 pid11 pid8 ;
  134. did9 = droi 1 pid10 pid7 ;
  135.  
  136. si1 = (regl 1 did1 did5) et (regl 1 did2 did6) et
  137. (regl 1 did3 did7) et (regl 1 did4 (inve did8)) et
  138. (regl 1 did8 did9) et (regl 1 did9 did5) ;
  139. elim si1 1.e-5 ;
  140.  
  141. *------------------( DERAF A 3 ELEMENT )-------------------
  142.  
  143. pad1 = pf moin (lc2 0. 0.) ;
  144. pad2 = pad1 plus (0. tel2 0.) ;
  145. pad3 = pad2 plus (0. tel2 0.) ;
  146. pad4 = pad3 plus (0. tel2 0.) ;
  147. pad5 = pad2 moin (tel2 0. 0.) ;
  148. pad6 = pad3 moin (tel2 0. 0.) ;
  149. pad7 = pad1 moin (ttel2 0. 0.) ;
  150. pad8 = pad4 moin (ttel2 0. 0.) ;
  151.  
  152. dad1 = droi 1 pad1 pad2 ;
  153. dad2 = droi 1 pad2 pad3 ;
  154. dad3 = droi 1 pad3 pad4 ;
  155. dad4 = droi 1 pad7 pad5 ;
  156. dad5 = droi 1 pad5 pad6 ;
  157. dad6 = droi 1 pad6 pad8 ;
  158.  
  159. sa1 = (regl 1 dad1 dad4) et (regl 1 dad2 dad5) et
  160. (regl 1 dad3 dad6) et (regl 1 dad4 (inve dad6));
  161. saa1 = sa1 ;
  162. repe i0 1 ;
  163. ssa1 = sa1 plus ( 0. (3.*&i0*tel2) 0.) ;
  164. fin i0 ;
  165. sa1 = sa1 et ssa1 ;
  166. elim sa1 1.e-5 ;
  167.  
  168. *---------------------- PARTIE GAUCHE -----------------------
  169. sig = sa1 et si1 ; elim sig 1.e-5 ;
  170.  
  171. *---------------------- PARTIE DROITE -----------------------
  172. sid = sig syme droi ((coor 1 pf) 0. 0.) ((coor 1 pf) lc2 0.) ;
  173. elim sid 1.e-5 ;
  174.  
  175. *---------------------- PARTIE HAUTE -----------------------
  176.  
  177. *lignes diagonales pour la symetrie
  178. p_diagod = p2chd plus (lc1 lc1 0.);
  179. p_diago = p2chg moin (lc1 0. 0.);
  180. p_diagog = p_diago plus (0. lc1 0.);
  181.  
  182. d_diagog = droi 1 p1chg p_diagog;
  183. d_diagod = droi 1 p1chd p_diagod;
  184.  
  185. sihg = sig syme droi p1chg p_diagog ;
  186. elim sihg 1.e-5 ;
  187. sihd = sid syme droi p1chd p_diagod ;
  188. elim sihd 1.e-5 ;
  189.  
  190. sih = sihd et sihg ; elim sih 1.e-5 ;
  191.  
  192. *---------------------- PARTIE COIN -----------------------
  193.  
  194. dg = droi 1 pid11 p2chg;
  195. dcg = dg tran 1 (0. ttel2 0.);
  196. dcd = dcg syme droi ((coor 1 pf) 0. 0.) ((coor 1 pf) lc2 0.) ;
  197. sic = dcd et dcg; elim sic 1.e-5;
  198. cout3 = sig et sid et sih et sic ; elim cout3 1.e-5 ;
  199.  
  200. couttot = cout1 et cout2 et cout3;
  201. elim d1cbd couttot 1.e-5 ;
  202.  
  203. **************************************************************
  204. ********************* RESTE DU MAILLAGE ********************
  205. ************** Partie au-dessus de la fissure **************
  206. **************************************************************
  207.  
  208. *Partie de gauche
  209. *----------------
  210. pt1 = mini (coor 1 couttot) 0. 0.;
  211. pt2 = (mini (coor 1 couttot)) (maxi (coor 2 couttot)) 0.;
  212. ptpartg = cout3 poin droit pt1 pt2 1.e-5 ;
  213. d_partg = (cont couttot) elem appuye strictement ptpartg ;
  214. pri = ri 0. 0.;
  215. pg = d_partg tran
  216. (((coor 1 pri)-(mini(coor 1 couttot))) 0. 0.) dini 1.6e-3 dfin 3.2e-3;
  217.  
  218. *Partie de droite
  219. *----------------
  220. pt3 = maxi (coor 1 couttot) 0. 0.;
  221. pt4 = (maxi (coor 1 couttot)) (maxi (coor 2 couttot)) 0.;
  222. ptpartd = couttot poin droit pt3 pt4 1.e-5 ;
  223. dpartd = (cont couttot) elem appuye strictement ptpartd ;
  224. pre = re 0. 0.;
  225. pd = dpartd tran
  226. (((coor 1 pre)-(maxi(coor 1 couttot))) 0. 0.) dini 1.6e-3 dfin 3.2e-3;
  227. bascout = pg et pd et couttot ; elim bascout 1.e-5 ;
  228.  
  229. *Partie du haut
  230. *--------------
  231. p5 = (mini (coor 1 bascout)) (maxi (coor 2 bascout)) 0.;
  232. p6 = (maxi (coor 1 bascout)) (maxi (coor 2 bascout)) 0.;
  233. pt_parth = bascout poin droit p5 p6 1.e-5 ;
  234. dpartd = (cont bascout) elem appuye strictement pt_parth ;
  235. ph = dpartd tran (0. ((h/2.) - (maxi(coor 2 bascout))) 0.)
  236. dini 1.6e-3 dfin t;
  237.  
  238. *Structure totale EN AXI
  239. *************************************
  240. s0 = ph et bascout ; elim s0 1.e-5 ;
  241. *************************************
  242.  
  243. pa = s0 poin proc (ri 0. 0.);
  244. pb = s0 poin proc (re 0. 0.) ;
  245.  
  246. lvsup = (cont s0) elem compris pa pf ;
  247.  
  248. *Definition des bords du maillage AXI
  249. lhau = cote 3 ph;
  250. lbas = (cont s0) elem compris pf pb ;
  251. pgau = s0 poin droit (ri (mini (coor 2 s0)) 0.)
  252. (ri (maxi (coor 2 s0)) 0.) 1.e-5 ;
  253. lgau = (cont s0) elem appuye strictement pgau ;
  254.  
  255. n1 = 1;
  256. deg1 = 0.5 ;
  257.  
  258. *Structure totale EN 3D
  259. *************************************************
  260. v0 = s0 volu n1 rota deg1 p0 py ; elim v0 1.e-5 ;
  261. *************************************************
  262.  
  263. f1 f2 f3 = face v0;
  264. f1 = f1 coul bleu;
  265. f2 = f2 coul roug;
  266.  
  267. * Creation des surfaces inferieure et superieure.
  268. surliga = lbas rota n1 deg1 p0 py;
  269. sursup = lhau rota n1 deg1 p0 py;
  270. surlev = lvsup rota n1 deg1 p0 py;
  271.  
  272. *Defintion du front de fissure
  273. pfx1 = (coor 1 pf)*(cos (-1.*deg1));
  274. pfx3 = (coor 1 pf)*(sin (-1.*deg1));
  275. pfx = pfx1 0. pfx3;
  276. frfiss = cerc n1 pf p0 pfx;
  277. frfiss = frfiss coul cyan;
  278.  
  279. elim (v0 et surliga et sursup et surlev et
  280. pfx et frfiss et f1 et f2) 1.e-5;
  281.  
  282. *Trois points sur la surface f2
  283. zm = mini (f2 coor 3) ;
  284. PC = f2 poin proc (ri 0. zm) ;
  285. PD = f2 poin proc (re 0. zm) ;
  286. PE = f2 poin proc (ri (h / 2.) zm) ;
  287.  
  288. *=============================================================
  289. **************************************************************
  290. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  291. * FIN DU MAILLAGE
  292. *=============================================================
  293. **************************************************************
  294. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  295.  
  296.  
  297. *=============================================================
  298. **************************************************************
  299. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  300. * PARTIE CALCULS
  301. *=============================================================
  302. **************************************************************
  303. *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  304.  
  305. * PROPRIETE MATERIAUX A 300°C
  306. E0 = 185e3; nu0 = 0.3; alfa0 = 13.08e-6;
  307.  
  308. mo0 = mode v0 mecanique elastique isotrope ;
  309. ma0 = mate mo0 YOUN E0 nu nu0 alph alfa0 ;
  310. rg0 = rigi mo0 ma0 ;
  311.  
  312. *CONDITIONS AUX LIMITES
  313. *Blocages
  314. cl1 = bloq uy surliga ;
  315. cl2 = rela ense uy sursup ;
  316. cl3 = bloq uz f1 ;
  317. cl4 = v0 symt depl PC PD PE 1.e-5 ;
  318. cl0 = cl1 et cl2 et cl3 et cl4 ;
  319.  
  320. *Traction uniaxiale (via un modele de pression)
  321. moph = MODE sursup 'CHARGEMENT' 'PRESSION' 'CONS' 'HAUT' ;
  322.  
  323. *Pression sur les levres (via un modele de pression)
  324. mopl = MODE surlev 'CHARGEMENT' 'PRESSION' 'CONS' 'LEVRES' ;
  325.  
  326. *Elevation de temperature
  327. chx = ((v0 coor 1) - ri) / (re - ri) ;
  328. cht0 = nomc 'T' (dt0 * chx);
  329.  
  330.  
  331. *****************************************
  332. ********* SOLUTIONS ANALYTIQUES *********
  333. *****************************************
  334. *Fonctions d'influence
  335. i0 = 1.211 ;
  336. i1 = 0.718 ;
  337.  
  338. *Contraintes imposées pour le gradient de temperature
  339. sig0 = ((E0*alfa0*dt0)/(1-nu0)) * (ri/(3*t)) *
  340. ((2*(re**2))/(ri*(re+ri)) - 1);
  341. sig1 = -1. * ((E0*alfa0*dt0)/(1-nu0));
  342.  
  343. * J analytiques
  344. JT = (1-(nu0**2)) * ((i0*(-1.*p0T)*((pi*a)**(1./2.)))**2) / E0;
  345. JP = (1-(nu0**2)) * ((i0*(-1.*p0P)*((pi*a)**(1./2.)))**2) / E0;
  346. JTH = (1-(nu0**2)) *
  347. ((((i0*sig0)+ (i1*sig1*(a/t)))*((pi*a)**(1./2.))) **2)/E0;
  348.  
  349.  
  350.  
  351. ****************************************************
  352. * CALCUL ELASTIQUE AVEC RESO - CALCUL DE J ELASTIQUE
  353. ****************************************************
  354.  
  355. * Construction des second membres
  356. maph = MATE moph 'PRES' p0T ;
  357. f0T = BSIG moph maph ;
  358. mapl = MATE mopl 'PRES' p0P ;
  359. f0P = BSIG mopl mapl ;
  360.  
  361. sgth0 = THET mo0 ma0 cht0 ;
  362. f0TH = BSIG mo0 sgth0 ;
  363.  
  364. * RESOLUTION ELASTIQUE DES 3 PROBLEMES
  365. utestT utestP utestTH = RESO (rg0 ET cl0) f0T f0P f0TH;
  366.  
  367. *PROCEDURE G_THETA
  368. *cas 1 : traction seule
  369. tabJel = table ;
  370. tabJel . 'MODELE' = mo0 ET moph ;
  371. tabJel . 'CARACTERISTIQUES' = ma0 ET maph ;
  372. tabJel . 'BLOCAGES_MECANIQUES' = cl0 ;
  373. tabJel . 'SOLUTION_RESO' = utestT ;
  374. tabJel . 'OBJECTIF' = MOT 'J' ;
  375. tabJel . 'LEVRE_SUPERIEURE' = surlev ;
  376. tabJel . 'FRONT_FISSURE' = frfiss ;
  377. tabJel . 'COUCHE' = 5 ;
  378. g_theta tabJel ;
  379. JelT1 = tabJel.resultats.global ;
  380.  
  381. *cas 2 : pression sur les levres
  382. tabJel . 'MODELE' = mo0 ET mopl ;
  383. tabJel . 'CARACTERISTIQUES' = ma0 ET mapl ;
  384. tabJel . 'SOLUTION_RESO' = utestP ;
  385. g_theta tabJel ;
  386. JelP1 = tabJel.resultats.global ;
  387.  
  388. *cas 3 : gradient de temperature
  389. tabJel . 'MODELE' = mo0 ;
  390. tabJel . 'CARACTERISTIQUES' = ma0 ;
  391. tabJel . 'TEMPERATURES' = cht0 ;
  392. tabJel . 'SOLUTION_RESO' = utestTH ;
  393. g_theta tabJel ;
  394. JelTH1 = tabJel.resultats.global ;
  395.  
  396. *Erreurs sur J entre la solution analytique et le MEF
  397. errT1 = ((JelT1-JT)/JT)*100.;
  398. errP1 = ((JelP1-JP)/JP)*100.;
  399. errTH1 = ((JelTH1-JTH)/JTH)*100.;
  400.  
  401.  
  402.  
  403.  
  404.  
  405. *******************************************************
  406. * CALCUL ELASTIQUE AVEC PASAPAS - CALCUL DE J ELASTIQUE
  407. *******************************************************
  408.  
  409. * Chargements de pression (obligatoires si modele de pression)
  410. evph = EVOL 'MANU' 'TEMP' (PROG 0. 1. 2. 3.)
  411. 'PRES' (PROG 0. 1. 0. 0.) ;
  412. chaph = CHAR 'PRES' (CHAN 'TYPE' maph 'CONTRAINTES') evph ;
  413.  
  414. evpl = EVOL 'MANU' 'TEMP' (PROG 0. 1. 2. 3.)
  415. 'PRES' (PROG 0. 0. 1. 0.) ;
  416. chapl = CHAR 'PRES' (CHAN 'TYPE' mapl 'CONTRAINTES') evpl ;
  417.  
  418. * Chargement thermique
  419. chath = CHAR 'T' cht0 (EVOL 'MANU' (PROG 0. 1. 2. 3.)
  420. (PROG 0. 0. 0. 1.)) ;
  421.  
  422. *RESOLUTION AVEC PASAPAS DES 3 PROBLEMES (UN A CHAQUE PAS DE TEMPS)
  423. *AU PAS 1 : Traction seule
  424. *AU PAS 2 : Pression sur les levres
  425. *AU PAS 3 : Gradient de temperature
  426. tabT = TABL ;
  427. tabT . 'MODELE' = mo0 ET moph ET mopl ;
  428. tabT . 'CARACTERISTIQUES' = ma0 ET maph ET mapl ;
  429. tabT . 'BLOCAGES_MECANIQUES' = cl0 ;
  430. tabT . 'CHARGEMENT' = chaph ET chapl ET chath ;
  431. tabT . 'TEMPS_CALCULES' = PROG 1. 2. 3. ;
  432. PASAPAS tabT ;
  433.  
  434. *PROCEDURE G_THETA POUR LES 3 PROBLEMES (UN A CHAQUE PAS DE TEMPS)
  435. *ATTENTION, IL FAUT RETIRER LE CHARGERMENT MECA DE PRESSION SUR LES
  436. *LEVRES ET UTILISER LE CHARGEMENT PLEV
  437. *PROCEDURE G_THETA POUR LES 3 PROBLEMES (UN A CHAQUE PAS DE TEMPS)
  438. tabJel = TABL ;
  439. tabJel . 'SOLUTION_PASAPAS' = tabT ;
  440. tabJel . 'OBJECTIF' = MOT 'J' ;
  441. tabJel . 'LEVRE_SUPERIEURE' = surlev ;
  442. tabJel . 'FRONT_FISSURE' = frfiss ;
  443. tabJel . 'COUCHE' = 5 ;
  444. g_theta tabJel ;
  445. JelT2 = tabJel.resultats. 1 . global ;
  446. JelP2 = tabJel.resultats. 2 . global ;
  447. JelTH2 = tabJel.resultats. 3 . global ;
  448. *Erreurs sur J : solution analytique VS calcul PASAPAS + G_THETA
  449. errT2 = ((JelT2-JT)/JT)*100.;
  450. errP2 = ((JelP2-JP)/JP)*100.;
  451. errTH2 = ((JelTH2-JTH)/JTH)*100.;
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458. ****************************************
  459. * AFFICHAGE DES RESULTATS ET DES ERREURS
  460. ****************************************
  461. SAUT 5 'LIGNE' ;
  462. mess 'Solution Theorique : ' JT JP JTH ;
  463. mess 'Solution MEF (RESO) : ' JelT1 JelP1 JelTH1 ;
  464. mess 'Erreur en % : ' errT1 errP1 errTH1 ;
  465. mess 'Solution MEF (PASAPAS) : ' JelT2 JelP2 JelTH2 ;
  466. mess 'Erreur en % : ' errT2 errP2 errTH2 ;
  467.  
  468. * Test sur les erreurs
  469. errT = MAXI 'ABS' (PROG errT1 errT2) ;
  470. si ((abs errT) > 0.3) ;
  471. erre 'Erreur sur le calcul de JelT' ;
  472. fins ;
  473. errP = MAXI 'ABS' (PROG errP1 errP2) ;
  474. si ((abs errP) > 0.3) ;
  475. erre 'Erreur sur le calcul de JelP' ;
  476. fins ;
  477. errTH = MAXI 'ABS' (PROG errTH1 errTH2) ;
  478. si ((abs errTH) > 0.4) ;
  479. erre 'Erreur sur le calcul de JelTH' ;
  480. fins ;
  481.  
  482. FIN ;
  483.  
  484.  
  485.  

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