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.  
  34.  
  35. * limite du chargement en traction (Pascal)
  36. char1= 200.e6;
  37. * pas (Pascal)
  38. paschar= 10.e6;
  39.  
  40. *base et nb d'elements
  41. b=1;
  42. nb=2;
  43. *hauteur et nb d'elements
  44. h=0.2;
  45. nh=2;
  46. *longeur e nb d'elements
  47. lng=10;
  48. nlng=3;
  49.  
  50.  
  51.  
  52.  
  53. opti dime 3 elem qua4;
  54.  
  55.  
  56. ****************************************************
  57. ****************************************************
  58. ***** MAILLAGE *****
  59. ****************************************************
  60. ****************************************************
  61.  
  62.  
  63. p1 = (0. 0. 0.);
  64. p2 = (0. b 0.);
  65. p3 = (0. b h);
  66. p4 = (0. 0. h.);
  67.  
  68.  
  69. l1 = p1 d nb p2;
  70. l2 = p2 d nh p3;
  71. l3 = p3 d nb p4;
  72. l4 = p4 d nh p1;
  73.  
  74. s1= dall plan l1 l2 l3 l4;
  75.  
  76. opti elem cub8;
  77. v1= s1 volu trans nlng (lng 0. 0.);
  78.  
  79. sx= l1 trans nlng (lng 0. 0.);
  80. sy= l2 trans nlng (lng 0. 0.);
  81. lc= p1 d nlng (lng 0. 0.);
  82. elim (sx et sy et v1 et lc) 0.0001;
  83.  
  84.  
  85.  
  86. mess 'total elements:' (nbel v1);
  87. *opti donn 5;
  88.  
  89.  
  90.  
  91. ****************************************************
  92. ***** MODELE *****
  93. ****************************************************
  94.  
  95. mov1 = modeli v1 mecanique elastique orthotrope endommagement
  96. sic_sic ;
  97.  
  98.  
  99. *opti donn 5;
  100. ***** MATERIAU *****
  101.  
  102. * Premiere direction axe X
  103. * Deuxieme direction axe Y
  104. * Troisieme direction (epaisseur) axe Z
  105.  
  106. mav1 = mate mov1 dire (1. 0. 0.) (0. 1. 0.) INCLI 45
  107. YG1 226.E9 YG2 226.E9 yg3 226.e9
  108. NU12 0.152 nu13 0.26 nu23 0.26
  109. g12 85.E9 g13 85.E9 g23 85.E9
  110. ALP1 4.E-6 ALP2 4.E-6 alp3 4.e-6
  111. G1DC 0.6 G1Y0 130.0 G1YC 400.0 G1P 1.0
  112. G2DC 0.6 G2Y0 130.0 G2YC 400.0 G2P 1.0
  113. G3DC 0.6 G3Y0 130.0 G3YC 400.0 G3P 1.0
  114. H23 0.7 H13 0.7 H12 0.7 ;
  115.  
  116.  
  117.  
  118. *mav1 = mate mov1 YOUN 200.E9 NU 0.18 PAR 100;
  119.  
  120.  
  121.  
  122. ****************************************************
  123. ***** CONDITIONS AUX LIMITES *****
  124. ****************************************************
  125.  
  126. *** blocage de la surface inferieure suivant ux
  127. clblq1= bloq ux s1;
  128. clblq=clblq1;
  129.  
  130.  
  131. *blocage de la surface laterale suivant uz
  132. clblq2= bloq uz sx;
  133. clblq= clblq et clblq2;
  134.  
  135. *blocage de la surface laterale suivant uy
  136. clblq3= bloq uy sy;
  137. clblq= clblq et clblq3;
  138.  
  139.  
  140.  
  141. ***************************************************
  142. ***** CHARGEMENT *****
  143. ***************************************************
  144.  
  145.  
  146.  
  147. sp= s1 plus (lng 0. 0.);
  148. elim (v1 et sp) 0.0001;
  149.  
  150.  
  151. effp = pression massif mov1 (-1 * char1) sp;
  152. tchar1= prog 0. pas (1/(char1/paschar)) 1;
  153. fchar1= prog 0. pas (1/(char1/paschar)) 1.;
  154. echar1= evol manu 'pseudotemps' tchar1 'force' fchar1;
  155.  
  156. cmec1= char meca effp echar1;
  157.  
  158.  
  159. vchar1 = vect effp 0.00001 fx fy fz roug;
  160. res1= maxi (resu effp);
  161. titr 'Chargement en traction: ' res1 ' Newton';
  162. si (neg graph 'N');
  163. tracer cach v1 vchar1;
  164. finsi;
  165.  
  166.  
  167. *opti donn 5;
  168.  
  169.  
  170. ****************************************************
  171. ***** CALCUL CONTRAINTES *****
  172. ****************************************************
  173.  
  174. tmp1= prog 0. pas (1/(char1/paschar)) 1;
  175.  
  176.  
  177.  
  178.  
  179. tab1=table;
  180.  
  181. tab1.'BLOCAGES_MECANIQUES'=clblq;
  182. tab1.'MODELE'=mov1;
  183. tab1.'CHARGEMENT'=cmec1;
  184. tab1.AUTOMATIQUE=VRAI;
  185. tab1.'TEMPS_CALCULES'=tmp1;
  186. tab1.'CARACTERISTIQUES'=mav1;
  187. tab1.'HYPOTHESE_DEFORMATIONS'='LINEAIRE' ;
  188. pasapas tab1;
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198. ***** On commence du pas zero
  199. mchdep= epsi mov1 tab1.deplacements.0 'LINE' ;
  200.  
  201. corth= rtens tab1.contraintes.0 mov1 mav1;
  202. dorth= rtens mchdep mov1 mav1;
  203.  
  204. cntxxo= prog ( maxi ( (exco 'SMXX' corth)/1.e6) ) ;
  205. cntyyo= prog ( maxi ( (exco 'SMYY' corth)/1.e6) ) ;
  206. cntzzo= prog ( maxi ( (exco 'SMZZ' corth)/1.e6) ) ;
  207. cntxyo= prog ( maxi ( (exco 'SMXY' corth)/1.e6) ) ;
  208. cntxzo= prog ( maxi ( (exco 'SMXZ' corth)/1.e6) ) ;
  209. cntyzo= prog ( maxi ( (exco 'SMYZ' corth)/1.e6) ) ;
  210.  
  211. depxxo= prog ( maxi ( (exco 'EPXX' dorth)) ) ;
  212. depyyo= prog ( maxi ( (exco 'EPYY' dorth)) ) ;
  213. depzzo= prog ( maxi ( (exco 'EPZZ' dorth)) ) ;
  214. depxyo= prog ( maxi ( (exco 'GAXY' dorth)) ) ;
  215. depxzo= prog ( maxi ( (exco 'GAXZ' dorth)) ) ;
  216. depyzo= prog ( maxi ( (exco 'GAYZ' dorth)) ) ;
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224. cntxx= prog (maxi ( (exco 'SMXX' tab1.contraintes.0)/1.e6)) ;
  225. cntzz= prog (maxi ( (exco 'SMYY' tab1.contraintes.0)/1.e6)) ;
  226. cntyy= prog (maxi ( (exco 'SMZZ' tab1.contraintes.0)/1.e6)) ;
  227. cntxy= prog (maxi ( (exco 'SMXY' tab1.contraintes.0)/1.e6)) ;
  228. cntxz= prog (maxi ( (exco 'SMXZ' tab1.contraintes.0)/1.e6)) ;
  229. cntyz= prog (maxi ( (exco 'SMYZ' tab1.contraintes.0)/1.e6)) ;
  230.  
  231. depxx= prog (maxi ( (exco 'EPXX' mchdep)) ) ;
  232. depyy= prog (maxi ( (exco 'EPYY' mchdep)) ) ;
  233. depzz= prog (maxi ( (exco 'EPZZ' mchdep)) ) ;
  234. depxy= prog (maxi ( (exco 'GAXY' mchdep)) ) ;
  235. depxz= prog (maxi ( (exco 'GAXZ' mchdep)) ) ;
  236. depyz= prog (maxi ( (exco 'GAYZ' mchdep)) ) ;
  237.  
  238.  
  239.  
  240. d1= prog (maxi ( (exco 'DOM1' tab1.variables_internes.0))) ;
  241. d2= prog (maxi ( (exco 'DOM2' tab1.variables_internes.0))) ;
  242. d3= prog (maxi ( (exco 'DOM3' tab1.variables_internes.0))) ;
  243.  
  244.  
  245.  
  246.  
  247. npas = enti (char1/paschar);
  248.  
  249. repe ijk (npas);
  250.  
  251. mchdep= epsi mov1 tab1.deplacements.&ijk 'LINE' ;
  252.  
  253.  
  254.  
  255.  
  256. cntxx= cntxx et
  257. (prog (maxi ( (exco 'SMXX' tab1.contraintes.&ijk)/1.e6)));
  258. cntzz= cntzz et
  259. (prog (maxi ( (exco 'SMYY' tab1.contraintes.&ijk)/1.e6)));
  260. cntyy= cntyy et
  261. (prog (maxi ( (exco 'SMZZ' tab1.contraintes.&ijk)/1.e6)));
  262. cntxy= cntxy et
  263. (prog (maxi ( (exco 'SMXY' tab1.contraintes.&ijk)/1.e6)));
  264. cntxz= cntxz et
  265. (prog (maxi ( (exco 'SMXZ' tab1.contraintes.&ijk)/1.e6)));
  266. cntyz= cntyz et
  267. (prog (maxi ( (exco 'SMYZ' tab1.contraintes.&ijk)/1.e6)));
  268.  
  269. depxx= depxx et (prog (maxi ( (exco 'EPXX' mchdep))));
  270. depyy= depyy et (prog (maxi ( (exco 'EPYY' mchdep))));
  271. depzz= depzz et (prog (maxi ( (exco 'EPZZ' mchdep))));
  272. depxy= depxy et (prog (maxi ( (exco 'GAXY' mchdep))));
  273. depxz= depxz et (prog (maxi ( (exco 'GAXZ' mchdep))));
  274. depyz= depyz et (prog (maxi ( (exco 'GAYZ' mchdep))));
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283. corth= rtens tab1.contraintes.&ijk mov1 mav1;
  284. dorth= rtens mchdep mov1 mav1;
  285.  
  286. cntxxo= cntxxo et (prog (maxi ( (exco 'SMXX' corth)/1.e6)));
  287. cntyyo= cntyyo et (prog (maxi ( (exco 'SMYY' corth)/1.e6)));
  288. cntzzo= cntzzo et (prog (maxi ( (exco 'SMZZ' corth)/1.e6)));
  289. cntxyo= cntxyo et (prog (maxi ( (exco 'SMXY' corth)/1.e6)));
  290. cntxzo= cntxzo et (prog (maxi ( (exco 'SMXZ' corth)/1.e6)));
  291. cntyzo= cntyzo et (prog (maxi ( (exco 'SMYZ' corth)/1.e6)));
  292.  
  293. depxxo= depxxo et (prog (maxi ( (exco 'EPXX' dorth))));
  294. depyyo= depyyo et (prog (maxi ( (exco 'EPYY' dorth))));
  295. depzzo= depzzo et (prog (maxi ( (exco 'EPZZ' dorth))));
  296. depxyo= depxyo et (prog (maxi ( (exco 'GAXY' dorth))));
  297. depxzo= depxzo et (prog (maxi ( (exco 'GAXZ' dorth))));
  298. depyzo= depyzo et (prog (maxi ( (exco 'GAYZ' dorth))));
  299.  
  300.  
  301.  
  302.  
  303.  
  304. d1= d1 et (prog (maxi ( (exco 'DOM1' tab1.variables_internes.&ijk))));
  305. d2= d2 et (prog (maxi ( (exco 'DOM2' tab1.variables_internes.&ijk))));
  306. d3= d3 et (prog (maxi ( (exco 'DOM3' tab1.variables_internes.&ijk))));
  307.  
  308.  
  309. fin ijk;
  310.  
  311.  
  312. courxx= evol manu 'deformation' depxx 'contrainte' cntxx;
  313. couryy= evol manu 'deformation' depyy 'contrainte' cntyy;
  314. courzz= evol manu 'deformation' depzz 'contrainte' cntzz;
  315. courxy= evol manu 'deformation' depxy 'contrainte' cntxy;
  316. courxz= evol manu 'deformation' depxz 'contrainte' cntxz;
  317. couryz= evol manu 'deformation' depyz 'contrainte' cntyz;
  318.  
  319.  
  320. courxxo= evol manu 'deformation' depxxo 'contrainte' cntxxo;
  321. couryyo= evol manu 'deformation' depyyo 'contrainte' cntyyo;
  322. courzzo= evol manu 'deformation' depzzo 'contrainte' cntzzo;
  323. courxyo= evol manu 'deformation' depxyo 'contrainte' cntxyo;
  324. courxzo= evol manu 'deformation' depxzo 'contrainte' cntxzo;
  325. couryzo= evol manu 'deformation' depyzo 'contrainte' cntyzo;
  326.  
  327.  
  328. courd1= evol manu 'Contrainte' cntxx 'd1' d1;
  329. courd2= evol manu 'Contrainte' cntyy 'd2' d2;
  330. courd3= evol manu 'Contrainte' cntzz 'd3' d3;
  331.  
  332.  
  333.  
  334. si (ega graph 'O');
  335. dess courxx;
  336. finsi;
  337.  
  338.  
  339.  
  340. **********
  341. mchdep= epsi mov1 tab1.deplacements.npas 'LINE' ;
  342. dorth= rtens mchdep mov1 mav1;
  343.  
  344. epxxc= maxi ( (exco 'EPXX' dorth));
  345. epyyc= maxi ( (exco 'EPYY' dorth));
  346. epzzc= maxi ( (exco 'EPZZ' dorth));
  347. gaxyc= maxi ( (exco 'GAXY' dorth));
  348. gaxzc= maxi ( (exco 'GAXZ' dorth));
  349. gayzc= maxi ( (exco 'GAYZ' dorth));
  350.  
  351. epxxt= 8.19e-04;
  352. epyyt= 8.19e-04;
  353. epzzt= -2.30e-4;
  354. gaxyt= 2.82e-3;
  355. gaxzt= 0.0;
  356. gayzt= 0.0;
  357.  
  358.  
  359.  
  360.  
  361. dcal1=maxi ( (exco 'DOM1' tab1.variables_internes.npas));
  362. dcal2=maxi ( (exco 'DOM2' tab1.variables_internes.npas));
  363. dcal3=maxi ( (exco 'DOM3' tab1.variables_internes.npas));
  364.  
  365. dter1=4.17e-1;
  366. dter2=4.17e-1;
  367. dter3=0.;
  368.  
  369.  
  370. saut 2 lignes;
  371.  
  372. opti echo 0;
  373. mess '**************************************************';
  374. mess ' DEFORMATION FINALES';
  375. mess ' Val. calc. Val. Theor.';
  376. mess ' ' epxxc ' ' epxxt;
  377. mess ' ' epyyc ' ' epyyt;
  378. mess ' ' epzzc ' ' epzzt;
  379. mess ' ' gaxyc ' ' gaxyt;
  380. mess ' ' gaxzc ' ' gaxzt;
  381. mess ' ' gayzc ' ' gayzt;
  382. mess '**************************************************';
  383. mess ' VARIABLES D''ENDOMMAGEMENT';
  384. mess ' Val. calc. Val. Theor.';
  385. mess ' ' dcal1 ' ' dter1;
  386. mess ' ' dcal2 ' ' dter2;
  387. mess ' ' dcal3 ' ' dter3;
  388.  
  389. opti echo 1;
  390.  
  391. err1 = 100*((abs(dcal1)-(abs(dter1)))/(abs(dcal1)));
  392. err2 = 100*((abs(dcal2)-(abs(dter2)))/(abs(dcal2)));
  393. err3 = 100*((abs(epxxc)-(abs(epxxt)))/(abs(epxxc)));
  394. err4 = 100*((abs(epyyc)-(abs(epyyt)))/(abs(epyyc)));
  395. err5 = 100*((abs(epzzc)-(abs(epzzt)))/(abs(epzzc)));
  396. err6 = 100*((abs(gaxyc)-(abs(gaxyt)))/(abs(gaxyc)));
  397.  
  398.  
  399. listerr= prog err1 err2 err3 err4 err5 err6;
  400.  
  401. err= maxi listerr;
  402.  
  403.  
  404. si (err < 1);
  405. erre 0;
  406. sinon;
  407. erre 5;
  408. finsi;
  409.  
  410.  
  411.  
  412.  
  413.  
  414. fin;
  415.  
  416.  
  417. *************************************************************************************
  418. *************************************************************************************
  419. *** ***
  420. *** ####### ####### ##### ####### ##### ### ##### ##### ***
  421. *** # # # # # # # # # # # # ***
  422. *** # # # # # # # # ***
  423. *** # ##### ##### # ##### # # ##### ***
  424. *** # # # # # # # # ***
  425. *** # # # # # # # # # # # ***
  426. *** # ####### ##### # ##### ### ##### ####### ***
  427. *** ***
  428. *************************************************************************************
  429. *************************************************************************************
  430.  
  431.  
  432.  
  433.  
  434.  
  435. * VALIDATION DU MODELE SIC/SIC AU CHARGHEMENT EN TRACTION/COMPRESSION *
  436.  
  437.  
  438. *** graph = 'O' ou 'N' pour voir le maillage et la courbe des contraintes.
  439. graph='N';
  440. *** echoc = 'O' ou 'N' pour voir le jeu de donnees
  441. echoc='N';
  442.  
  443. si (ega echoc 'N');
  444. OPTION echo 0;
  445. finsi;
  446.  
  447.  
  448.  
  449. * limite du chargement en traction (Pascal)
  450. char1= 150.e6;
  451. char2= 200.e6;
  452. * nombre de pas
  453. npas1= 5.e0;
  454. npas2= 5.e0;
  455.  
  456.  
  457.  
  458. *base et nb d'elements
  459. b=1;
  460. nb=2;
  461. *hauteur et nb d'elements
  462. h=0.2;
  463. nh=2;
  464. *longeur e nb d'elements
  465. lng=10;
  466. nlng=3;
  467.  
  468.  
  469.  
  470.  
  471. opti dime 3 elem qua4;
  472.  
  473.  
  474. ****************************************************
  475. ****************************************************
  476. ***** MAILLAGE *****
  477. ****************************************************
  478. ****************************************************
  479.  
  480.  
  481. p1 = (0. 0. 0.);
  482. p2 = (0. b 0.);
  483. p3 = (0. b h);
  484. p4 = (0. 0. h.);
  485.  
  486.  
  487. l1 = p1 d nb p2;
  488. l2 = p2 d nh p3;
  489. l3 = p3 d nb p4;
  490. l4 = p4 d nh p1;
  491.  
  492. s1= dall plan l1 l2 l3 l4;
  493.  
  494. opti elem cub8;
  495. v1= s1 volu trans nlng (lng 0. 0.);
  496.  
  497. sx= l1 trans nlng (lng 0. 0.);
  498. sy= l2 trans nlng (lng 0. 0.);
  499. lc= p1 d nlng (lng 0. 0.);
  500. elim (sx et sy et v1 et lc) 0.0001;
  501.  
  502.  
  503.  
  504.  
  505. mess 'total elements:' (nbel v1);
  506. *opti donn 5;
  507.  
  508.  
  509.  
  510. ****************************************************
  511. ***** MODELE *****
  512. ****************************************************
  513.  
  514. mov1 = modl v1 mecanique elastique orthotrope endommagement
  515. sic_sic ;
  516.  
  517.  
  518. *opti donn 5;
  519. ***** MATERIAU *****
  520.  
  521. * Premiere direction axe X
  522. * Deuxieme direction axe Y
  523. * Troisieme direction (epaisseur) axe Z
  524.  
  525. mav1 = mate mov1 dire (1. 0. 0.) (0. 1. 0.) INCLI 0
  526. YG1 226.E9 YG2 226.E9 yg3 226.e9
  527. NU12 0.152 nu13 0.26 nu23 0.26
  528. g12 85.E9 g13 85.E9 g23 85.E9
  529. ALP1 4.E-6 ALP2 4.E-6 alp3 4.e-6
  530. G1DC 0.6 G1Y0 130.0 G1YC 400.0 G1P 1.0
  531. G2DC 0.6 G2Y0 130.0 G2YC 400.0 G2P 1.0
  532. G3DC 0.6 G3Y0 130.0 G3YC 400.0 G3P 1.0
  533. H23 0.7 H13 0.7 H12 0.7 ;
  534.  
  535.  
  536.  
  537.  
  538.  
  539. ****************************************************
  540. ***** CONDITIONS AUX LIMITES *****
  541. ****************************************************
  542.  
  543. *** blocacge de la surface inferieure suivant ux
  544. clblq1= bloq ux s1;
  545. clblq=clblq1;
  546.  
  547.  
  548.  
  549. *blocage de la surface laterale suivant uz
  550. clblq2= bloq uz sx;
  551. clblq= clblq et clblq2;
  552.  
  553. *blocage de la surface laterale suivant uy
  554. clblq3= bloq uy sy;
  555. clblq= clblq et clblq3;
  556.  
  557.  
  558.  
  559.  
  560.  
  561. ***************************************************
  562. ***** CHARGEMENT *****
  563. ***************************************************
  564.  
  565.  
  566.  
  567. sp= s1 plus (lng 0. 0.);
  568. elim (v1 et sp) 0.0001;
  569.  
  570.  
  571. effp1 = pression massif mov1 (-1 * char1) sp;
  572. tchar1= prog 0. pas (1./npas1/4.) 1 2;
  573. fchar1= prog 0. pas (1./npas1) 1.
  574. pas ((-1.)/npas1) 0.
  575. pas ((-1.)/npas1) -1.
  576. pas (1./npas1) 0. 0.;
  577. echar1= evol manu 'pseudotemps' tchar1 'force' fchar1;
  578.  
  579. cmec1= char meca effp1 echar1;
  580.  
  581.  
  582.  
  583. effp2 = pression massif mov1 (-1 * char2) sp;
  584. tchar2= prog 0. 1. pas (1./npas2/3.) 2;
  585. fchar2= prog 0. 0. pas (1./npas2) 1.
  586. pas ((-1.)/npas2) 0.
  587. pas ((-1.)/npas2) -1.;
  588. echar2= evol manu 'pseudotemps' tchar2 'force' fchar2;
  589.  
  590. cmec2= char meca effp2 echar2;
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. *opti donn 5;
  599.  
  600.  
  601. ****************************************************
  602. ***** CALCUL CONTRAINTES *****
  603. ****************************************************
  604.  
  605. tmp1= prog 0. pas (1./npas1/4.) 1 pas (1./npas2/3.) 2;
  606. *opti donn 5;
  607.  
  608.  
  609. tab1=table;
  610.  
  611. tab1.'BLOCAGES_MECANIQUES'=clblq;
  612. tab1.'MODELE'=mov1;
  613. tab1.'CHARGEMENT'=(cmec1 et cmec2);
  614. tab1.AUTOMATIQUE=VRAI;
  615. *tab1.PRECISION=1e-12;
  616. *tab1.ftol=1e-12;
  617. *tab1.mtol=1e-12;
  618. tab1.'TEMPS_CALCULES'=tmp1;
  619. *tab1.'TEMPS_SAUVES'=tmp1;
  620. tab1.'CARACTERISTIQUES'=mav1;
  621. tab1.'HYPOTHESE_DEFORMATIONS'='LINEAIRE' ;
  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 'LINE' ;
  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 'LINE' ;
  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 'LINE' ;
  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.  
  864.  
  865.  

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