Télécharger mazars_traction_cyclique.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mazars_traction_cyclique.dgibi
  2. ************************************************************************
  3. * Cas test elementaire pour la loi d'endommagement de Mazars *
  4. * Essai de traction simple cyclique *
  5. * *
  6. * Le test est realise avec plusieurs modes de calcul : *
  7. * 1) 3D volumique *
  8. * 2) 3D poutre a fibre *
  9. * 3) 2D contraintes planes *
  10. * 4) 2D axisymetrique *
  11. * 5) 2D poutre a fibre *
  12. * *
  13. * ITRAC1 : VRAI => affichage resultats *
  14. * IPSC1 : VRAI => affichage resultats dans un PostScript Couleur *
  15. ************************************************************************
  16.  
  17. ** Options pour les traces
  18. ITRAC1 = FAUX ;
  19. IPSC1 = VRAI ;
  20. SI IPSC1 ;
  21. OPTI 'TRAC' 'PSC' ;
  22. FINSI ;
  23.  
  24. ** Sortie sur Erreur 1152 "Solution calculee non conforme par rapport a la solution de reference"
  25. IERR = FAUX ;
  26.  
  27. ** Liste des modes de calcul a traiter
  28. lcas = LECT 1 2 3 4 5 ;
  29. *nh145313
  30. *lcas = LECT 1 ; COMM '3D volumique' ;
  31. *lcas = LECT 2 ; COMM '3D poutre a fibre' ;
  32. *lcas = LECT 3 ; COMM '2D contraintes planes' ;
  33. *lcas = LECT 4 ; COMM '2D axisymetrique' ;
  34. *lcas = LECT 5 ; COMM '2D poutre a fibre' ;
  35.  
  36. ** Parametres geometriques
  37. long = 1. ;
  38. epai = 0.1 ;
  39.  
  40. ** Parametres materiau
  41. you = 20.E9 ;
  42. nu = 0.2 ;
  43. epd0 = 8.E-5 ;
  44. at = 1. ;
  45. ac = 1.5 ;
  46. bt = 8000. ;
  47. bc = 1550. ;
  48. beta = 1. ;
  49.  
  50. ** Paramètres chargement
  51. umax = 5.E-4 ;
  52.  
  53. *nh145313
  54. ** Legende courbes
  55. tdess = 'TABLE' ;
  56. tdess.'TITRE' = 'TABLE' ;
  57. tdess. 1 = 'MARQ LOSA' ;
  58. tdess.'TITRE'. 1 = MOT 'Calcul' ;
  59. tdess. 2 = 'MARQ CROI' ;
  60. tdess.'TITRE'. 2 = MOT 'Reference' ;
  61.  
  62.  
  63.  
  64.  
  65.  
  66. **************** C A S #1 : 3 D V O L U M I Q U E ****************
  67. SI (EXIS lcas 1) ;
  68.  
  69. ** Options generales
  70. OPTI 'DIME' 3 'MODE' 'TRID' 'ELEM' 'CUB8' ;
  71.  
  72. ** Maillage
  73. p1 = 0. 0. 0. ;
  74. p2 = 0. long 0. ;
  75. l12 = DROI 1 p1 p2 ;
  76. sgauche = l12 TRAN 1 (0. 0. long) ;
  77. mail = sgauche VOLU 'TRAN' 1 (long 0. 0.) ;
  78. sdroite = mail FACE 2 ;
  79. p3 = sdroite POIN 'PROC' (long 0. 0.) ;
  80. mes1 = MESU mail ;
  81. *nh145313
  82. cadr1 = COUL ((0. 1.05 1.) ET (1.15 1.05 1.)) 'BLAN' ;
  83. rep1 = @REPERE (-0.55 -0.55 0.) 'TURQ' ;
  84. SI ITRAC1 ;
  85. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sgauche COUL 'VERT') ET (sdroite COUL 'ROUG')) 'TITR' '[3D V] Maillage' ;
  86. FINSI ;
  87.  
  88. ** Modele et caracteristiques materiau
  89. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  90. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta ;
  91.  
  92. ** Blocages
  93. blgauche = BLOQ 'UX' sgauche ;
  94. bldroite = BLOQ 'UX' sdroite ;
  95. blrig = (BLOQ 'UY' 'UZ' p1) ET (BLOQ 'UZ' p2) ;
  96. bl = blgauche ET bldroite ET blrig ;
  97.  
  98. ** Chargements
  99. didroite = DEPI bldroite umax ;
  100. ec1 = EVOL 'MANU' (PROG 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.)
  101. (PROG 0. 0.2 0. 0.4 0. 0.6 0. 0.8 0. 1. 0.) ;
  102. cha = CHAR 'DIMP' didroite ec1 ;
  103.  
  104. ** Tracé des blocages et du chargement
  105. re0 = @REPERE (-0.55 -0.55 0.) ;
  106. mor = MODE re0 'MECANIQUE' 'BARR' ;
  107. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  108. rir = RIGI mor mar ;
  109. vf = VECT didroite 'FLX' ' ' ' ' 'ROUGE' ;
  110. SI ITRAC1 ;
  111. TRAC ((RIGI mo ma) ET blgauche ET blrig ET rir) vf 'NOLE' 'TITR' '[3D V] Blocages et chargement' ;
  112. FINSI ;
  113.  
  114. ** Resolution
  115. t = TABL ;
  116. t . 'MODELE' = mo ;
  117. t . 'CARACTERISTIQUES' = ma ;
  118. t . 'BLOCAGES_MECANIQUES' = bl ;
  119. t . 'CHARGEMENT' = cha ;
  120. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 0.1
  121. 'PAS' 0.01 0.3
  122.  
  123. * 'PAS' 0.01 0.5
  124. 'PAS' 0.01 0.46
  125. 'PAS' 0.002 0.466
  126. 'PAS' 0.00066 0.468
  127. 'PAS' 0.002 0.47
  128.  
  129. * 'PAS' 0.01 0.7
  130. 'PAS' 0.01 0.65
  131. 'PAS' 0.005 0.75
  132.  
  133. 'PAS' 0.01 0.9
  134. 'PAS' 0.01 1.0 ;
  135. t . 'MOVA' = MOT 'D' ;
  136. t . 'MES_SAUVEGARDES' = TABL ;
  137. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  138. PASAPAS t ;
  139.  
  140. ** Post traitement
  141. * courbes : endommagement moyen vs temps
  142. * contrainte moyenne vs deformation moyenne
  143. * force de reaction vs deplacement impose
  144. tt = t . 'TEMPS' ;
  145. tc = t . 'CONTRAINTES' ;
  146. te = t . 'DEFORMATIONS' ;
  147. tv = t . 'VARIABLES_INTERNES' ;
  148. tu = t . 'DEPLACEMENTS' ;
  149. tr = t . 'REACTIONS' ;
  150. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  151. ltps = PROG ;
  152. lend = PROG ;
  153. lsig = PROG ;
  154. leps = PROG ;
  155. ldep = PROG ;
  156. lrea = PROG ;
  157. REPE b1 (DIME tt) ;
  158. tps1 = tt . (&b1 - 1) ;
  159. ltps = ltps ET tps1 ;
  160. end1 = (INTG mo (tv . (&b1 - 1)) 'D') / mes1 ;
  161. sig1 = (INTG mo (tc . (&b1 - 1)) 'SMXX') / mes1 ;
  162. eps1 = (INTG mo (te . (&b1 - 1)) 'EPXX') / mes1 ;
  163. u1 = EXTR (tu . (&b1 - 1)) 'UX' p3 ;
  164. rea1 = 0. ;
  165. SI (NEG &b1 1) ;
  166. rea1 = @TOTAL (tr . (&b1 - 1)) sgauche 'FX' ;
  167. FINSI ;
  168. lend = lend ET end1 ;
  169. lsig = lsig ET sig1 ;
  170. leps = leps ET eps1 ;
  171. ldep = ldep ET u1 ;
  172. lrea = lrea ET rea1 ;
  173. FIN b1 ;
  174. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  175. ev1 = EVOL 'ROUG' 'MANU' 'EPXX' leps 'SMXX' lsig ;
  176. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  177. *nh145313
  178. ltps1 = ENLE ltps 1 ;
  179. nb1 = DIME ltps1 ;
  180. un1 = PROG nb1 * 1.D0 ;
  181. lepd0 = PROG nb1 * epd0 ;
  182. lat1 = PROG nb1 * at ;
  183. lep1 = IPOL ltps1 ec1 ;
  184. lepe = lep1 * umax / long ;
  185. *mess 'lepe avant seuillage 0'; list lepe;
  186. seuil0 = lepe MASQ 'EGAL' 0 ;
  187. *mess 'test seuil0';list seuil0;
  188. lepe0 = seuil0 * 1.E-20 ;
  189. *mess 'lepe0';list lepe0;
  190. lepe = lepe + lepe0 ;
  191. *mess 'lepe apres seuillage 0'; list lepe;
  192. dt = un1 - ((epd0*(un1-lat1)/lepe) + (at*(EXP(bt*(lepd0-lepe))))) ;
  193. seuil1 = dt MASQ 'EGSUP' 0. ;
  194. dt = seuil1 * dt ;
  195. * pas de décroissance du dommage
  196. dtp = 0.;
  197. dt2 = PROG ;
  198. REPE bdt (DIME dt) ;
  199. dti = EXTR dt &bdt ;
  200. ddc = dti - dtp ;
  201. SI (ddc < 0.) ;
  202. dti = dtp ;
  203. FINS ;
  204. dt2 = dt2 ET (PROG dti) ;
  205. dtp = dti ;
  206. FIN bdt ;
  207. dt = dt2 ;
  208. lsig1 = (un1 - dt) * you * lepe ;
  209. * contrainte nulle = 1.E-20
  210. seuilsc = lsig MASQ 'EGINF' 1.E-6 ;
  211. sc0 = seuilsc * 1.E-20 ;
  212. lsig = (lsig * (lsig MASQ 'EGSUP' 1.E-6)) + sc0 ;
  213. seuilsr = lsig1 MASQ 'EGINF' 1.E-6 ;
  214. sr0 = seuilsr * 1.E-20 ;
  215. lsig1 = (lsig1 * (lsig1 MASQ 'EGSUP' 1.E-6)) + sr0 ;
  216. *mess 'Sig.calcul';list (ENLE lsig 1);
  217. *mess 'Sig.Ref.';list lsig1;
  218. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dt ;
  219. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepe 'SMXX' lsig1 ;
  220. SI ITRAC1 ;
  221. DESS (ev0 ET an0) 'TITR' '[3D V] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  222. DESS (ev1 ET an1) 'XBOR' 0. 6.E-4 'TITR' '[3D V] Contrainte vs Deformation' 'LEGE' 'NE' tdess ;
  223. DESS ev2 'TITR' '[3D V] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  224. FINSI ;
  225. * evolutions temporelles a tous les points de Gauss
  226. ng = 8 ;
  227. tleg = TABL ;
  228. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  229. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  230. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  231. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  232. tleg . 5 = MOT 'MARQ TRID NOLI' ;
  233. tleg . 6 = MOT 'MARQ TRIU NOLI' ;
  234. tleg . 7 = MOT 'MARQ TRIL NOLI' ;
  235. tleg . 8 = MOT 'MARQ TRIR NOLI' ;
  236. tleg . 'TITRE' = TABL ;
  237. REPE b ng ;
  238. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  239. FIN b ;
  240. * endommagement
  241. evend = VIDE 'EVOLUTIO' ;
  242. REPE b ng ;
  243. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  244. FIN b ;
  245. *nh145313
  246. tleg . (ng+1) = MOT 'MARQ CROI' ;
  247. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  248. SI ITRAC1 ;
  249. DESS (evend ET an0) 'LEGE' 'SE' tleg 'TITR' '[3D V] D vs Temps' ;
  250. FINSI ;
  251. * contrainte
  252. evsmxx = VIDE 'EVOLUTIO' ;
  253. REPE b ng ;
  254. evsmxx = evsmxx ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMXX' 1 1 &b) ;
  255. FIN b ;
  256. *nh145313
  257. ansmxx = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'SMXX' lsig1 ;
  258. SI ITRAC1 ;
  259. DESS (evsmxx ET ansmxx) 'LEGE' 'NE' tleg 'TITR' '[3D V] SMXX vs Temps' ;
  260. FINSI ;
  261. * deformation
  262. evepxx = VIDE 'EVOLUTIO' ;
  263. REPE b ng ;
  264. evepxx = evepxx ET (EVOL 'VERT' 'TEMP' t 'DEFORMATIONS' 'EPXX' 1 1 &b) ;
  265. FIN b ;
  266. SI ITRAC1 ;
  267. DESS evepxx 'LEGE' 'NO' tleg 'TITR' '[3D V] EPXX vs Temps' ;
  268. FINSI ;
  269. * deformee
  270. REPE b2 (DIME tt) ;
  271. tps1 = tt . (&b2 - 1) ;
  272. * trace de la deformee (pour controle visuel)
  273. def1 = DEFO mail (tu . (&b2 - 1)) 333. 'ROUG' ;
  274. tit1 = CHAI '[3D V] Deformee au temps' ' ' tps1 ;
  275. SI ITRAC1 ;
  276. * TRAC (def0 ET def1) 'TITR' tit1 ;
  277. FINSI ;
  278. FIN b2 ;
  279. SI ITRAC1 ;
  280. TRAC (def0 ET def1) 'TITR' tit1 ;
  281. FINSI ;
  282. * comparaison Calcul / Reference sur la contrainte moyenne
  283. ler1 = (ABS ((ENLE lsig 1) - lsig1)) / lsig1 ;
  284. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 'Ec.rel.SMXX' ler1 ;
  285. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  286. mer1 = (INTG eer1) / dtps ;
  287. tit1 = CHAI '[3D V] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  288. SI ITRAC1 ;
  289. DESS eer1 'TITR' tit1 ;
  290. FINSI ;
  291. OPTI ECHO 0 ;
  292. SAUT 1 LIGN ;
  293. MESS ' **************** C A S #1 : 3 D V O L U M I Q U E ****************';
  294. SAUT 1 LIGN ;
  295. SI (mer1 < 1.E-6) ;
  296. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  297. SAUT 1 LIGN ;
  298. SINO ;
  299. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  300. IERR = VRAI ;
  301. SAUT 1 LIGN ;
  302. FINS ;
  303. SAUT 1 LIGN ;
  304. OPTI ECHO 1 ;
  305. FINSI ;
  306.  
  307.  
  308.  
  309.  
  310.  
  311. *********** C A S #2 : 3 D P O U T R E A F I B R E ************
  312. SI (EXIS lcas 2) ;
  313.  
  314. ** Options generales
  315. OPTI 'DIME' 3 'MODE' 'TRID' 'ELEM' 'CUB8' ;
  316.  
  317. ** Maillage
  318. p1s = (-0.5 * epai) (-0.5 * epai) 0. ;
  319. p2s = (-0.5 * epai) ( 0.5 * epai) 0. ;
  320. l12s = DROI 1 p1s p2s ;
  321. mails = l12s TRAN 1 (epai 0. 0.) ;
  322. p1 = 0. 0. 0. ;
  323. p2 = long 0. 0. ;
  324. mail = DROI 1 p1 p2 ;
  325. mes1 = MESU mails ;
  326. *nh145313
  327. cadr1 = COUL ((-0.1 0. 0.) ET (1.2 0. 0.)) 'BLAN' ;
  328. rep1 = @REPERE (-0.2 -0.2 0.) (PROG 0.2 0.2 0.2) 'TURQ' ;
  329. SI ITRAC1 ;
  330. TRAC 'QUAL' (cadr1 ET rep1 ET (mails COUL 'VERT') ET (mail COUL 'ROUG')) 'TITR' '[3D PaF] Maillages de la Poutre et de sa Section' ;
  331. FINSI ;
  332.  
  333.  
  334. ** Modele et caracteristiques materiau
  335. mos = MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS' ;
  336. mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
  337. 'ALPY' 0.66 'ALPZ' 0.66 ;
  338. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ;
  339. ma = MATE mo 'MODS' mos 'MATS' mas 'VECT' (0. 1. 0.) ;
  340.  
  341. ** Blocages
  342. blgauche = BLOQ 'DEPL' 'ROTA' p1 ;
  343. bldroite = BLOQ 'UX' p2 ;
  344. bl = blgauche ET bldroite ;
  345. *nh145313
  346. bldroit2 = BLOQ 'ROTA' p2 ;
  347. bl = bl ET bldroit2 ;
  348.  
  349. ** Chargements
  350. didroite = DEPI bldroite umax ;
  351. ec1 = EVOL 'MANU' (PROG 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.)
  352. (PROG 0. 0.2 0. 0.4 0. 0.6 0. 0.8 0. 1. 0.) ;
  353. cha = CHAR 'DIMP' didroite ec1 ;
  354.  
  355. ** Tracé des blocages et du chargement
  356. re0 = @REPERE (-0.2 -0.2 0.) (PROG 0.2 0.2 0.2) ;
  357. mor = MODE re0 'MECANIQUE' 'BARR' ;
  358. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  359. rir = RIGI mor mar ;
  360. vf = VECT didroite 'FLX' ' ' ' ' 'ROUG' 200. ;
  361. SI ITRAC1 ;
  362. TRAC ((RIGI mo ma) ET blgauche ET rir) vf 'NOLE' 'TITR' '[3D PaF] Blocages et chargement' ;
  363. FINSI ;
  364.  
  365. ** Resolution
  366. t = TABL ;
  367. t . 'MODELE' = mo ;
  368. t . 'CARACTERISTIQUES' = ma ;
  369. t . 'BLOCAGES_MECANIQUES' = bl ;
  370. t . 'CHARGEMENT' = cha ;
  371. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 0.1
  372. 'PAS' 0.01 0.3
  373.  
  374. * 'PAS' 0.01 0.5
  375. 'PAS' 0.01 0.46
  376. 'PAS' 0.002 0.466
  377. 'PAS' 0.00066 0.468
  378. 'PAS' 0.002 0.47
  379.  
  380. * 'PAS' 0.01 0.7
  381. 'PAS' 0.01 0.65
  382. 'PAS' 0.005 0.75
  383.  
  384. 'PAS' 0.01 0.9
  385. 'PAS' 0.01 1.0 ;
  386. t . 'MES_SAUVEGARDES' = TABL ;
  387. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  388. PASAPAS t ;
  389.  
  390. ** Post traitement
  391. * courbes : endommagement moyen vs temps
  392. * contrainte moyenne vs deformation moyenne
  393. * force de reaction vs deplacement impose
  394. * evolutions temporelles a tous les points de Gauss
  395. ng = 4 ;
  396. tleg = TABL ;
  397. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  398. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  399. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  400. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  401. tleg . 'TITRE' = TABL ;
  402. REPE b ng ;
  403. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  404. FIN b ;
  405. *nh145313
  406. tleg . (ng+1) = MOT 'MARQ CROI' ;
  407. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  408. tt = t . 'TEMPS' ;
  409. tv = t . 'VARIABLES_INTERNES' ;
  410. tu = t . 'DEPLACEMENTS' ;
  411. tr = t . 'REACTIONS' ;
  412. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  413. ltps = PROG ;
  414. lend1 = PROG ;
  415. lend2 = PROG ;
  416. lend3 = PROG ;
  417. lend4 = PROG ;
  418. lsig1 = PROG ;
  419. lsig2 = PROG ;
  420. lsig3 = PROG ;
  421. lsig4 = PROG ;
  422. leps1 = PROG ;
  423. leps2 = PROG ;
  424. leps3 = PROG ;
  425. leps4 = PROG ;
  426. ldep = PROG ;
  427. lrea = PROG ;
  428. REPE b1 (DIME tt) ;
  429. tps1 = tt . (&b1 - 1) ;
  430. ltps = ltps ET tps1 ;
  431. SI (EGA &b1 1) ;
  432. lend1 = lend1 ET 0. ;
  433. lend2 = lend2 ET 0. ;
  434. lend3 = lend3 ET 0. ;
  435. lend4 = lend4 ET 0. ;
  436. lsig1 = lsig1 ET 0. ;
  437. lsig2 = lsig2 ET 0. ;
  438. lsig3 = lsig3 ET 0. ;
  439. lsig4 = lsig4 ET 0. ;
  440. leps1 = leps1 ET 0. ;
  441. leps2 = leps2 ET 0. ;
  442. leps3 = leps3 ET 0. ;
  443. leps4 = leps4 ET 0. ;
  444. SINON ;
  445. lend1 = lend1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1) ;
  446. lend2 = lend2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 2) ;
  447. lend3 = lend3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 3) ;
  448. lend4 = lend4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 4) ;
  449. lsig1 = lsig1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 1) ;
  450. lsig2 = lsig2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 2) ;
  451. lsig3 = lsig3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 3) ;
  452. lsig4 = lsig4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 4) ;
  453. leps1 = leps1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 1) ;
  454. leps2 = leps2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 2) ;
  455. leps3 = leps3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 3) ;
  456. leps4 = leps4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 4) ;
  457. FINSI ;
  458. u1 = EXTR (tu . (&b1 - 1)) 'UX' p2 ;
  459. rea1 = EXTR (tr . (&b1 - 1)) 'FX' p1 ;
  460. ldep = ldep ET u1 ;
  461. lrea = lrea ET rea1 ;
  462. FIN b1 ;
  463. ev0 = (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend1) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend2) ET
  464. (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend3) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend4) ;
  465. ev1 = (EVOL 'ROUG' 'MANU' 'EPXX' leps1 'SMXX' lsig1) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps2 'SMXX' lsig2) ET
  466. (EVOL 'ROUG' 'MANU' 'EPXX' leps3 'SMXX' lsig3) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps4 'SMXX' lsig4) ;
  467. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  468. *nh145313
  469. ltps1 = ENLE ltps 1 ;
  470. nb1 = DIME ltps1 ;
  471. un1 = PROG nb1 * 1.D0 ;
  472. lepd0 = PROG nb1 * epd0 ;
  473. lat1 = PROG nb1 * at ;
  474. lep1 = IPOL ltps1 ec1 ;
  475. lepe = lep1 * umax / long ;
  476. *mess 'lepe avant seuillage 0'; list lepe;
  477. seuil0 = lepe MASQ 'EGAL' 0 ;
  478. *mess 'test seuil0';list seuil0;
  479. lepe0 = seuil0 * 1.E-20 ;
  480. *mess 'lepe0';list lepe0;
  481. lepe = lepe + lepe0 ;
  482. *mess 'lepe apres seuillage 0'; list lepe;
  483. dt = un1 - ((epd0*(un1-lat1)/lepe) + (at*(EXP(bt*(lepd0-lepe))))) ;
  484. seuil1 = dt MASQ 'EGSUP' 0. ;
  485. dt = seuil1 * dt ;
  486. * pas de décroissance du dommage
  487. dtp = 0.;
  488. dt2 = PROG ;
  489. REPE bdt (DIME dt) ;
  490. dti = EXTR dt &bdt ;
  491. ddc = dti - dtp ;
  492. SI (ddc < 0.) ;
  493. dti = dtp ;
  494. FINS ;
  495. dt2 = dt2 ET (PROG dti) ;
  496. dtp = dti ;
  497. FIN bdt ;
  498. dt = dt2 ;
  499. lsan1 = (un1 - dt) * you * lepe ;
  500. * contrainte nulle = 1.E-20
  501. seuilsr = lsan1 MASQ 'EGINF' 1.E-6 ;
  502. sr0 = seuilsr * 1.E-20 ;
  503. lsan1 = (lsan1 * (lsan1 MASQ 'EGSUP' 1.E-6)) + sr0 ;
  504. *mess 'Sig.Ref.';list lsan1;
  505. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dt ;
  506. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepe 'SMXX' lsan1 ;
  507. SI ITRAC1 ;
  508. DESS (ev0 ET an0) 'LEGE' 'SE' tleg 'TITR' '[3D PaF] Endommagement vs Temps' ;
  509. DESS (ev1 ET an1) 'LEGE' 'NE' tleg 'TITR' '[3D PaF] Contrainte vs Deformation' ;
  510. DESS ev2 'TITR' '[3D PaF] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  511. FINSI ;
  512. * deformee
  513. REPE b2 (DIME tt) ;
  514. tps1 = tt . (&b2 - 1) ;
  515. * trace de la deformee (pour controle visuel)
  516. def1 = DEFO mail (tu . (&b2 - 1)) 333. 'ROUG' ;
  517. tit1 = CHAI '[3D PaF] Deformee au temps' ' ' tps1 ;
  518. SI ITRAC1 ;
  519. * TRAC (def0 ET def1) 'TITR' tit1 ;
  520. FINSI ;
  521. FIN b2 ;
  522. SI ITRAC1 ;
  523. TRAC (def0 ET def1) 'TITR' tit1 ;
  524. FINSI ;
  525. * comparaison Calcul / Reference sur la contrainte moyenne
  526. lsig = (lsig1 + lsig2 + lsig3 + lsig4) / 4. ;
  527. * contrainte nulle = 1.E-20
  528. seuilsc = lsig MASQ 'EGINF' 1.E-6 ;
  529. sc0 = seuilsc * 1.E-20 ;
  530. lsig = (lsig * (lsig MASQ 'EGSUP' 1.E-6)) + sc0 ;
  531. *mess 'Sig.calcul';list (ENLE lsig 1);
  532. ler1 = (ABS((ENLE lsig 1) - lsan1)) / lsan1 ;
  533. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 'Ec.rel.SMXX' ler1 ;
  534. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  535. mer1 = (INTG eer1) / dtps ;
  536. tit1 = CHAI '[3D PaF] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  537. SI ITRAC1 ;
  538. DESS eer1 'TITR' tit1 ;
  539. FINSI ;
  540. OPTI ECHO 0 ;
  541. SAUT 1 LIGN ;
  542. MESS ' *********** C A S #2 : 3 D P O U T R E A F I B R E ************';
  543. SAUT 1 LIGN ;
  544. SI (mer1 < 1.E-6) ;
  545. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  546. SAUT 1 LIGN ;
  547. SINO ;
  548. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  549. IERR = VRAI ;
  550. SAUT 1 LIGN ;
  551. FINS ;
  552. SAUT 1 LIGN ;
  553. OPTI ECHO 1 ;
  554. FINSI ;
  555.  
  556.  
  557.  
  558.  
  559.  
  560. ******* C A S #3 : 2 D C O N T R A I N T E S P L A N E S ********
  561. SI (EXIS lcas 3) ;
  562.  
  563. ** Options generales
  564. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' 'QUA4' ;
  565.  
  566. ** Maillage
  567. p1 = 0. 0. ;
  568. p2 = 0. long ;
  569. sgauche = DROI 1 p1 p2 ;
  570. mail = sgauche TRAN 1 (long 0.) ;
  571. sdroite = mail COTE 3 ;
  572. p3 = sdroite POIN 'PROC' (long 0.) ;
  573. mes1 = MESU mail ;
  574. *nh145313
  575. cadr1 = COUL ((0. 1.05) ET (1.2 1.05)) 'BLAN' ;
  576. rep1 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) 'TURQ' ;
  577. SI ITRAC1 ;
  578. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sgauche COUL 'VERT') ET (sdroite COUL 'ROUG')) 'TITR' '[2D Plan cont.] Maillage' ;
  579. FINSI ;
  580.  
  581. ** Modele et caracteristiques materiau
  582. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  583. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'DIM3' epai ;
  584.  
  585. ** Blocages
  586. blgauche = BLOQ 'UX' sgauche ;
  587. bldroite = BLOQ 'UX' sdroite ;
  588. blrig = BLOQ 'UY' p1 ;
  589. bl = blgauche ET bldroite ET blrig ;
  590.  
  591. ** Chargements
  592. didroite = DEPI bldroite umax ;
  593. ec1 = EVOL 'MANU' (PROG 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.)
  594. (PROG 0. 0.2 0. 0.4 0. 0.6 0. 0.8 0. 1. 0.) ;
  595. cha = CHAR 'DIMP' didroite ec1 ;
  596.  
  597. ** Tracé des blocages et du chargement
  598. re0 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) ;
  599. mor = MODE re0 'MECANIQUE' 'BARR' ;
  600. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  601. rir = RIGI mor mar ;
  602. vf = VECT didroite 'FLX' ' ' 'ROUG' ;
  603. SI ITRAC1 ;
  604. TRAC ((RIGI mo ma) ET blgauche ET blrig ET rir) vf 'NOLE' 'TITR' '[2D Plan cont.] Blocages et chargement' ;
  605. FINSI ;
  606.  
  607. ** Resolution
  608. t = TABL ;
  609. t . 'MODELE' = mo ;
  610. t . 'CARACTERISTIQUES' = ma ;
  611. t . 'BLOCAGES_MECANIQUES' = bl ;
  612. t . 'CHARGEMENT' = cha ;
  613. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 0.1
  614. 'PAS' 0.01 0.3
  615.  
  616. * 'PAS' 0.01 0.5
  617. 'PAS' 0.01 0.46
  618. 'PAS' 0.002 0.466
  619. 'PAS' 0.00066 0.468
  620. 'PAS' 0.002 0.47
  621.  
  622. * 'PAS' 0.01 0.7
  623. 'PAS' 0.01 0.65
  624. 'PAS' 0.005 0.75
  625.  
  626. 'PAS' 0.01 0.9
  627. 'PAS' 0.01 1.0 ;
  628. t . 'MOVA' = MOT 'D' ;
  629. t . 'MES_SAUVEGARDES' = TABL ;
  630. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  631. PASAPAS t ;
  632.  
  633. ** Post traitement
  634. * courbes : endommagement moyen vs temps
  635. * contrainte moyenne vs deformation moyenne
  636. * force de reaction vs deplacement impose
  637. tt = t . 'TEMPS' ;
  638. tc = t . 'CONTRAINTES' ;
  639. te = t . 'DEFORMATIONS' ;
  640. tv = t . 'VARIABLES_INTERNES' ;
  641. tu = t . 'DEPLACEMENTS' ;
  642. tr = t . 'REACTIONS' ;
  643. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  644. ltps = PROG ;
  645. lend = PROG ;
  646. lsig = PROG ;
  647. leps = PROG ;
  648. ldep = PROG ;
  649. lrea = PROG ;
  650. REPE b1 (DIME tt) ;
  651. tps1 = tt . (&b1 - 1) ;
  652. ltps = ltps ET tps1 ;
  653. end1 = (INTG mo (tv . (&b1 - 1)) 'D') / mes1 ;
  654. sig1 = (INTG mo (tc . (&b1 - 1)) 'SMXX') / mes1 ;
  655. eps1 = (INTG mo (te . (&b1 - 1)) 'EPXX') / mes1 ;
  656. u1 = EXTR (tu . (&b1 - 1)) 'UX' p3 ;
  657. rea1 = 0. ;
  658. SI (NEG &b1 1) ;
  659. rea1 = @TOTAL (tr . (&b1 - 1)) sgauche 'FX' ;
  660. FINSI ;
  661. lend = lend ET end1 ;
  662. lsig = lsig ET sig1 ;
  663. leps = leps ET eps1 ;
  664. ldep = ldep ET u1 ;
  665. lrea = lrea ET rea1 ;
  666. FIN b1 ;
  667. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  668. ev1 = EVOL 'ROUG' 'MANU' 'EPXX' leps 'SMXX' lsig ;
  669. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  670. *nh145313
  671. ltps1 = ENLE ltps 1 ;
  672. nb1 = DIME ltps1 ;
  673. un1 = PROG nb1 * 1.D0 ;
  674. lepd0 = PROG nb1 * epd0 ;
  675. lat1 = PROG nb1 * at ;
  676. lep1 = IPOL ltps1 ec1 ;
  677. lepe = lep1 * umax / long ;
  678. *mess 'lepe avant seuillage 0'; list lepe;
  679. seuil0 = lepe MASQ 'EGAL' 0 ;
  680. *mess 'test seuil0';list seuil0;
  681. lepe0 = seuil0 * 1.E-20 ;
  682. *mess 'lepe0';list lepe0;
  683. lepe = lepe + lepe0 ;
  684. *mess 'lepe apres seuillage 0'; list lepe;
  685. dt = un1 - ((epd0*(un1-lat1)/lepe) + (at*(EXP(bt*(lepd0-lepe))))) ;
  686. seuil1 = dt MASQ 'EGSUP' 0. ;
  687. dt = seuil1 * dt ;
  688. * pas de décroissance du dommage
  689. dtp = 0.;
  690. dt2 = PROG ;
  691. REPE bdt (DIME dt) ;
  692. dti = EXTR dt &bdt ;
  693. ddc = dti - dtp ;
  694. SI (ddc < 0.) ;
  695. dti = dtp ;
  696. FINS ;
  697. dt2 = dt2 ET (PROG dti) ;
  698. dtp = dti ;
  699. FIN bdt ;
  700. dt = dt2 ;
  701. lsig1 = (un1 - dt) * you * lepe ;
  702. * contrainte nulle = 1.E-20
  703. seuilsc = lsig MASQ 'EGINF' 1.E-6 ;
  704. sc0 = seuilsc * 1.E-20 ;
  705. lsig = (lsig * (lsig MASQ 'EGSUP' 1.E-6)) + sc0 ;
  706. seuilsr = lsig1 MASQ 'EGINF' 1.E-6 ;
  707. sr0 = seuilsr * 1.E-20 ;
  708. lsig1 = (lsig1 * (lsig1 MASQ 'EGSUP' 1.E-6)) + sr0 ;
  709. *mess 'Sig.calcul';list (ENLE lsig 1);
  710. *mess 'Sig.Ref.';list lsig1;
  711. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dt ;
  712. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepe 'SMXX' lsig1 ;
  713. SI ITRAC1 ;
  714. DESS (ev0 ET an0) 'TITR' '[2D Plan cont.] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  715. DESS (ev1 ET an1) 'TITR' '[2D Plan cont.] Contrainte vs Deformation' 'LEGE' 'NE' tdess ;
  716. DESS ev2 'YBOR' -1.8E5 0. 'TITR' '[2D Plan cont.] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  717. FINSI ;
  718. * evolutions temporelles a tous les points de Gauss
  719. ng = 4 ;
  720. tleg = TABL ;
  721. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  722. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  723. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  724. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  725. tleg . 'TITRE' = TABL ;
  726. REPE b ng ;
  727. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  728. FIN b ;
  729. * endommagement
  730. evend = VIDE 'EVOLUTIO' ;
  731. REPE b ng ;
  732. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  733. FIN b ;
  734. *nh145313
  735. tleg . (ng+1) = MOT 'MARQ CROI' ;
  736. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  737. SI ITRAC1 ;
  738. DESS (evend ET an0) 'LEGE' 'SE' tleg 'TITR' '[2D Plan cont.] D vs Temps' ;
  739. FINSI ;
  740. * contrainte
  741. evsmxx = VIDE 'EVOLUTIO' ;
  742. REPE b ng ;
  743. evsmxx = evsmxx ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMXX' 1 1 &b) ;
  744. FIN b ;
  745. *nh145313
  746. ansmxx = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'SMXX' lsig1 ;
  747. SI ITRAC1 ;
  748. DESS (evsmxx ET ansmxx) 'LEGE' 'NE' tleg 'TITR' '[2D Plan cont.] SMXX vs Temps' ;
  749. FINSI ;
  750. * deformation
  751. evepxx = VIDE 'EVOLUTIO' ;
  752. REPE b ng ;
  753. evepxx = evepxx ET (EVOL 'VERT' 'TEMP' t 'DEFORMATIONS' 'EPXX' 1 1 &b) ;
  754. FIN b ;
  755. SI ITRAC1 ;
  756. DESS evepxx 'LEGE' 'NO' tleg 'TITR' '[2D Plan cont.] EPXX vs Temps' ;
  757. FINSI ;
  758. * deformee
  759. REPE b2 (DIME tt) ;
  760. tps1 = tt . (&b2 - 1) ;
  761. * trace de la deformee (pour controle visuel)
  762. def1 = DEFO mail (tu . (&b2 - 1)) 333. 'ROUG' ;
  763. tit1 = CHAI '[2D Plan cont.] Deformee au temps' ' ' tps1 ;
  764. SI ITRAC1 ;
  765. * TRAC (def0 ET def1) 'TITR' tit1 ;
  766. FINSI ;
  767. FIN b2 ;
  768. SI ITRAC1 ;
  769. TRAC (def0 ET def1) 'TITR' tit1 ;
  770. FINSI ;
  771. * comparaison Calcul / Reference sur la contrainte moyenne
  772. ler1 = (ABS((ENLE lsig 1) - lsig1)) / lsig1 ;
  773. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 'Ec.rel.SMXX' ler1 ;
  774. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  775. mer1 = (INTG eer1) / dtps ;
  776. tit1 = CHAI '[2D Plan cont.] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  777. SI ITRAC1 ;
  778. DESS eer1 'TITR' tit1 ;
  779. FINSI ;
  780. OPTI ECHO 0 ;
  781. SAUT 1 LIGN ;
  782. MESS ' ******* C A S #3 : 2 D C O N T R A I N T E S P L A N E S ********';
  783. SAUT 1 LIGN ;
  784. SI (mer1 < 1.E-6) ;
  785. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  786. SAUT 1 LIGN ;
  787. SINO ;
  788. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  789. IERR = VRAI ;
  790. SAUT 1 LIGN ;
  791. FINS ;
  792. SAUT 1 LIGN ;
  793. OPTI ECHO 1 ;
  794. FINSI ;
  795.  
  796.  
  797.  
  798.  
  799.  
  800. ************ C A S #4 : 2 D A X I S Y M E T R I Q U E *************
  801. SI (EXIS lcas 4) ;
  802.  
  803. ** Options generales
  804. OPTI 'DIME' 2 'MODE' 'AXIS' 'ELEM' 'QUA4' ;
  805.  
  806. ** Maillage
  807. p1 = 0. 0. ;
  808. p2 = long 0. ;
  809. sbas = DROI 1 p1 p2 ;
  810. mail = sbas TRAN 1 (0. long) ;
  811. shaut = mail COTE 3 ;
  812. p3 = shaut POIN 'PROC' (0. long) ;
  813. *nh145313
  814. cadr1 = COUL ((0. 1.2) ET (1. 1.2)) 'BLAN' ;
  815. rep1 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) 'TURQ' ;
  816. SI ITRAC1 ;
  817. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sbas COUL 'VERT') ET (shaut COUL 'ROUG')) 'TITR' '[2D Axi.] Maillage' ;
  818. FINSI ;
  819.  
  820. ** Modele et caracteristiques materiau
  821. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  822. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta ;
  823. zer = ZERO mo 'NOEUD' ;
  824. un = zer + 1. ;
  825. mes1 = INTG mo un 'SCAL' ;
  826.  
  827. ** Blocages
  828. blbas = BLOQ 'UZ' sbas ;
  829. blhaut = BLOQ 'UZ' shaut ;
  830. bl = blbas ET blhaut ;
  831.  
  832. ** Chargements
  833. dihaut = DEPI blhaut umax ;
  834. ec1 = EVOL 'MANU' (PROG 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.)
  835. (PROG 0. 0.2 0. 0.4 0. 0.6 0. 0.8 0. 1. 0.) ;
  836. cha = CHAR 'DIMP' dihaut ec1 ;
  837.  
  838. ** Tracé des blocages et du chargement
  839. re0 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) ;
  840. mor = MODE re0 'MECANIQUE' 'BARR' ;
  841. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  842. rir = RIGI mor mar ;
  843. vf = VECT dihaut ' ' 'FLX' 'ROUG' ;
  844. SI ITRAC1 ;
  845. TRAC ((RIGI mo ma) ET blbas ET rir) vf 'NOLE' 'TITR' '[2D Axi.] Blocages et chargement' ;
  846. FINSI ;
  847.  
  848. ** Resolution
  849. t = TABL ;
  850. t . 'MODELE' = mo ;
  851. t . 'CARACTERISTIQUES' = ma ;
  852. t . 'BLOCAGES_MECANIQUES' = bl ;
  853. t . 'CHARGEMENT' = cha ;
  854. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 0.1
  855. 'PAS' 0.01 0.3
  856.  
  857. * 'PAS' 0.01 0.5
  858. 'PAS' 0.01 0.46
  859. 'PAS' 0.002 0.466
  860. 'PAS' 0.00066 0.468
  861. 'PAS' 0.002 0.47
  862.  
  863. * 'PAS' 0.01 0.7
  864. 'PAS' 0.01 0.65
  865. 'PAS' 0.005 0.75
  866.  
  867. 'PAS' 0.01 0.9
  868. 'PAS' 0.01 1.0 ;
  869. t . 'MOVA' = MOT 'D' ;
  870. t . 'MES_SAUVEGARDES' = TABL ;
  871. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  872. PASAPAS t ;
  873.  
  874. ** Post traitement
  875. * courbes : endommagement moyen vs temps
  876. * contrainte moyenne vs deformation moyenne
  877. * force de reaction vs deplacement impose
  878. tt = t . 'TEMPS' ;
  879. tc = t . 'CONTRAINTES' ;
  880. te = t . 'DEFORMATIONS' ;
  881. tv = t . 'VARIABLES_INTERNES' ;
  882. tu = t . 'DEPLACEMENTS' ;
  883. tr = t . 'REACTIONS' ;
  884. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  885. ltps = PROG ;
  886. lend = PROG ;
  887. lsig = PROG ;
  888. leps = PROG ;
  889. ldep = PROG ;
  890. lrea = PROG ;
  891. REPE b1 (DIME tt) ;
  892. tps1 = tt . (&b1 - 1) ;
  893. ltps = ltps ET tps1 ;
  894. end1 = (INTG mo (tv . (&b1 - 1)) 'D') / mes1 ;
  895. sig1 = (INTG mo (tc . (&b1 - 1)) 'SMZZ') / mes1 ;
  896. eps1 = (INTG mo (te . (&b1 - 1)) 'EPZZ') / mes1 ;
  897. u1 = EXTR (tu . (&b1 - 1)) 'UZ' p3 ;
  898. rea1 = 0. ;
  899. SI (NEG &b1 1) ;
  900. rea1 = @TOTAL (tr . (&b1 - 1)) sbas 'FZ' ;
  901. FINSI ;
  902. lend = lend ET end1 ;
  903. lsig = lsig ET sig1 ;
  904. leps = leps ET eps1 ;
  905. ldep = ldep ET u1 ;
  906. lrea = lrea ET rea1 ;
  907. FIN b1 ;
  908. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  909. ev1 = EVOL 'ROUG' 'MANU' 'EPZZ' leps 'SMZZ' lsig ;
  910. ev2 = EVOL 'ROUG' 'MANU' 'UZ' ldep 'FZ' lrea ;
  911. *nh145313
  912. ltps1 = ENLE ltps 1 ;
  913. nb1 = DIME ltps1 ;
  914. un1 = PROG nb1 * 1.D0 ;
  915. lepd0 = PROG nb1 * epd0 ;
  916. lat1 = PROG nb1 * at ;
  917. lep1 = IPOL ltps1 ec1 ;
  918. lepe = lep1 * umax / long ;
  919. *mess 'lepe avant seuillage 0'; list lepe;
  920. seuil0 = lepe MASQ 'EGAL' 0 ;
  921. *mess 'test seuil0';list seuil0;
  922. lepe0 = seuil0 * 1.E-20 ;
  923. *mess 'lepe0';list lepe0;
  924. lepe = lepe + lepe0 ;
  925. *mess 'lepe apres seuillage 0'; list lepe;
  926. dt = un1 - ((epd0*(un1-lat1)/lepe) + (at*(EXP(bt*(lepd0-lepe))))) ;
  927. seuil1 = dt MASQ 'EGSUP' 0. ;
  928. dt = seuil1 * dt ;
  929. * pas de décroissance du dommage
  930. dtp = 0.;
  931. dt2 = PROG ;
  932. REPE bdt (DIME dt) ;
  933. dti = EXTR dt &bdt ;
  934. ddc = dti - dtp ;
  935. SI (ddc < 0.) ;
  936. dti = dtp ;
  937. FINS ;
  938. dt2 = dt2 ET (PROG dti) ;
  939. dtp = dti ;
  940. FIN bdt ;
  941. dt = dt2 ;
  942. lsig1 = (un1 - dt) * you * lepe ;
  943. * contrainte nulle = 1.E-20
  944. seuilsc = lsig MASQ 'EGINF' 1.E-6 ;
  945. sc0 = seuilsc * 1.E-20 ;
  946. lsig = (lsig * (lsig MASQ 'EGSUP' 1.E-6)) + sc0 ;
  947. seuilsr = lsig1 MASQ 'EGINF' 1.E-6 ;
  948. sr0 = seuilsr * 1.E-20 ;
  949. lsig1 = (lsig1 * (lsig1 MASQ 'EGSUP' 1.E-6)) + sr0 ;
  950. *mess 'Sig.calcul';list (ENLE lsig 1);
  951. *mess 'Sig.Ref.';list lsig1;
  952. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dt ;
  953. an1 = EVOL 'TURQ' 'MANU' 'EPZZ' lepe 'SMZZ' lsig1 ;
  954. SI ITRAC1 ;
  955. DESS (ev0 ET an0) 'TITR' '[2D Axi.] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  956. DESS (ev1 ET an1) 'TITR' '[2D Axi.] Contrainte vs Deformation' 'LEGE' 'NE' tdess ;
  957. DESS ev2 'YBOR' -6.E6 0. 'TITR' '[2D Axi.] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  958. FINSI ;
  959. * evolutions temporelles a tous les points de Gauss
  960. ng = 4 ;
  961. tleg = TABL ;
  962. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  963. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  964. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  965. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  966. tleg . 'TITRE' = TABL ;
  967. REPE b ng ;
  968. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  969. FIN b ;
  970. * endommagement
  971. evend = VIDE 'EVOLUTIO' ;
  972. REPE b ng ;
  973. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  974. FIN b ;
  975. *nh145313
  976. tleg . (ng+1) = MOT 'MARQ CROI' ;
  977. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  978. SI ITRAC1 ;
  979. DESS (evend ET an0) 'LEGE' 'SE' tleg 'TITR' '[2D Axi.] D vs Temps' ;
  980. FINSI ;
  981. * contrainte
  982. evsmzz = VIDE 'EVOLUTIO' ;
  983. REPE b ng ;
  984. evsmzz = evsmzz ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMZZ' 1 1 &b) ;
  985. FIN b ;
  986. *nh145313
  987. ansmzz = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'SMZZ' lsig1 ;
  988. SI ITRAC1 ;
  989. DESS (evsmzz ET ansmzz) 'LEGE' 'NE' tleg 'TITR' '[2D Axi.] SMZZ vs Temps' ;
  990. FINSI ;
  991. * deformation
  992. evepzz = VIDE 'EVOLUTIO' ;
  993. REPE b ng ;
  994. evepzz = evepzz ET (EVOL 'VERT' 'TEMP' t 'DEFORMATIONS' 'EPZZ' 1 1 &b) ;
  995. FIN b ;
  996. SI ITRAC1 ;
  997. DESS evepzz 'LEGE' 'NO' tleg 'TITR' '[2D Axi.] EPZZ vs Temps' ;
  998. FINSI ;
  999. * deformee
  1000. REPE b2 (DIME tt) ;
  1001. tps1 = tt . (&b2 - 1) ;
  1002. * trace de la deformee (pour controle visuel)
  1003. def1 = DEFO mail (tu . (&b2 - 1)) 333. 'ROUG' ;
  1004. tit1 = CHAI '[2D Axi.] Deformee au temps' ' ' tps1 ;
  1005. SI ITRAC1 ;
  1006. * TRAC (def0 ET def1) 'TITR' tit1 ;
  1007. FINSI ;
  1008. FIN b2 ;
  1009. SI ITRAC1 ;
  1010. TRAC (def0 ET def1) 'TITR' tit1 ;
  1011. FINSI ;
  1012. * comparaison Calcul / Reference sur la contrainte moyenne
  1013. ler1 = (ABS((ENLE lsig 1) - lsig1)) / lsig1 ;
  1014. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 'Ec.rel.SMZZ' ler1 ;
  1015. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  1016. mer1 = (INTG eer1) / dtps ;
  1017. tit1 = CHAI '[2D Axi.] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  1018. SI ITRAC1 ;
  1019. DESS eer1 'TITR' tit1 ;
  1020. FINSI ;
  1021. OPTI ECHO 0 ;
  1022. SAUT 1 LIGN ;
  1023. MESS ' ************ C A S #4 : 2 D A X I S Y M E T R I Q U E *************';
  1024. SAUT 1 LIGN ;
  1025. SI (mer1 < 1.E-6) ;
  1026. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  1027. SAUT 1 LIGN ;
  1028. SINO ;
  1029. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  1030. IERR = VRAI ;
  1031. SAUT 1 LIGN ;
  1032. FINS ;
  1033. SAUT 1 LIGN ;
  1034. OPTI ECHO 1 ;
  1035. FINSI ;
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041. *********** C A S #5 : 2 D P O U T R E A F I B R E ************
  1042. SI (EXIS lcas 5) ;
  1043.  
  1044. ** Options generales
  1045. OPTI 'DIME' 2 'MODE' 'PLAN' 'ELEM' 'QUA4' ;
  1046.  
  1047. ** Maillage
  1048. p1s = (-0.5 * epai) (-0.5 * epai) ;
  1049. p2s = (-0.5 * epai) ( 0.5 * epai) ;
  1050. l12s = DROI 1 p1s p2s ;
  1051. mails = l12s TRAN 1 (epai 0.) ;
  1052. p1 = 0. 0. ;
  1053. p2 = long 0. ;
  1054. mail = DROI 1 p1 p2 ;
  1055. mes1 = MESU mails ;
  1056. *nh145313
  1057. cadr1 = COUL ((-0.1 0.) ET (1.2 0.)) 'BLAN' ;
  1058. rep1 = @REPERE (-0.2 -0.2) (PROG 0.2 0.2) 'TURQ' ;
  1059. SI ITRAC1 ;
  1060. TRAC 'QUAL' (cadr1 ET rep1 ET (mails COUL 'VERT') ET (mail COUL 'ROUG')) 'TITR' '[2D PaF] Maillages de la Poutre et de sa Section' ;
  1061. FINSI ;
  1062.  
  1063. ** Modele et caracteristiques materiau
  1064. mos = MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS' ;
  1065. mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
  1066. 'ALPY' 1. ;
  1067. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ;
  1068. ma = MATE mo 'MODS' mos 'MATS' mas ;
  1069.  
  1070. ** Blocages
  1071. blgauche = BLOQ 'DEPL' 'ROTA' p1 ;
  1072. bldroite = BLOQ 'UX' p2 ;
  1073. bl = blgauche ET bldroite ;
  1074. *nh145313
  1075. bldroit2 = BLOQ 'ROTA' p2 ;
  1076. bl = bl ET bldroit2 ;
  1077.  
  1078. ** Chargements
  1079. didroite = DEPI bldroite umax ;
  1080. ec1 = EVOL 'MANU' (PROG 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.)
  1081. (PROG 0. 0.2 0. 0.4 0. 0.6 0. 0.8 0. 1. 0.) ;
  1082. cha = CHAR 'DIMP' didroite ec1 ;
  1083.  
  1084. ** Tracé des blocages et du chargement
  1085. re0 = @REPERE (-0.2 -0.2) (PROG 0.2 0.2) ;
  1086. mor = MODE re0 'MECANIQUE' 'BARR' ;
  1087. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  1088. rir = RIGI mor mar ;
  1089. vf = VECT didroite 'FLX' ' ' 'ROUG' 200. ;
  1090. SI ITRAC1 ;
  1091. TRAC ((RIGI mo ma) ET blgauche ET rir) vf 'NOLE' 'TITR' '[2D PaF] Blocages et chargement' ;
  1092. FINSI ;
  1093.  
  1094. ** Resolution
  1095. t = TABL ;
  1096. t . 'MODELE' = mo ;
  1097. t . 'CARACTERISTIQUES' = ma ;
  1098. t . 'BLOCAGES_MECANIQUES' = bl ;
  1099. t . 'CHARGEMENT' = cha ;
  1100. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 0.1
  1101. 'PAS' 0.01 0.3
  1102.  
  1103. * 'PAS' 0.01 0.5
  1104. 'PAS' 0.01 0.46
  1105. 'PAS' 0.002 0.466
  1106. 'PAS' 0.00066 0.468
  1107. 'PAS' 0.002 0.47
  1108.  
  1109. * 'PAS' 0.01 0.7
  1110. 'PAS' 0.01 0.65
  1111. 'PAS' 0.005 0.75
  1112.  
  1113. 'PAS' 0.01 0.9
  1114. 'PAS' 0.01 1.0 ;
  1115. t . 'MES_SAUVEGARDES' = TABL ;
  1116. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  1117. PASAPAS t ;
  1118.  
  1119. ** Post traitement
  1120. * courbes : endommagement moyen vs temps
  1121. * contrainte moyenne vs deformation moyenne
  1122. * force de reaction vs deplacement impose
  1123. * evolutions temporelles a tous les points de Gauss
  1124. ng = 4 ;
  1125. tleg = TABL ;
  1126. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  1127. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  1128. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  1129. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  1130. tleg . 'TITRE' = TABL ;
  1131. REPE b ng ;
  1132. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  1133. FIN b ;
  1134. *nh145313
  1135. tleg . (ng+1) = MOT 'MARQ CROI' ;
  1136. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  1137. tt = t . 'TEMPS' ;
  1138. tv = t . 'VARIABLES_INTERNES' ;
  1139. tu = t . 'DEPLACEMENTS' ;
  1140. tr = t . 'REACTIONS' ;
  1141. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  1142. ltps = PROG ;
  1143. lend1 = PROG ;
  1144. lend2 = PROG ;
  1145. lend3 = PROG ;
  1146. lend4 = PROG ;
  1147. lsig1 = PROG ;
  1148. lsig2 = PROG ;
  1149. lsig3 = PROG ;
  1150. lsig4 = PROG ;
  1151. leps1 = PROG ;
  1152. leps2 = PROG ;
  1153. leps3 = PROG ;
  1154. leps4 = PROG ;
  1155. ldep = PROG ;
  1156. lrea = PROG ;
  1157. REPE b1 (DIME tt) ;
  1158. tps1 = tt . (&b1 - 1) ;
  1159. ltps = ltps ET tps1 ;
  1160. SI (EGA &b1 1) ;
  1161. lend1 = lend1 ET 0. ;
  1162. lend2 = lend2 ET 0. ;
  1163. lend3 = lend3 ET 0. ;
  1164. lend4 = lend4 ET 0. ;
  1165. lsig1 = lsig1 ET 0. ;
  1166. lsig2 = lsig2 ET 0. ;
  1167. lsig3 = lsig3 ET 0. ;
  1168. lsig4 = lsig4 ET 0. ;
  1169. leps1 = leps1 ET 0. ;
  1170. leps2 = leps2 ET 0. ;
  1171. leps3 = leps3 ET 0. ;
  1172. leps4 = leps4 ET 0. ;
  1173. SINON ;
  1174. lend1 = lend1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1) ;
  1175. lend2 = lend2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 2) ;
  1176. lend3 = lend3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 3) ;
  1177. lend4 = lend4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 4) ;
  1178. lsig1 = lsig1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 1) ;
  1179. lsig2 = lsig2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 2) ;
  1180. lsig3 = lsig3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 3) ;
  1181. lsig4 = lsig4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 4) ;
  1182. leps1 = leps1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 1) ;
  1183. leps2 = leps2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 2) ;
  1184. leps3 = leps3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 3) ;
  1185. leps4 = leps4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 4) ;
  1186. FINSI ;
  1187. u1 = EXTR (tu . (&b1 - 1)) 'UX' p2 ;
  1188. rea1 = EXTR (tr . (&b1 - 1)) 'FX' p1 ;
  1189. ldep = ldep ET u1 ;
  1190. lrea = lrea ET rea1 ;
  1191. FIN b1 ;
  1192. ev0 = (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend1) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend2) ET
  1193. (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend3) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend4) ;
  1194. ev1 = (EVOL 'ROUG' 'MANU' 'EPXX' leps1 'SMXX' lsig1) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps2 'SMXX' lsig2) ET
  1195. (EVOL 'ROUG' 'MANU' 'EPXX' leps3 'SMXX' lsig3) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps4 'SMXX' lsig4) ;
  1196. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  1197. *nh145313
  1198. ltps1 = ENLE ltps 1 ;
  1199. nb1 = DIME ltps1 ;
  1200. un1 = PROG nb1 * 1.D0 ;
  1201. lepd0 = PROG nb1 * epd0 ;
  1202. lat1 = PROG nb1 * at ;
  1203. lep1 = IPOL ltps1 ec1 ;
  1204. lepe = lep1 * umax / long ;
  1205. *mess 'lepe avant seuillage 0'; list lepe;
  1206. seuil0 = lepe MASQ 'EGAL' 0. ;
  1207. *mess 'test seuil0';list seuil0;
  1208. lepe0 = seuil0 * 1.E-20 ;
  1209. *mess 'lepe0';list lepe0;
  1210. lepe = lepe + lepe0 ;
  1211. *mess 'lepe apres seuillage 0'; list lepe;
  1212. dt = un1 - ((epd0*(un1-lat1)/lepe) + (at*(EXP(bt*(lepd0-lepe))))) ;
  1213. seuil1 = dt MASQ 'EGSUP' 0 ;
  1214. dt = seuil1 * dt ;
  1215. * pas de décroissance du dommage
  1216. dtp = 0.;
  1217. dt2 = PROG ;
  1218. REPE bdt (DIME dt) ;
  1219. dti = EXTR dt &bdt ;
  1220. ddc = dti - dtp ;
  1221. SI (ddc < 0.) ;
  1222. dti = dtp ;
  1223. FINS ;
  1224. dt2 = dt2 ET (PROG dti) ;
  1225. dtp = dti ;
  1226. FIN bdt ;
  1227. dt = dt2 ;
  1228. lsan1 = (un1 - dt) * you * lepe ;
  1229. * contrainte nulle = 1.E-20
  1230. seuilsr = lsan1 MASQ 'EGINF' 1.E-6 ;
  1231. sr0 = seuilsr * 1.E-20 ;
  1232. lsan1 = (lsan1 * (lsan1 MASQ 'EGSUP' 1.E-6)) + sr0 ;
  1233. *mess 'Sig.Ref.';list lsan1;
  1234. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dt ;
  1235. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepe 'SMXX' lsan1 ;
  1236. SI ITRAC1 ;
  1237. DESS (ev0 ET an0) 'LEGE' 'SE' tleg 'TITR' '[2D PaF] Endommagement vs Temps' ;
  1238. DESS (ev1 ET an1) 'LEGE' 'NE' tleg 'TITR' '[2D PaF] Contrainte vs Deformation' ;
  1239. DESS ev2 'TITR' '[2D PaF] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  1240. FINSI ;
  1241. * deformee
  1242. REPE b2 (DIME tt) ;
  1243. tps1 = tt . (&b2 - 1) ;
  1244. * trace de la deformee (pour controle visuel)
  1245. def1 = DEFO mail (tu . (&b2 - 1)) 333. 'ROUG' ;
  1246. tit1 = CHAI '[2D PaF] Deformee au temps' ' ' tps1 ;
  1247. SI ITRAC1 ;
  1248. * TRAC (def0 ET def1) 'TITR' tit1 ;
  1249. FINSI ;
  1250. FIN b2 ;
  1251. SI ITRAC1 ;
  1252. TRAC (def0 ET def1) 'TITR' tit1 ;
  1253. FINSI ;
  1254. * comparaison Calcul / Reference sur la contrainte moyenne
  1255. lsig = (lsig1 + lsig2 + lsig3 + lsig4) / 4. ;
  1256. * contrainte nulle = 1.E-20
  1257. seuilsc = lsig MASQ 'EGINF' 1.E-6 ;
  1258. sc0 = seuilsc * 1.E-20 ;
  1259. lsig = (lsig * (lsig MASQ 'EGSUP' 1.E-6)) + sc0 ;
  1260. *mess 'Sig.calcul';list (ENLE lsig 1);
  1261. ler1 = ABS ((ENLE lsig 1) - lsan1) / lsan1 ;
  1262. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 'Ec.rel.SMXX' ler1 ;
  1263. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  1264. mer1 = (INTG eer1) / dtps ;
  1265. tit1 = CHAI '[2D PaF] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  1266. SI ITRAC1 ;
  1267. DESS eer1 'TITR' tit1 ;
  1268. FINSI ;
  1269. OPTI ECHO 0 ;
  1270. SAUT 1 LIGN ;
  1271. MESS ' *********** C A S #5 : 2 D P O U T R E A F I B R E ************';
  1272. SAUT 1 LIGN ;
  1273. SI (mer1 < 1.E-6) ;
  1274. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  1275. SAUT 1 LIGN ;
  1276. SINO ;
  1277. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  1278. IERR = VRAI ;
  1279. SAUT 1 LIGN ;
  1280. FINS ;
  1281. SAUT 1 LIGN ;
  1282. OPTI ECHO 1 ;
  1283. FINSI ;
  1284.  
  1285. ** Sortie sur Erreur 1152 en cas de non conformite
  1286. SI IERR ;
  1287. ERRE 1152 ;
  1288. ERRE 5 ;
  1289. FINSI ;
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295. FIN ;
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  

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