Télécharger rupt24.dgibi

Retour à la liste

Numérotation des lignes :

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

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