Télécharger sic2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : sic2.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************************
  5. ************************************************************************
  6. *** ***
  7. *** ####### ####### ##### ####### ##### ### ##### ***
  8. *** # # # # # # # # # # ***
  9. *** # # # # # # # ***
  10. *** # ##### ##### # ##### # # ***
  11. *** # # # # # # # ***
  12. *** # # # # # # # # # # ***
  13. *** # ####### ##### # ##### ### ##### ***
  14. *** ***
  15. ************************************************************************
  16. ************************************************************************
  17.  
  18.  
  19.  
  20.  
  21.  
  22. * VALIDATION DU MODELE SIC/SIC AU CHARGHEMENT EN TRACTION *
  23.  
  24.  
  25. *** graph = 'O' ou 'N' pour voir le maillage et la courbe des contraintes.
  26. graph='N';
  27. *** echoc = 'O' ou 'N' pour voir le jeu de donnees
  28. echoc='N';
  29.  
  30. si (ega echoc 'N');
  31. OPTION echo 0;
  32. finsi;
  33. * ajout de option epsilon lineaire pour la precision des test!
  34. OPTION epsilon lineaire;
  35.  
  36.  
  37. * limite du chargement en traction (Pascal)
  38. char1= 200.e6;
  39. * pas (Pascal)
  40. paschar= 10.e6;
  41.  
  42. *base et nb d'elements
  43. b=1;
  44. nb=2;
  45. *hauteur et nb d'elements
  46. h=0.2;
  47. nh=2;
  48. *longeur e nb d'elements
  49. lng=10;
  50. nlng=3;
  51.  
  52.  
  53.  
  54.  
  55. opti dime 3 elem qua4;
  56.  
  57.  
  58. ****************************************************
  59. ****************************************************
  60. ***** MAILLAGE *****
  61. ****************************************************
  62. ****************************************************
  63.  
  64.  
  65. p1 = (0. 0. 0.);
  66. p2 = (0. b 0.);
  67. p3 = (0. b h);
  68. p4 = (0. 0. h.);
  69.  
  70.  
  71. l1 = p1 d nb p2;
  72. l2 = p2 d nh p3;
  73. l3 = p3 d nb p4;
  74. l4 = p4 d nh p1;
  75.  
  76. s1= dall plan l1 l2 l3 l4;
  77.  
  78. opti elem cub8;
  79. v1= s1 volu trans nlng (lng 0. 0.);
  80.  
  81. sx= l1 trans nlng (lng 0. 0.);
  82. sy= l2 trans nlng (lng 0. 0.);
  83. lc= p1 d nlng (lng 0. 0.);
  84. elim (sx et sy et v1 et lc) 0.0001;
  85.  
  86.  
  87.  
  88. mess 'total elements:' (nbel v1);
  89. *opti donn 5;
  90.  
  91.  
  92.  
  93. ****************************************************
  94. ***** MODELE *****
  95. ****************************************************
  96.  
  97. mov1 = modeli v1 mecanique elastique orthotrope endommagement
  98. sic_sic ;
  99.  
  100.  
  101. *opti donn 5;
  102. ***** MATERIAU *****
  103.  
  104. * Premiere direction axe X
  105. * Deuxieme direction axe Y
  106. * Troisieme direction (epaisseur) axe Z
  107.  
  108. mav1 = mate mov1 dire (1. 0. 0.) (0. 1. 0.) INCLI 45
  109. YG1 226.E9 YG2 226.E9 yg3 226.e9
  110. NU12 0.152 nu13 0.26 nu23 0.26
  111. g12 85.E9 g13 85.E9 g23 85.E9
  112. ALP1 4.E-6 ALP2 4.E-6 alp3 4.e-6
  113. G1DC 0.6 G1Y0 130.0 G1YC 400.0 G1P 1.0
  114. G2DC 0.6 G2Y0 130.0 G2YC 400.0 G2P 1.0
  115. G3DC 0.6 G3Y0 130.0 G3YC 400.0 G3P 1.0
  116. H23 0.7 H13 0.7 H12 0.7 ;
  117.  
  118.  
  119.  
  120. *mav1 = mate mov1 YOUN 200.E9 NU 0.18 PAR 100;
  121.  
  122.  
  123.  
  124. ****************************************************
  125. ***** CONDITIONS AUX LIMITES *****
  126. ****************************************************
  127.  
  128. *** blocage de la surface inferieure suivant ux
  129. clblq1= bloq ux s1;
  130. clblq=clblq1;
  131.  
  132.  
  133. *blocage de la surface laterale suivant uz
  134. clblq2= bloq uz sx;
  135. clblq= clblq et clblq2;
  136.  
  137. *blocage de la surface laterale suivant uy
  138. clblq3= bloq uy sy;
  139. clblq= clblq et clblq3;
  140.  
  141.  
  142.  
  143. ***************************************************
  144. ***** CHARGEMENT *****
  145. ***************************************************
  146.  
  147.  
  148.  
  149. sp= s1 plus (lng 0. 0.);
  150. elim (v1 et sp) 0.0001;
  151.  
  152.  
  153. effp = pression massif mov1 (-1 * char1) sp;
  154. tchar1= prog 0. pas (1/(char1/paschar)) 1;
  155. fchar1= prog 0. pas (1/(char1/paschar)) 1.;
  156. echar1= evol manu 'pseudotemps' tchar1 'force' fchar1;
  157.  
  158. cmec1= char meca effp echar1;
  159.  
  160.  
  161. vchar1 = vect effp 0.00001 fx fy fz roug;
  162. res1= maxi (resu effp);
  163. titr 'Chargement en traction: ' res1 ' Newton';
  164. si (neg graph 'N');
  165. tracer cach v1 vchar1;
  166. finsi;
  167.  
  168.  
  169. *opti donn 5;
  170.  
  171.  
  172. ****************************************************
  173. ***** CALCUL CONTRAINTES *****
  174. ****************************************************
  175.  
  176. tmp1= prog 0. pas (1/(char1/paschar)) 1;
  177.  
  178.  
  179.  
  180.  
  181. tab1=table;
  182.  
  183. tab1.'BLOCAGES_MECANIQUES'=clblq;
  184. tab1.'MODELE'=mov1;
  185. tab1.'CHARGEMENT'=cmec1;
  186. tab1.AUTOMATIQUE=VRAI;
  187. tab1.'TEMPS_CALCULES'=tmp1;
  188. tab1.'CARACTERISTIQUES'=mav1;
  189. pasapas tab1;
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199. ***** On commence du pas zero
  200. mchdep= epsi mov1 tab1.deplacements.0;
  201.  
  202. corth= rtens tab1.contraintes.0 mov1 mav1;
  203. dorth= rtens mchdep mov1 mav1;
  204.  
  205. cntxxo= prog ( maxi ( (exco 'SMXX' corth)/1.e6) ) ;
  206. cntyyo= prog ( maxi ( (exco 'SMYY' corth)/1.e6) ) ;
  207. cntzzo= prog ( maxi ( (exco 'SMZZ' corth)/1.e6) ) ;
  208. cntxyo= prog ( maxi ( (exco 'SMXY' corth)/1.e6) ) ;
  209. cntxzo= prog ( maxi ( (exco 'SMXZ' corth)/1.e6) ) ;
  210. cntyzo= prog ( maxi ( (exco 'SMYZ' corth)/1.e6) ) ;
  211.  
  212. depxxo= prog ( maxi ( (exco 'EPXX' dorth)) ) ;
  213. depyyo= prog ( maxi ( (exco 'EPYY' dorth)) ) ;
  214. depzzo= prog ( maxi ( (exco 'EPZZ' dorth)) ) ;
  215. depxyo= prog ( maxi ( (exco 'GAXY' dorth)) ) ;
  216. depxzo= prog ( maxi ( (exco 'GAXZ' dorth)) ) ;
  217. depyzo= prog ( maxi ( (exco 'GAYZ' dorth)) ) ;
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225. cntxx= prog (maxi ( (exco 'SMXX' tab1.contraintes.0)/1.e6)) ;
  226. cntzz= prog (maxi ( (exco 'SMYY' tab1.contraintes.0)/1.e6)) ;
  227. cntyy= prog (maxi ( (exco 'SMZZ' tab1.contraintes.0)/1.e6)) ;
  228. cntxy= prog (maxi ( (exco 'SMXY' tab1.contraintes.0)/1.e6)) ;
  229. cntxz= prog (maxi ( (exco 'SMXZ' tab1.contraintes.0)/1.e6)) ;
  230. cntyz= prog (maxi ( (exco 'SMYZ' tab1.contraintes.0)/1.e6)) ;
  231.  
  232. depxx= prog (maxi ( (exco 'EPXX' mchdep)) ) ;
  233. depyy= prog (maxi ( (exco 'EPYY' mchdep)) ) ;
  234. depzz= prog (maxi ( (exco 'EPZZ' mchdep)) ) ;
  235. depxy= prog (maxi ( (exco 'GAXY' mchdep)) ) ;
  236. depxz= prog (maxi ( (exco 'GAXZ' mchdep)) ) ;
  237. depyz= prog (maxi ( (exco 'GAYZ' mchdep)) ) ;
  238.  
  239.  
  240.  
  241. d1= prog (maxi ( (exco 'DOM1' tab1.variables_internes.0))) ;
  242. d2= prog (maxi ( (exco 'DOM2' tab1.variables_internes.0))) ;
  243. d3= prog (maxi ( (exco 'DOM3' tab1.variables_internes.0))) ;
  244.  
  245.  
  246.  
  247.  
  248. npas = enti (char1/paschar);
  249.  
  250. repe ijk (npas);
  251.  
  252. mchdep= epsi mov1 tab1.deplacements.&ijk;
  253.  
  254.  
  255.  
  256.  
  257. cntxx= cntxx et
  258. (prog (maxi ( (exco 'SMXX' tab1.contraintes.&ijk)/1.e6)));
  259. cntzz= cntzz et
  260. (prog (maxi ( (exco 'SMYY' tab1.contraintes.&ijk)/1.e6)));
  261. cntyy= cntyy et
  262. (prog (maxi ( (exco 'SMZZ' tab1.contraintes.&ijk)/1.e6)));
  263. cntxy= cntxy et
  264. (prog (maxi ( (exco 'SMXY' tab1.contraintes.&ijk)/1.e6)));
  265. cntxz= cntxz et
  266. (prog (maxi ( (exco 'SMXZ' tab1.contraintes.&ijk)/1.e6)));
  267. cntyz= cntyz et
  268. (prog (maxi ( (exco 'SMYZ' tab1.contraintes.&ijk)/1.e6)));
  269.  
  270. depxx= depxx et (prog (maxi ( (exco 'EPXX' mchdep))));
  271. depyy= depyy et (prog (maxi ( (exco 'EPYY' mchdep))));
  272. depzz= depzz et (prog (maxi ( (exco 'EPZZ' mchdep))));
  273. depxy= depxy et (prog (maxi ( (exco 'GAXY' mchdep))));
  274. depxz= depxz et (prog (maxi ( (exco 'GAXZ' mchdep))));
  275. depyz= depyz et (prog (maxi ( (exco 'GAYZ' mchdep))));
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284. corth= rtens tab1.contraintes.&ijk mov1 mav1;
  285. dorth= rtens mchdep mov1 mav1;
  286.  
  287. cntxxo= cntxxo et (prog (maxi ( (exco 'SMXX' corth)/1.e6)));
  288. cntyyo= cntyyo et (prog (maxi ( (exco 'SMYY' corth)/1.e6)));
  289. cntzzo= cntzzo et (prog (maxi ( (exco 'SMZZ' corth)/1.e6)));
  290. cntxyo= cntxyo et (prog (maxi ( (exco 'SMXY' corth)/1.e6)));
  291. cntxzo= cntxzo et (prog (maxi ( (exco 'SMXZ' corth)/1.e6)));
  292. cntyzo= cntyzo et (prog (maxi ( (exco 'SMYZ' corth)/1.e6)));
  293.  
  294. depxxo= depxxo et (prog (maxi ( (exco 'EPXX' dorth))));
  295. depyyo= depyyo et (prog (maxi ( (exco 'EPYY' dorth))));
  296. depzzo= depzzo et (prog (maxi ( (exco 'EPZZ' dorth))));
  297. depxyo= depxyo et (prog (maxi ( (exco 'GAXY' dorth))));
  298. depxzo= depxzo et (prog (maxi ( (exco 'GAXZ' dorth))));
  299. depyzo= depyzo et (prog (maxi ( (exco 'GAYZ' dorth))));
  300.  
  301.  
  302.  
  303.  
  304.  
  305. d1= d1 et (prog (maxi ( (exco 'DOM1' tab1.variables_internes.&ijk))));
  306. d2= d2 et (prog (maxi ( (exco 'DOM2' tab1.variables_internes.&ijk))));
  307. d3= d3 et (prog (maxi ( (exco 'DOM3' tab1.variables_internes.&ijk))));
  308.  
  309.  
  310. fin ijk;
  311.  
  312.  
  313. courxx= evol manu 'deformation' depxx 'contrainte' cntxx;
  314. couryy= evol manu 'deformation' depyy 'contrainte' cntyy;
  315. courzz= evol manu 'deformation' depzz 'contrainte' cntzz;
  316. courxy= evol manu 'deformation' depxy 'contrainte' cntxy;
  317. courxz= evol manu 'deformation' depxz 'contrainte' cntxz;
  318. couryz= evol manu 'deformation' depyz 'contrainte' cntyz;
  319.  
  320.  
  321. courxxo= evol manu 'deformation' depxxo 'contrainte' cntxxo;
  322. couryyo= evol manu 'deformation' depyyo 'contrainte' cntyyo;
  323. courzzo= evol manu 'deformation' depzzo 'contrainte' cntzzo;
  324. courxyo= evol manu 'deformation' depxyo 'contrainte' cntxyo;
  325. courxzo= evol manu 'deformation' depxzo 'contrainte' cntxzo;
  326. couryzo= evol manu 'deformation' depyzo 'contrainte' cntyzo;
  327.  
  328.  
  329. courd1= evol manu 'Contrainte' cntxx 'd1' d1;
  330. courd2= evol manu 'Contrainte' cntyy 'd2' d2;
  331. courd3= evol manu 'Contrainte' cntzz 'd3' d3;
  332.  
  333.  
  334.  
  335. si (ega graph 'O');
  336. dess courxx;
  337. finsi;
  338.  
  339.  
  340.  
  341. **********
  342. mchdep= epsi mov1 tab1.deplacements.npas;
  343. dorth= rtens mchdep mov1 mav1;
  344.  
  345. epxxc= maxi ( (exco 'EPXX' dorth));
  346. epyyc= maxi ( (exco 'EPYY' dorth));
  347. epzzc= maxi ( (exco 'EPZZ' dorth));
  348. gaxyc= maxi ( (exco 'GAXY' dorth));
  349. gaxzc= maxi ( (exco 'GAXZ' dorth));
  350. gayzc= maxi ( (exco 'GAYZ' dorth));
  351.  
  352. epxxt= 8.19e-04;
  353. epyyt= 8.19e-04;
  354. epzzt= -2.30e-4;
  355. gaxyt= 2.82e-3;
  356. gaxzt= 0.0;
  357. gayzt= 0.0;
  358.  
  359.  
  360.  
  361.  
  362. dcal1=maxi ( (exco 'DOM1' tab1.variables_internes.npas));
  363. dcal2=maxi ( (exco 'DOM2' tab1.variables_internes.npas));
  364. dcal3=maxi ( (exco 'DOM3' tab1.variables_internes.npas));
  365.  
  366. dter1=4.17e-1;
  367. dter2=4.17e-1;
  368. dter3=0.;
  369.  
  370.  
  371. saut 2 lignes;
  372.  
  373. opti echo 0;
  374. mess '**************************************************';
  375. mess ' DEFORMATION FINALES';
  376. mess ' Val. calc. Val. Theor.';
  377. mess ' ' epxxc ' ' epxxt;
  378. mess ' ' epyyc ' ' epyyt;
  379. mess ' ' epzzc ' ' epzzt;
  380. mess ' ' gaxyc ' ' gaxyt;
  381. mess ' ' gaxzc ' ' gaxzt;
  382. mess ' ' gayzc ' ' gayzt;
  383. mess '**************************************************';
  384. mess ' VARIABLES D''ENDOMMAGEMENT';
  385. mess ' Val. calc. Val. Theor.';
  386. mess ' ' dcal1 ' ' dter1;
  387. mess ' ' dcal2 ' ' dter2;
  388. mess ' ' dcal3 ' ' dter3;
  389.  
  390. opti echo 1;
  391.  
  392. err1 = 100*((abs(dcal1)-(abs(dter1)))/(abs(dcal1)));
  393. err2 = 100*((abs(dcal2)-(abs(dter2)))/(abs(dcal2)));
  394. err3 = 100*((abs(epxxc)-(abs(epxxt)))/(abs(epxxc)));
  395. err4 = 100*((abs(epyyc)-(abs(epyyt)))/(abs(epyyc)));
  396. err5 = 100*((abs(epzzc)-(abs(epzzt)))/(abs(epzzc)));
  397. err6 = 100*((abs(gaxyc)-(abs(gaxyt)))/(abs(gaxyc)));
  398.  
  399.  
  400. listerr= prog err1 err2 err3 err4 err5 err6;
  401.  
  402. err= maxi listerr;
  403.  
  404.  
  405. si (err < 1);
  406. erre 0;
  407. sinon;
  408. erre 5;
  409. finsi;
  410.  
  411.  
  412.  
  413.  
  414.  
  415. fin;
  416.  
  417.  
  418. *************************************************************************************
  419. *************************************************************************************
  420. *** ***
  421. *** ####### ####### ##### ####### ##### ### ##### ##### ***
  422. *** # # # # # # # # # # # # ***
  423. *** # # # # # # # # ***
  424. *** # ##### ##### # ##### # # ##### ***
  425. *** # # # # # # # # ***
  426. *** # # # # # # # # # # # ***
  427. *** # ####### ##### # ##### ### ##### ####### ***
  428. *** ***
  429. *************************************************************************************
  430. *************************************************************************************
  431.  
  432.  
  433.  
  434.  
  435.  
  436. * VALIDATION DU MODELE SIC/SIC AU CHARGHEMENT EN TRACTION/COMPRESSION *
  437.  
  438.  
  439. *** graph = 'O' ou 'N' pour voir le maillage et la courbe des contraintes.
  440. graph='N';
  441. *** echoc = 'O' ou 'N' pour voir le jeu de donnees
  442. echoc='N';
  443.  
  444. si (ega echoc 'N');
  445. OPTION echo 0;
  446. finsi;
  447.  
  448.  
  449.  
  450. * limite du chargement en traction (Pascal)
  451. char1= 150.e6;
  452. char2= 200.e6;
  453. * nombre de pas
  454. npas1= 5.e0;
  455. npas2= 5.e0;
  456.  
  457.  
  458.  
  459. *base et nb d'elements
  460. b=1;
  461. nb=2;
  462. *hauteur et nb d'elements
  463. h=0.2;
  464. nh=2;
  465. *longeur e nb d'elements
  466. lng=10;
  467. nlng=3;
  468.  
  469.  
  470.  
  471.  
  472. opti dime 3 elem qua4;
  473.  
  474.  
  475. ****************************************************
  476. ****************************************************
  477. ***** MAILLAGE *****
  478. ****************************************************
  479. ****************************************************
  480.  
  481.  
  482. p1 = (0. 0. 0.);
  483. p2 = (0. b 0.);
  484. p3 = (0. b h);
  485. p4 = (0. 0. h.);
  486.  
  487.  
  488. l1 = p1 d nb p2;
  489. l2 = p2 d nh p3;
  490. l3 = p3 d nb p4;
  491. l4 = p4 d nh p1;
  492.  
  493. s1= dall plan l1 l2 l3 l4;
  494.  
  495. opti elem cub8;
  496. v1= s1 volu trans nlng (lng 0. 0.);
  497.  
  498. sx= l1 trans nlng (lng 0. 0.);
  499. sy= l2 trans nlng (lng 0. 0.);
  500. lc= p1 d nlng (lng 0. 0.);
  501. elim (sx et sy et v1 et lc) 0.0001;
  502.  
  503.  
  504.  
  505.  
  506. mess 'total elements:' (nbel v1);
  507. *opti donn 5;
  508.  
  509.  
  510.  
  511. ****************************************************
  512. ***** MODELE *****
  513. ****************************************************
  514.  
  515. mov1 = modl v1 mecanique elastique orthotrope endommagement
  516. sic_sic ;
  517.  
  518.  
  519. *opti donn 5;
  520. ***** MATERIAU *****
  521.  
  522. * Premiere direction axe X
  523. * Deuxieme direction axe Y
  524. * Troisieme direction (epaisseur) axe Z
  525.  
  526. mav1 = mate mov1 dire (1. 0. 0.) (0. 1. 0.) INCLI 0
  527. YG1 226.E9 YG2 226.E9 yg3 226.e9
  528. NU12 0.152 nu13 0.26 nu23 0.26
  529. g12 85.E9 g13 85.E9 g23 85.E9
  530. ALP1 4.E-6 ALP2 4.E-6 alp3 4.e-6
  531. G1DC 0.6 G1Y0 130.0 G1YC 400.0 G1P 1.0
  532. G2DC 0.6 G2Y0 130.0 G2YC 400.0 G2P 1.0
  533. G3DC 0.6 G3Y0 130.0 G3YC 400.0 G3P 1.0
  534. H23 0.7 H13 0.7 H12 0.7 ;
  535.  
  536.  
  537.  
  538.  
  539.  
  540. ****************************************************
  541. ***** CONDITIONS AUX LIMITES *****
  542. ****************************************************
  543.  
  544. *** blocacge de la surface inferieure suivant ux
  545. clblq1= bloq ux s1;
  546. clblq=clblq1;
  547.  
  548.  
  549.  
  550. *blocage de la surface laterale suivant uz
  551. clblq2= bloq uz sx;
  552. clblq= clblq et clblq2;
  553.  
  554. *blocage de la surface laterale suivant uy
  555. clblq3= bloq uy sy;
  556. clblq= clblq et clblq3;
  557.  
  558.  
  559.  
  560.  
  561.  
  562. ***************************************************
  563. ***** CHARGEMENT *****
  564. ***************************************************
  565.  
  566.  
  567.  
  568. sp= s1 plus (lng 0. 0.);
  569. elim (v1 et sp) 0.0001;
  570.  
  571.  
  572. effp1 = pression massif mov1 (-1 * char1) sp;
  573. tchar1= prog 0. pas (1./npas1/4.) 1 2;
  574. fchar1= prog 0. pas (1./npas1) 1.
  575. pas ((-1.)/npas1) 0.
  576. pas ((-1.)/npas1) -1.
  577. pas (1./npas1) 0. 0.;
  578. echar1= evol manu 'pseudotemps' tchar1 'force' fchar1;
  579.  
  580. cmec1= char meca effp1 echar1;
  581.  
  582.  
  583.  
  584. effp2 = pression massif mov1 (-1 * char2) sp;
  585. tchar2= prog 0. 1. pas (1./npas2/3.) 2;
  586. fchar2= prog 0. 0. pas (1./npas2) 1.
  587. pas ((-1.)/npas2) 0.
  588. pas ((-1.)/npas2) -1.;
  589. echar2= evol manu 'pseudotemps' tchar2 'force' fchar2;
  590.  
  591. cmec2= char meca effp2 echar2;
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599. *opti donn 5;
  600.  
  601.  
  602. ****************************************************
  603. ***** CALCUL CONTRAINTES *****
  604. ****************************************************
  605.  
  606. tmp1= prog 0. pas (1./npas1/4.) 1 pas (1./npas2/3.) 2;
  607. *opti donn 5;
  608.  
  609.  
  610. tab1=table;
  611.  
  612. tab1.'BLOCAGES_MECANIQUES'=clblq;
  613. tab1.'MODELE'=mov1;
  614. tab1.'CHARGEMENT'=(cmec1 et cmec2);
  615. tab1.AUTOMATIQUE=VRAI;
  616. *tab1.PRECISION=1e-12;
  617. *tab1.ftol=1e-12;
  618. *tab1.mtol=1e-12;
  619. tab1.'TEMPS_CALCULES'=tmp1;
  620. *tab1.'TEMPS_SAUVES'=tmp1;
  621. tab1.'CARACTERISTIQUES'=mav1;
  622. pasapas tab1;
  623.  
  624.  
  625. *opti donn 5;
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633. ***** On commence du pas zero
  634. mchdep= epsi mov1 tab1.deplacements.0;
  635.  
  636. corth= rtens tab1.contraintes.0 mov1 mav1;
  637. dorth= rtens mchdep mov1 mav1;
  638.  
  639. cntxxo= prog ( maxi ( (exco 'SMXX' corth)/1.e6) ) ;
  640. cntyyo= prog ( maxi ( (exco 'SMYY' corth)/1.e6) ) ;
  641. cntzzo= prog ( maxi ( (exco 'SMZZ' corth)/1.e6) ) ;
  642. cntxyo= prog ( maxi ( (exco 'SMXY' corth)/1.e6) ) ;
  643. cntxzo= prog ( maxi ( (exco 'SMXZ' corth)/1.e6) ) ;
  644. cntyzo= prog ( maxi ( (exco 'SMYZ' corth)/1.e6) ) ;
  645.  
  646. depxxo= prog ( maxi ( (exco 'EPXX' dorth)) ) ;
  647. depyyo= prog ( maxi ( (exco 'EPYY' dorth)) ) ;
  648. depzzo= prog ( maxi ( (exco 'EPZZ' dorth)) ) ;
  649. depxyo= prog ( maxi ( (exco 'GAXY' dorth)) ) ;
  650. depxzo= prog ( maxi ( (exco 'GAXZ' dorth)) ) ;
  651. depyzo= prog ( maxi ( (exco 'GAYZ' dorth)) ) ;
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659. cntxx= prog (maxi ( (exco 'SMXX' tab1.contraintes.0)/1.e6)) ;
  660. cntzz= prog (maxi ( (exco 'SMYY' tab1.contraintes.0)/1.e6)) ;
  661. cntyy= prog (maxi ( (exco 'SMZZ' tab1.contraintes.0)/1.e6)) ;
  662. cntxy= prog (maxi ( (exco 'SMXY' tab1.contraintes.0)/1.e6)) ;
  663. cntxz= prog (maxi ( (exco 'SMXZ' tab1.contraintes.0)/1.e6)) ;
  664. cntyz= prog (maxi ( (exco 'SMYZ' tab1.contraintes.0)/1.e6)) ;
  665.  
  666. depxx= prog (maxi ( (exco 'EPXX' mchdep)) ) ;
  667. depyy= prog (maxi ( (exco 'EPYY' mchdep)) ) ;
  668. depzz= prog (maxi ( (exco 'EPZZ' mchdep)) ) ;
  669. depxy= prog (maxi ( (exco 'GAXY' mchdep)) ) ;
  670. depxz= prog (maxi ( (exco 'GAXZ' mchdep)) ) ;
  671. depyz= prog (maxi ( (exco 'GAYZ' mchdep)) ) ;
  672.  
  673.  
  674.  
  675.  
  676.  
  677. d1= prog (maxi ( (exco 'DOM1' tab1.variables_internes.0))) ;
  678. d2= prog (maxi ( (exco 'DOM2' tab1.variables_internes.0))) ;
  679. d3= prog (maxi ( (exco 'DOM3' tab1.variables_internes.0))) ;
  680.  
  681.  
  682.  
  683.  
  684. npas = enti ((npas1*4)+(npas2*3));
  685.  
  686. repe ijk (npas);
  687.  
  688. mchdep= epsi mov1 tab1.deplacements.&ijk;
  689.  
  690.  
  691.  
  692.  
  693. cntxx= cntxx et
  694. (prog (maxi ( (exco 'SMXX' tab1.contraintes.&ijk)/1.e6)));
  695. cntzz= cntzz et
  696. (prog (maxi ( (exco 'SMYY' tab1.contraintes.&ijk)/1.e6)));
  697. cntyy= cntyy et
  698. (prog (maxi ( (exco 'SMZZ' tab1.contraintes.&ijk)/1.e6)));
  699. cntxy= cntxy et
  700. (prog (maxi ( (exco 'SMXY' tab1.contraintes.&ijk)/1.e6)));
  701. cntxz= cntxz et
  702. (prog (maxi ( (exco 'SMXZ' tab1.contraintes.&ijk)/1.e6)));
  703. cntyz= cntyz et
  704. (prog (maxi ( (exco 'SMYZ' tab1.contraintes.&ijk)/1.e6)));
  705.  
  706. depxx= depxx et (prog (maxi ( (exco 'EPXX' mchdep))));
  707. depyy= depyy et (prog (maxi ( (exco 'EPYY' mchdep))));
  708. depzz= depzz et (prog (maxi ( (exco 'EPZZ' mchdep))));
  709. depxy= depxy et (prog (maxi ( (exco 'GAXY' mchdep))));
  710. depxz= depxz et (prog (maxi ( (exco 'GAXZ' mchdep))));
  711. depyz= depyz et (prog (maxi ( (exco 'GAYZ' mchdep))));
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720. corth= rtens tab1.contraintes.&ijk mov1 mav1;
  721. dorth= rtens mchdep mov1 mav1;
  722.  
  723. cntxxo= cntxxo et (prog (maxi ( (exco 'SMXX' corth)/1.e6)));
  724. cntyyo= cntyyo et (prog (maxi ( (exco 'SMYY' corth)/1.e6)));
  725. cntzzo= cntzzo et (prog (maxi ( (exco 'SMZZ' corth)/1.e6)));
  726. cntxyo= cntxyo et (prog (maxi ( (exco 'SMXY' corth)/1.e6)));
  727. cntxzo= cntxzo et (prog (maxi ( (exco 'SMXZ' corth)/1.e6)));
  728. cntyzo= cntyzo et (prog (maxi ( (exco 'SMYZ' corth)/1.e6)));
  729.  
  730. depxxo= depxxo et (prog (maxi ( (exco 'EPXX' dorth))));
  731. depyyo= depyyo et (prog (maxi ( (exco 'EPYY' dorth))));
  732. depzzo= depzzo et (prog (maxi ( (exco 'EPZZ' dorth))));
  733. depxyo= depxyo et (prog (maxi ( (exco 'GAXY' dorth))));
  734. depxzo= depxzo et (prog (maxi ( (exco 'GAXZ' dorth))));
  735. depyzo= depyzo et (prog (maxi ( (exco 'GAYZ' dorth))));
  736.  
  737.  
  738.  
  739.  
  740.  
  741. d1= d1 et (prog (maxi ( (exco 'DOM1' tab1.variables_internes.&ijk))));
  742. d2= d2 et (prog (maxi ( (exco 'DOM2' tab1.variables_internes.&ijk))));
  743. d3= d3 et (prog (maxi ( (exco 'DOM3' tab1.variables_internes.&ijk))));
  744.  
  745.  
  746. fin ijk;
  747.  
  748.  
  749. courxx= evol manu 'deformation' depxx 'contrainte' cntxx;
  750. couryy= evol manu 'deformation' depyy 'contrainte' cntyy;
  751. courzz= evol manu 'deformation' depzz 'contrainte' cntzz;
  752. courxy= evol manu 'deformation' depxy 'contrainte' cntxy;
  753. courxz= evol manu 'deformation' depxz 'contrainte' cntxz;
  754. couryz= evol manu 'deformation' depyz 'contrainte' cntyz;
  755.  
  756.  
  757. courxxo= evol manu 'deformation' depxxo 'contrainte' cntxxo;
  758. couryyo= evol manu 'deformation' depyyo 'contrainte' cntyyo;
  759. courzzo= evol manu 'deformation' depzzo 'contrainte' cntzzo;
  760. courxyo= evol manu 'deformation' depxyo 'contrainte' cntxyo;
  761. courxzo= evol manu 'deformation' depxzo 'contrainte' cntxzo;
  762. couryzo= evol manu 'deformation' depyzo 'contrainte' cntyzo;
  763.  
  764.  
  765. courd1= evol manu 'Contrainte' cntxx 'd1' d1;
  766. courd2= evol manu 'Contrainte' cntyy 'd2' d2;
  767. courd3= evol manu 'Contrainte' cntzz 'd3' d3;
  768.  
  769.  
  770.  
  771. si (ega graph 'O');
  772. dess courxx;
  773. finsi;
  774.  
  775.  
  776.  
  777. **********
  778. mchdep= epsi mov1 tab1.deplacements.npas;
  779. dorth= rtens mchdep mov1 mav1;
  780.  
  781. epxxc= maxi ( (exco 'EPXX' dorth));
  782. epyyc= maxi ( (exco 'EPYY' dorth));
  783. epzzc= maxi ( (exco 'EPZZ' dorth));
  784. gaxyc= maxi ( (exco 'GAXY' dorth));
  785. gaxzc= maxi ( (exco 'GAXZ' dorth));
  786. gayzc= maxi ( (exco 'GAYZ' dorth));
  787.  
  788. epxxt= -8.14e-04;
  789. epyyt= 7.56e-05;
  790. epzzt= 1.29e-4;
  791. gaxyt= 0.0;
  792. gaxzt= 0.0;
  793. gayzt= 0.0;
  794.  
  795.  
  796.  
  797.  
  798. dcal1=maxi ( (exco 'DOM1' tab1.variables_internes.npas));
  799. dcal2=maxi ( (exco 'DOM2' tab1.variables_internes.npas));
  800. dcal3=maxi ( (exco 'DOM3' tab1.variables_internes.npas));
  801.  
  802. dter1=3.69e-1;
  803. dter2=0.;
  804. dter3=0.;
  805.  
  806.  
  807. saut 2 lignes;
  808.  
  809. opti echo 0;
  810. mess '**************************************************';
  811. mess ' DEFORMATION FINALES';
  812. mess ' Val. calc. Val. Theor.';
  813. mess ' ' epxxc ' ' epxxt;
  814. mess ' ' epyyc ' ' epyyt;
  815. mess ' ' epzzc ' ' epzzt;
  816. mess ' ' gaxyc ' ' gaxyt;
  817. mess ' ' gaxzc ' ' gaxzt;
  818. mess ' ' gayzc ' ' gayzt;
  819. mess '**************************************************';
  820. mess ' VARIABLES D''ENDOMMAGEMENT';
  821. mess ' Val. calc. Val. Theor.';
  822. mess ' ' dcal1 ' ' dter1;
  823. mess ' ' dcal2 ' ' dter2;
  824. mess ' ' dcal3 ' ' dter3;
  825.  
  826. opti echo 1;
  827.  
  828. err1 = 100*((abs(dcal1)-(abs(dter1)))/(abs(dcal1)));
  829. err2 = 100*((abs(epxxc)-(abs(epxxt)))/(abs(epxxc)));
  830. err3 = 100*((abs(epyyc)-(abs(epyyt)))/(abs(epyyc)));
  831. err4 = 100*((abs(epzzc)-(abs(epzzt)))/(abs(epzzc)));
  832.  
  833.  
  834. listerr= prog err1 err2 err3 err4 ;
  835.  
  836.  
  837.  
  838. err= maxi listerr;
  839.  
  840.  
  841. si (err < 1);
  842. erre 0;
  843. sinon;
  844. erre 5;
  845. finsi;
  846.  
  847.  
  848.  
  849.  
  850.  
  851. fin;
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  

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