Télécharger xfem01.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : xfem01.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *******************************************************************
  6. *
  7. * xfem01.dgibi
  8. *
  9. * calcul avec elements xfem (XQ4R)
  10. * d'une plaque elastique en traction
  11. * avec fissure inclinée
  12. *
  13. * création : bp, le 24.09.2009
  14. * ajout g_theta : bp, 08.06.2010
  15. * solution de reference pour g,k1 et k2 donne par :
  16. * [TADA, STRESS ANALYSIS HANDBOOK,1973]
  17. * [ISIDA,IJF(7),301-316,1971] -> facteur de forme
  18. * propagation elementaire
  19. ********************************************************************
  20. opti echo 1 ;
  21. *** Traces
  22. *graph = faux;
  23. *graph = vrai;
  24. graph = vrai; opti trac PSC ; opti EPTR 5;
  25. *** finesse du maillage (=flfin) et cas test complet (=fllong)
  26. *flfin = faux;
  27. flfin = vrai;
  28. fllong = faux;
  29. *fllong = vrai;
  30.  
  31.  
  32. *******************************************************
  33. *** Options de calcul : 2D
  34. opti dime 2 elem qua4 mode plan defo;
  35.  
  36.  
  37. *******************************************************
  38. *** Maillage : Plaque rectangulaire saine
  39.  
  40. * dimension et finesse
  41. *La1 = 0.1 ;
  42. La1 = 0.15 ;
  43. Lb1 = 0.5 ;
  44. na1 = 20;
  45. si(flfin);
  46. La1 = 0.2 ;
  47. na1 = 40;
  48. *na1 = 100;
  49. * na1 = 200;
  50. * na1 = 400;
  51. fins;
  52. dx1 = (2.*La1) / (flot na1) ;
  53. nb1 = na1 / 2;
  54. dx2 = (2.*Lb1) / (flot nb1) ;
  55.  
  56. * zone centrale
  57. DENS (dx1) ;
  58. pa1 = (-1.*La1) (-1.*La1) ;
  59. pa2 = ( La1) (-1.*La1) ;
  60. pa3 = ( La1) ( La1) ;
  61. pa4 = (-1.*La1) ( La1) ;
  62. da1 = pa1 droi na1 pa2;
  63. da2 = pa2 droi na1 pa3;
  64. da3 = pa3 droi na1 pa4;
  65. da4 = pa4 droi na1 pa1;
  66. sa1 = dall da1 da2 da3 da4;
  67.  
  68. * zone exterieure (pour avoir un milieu quasi-infini)
  69. nb1 = na1 / 2;
  70. dx2 = (2.*Lb1) / (flot nb1) ;
  71.  
  72. DENS (dx2) ;
  73. pb1 = (-1.*Lb1) (-1.*Lb1) ;
  74. pb2 = ( Lb1) (-1.*Lb1) ;
  75. pb3 = ( Lb1) ( Lb1) ;
  76. pb4 = (-1.*Lb1) ( Lb1) ;
  77.  
  78. pb11 = (-1.*La1) (-1.*Lb1) ;
  79. pb12 = ( 1.*La1) (-1.*Lb1) ;
  80. pb21 = ( Lb1) (-1.*La1) ;
  81. pb22 = ( Lb1) ( 1.*La1) ;
  82. pb31 = ( La1) ( Lb1) ;
  83. pb32 = (-1.*La1) ( Lb1) ;
  84. pb41 = (-1.*Lb1) ( La1) ;
  85. pb42 = (-1.*Lb1) (-1.*La1) ;
  86.  
  87. db1 = pb11 droi na1 pb12;
  88. db2 = pb21 droi na1 pb22;
  89. db3 = pb31 droi na1 pb32;
  90. db4 = pb41 droi na1 pb42;
  91.  
  92. sa1b1 = (regl da1 db1 'DINI' dx1 'DFIN' dx2);
  93. sa2b2 = (regl da2 db2 'DINI' dx1 'DFIN' dx2);
  94. sa3b3 = (regl da3 db3 'DINI' dx1 'DFIN' dx2);
  95. sa4b4 = (regl da4 db4 'DINI' dx1 'DFIN' dx2);
  96. sabtot= sa1b1 et sa2b2 et sa3b3 et sa4b4;
  97.  
  98. dc1 = (cote sa1b1 4) coul bleu;
  99. dd1 = (cote sa1b1 2) coul vert;
  100. dc2 = (cote sa2b2 4) coul bleu;
  101. dd2 = (cote sa2b2 2) coul vert;
  102. dc3 = (cote sa3b3 4) coul bleu;
  103. dd3 = (cote sa3b3 2) coul vert;
  104. dc4 = (cote sa4b4 4) coul bleu;
  105. dd4 = (cote sa4b4 2) coul vert;
  106.  
  107. *1er coin
  108. dc2ext = dc2 plus (pb2 moin pb21);
  109. dd1ext = dd1 plus (pb2 moin pb12);
  110. dsb2 = dc2ext et dd1ext et dc2 et dd1;
  111. elim dsb2 (1.E-4*dx1);
  112. sb2 = dall dc2ext dd1ext dc2 dd1;
  113.  
  114. *2eme coin
  115. dc3ext = dc3 plus (pb3 moin pb31);
  116. dd2ext = dd2 plus (pb3 moin pb22);
  117. dsb3 = dc3ext et dd2ext et dc3 et dd2;
  118. elim dsb3 (1.E-4*dx1);
  119. sb3 = dall dc3ext dd2ext dc3 dd2;
  120.  
  121. *3eme coin
  122. dc4ext = dc4 plus (pb4 moin pb41);
  123. dd3ext = dd3 plus (pb4 moin pb32);
  124. dsb4 = dc4ext et dd3ext et dc4 et dd3;
  125. elim dsb4 (1.E-4*dx1);
  126. sb4 = dall dc4ext dd3ext dc4 dd3;
  127.  
  128. *4eme coin
  129. dc1ext = dc1 plus (pb1 moin pb11);
  130. dd4ext = dd4 plus (pb1 moin pb42);
  131. dsb1 = dc1ext et dd4ext et dc1 et dd4;
  132. elim dsb1 (1.E-4*dx1);
  133. sb1 = dall dc1ext dd4ext dc1 dd4;
  134.  
  135. sbtot = sb1 et sb2 et sb3 et sb4;
  136.  
  137.  
  138. *petite modif pour propager + loin
  139. si(flfin);
  140. sa1 = sa1 et sa2b2 et sa4b4;
  141. sb1 = sa1b1 et sa3b3 et sbtot;
  142. sino;
  143. * attention on reutilise sb1 !!!
  144. sb1 = sabtot et sbtot ;
  145. fins;
  146.  
  147. stot1 = sa1 et sb1;
  148.  
  149. mess 'maillage central ext total' ;
  150. mess 'nbno= ' (nbno sa1) (nbno sb1) (nbno stot1);
  151. mess 'nbel= ' (nbel sa1) (nbel sb1) (nbel stot1);
  152.  
  153. *opti donn 5;
  154. *******************************************************
  155. *** Maillage de la fissure
  156.  
  157. * longueur et angle de la fissure
  158. *a0 = 0.1;
  159. a0 = 0.05;
  160. *alpha0 = 0.;
  161. alpha0 = 20.;
  162. *alpha0 = 40.;
  163. *alpha0 = 45.;
  164. *alpha0 = 50.;
  165.  
  166. * finesse du maillage de la fissure
  167. *na0 = 10;
  168. *da0 = a0 / (flot na0) ;
  169. da0 = dx1 / 10.;
  170. na0 = enti (a0 / da0);
  171.  
  172. * maillage
  173. DENS (da0) ;
  174. ptip1 = (a0 * (cos alpha0)) (a0 * (sin alpha0));
  175. ptip2 = (-1.*a0 * (cos alpha0)) (-1.*a0 * (sin alpha0));
  176. lcrack0 = (ptip2 droi na0 ptip1) coul 'ROUG';
  177.  
  178.  
  179. * table (+ pratique pour gérer la propa)
  180. TXFEM = tabl;
  181. TXFEM . 0 = tabl;
  182. TXFEM . 0 . 'POINTE1' = ptip1;
  183. TXFEM . 0 . 'POINTE2' = ptip2;
  184. TXFEM . 0 . 'FISSURE' = lcrack0;
  185.  
  186. * creation des level set
  187. psi0 phi0 = PSIPHI sa1 lcrack0 'DEUX' ptip1 ptip2;
  188. isolv7 = prog (-2.*a0) PAS (a0 / 4.) (2.*a0);
  189. si(graph);
  190. *opti isov lign;
  191. TRAC (stot1 et lcrack0) ;
  192. TRAC phi0 (stot1 et lcrack0) isolv7 ;
  193. TRAC psi0 (stot1 et lcrack0) isolv7;
  194. *opti isov surf;
  195. finsi;
  196.  
  197.  
  198.  
  199. *opti donn 5 ;
  200. *******************************************************
  201. *** Modeles et materiaux
  202.  
  203. * definition des models elementaires
  204. mod1a = MODE sa1 mecanique elastique isotrope xq4R;
  205. mod1b = MODE sb1 mecanique elastique isotrope;
  206.  
  207. * apres cela on assemble
  208. mod1tot = mod1a et mod1b;
  209.  
  210. * enrichissement
  211. Che1X = tabl;
  212. Che1X . 0 = TRIE mod1tot psi0 phi0;
  213.  
  214.  
  215. * on crée le ou les materiau et on les assemble
  216. Ey1 = 2.E11 ;
  217. nu1 = 0.3;
  218. rho1 = 7800.;
  219. mat1tot = MATE mod1tot 'YOUN' Ey1 'NU' nu1 'RHO' rho1;
  220.  
  221.  
  222. *******************************************************
  223. *** Matrices + CL
  224.  
  225. Rig1tot = RIGI mod1tot mat1tot;
  226.  
  227. * on bloque les depl de corps rigides
  228. pb12 = sb1 POIN 'PROC' (0.5 * (pb1 PLUS pb2));
  229. pb23 = sb1 POIN 'PROC' (0.5 * (pb2 PLUS pb3));
  230. pb34 = sb1 POIN 'PROC' (0.5 * (pb3 PLUS pb4));
  231. pb41 = sb1 POIN 'PROC' (0.5 * (pb4 PLUS pb1));
  232.  
  233. cl1x = BLOQ 'UX' (pb12 et pb34);
  234. cl1y = BLOQ 'UY' (pb41 et pb23);
  235.  
  236. cl1tot = cl1x et cl1y;
  237.  
  238. K1tot = Rig1tot et cl1tot;
  239.  
  240. syy0 = 1.E9;
  241. dbup = dc4ext et db3 et dd2ext;
  242. dbdo = dd4ext et db1 et dc2ext;
  243. pre1 = PRES 'MASSIF' mod1tot (dbup et dbdo) (-1.*syy0);
  244.  
  245. si(graph);
  246. TRAC (VECT pre1 'FORC' 'BLEU') (stot1 et lcrack0);
  247. finsi;
  248.  
  249.  
  250. *******************************************************
  251. *** RESOlution avec RESO
  252.  
  253. u0 = RESO K1tot pre1;
  254.  
  255.  
  256. *******************************************************
  257. *** Post traitement
  258.  
  259. * verif du fonctionnement des principaux operateurs
  260. defel0 = EPSI mod1tot u0;
  261. sig0 = SIGM mod1tot u0 mat1tot;
  262. svm0 = VMIS sig0 mod1tot;
  263. gru0 = GRAD mod1tot u0;
  264. def0 = ELAS mod1tot sig0 mat1tot;
  265. ddef0 = def0 - defel0;
  266.  
  267. * calcul du residu
  268. Fint0 = BSIG sig0 mod1tot;
  269. Freac0 = REAC cl1tot u0;
  270. Res0 = Fint0 - (Freac0 + pre1);
  271.  
  272. * * calcul energie elastique = energie exterieure
  273. * wdefel0= 0.5 * (ENER sig0 defel0 mod1tot);
  274. * Iwdef0 = INTG wdefel0 mod1tot;
  275. * wext = 0.5 * (PSCA u0 pre1 (mots UY) (mots FY));
  276. * Iwext = maxi (RESU wext);
  277. * * travail des efforts internes de deformations
  278. * wdef0 = WORK mod1tot sig0 gru0;
  279.  
  280. * messages
  281. mess 'erreur relative / Residu =' ((maxi Res0) / (maxi pre1));
  282. * mess 'erreur relative / Energie =' ((Iwdef0-Iwext) / (abs Iwext));
  283. mess 'ecart relatif EPSI / SIGM+ELAS= ' (maxi ddef0 abs) ;
  284.  
  285. * traces
  286. u0phy = XFEM 'RECO' u0 mod1tot ;
  287. ucrk0u ucrk0d = XFEM 'FISS' lcrack0 u0 mod1tot ;
  288. si(graph);
  289. def0 = DEFO u0phy stot1 20.;
  290. TRAC sig0 mod1tot def0;
  291. def0 = def0 et (DEFO ucrk0u lcrack0 20.)
  292. et (DEFO ucrk0d lcrack0 20.);
  293. TRAC def0;
  294. * trac defel0 mod1tot (lcrack0);
  295. * TRAC svm0 mod1tot (stot1 et lcrack0);
  296. * TRAC wdefel0 mod1tot (stot1 et lcrack0);
  297. * TRAC gru0 mod1tot (stot1 et lcrack0);
  298. finsi;
  299.  
  300.  
  301.  
  302. *OPTI DONN 5 echo 1 trac X;
  303. *******************************************************
  304. * calcul de l integrale J, de K1, de K2
  305.  
  306. *** valeur theorique de J,K1,K2 ***
  307. k0th1 = syy0 * ((a0 * pi) ** 0.5) * (cos alpha0);
  308. Estar1 = (1. - (nu1**2)) / Ey1;
  309. Gth1 = Estar1 * (k0th1 ** 2);
  310. * facteur de forme pour a/b=0.1 et h/b=Inf
  311. *facfor1 = 1.006;
  312. * facteur de forme pour a/b=0.1 et h/b=1
  313. facfor1 = 1.014;
  314. Gth1 = (facfor1 ** 2) * Gth1;
  315. K1ref = k0th1 * (cos alpha0) * facfor1;
  316. K2ref = k0th1 * (sin alpha0) * facfor1;
  317.  
  318. *** G_THETA -> J ***
  319. SUPTAB = TABL ;
  320. SUPTAB.'OBJECTIF' = MOT 'J';
  321. SUPTAB.'PSI' = psi0;
  322. SUPTAB.'PHI' = phi0;
  323. SUPTAB.'FRONT_FISSURE' = ptip1 ;
  324. SUPTAB.'MODELE' = mod1tot;
  325. SUPTAB.'CARACTERISTIQUES' = mat1tot;
  326. SUPTAB.'SOLUTION_RESO' = u0;
  327. SUPTAB.'CHARGEMENTS_MECANIQUES' = pre1;
  328.  
  329. *on teste toutes les options
  330. si(fllong);
  331.  
  332. SUPTAB.'COUCHE' = 0;
  333. G_THETA SUPTAB;
  334. * on teste l'option ou l on choisit soi meme le champ theta
  335. q7 = (SUPTAB . 'CHAMP_THET1') ;
  336. si(graph);
  337. vq7 = VECT q7 BLEU ;
  338. trac vq7 (stot1 et lcrack0);
  339. finsi;
  340. OTER SUPTAB 'COUCHE';
  341. SUPTAB . 'CHAMP_THETA' = q7;
  342. G_THETA SUPTAB;
  343. * on calcule J pour differents contours
  344. prj1 = prog (SUPTAB . 'RESULTATS');
  345. prcou1= prog 0.;
  346. si(flfin);
  347. si (na1 > 10); lecou1 = lect 1 pas 1 15;
  348. sino; lecou1 = lect 1 pas 1 (na1/4);
  349. fins;
  350. sino;
  351. lecou1 = lect 1 pas 1 3;
  352. fins;
  353. ncou1 = dime lecou1;
  354. jmoy1 = 0.;
  355. repe BCOU1 ncou1;
  356. icou1 = extr lecou1 (&BCOU1);
  357. SUPTAB.'COUCHE' = icou1;
  358. G_THETA SUPTAB;
  359. prj1 = prj1 et (prog (SUPTAB . 'RESULTATS'));
  360. prcou1=prcou1 et (prog (flot icou1));
  361. jmoy1=jmoy1 + (SUPTAB . 'RESULTATS');
  362. fin BCOU1;
  363. evjcou1 = evol BLEU manu 'CONTOUR' prcou1 'J' prj1 ;
  364. si(graph); dess evjcou1; fins;
  365. * extraction d un J moyen
  366. jmoy1 = jmoy1 / ncou1;
  367. *cas rapide (on ne teste poas toutes les options)
  368. sino;
  369. si(flfin); ncou1 = 3;
  370. sino; ncou1 = 1;
  371. fins;
  372. SUPTAB.'COUCHE' =ncou1;
  373. G_THETA SUPTAB;
  374. jmoy1 = SUPTAB . 'RESULTATS';
  375. fins;
  376. *erreur relative / J
  377. errG1 = abs (1. - (jmoy1 / Gth1));
  378.  
  379.  
  380. *** Calcul des FIC par methode integrale G_THETA ***
  381. KTAB = TABL;
  382. KTAB . 'OBJECTIF' = MOT 'DECOUPLAGE';
  383. KTAB .'PSI' = psi0;
  384. KTAB .'PHI' = phi0;
  385. KTAB .'FRONT_FISSURE' = ptip1 ;
  386. KTAB .'MODELE' = mod1tot;
  387. KTAB .'CARACTERISTIQUES' = mat1tot;
  388. KTAB .'SOLUTION_RESO' = u0;
  389. KTAB .'CHARGEMENTS_MECANIQUES' = pre1;
  390. ncou1 = 1;
  391. KTAB . 'COUCHE' = ncou1;
  392.  
  393. G_THETA KTAB;
  394.  
  395. K1G = KTAB . 'RESULTATS' . 'I';
  396. K2G = KTAB . 'RESULTATS' . 'II';
  397. errK1G = ABS (1 - (ABS ( K1G/K1ref)));
  398. errK2G = ABS (1 - (ABS ( K2G/K2ref)));
  399. GK1K2 = Estar1 * ((K1G**2) + (K2G**2)) ;
  400.  
  401.  
  402. *******************************************************
  403. *** erreur? ***
  404.  
  405. mess '------------------------------------------------';
  406. mess (chai ' G K1 K2 ');
  407. mess (chai 'reference ' Gth1 ' ' K1ref ' ' K2ref );
  408. mess (chai ' G_THETA ' jmoy1 ' ' K1G ' ' K2G );
  409. mess (chai ' ERR_REL ' errG1 ' ' errK1G ' ' errK2G );
  410.  
  411. *OPTI DONN 5 echo 1 trac X;
  412. * Si (errG1 < 0.05);
  413. * Erre 0;
  414. * Sinon;
  415. * Erre 5;
  416. * Finsi;
  417.  
  418.  
  419. *OPTI DONN 5 echo 1 trac X;
  420. lcrack1 = lcrack0;
  421.  
  422. *******************************************************
  423. * BOUCLE TEMPORELLE POUR FAIRE PROPAGER LA FISSURE
  424. *******************************************************
  425. it1 = 0 ;
  426. si(flfin);
  427. si(fllong); nt1 = 18;
  428. sino; nt1 = 3;
  429. fins;
  430. sino;
  431. si(fllong); nt1 = 7;
  432. sino; nt1 = 3;
  433. fins;
  434. fins;
  435.  
  436. REPE BT1 nt1;
  437. it1 = it1 + 1;
  438. mess '***********************' it1 '*************************';
  439. TITR (chai 'iteration ' it1);
  440.  
  441. *******************************************************
  442. * propagation élémentaire de fissure
  443.  
  444. *** Increment et angle de propagation ***
  445. * increment manuel
  446. * da1 = 1.5 * dx1;
  447. * increment auto
  448. pptip1 = poin sa1 'PROCH' ptip1;
  449. dx1tip = coor 3 pptip1;
  450. da1 = 1.5 * dx1tip;
  451. * angle
  452. si((abs K2G) &lt;eg (1.E-6*(abs K1G)));
  453. tet1c = 0.;
  454. sino;
  455. tet0c = K1G / K2G;
  456. tet8c = (tet0c**2) + 8.;
  457. tet1c = tet0c - ( (sign K2G) * (tet8c**0.5) );
  458. tet1c = 2. * (atg (0.25 * tet1c));
  459. fins;
  460. mess 'propagation avec l angle ' tet1c;
  461. * les calculs ont été réalisés sur la pointe ptip1
  462. * on recupere la direction du repere local de la fissure (CHPOINT)
  463. ETIP1 = KTAB . 'UTILTET1' . 'DIRECTION1';
  464. ETIP2 = KTAB . 'UTILTET1' . 'DIRECTION2';
  465. * on fait tourner de l'angle critique
  466. DA1VEC = ((cos tet1c) * ETIP1) + ((sin tet1c) * ETIP2);
  467. DA1VEC = da1 * DA1VEC;
  468. * par symetrie on en deduit ptip2
  469. DA2VEC = DA1VEC DEDU 180. (0. 0.) 'ROTA'
  470. (ptip1 MANU 'POI1') (ptip2 MANU 'POI1');
  471. * propagation du front de fissure
  472. ptip1 = ptip1 PLUS DA1VEC;
  473. ptip2 = ptip2 PLUS DA2VEC;
  474. lcrack1 = ((ptip2 droi lcrack1) droi ptip1) coul 'ROUG';
  475. *stockage
  476. TXFEM . it1 = tabl;
  477. TXFEM . it1 . 'POINTE1' = ptip1;
  478. TXFEM . it1 . 'POINTE2' = ptip2;
  479. TXFEM . it1 . 'FISSURE' = lcrack1;
  480.  
  481. *** Actualisations ***
  482. * des level set
  483. psi1 phi1 = PSIPHI sa1 lcrack1 'DEUX' ptip1 ptip2;
  484. si(graph);
  485. *opti isov lign;
  486. TRAC phi1 (sa1 et lcrack1) isolv7 ;
  487. TRAC psi1 (sa1 et lcrack1) isolv7;
  488. *opti isov surf;
  489. finsi;
  490. * du modele, de la rigidite,... (inutile pour le materiau)
  491. Che1X . it1 = TRIE mod1tot psi1 phi1;
  492. Rig1tot = RIGI mod1tot mat1tot;
  493. K1tot = Rig1tot et cl1tot;
  494.  
  495. *** resolution ***
  496. u1 = RESO K1tot pre1;
  497.  
  498. u1phy = XFEM 'RECO' u1 mod1tot ;
  499. sig1 = SIGM mod1tot u1 mat1tot;
  500. ucrk1u ucrk1d = XFEM 'FISS' lcrack1 u1 mod1tot ;
  501. si(graph);
  502. def1 = (DEFO u1phy stot1 20.) ;
  503. TRAC sig1 mod1tot def1;
  504. def1 = def1 et (DEFO ucrk1u lcrack1 20.)
  505. et (DEFO ucrk1d lcrack1 20.);
  506. TRAC def1;
  507. finsi;
  508.  
  509. *** Calcul des FIC par methode integrale G_THETA ***
  510. KTAB . 'OBJECTIF' = MOT 'DECOUPLAGE';
  511. KTAB .'PSI' = psi1;
  512. KTAB .'PHI' = phi1;
  513. KTAB .'FRONT_FISSURE' = ptip1 ;
  514. KTAB .'MODELE' = mod1tot;
  515. KTAB .'CARACTERISTIQUES' = mat1tot;
  516. KTAB .'SOLUTION_RESO' = u1;
  517. KTAB .'CHARGEMENTS_MECANIQUES' = pre1;
  518. KTAB . 'COUCHE' = ncou1;
  519. * repe bcou 6;
  520. * KTAB . 'COUCHE' = (&bcou) - 1;
  521. G_THETA KTAB;
  522. K1G = KTAB . 'RESULTATS' . 'I';
  523. K2G = KTAB . 'RESULTATS' . 'II';
  524. * mess (KTAB . 'COUCHE') K1G K2G;
  525. si(graph);
  526. q7 = KTAB . CHAMP_THET1;
  527. trac (vect q7) (sa1 et lcrack1);
  528. finsi;
  529. * fin bcou;
  530.  
  531. *si on a des nan, on arrete tout c'est qu'on est à coté de la plaque
  532. si (non (((abs K1G) < 1.E16) et ((abs K2G) < 1.E16) ));
  533. quit BT1;
  534. finsi;
  535.  
  536. FIN BT1;
  537. *******************************************************
  538.  
  539.  
  540. * OPTI DONN 5 echo 1 trac X;
  541. *******************************************************
  542. *** erreur? (apres propa elementaire) ***
  543. *******************************************************
  544. pref1 = 9.10932E-02 1.10838E-02;
  545. errptip1 = norm (pref1 moin ptip1);
  546. Si (errptip1 < (1.E-2 * dx1));
  547. Erre 0;
  548. Sinon;
  549. Erre 5;
  550. Finsi;
  551.  
  552.  
  553. *******************************************************
  554. *** autres tests divers relatifs aux XFEM ***
  555. *******************************************************
  556.  
  557. *** test de la syntaxe 2 de TRIELE ***
  558.  
  559. mod0a = MODE sa1 mecanique elastique isotrope xq4R;
  560. TRIE mod1tot (che1X . 0);
  561. mod0tot = mod0a et mod1b;
  562. mat0tot = MATE mod0tot 'YOUN' Ey1 'NU' nu1 'RHO' rho1;
  563. Rig0tot = RIGI mod0tot mat0tot;
  564. K0tot = Rig0tot et cl1tot;
  565. u0 = RESO K0tot pre1;
  566. sig0 = SIGM mod0tot u0 mat0tot;
  567. def0 = ELAS mod0tot sig0 mat0tot;
  568. u0phy = XFEM 'RECO' u0 mod0tot ;
  569. si(graph);
  570. TRAC sig0 mod0tot (DEFO u0phy stot1 20.);
  571. fins;
  572.  
  573. * OPTI DONN 5 echo 1 trac X;
  574. fin;
  575.  
  576. *** test de la sauvegarde des xfem (a prevoir) ***
  577. * opti sauv 'XFEM01.sauv';
  578. * sauv;
  579. *
  580. * opti rest 'XFEM01.sauv';
  581. * rest;
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  

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