Télécharger mazars_compression.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mazars_compression.dgibi
  2. ************************************************************************
  3. * Cas test elementaire pour la loi d'endommagement de Mazars *
  4. * Essai de compression simple monotone *
  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. *nh145313
  51. ** Paramètres chargement
  52. umax = -5.E-3 ;
  53.  
  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.05) ET (1. 1.05 1.05)) '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. ev1 = EVOL 'MANU' (PROG 0. 1.) (PROG 0. 1.) ;
  101. cha = CHAR 'DIMP' didroite ev1 ;
  102.  
  103. ** Tracé des blocages et du chargement
  104. re0 = @REPERE (-0.55 -0.55 0.) ;
  105. mor = MODE re0 'MECANIQUE' 'BARR' ;
  106. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  107. rir = RIGI mor mar ;
  108. vf = VECT didroite 'FLX' ' ' ' ' 'ROUGE' ;
  109. SI ITRAC1 ;
  110. TRAC ((RIGI mo ma) ET blgauche ET blrig ET rir) vf 'NOLE' 'TITR' '[3D V] Blocages et chargement' ;
  111. FINSI ;
  112.  
  113. ** Resolution
  114. t = TABL ;
  115. t . 'MODELE' = mo ;
  116. t . 'CARACTERISTIQUES' = ma ;
  117. t . 'BLOCAGES_MECANIQUES' = bl ;
  118. t . 'CHARGEMENT' = cha ;
  119. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 1. ;
  120. t . 'MOVA' = MOT 'D' ;
  121. t . 'MES_SAUVEGARDES' = TABL ;
  122. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  123. PASAPAS t ;
  124.  
  125. ** Post traitement
  126. * courbes : endommagement moyen vs temps
  127. * contrainte moyenne vs deformation moyenne
  128. * force de reaction vs deplacement impose
  129. tt = t . 'TEMPS' ;
  130. tc = t . 'CONTRAINTES' ;
  131. te = t . 'DEFORMATIONS' ;
  132. tv = t . 'VARIABLES_INTERNES' ;
  133. tu = t . 'DEPLACEMENTS' ;
  134. tr = t . 'REACTIONS' ;
  135. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  136. ltps = PROG ;
  137. lend = PROG ;
  138. lsig = PROG ;
  139. leps = PROG ;
  140. ldep = PROG ;
  141. lrea = PROG ;
  142. REPE b1 (DIME tt) ;
  143. tps1 = tt . (&b1 - 1) ;
  144. ltps = ltps ET tps1 ;
  145. end1 = (INTG mo (tv . (&b1 - 1)) 'D') / mes1 ;
  146. sig1 = (INTG mo (tc . (&b1 - 1)) 'SMXX') / mes1 ;
  147. eps1 = (INTG mo (te . (&b1 - 1)) 'EPXX') / mes1 ;
  148. u1 = EXTR (tu . (&b1 - 1)) 'UX' p3 ;
  149. rea1 = 0. ;
  150. SI (NEG &b1 1) ;
  151. rea1 = @TOTAL (tr . (&b1 - 1)) sgauche 'FX' ;
  152. FINSI ;
  153. lend = lend ET end1 ;
  154. lsig = lsig ET sig1 ;
  155. leps = leps ET eps1 ;
  156. ldep = ldep ET u1 ;
  157. lrea = lrea ET rea1 ;
  158. FIN b1 ;
  159. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  160. ev1 = EVOL 'ROUG' 'MANU' 'EPXX' leps 'SMXX' lsig ;
  161. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  162. *nh145313
  163. ltps1 = ENLE ltps 1 ;
  164. nb1 = DIME ltps1 ;
  165. un1 = PROG nb1 * 1.D0 ;
  166. lepd0 = PROG nb1 * epd0 ;
  167. lac1 = PROG nb1 * ac ;
  168. lepu = ltps1 * umax / long ;
  169. lepe = (2.**0.5) * nu * (ABS lepu) ;
  170. dc = un1 - ((epd0*(un1-lac1)/lepe) + (ac*(EXP(bc*(lepd0-lepe))))) ;
  171. *mess 'dc avant filtrage';list dc;
  172. lfiltr = LECT ;
  173. REPE b2 ;
  174. dc_i = EXTR dc &b2 ;
  175. SI (EGA &b2 1) ;
  176. dc_p = 1. ;
  177. FINSI ;
  178. ddc = dc_i - dc_p ;
  179. *mess '=== Boucle b2 passage' ' ' &b2;
  180. *mess ' dom.courant' ' ' dc_i;
  181. *mess ' inc.dommage' ' ' ddc;
  182. SI ((DDC < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  183. *mess ' => a filtrer !!!';
  184. lfiltr = lfiltr ET (LECT &b2) ;
  185. *sino;
  186. *mess ' a garder...';
  187. FINSI ;
  188. dc_p = dc_i ;
  189. SI (EGA &b2 (DIME dc)) ;
  190. *mess '=== Sortie Boucle b2';
  191. *mess ' liste des indices a eliminer';list lfiltr;
  192. QUIT b2 ;
  193. FINSI ;
  194. FIN b2 ;
  195. ltps1 = ENLE ltps1 lfiltr ;
  196. un1 = ENLE un1 lfiltr ;
  197. lepu = ENLE lepu lfiltr ;
  198. dc = ENLE dc lfiltr ;
  199. *mess 'dc apres filtrage';list dc;
  200. lsig1 = (un1 - dc) * you * lepu ;
  201. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dc ;
  202. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepu 'SMXX' lsig1 ;
  203. ansmxx = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'SMXX' lsig1 ;
  204. SI ITRAC1 ;
  205. DESS (ev0 ET an0) 'TITR' '[3D V] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  206. DESS (ev1 ET an1) 'TITR' '[3D V] Contrainte vs Deformation' 'LEGE' 'NE' tdess ;
  207. DESS ev2 'TITR' '[3D V] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  208. FINSI ;
  209. * evolutions temporelles a tous les points de Gauss
  210. ng = 8 ;
  211. tleg = TABL ;
  212. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  213. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  214. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  215. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  216. tleg . 5 = MOT 'MARQ TRID NOLI' ;
  217. tleg . 6 = MOT 'MARQ TRIU NOLI' ;
  218. tleg . 7 = MOT 'MARQ TRIL NOLI' ;
  219. tleg . 8 = MOT 'MARQ TRIR NOLI' ;
  220. tleg . 'TITRE' = TABL ;
  221. *
  222. evend = VIDE 'EVOLUTIO' ;
  223. evsmxx = VIDE 'EVOLUTIO' ;
  224. evepxx = VIDE 'EVOLUTIO' ;
  225. REPE b ng ;
  226. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  227. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  228. evsmxx = evsmxx ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMXX' 1 1 &b) ;
  229. evepxx = evepxx ET (EVOL 'VERT' 'TEMP' t 'DEFORMATIONS' 'EPXX' 1 1 &b) ;
  230. FIN b ;
  231. *
  232. tleg . (ng+1) = MOT 'MARQ CROI' ;
  233. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  234. *
  235. SI ITRAC1 ;
  236. DESS (evend ET an0) 'LEGE' 'SE' tleg 'TITR' '[3D V] D vs Temps' ;
  237. DESS (evsmxx ET ansmxx) 'LEGE' 'NE' tleg 'TITR' '[3D V] SMXX vs Temps' ;
  238. DESS evepxx 'LEGE' 'NE' tleg 'TITR' '[3D V] EPXX vs Temps' ;
  239. FINSI ;
  240. * deformee
  241. REPE b2 (DIME tt) ;
  242. tps1 = tt . (&b2 - 1) ;
  243. * trace de la deformee (pour controle visuel)
  244. def1 = DEFO mail (tu . (&b2 - 1)) 33. 'ROUG' ;
  245. tit1 = CHAI '[3D V] Deformee au temps' ' ' tps1 ;
  246. SI ITRAC1 ;
  247. * TRAC (def0 ET def1) 'TITR' tit1 ;
  248. FINSI ;
  249. FIN b2 ;
  250. SI ITRAC1 ;
  251. TRAC (def0 ET def1) 'TITR' tit1 ;
  252. FINSI ;
  253. * comparaison Calcul / Reference sur la contrainte moyenne
  254. ler1 = ABS (((ENLE (ENLE lsig 1) lfiltr) - lsig1) / lsig1) ;
  255. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 '|Ec.rel|SMXX' ler1 ;
  256. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  257. mer1 = (INTG eer1) / dtps ;
  258. tit1 = CHAI '[3D V] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  259. SI ITRAC1 ;
  260. DESS eer1 'TITR' tit1 ;
  261. FINSI ;
  262. OPTI ECHO 0 ;
  263. SAUT 1 LIGN ;
  264. MESS ' **************** C A S #1 : 3 D V O L U M I Q U E ****************';
  265. SAUT 1 LIGN ;
  266. SI (mer1 < 1.E-6) ;
  267. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  268. SAUT 1 LIGN ;
  269. SINO ;
  270. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  271. IERR = VRAI ;
  272. SAUT 1 LIGN ;
  273. FINS ;
  274. SAUT 1 LIGN ;
  275. OPTI ECHO 1 ;
  276. FINSI ;
  277.  
  278.  
  279.  
  280.  
  281.  
  282. *********** C A S #2 : 3 D P O U T R E A F I B R E ************
  283. SI (EXIS lcas 2) ;
  284.  
  285. ** Options generales
  286. OPTI 'DIME' 3 'MODE' 'TRID' 'ELEM' 'CUB8' ;
  287.  
  288. ** Maillage
  289. p1s = (-0.5 * epai) (-0.5 * epai) 0. ;
  290. p2s = (-0.5 * epai) ( 0.5 * epai) 0. ;
  291. l12s = DROI 1 p1s p2s ;
  292. mails = l12s TRAN 1 (epai 0. 0.) ;
  293. p1 = 0. 0. 0. ;
  294. p2 = long 0. 0. ;
  295. mail = DROI 1 p1 p2 ;
  296. mes1 = MESU mails ;
  297. *nh145313
  298. cadr1 = COUL ((-0.1 0. 0.) ET (1. 0. 0.)) 'BLAN' ;
  299. rep1 = @REPERE (-0.2 -0.2 0.) (PROG 0.2 0.2 0.2) 'TURQ' ;
  300. SI ITRAC1 ;
  301. TRAC 'QUAL' (cadr1 ET rep1 ET (mails COUL 'VERT') ET (mail COUL 'ROUG')) 'TITR' '[3D PaF] Maillages de la Poutre et de sa Section' ;
  302. FINSI ;
  303.  
  304.  
  305. ** Modele et caracteristiques materiau
  306. mos = MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS' ;
  307. mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
  308. 'ALPY' 1. 'ALPZ' 1. ;
  309. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ;
  310. ma = MATE mo 'MODS' mos 'MATS' mas 'VECT' (0. 1. 0.) ;
  311.  
  312. ** Blocages
  313. blgauche = BLOQ 'DEPL' 'ROTA' p1 ;
  314. bldroite = BLOQ 'UX' p2 ;
  315. bl = blgauche ET bldroite ;
  316. *nh145313
  317. bldroit2 = BLOQ 'ROTA' p2 ;
  318. bl = bl ET bldroit2 ;
  319.  
  320. ** Chargements
  321. didroite = DEPI bldroite umax ;
  322. ev1 = EVOL 'MANU' (PROG 0. 1.) (PROG 0. 1.) ;
  323. cha = CHAR 'DIMP' didroite ev1 ;
  324.  
  325. ** Tracé des blocages et du chargement
  326. re0 = @REPERE (-0.2 -0.2 0.) (PROG 0.2 0.2 0.2) ;
  327. mor = MODE re0 'MECANIQUE' 'BARR' ;
  328. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  329. rir = RIGI mor mar ;
  330. vf = VECT didroite 'FLX' ' ' ' ' 'ROUG' 20. ;
  331. SI ITRAC1 ;
  332. TRAC ((RIGI mo ma) ET blgauche ET rir) vf 'NOLE' 'TITR' '[3D PaF] Blocages et chargement' ;
  333. FINSI ;
  334.  
  335. ** Resolution
  336. t = TABL ;
  337. t . 'MODELE' = mo ;
  338. t . 'CARACTERISTIQUES' = ma ;
  339. t . 'BLOCAGES_MECANIQUES' = bl ;
  340. t . 'CHARGEMENT' = cha ;
  341. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 1. ;
  342. t . 'MES_SAUVEGARDES' = TABL ;
  343. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  344. PASAPAS t ;
  345.  
  346. ** Post traitement
  347. * courbes : endommagement moyen vs temps
  348. * contrainte moyenne vs deformation moyenne
  349. * force de reaction vs deplacement impose
  350. * evolutions temporelles a tous les points de Gauss
  351. ng = 4 ;
  352. tleg = TABL ;
  353. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  354. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  355. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  356. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  357. tleg . 'TITRE' = TABL ;
  358. REPE b ng ;
  359. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  360. FIN b ;
  361. *nh145313
  362. tleg . (ng+1) = MOT 'MARQ CROI' ;
  363. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  364. tt = t . 'TEMPS' ;
  365. tv = t . 'VARIABLES_INTERNES' ;
  366. tu = t . 'DEPLACEMENTS' ;
  367. tr = t . 'REACTIONS' ;
  368. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  369. ltps = PROG ;
  370. lend1 = PROG ;
  371. lend2 = PROG ;
  372. lend3 = PROG ;
  373. lend4 = PROG ;
  374. lsig1 = PROG ;
  375. lsig2 = PROG ;
  376. lsig3 = PROG ;
  377. lsig4 = PROG ;
  378. leps1 = PROG ;
  379. leps2 = PROG ;
  380. leps3 = PROG ;
  381. leps4 = PROG ;
  382. ldep = PROG ;
  383. lrea = PROG ;
  384. REPE b1 (DIME tt) ;
  385. tps1 = tt . (&b1 - 1) ;
  386. ltps = ltps ET tps1 ;
  387. SI (EGA &b1 1) ;
  388. lend1 = lend1 ET 0. ;
  389. lend2 = lend2 ET 0. ;
  390. lend3 = lend3 ET 0. ;
  391. lend4 = lend4 ET 0. ;
  392. lsig1 = lsig1 ET 0. ;
  393. lsig2 = lsig2 ET 0. ;
  394. lsig3 = lsig3 ET 0. ;
  395. lsig4 = lsig4 ET 0. ;
  396. leps1 = leps1 ET 0. ;
  397. leps2 = leps2 ET 0. ;
  398. leps3 = leps3 ET 0. ;
  399. leps4 = leps4 ET 0. ;
  400. SINON ;
  401. lend1 = lend1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1) ;
  402. lend2 = lend2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 2) ;
  403. lend3 = lend3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 3) ;
  404. lend4 = lend4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 4) ;
  405. lsig1 = lsig1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 1) ;
  406. lsig2 = lsig2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 2) ;
  407. lsig3 = lsig3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 3) ;
  408. lsig4 = lsig4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 4) ;
  409. leps1 = leps1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 1) ;
  410. leps2 = leps2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 2) ;
  411. leps3 = leps3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 3) ;
  412. leps4 = leps4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 4) ;
  413. FINSI ;
  414. u1 = EXTR (tu . (&b1 - 1)) 'UX' p2 ;
  415. rea1 = EXTR (tr . (&b1 - 1)) 'FX' p1 ;
  416. ldep = ldep ET u1 ;
  417. lrea = lrea ET rea1 ;
  418. FIN b1 ;
  419. ev0 = (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend1) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend2) ET
  420. (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend3) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend4) ;
  421. ev1 = (EVOL 'ROUG' 'MANU' 'EPXX' leps1 'SMXX' lsig1) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps2 'SMXX' lsig2) ET
  422. (EVOL 'ROUG' 'MANU' 'EPXX' leps3 'SMXX' lsig3) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps4 'SMXX' lsig4) ;
  423. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  424. *nh145313
  425. ltps1 = ENLE ltps 1 ;
  426. nb1 = DIME ltps1 ;
  427. un1 = PROG nb1 * 1.D0 ;
  428. lepd0 = PROG nb1 * epd0 ;
  429. lac1 = PROG nb1 * ac ;
  430. lepu = ltps1 * umax / long ;
  431. lepe = (2.**0.5) * nu * (ABS lepu) ;
  432. dc = un1 - ((epd0*(un1-lac1)/lepe) + (ac*(EXP(bc*(lepd0-lepe))))) ;
  433. lfiltr = LECT ;
  434. REPE b2 ;
  435. dc_i = EXTR dc &b2 ;
  436. SI (EGA &b2 1) ;
  437. dc_p = 1. ;
  438. FINSI ;
  439. ddc = dc_i - dc_p ;
  440. SI ((DDC < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  441. lfiltr = lfiltr ET (LECT &b2) ;
  442. FINSI ;
  443. dc_p = dc_i ;
  444. SI (EGA &b2 (DIME dc)) ;
  445. QUIT b2 ;
  446. FINSI ;
  447. FIN b2 ;
  448. ltps1 = ENLE ltps1 lfiltr ;
  449. un1 = ENLE un1 lfiltr ;
  450. lepu = ENLE lepu lfiltr ;
  451. dc = ENLE dc lfiltr ;
  452. lsan1 = (un1 - dc) * you * lepu ;
  453. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dc ;
  454. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepu 'SMXX' lsan1 ;
  455. SI ITRAC1 ;
  456. DESS (ev0 ET an0) 'LEGE' 'SE' tleg 'TITR' '[3D PaF] Endommagement vs Temps' ;
  457. DESS (ev1 ET an1) 'LEGE' 'NE' tleg 'TITR' '[3D PaF] Contrainte vs Deformation' ;
  458. DESS ev2 'TITR' '[3D PaF] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  459. FINSI ;
  460. * deformee
  461. REPE b2 (DIME tt) ;
  462. tps1 = tt . (&b2 - 1) ;
  463. * trace de la deformee (pour controle visuel)
  464. def1 = DEFO mail (tu . (&b2 - 1)) 33. 'ROUG' ;
  465. tit1 = CHAI '[3D PaF] Deformee au temps' ' ' tps1 ;
  466. SI ITRAC1 ;
  467. * TRAC (def0 ET def1) 'TITR' tit1 ;
  468. FINSI ;
  469. FIN b2 ;
  470. SI ITRAC1 ;
  471. TRAC (def0 ET def1) 'TITR' tit1 ;
  472. FINSI ;
  473. * comparaison Calcul / Reference sur la contrainte moyenne
  474. lsig = (lsig1 + lsig2 + lsig3 + lsig4) / 4. ;
  475. ler1 = ABS (((ENLE (ENLE lsig 1) lfiltr) - lsan1) / lsan1) ;
  476. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 '|Ec.rel|SMXX' ler1 ;
  477. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  478. mer1 = (INTG eer1) / dtps ;
  479. tit1 = CHAI '[3D PaF] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  480. SI ITRAC1 ;
  481. DESS eer1 'TITR' tit1 ;
  482. FINSI ;
  483. OPTI ECHO 0 ;
  484. SAUT 1 LIGN ;
  485. MESS ' *********** C A S #2 : 3 D P O U T R E A F I B R E ************';
  486. SAUT 1 LIGN ;
  487. SI (mer1 < 1.E-6) ;
  488. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  489. SAUT 1 LIGN ;
  490. SINO ;
  491. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  492. IERR = VRAI ;
  493. SAUT 1 LIGN ;
  494. FINS ;
  495. SAUT 1 LIGN ;
  496. OPTI ECHO 1 ;
  497. FINSI ;
  498.  
  499.  
  500.  
  501.  
  502.  
  503. ******* C A S #3 : 2 D C O N T R A I N T E S P L A N E S ********
  504. SI (EXIS lcas 3) ;
  505.  
  506. ** Options generales
  507. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' 'QUA4' ;
  508.  
  509. ** Maillage
  510. p1 = 0. 0. ;
  511. p2 = 0. long ;
  512. sgauche = DROI 1 p1 p2 ;
  513. mail = sgauche TRAN 1 (long 0.) ;
  514. sdroite = mail COTE 3 ;
  515. p3 = sdroite POIN 'PROC' (long 0.) ;
  516. mes1 = MESU mail ;
  517. *nh145313
  518. cadr1 = COUL ((0. 1.05) ET (1. 1.05)) 'BLAN' ;
  519. rep1 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) 'TURQ' ;
  520. SI ITRAC1 ;
  521. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sgauche COUL 'VERT') ET (sdroite COUL 'ROUG')) 'TITR' '[2D Plan cont.] Maillage' ;
  522. FINSI ;
  523.  
  524. ** Modele et caracteristiques materiau
  525. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  526. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'DIM3' epai ;
  527.  
  528. ** Blocages
  529. blgauche = BLOQ 'UX' sgauche ;
  530. bldroite = BLOQ 'UX' sdroite ;
  531. blrig = BLOQ 'UY' p1 ;
  532. bl = blgauche ET bldroite ET blrig ;
  533.  
  534. ** Chargements
  535. didroite = DEPI bldroite umax ;
  536. ev1 = EVOL 'MANU' (PROG 0. 1.) (PROG 0. 1.) ;
  537. cha = CHAR 'DIMP' didroite ev1 ;
  538.  
  539. ** Tracé des blocages et du chargement
  540. re0 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) ;
  541. mor = MODE re0 'MECANIQUE' 'BARR' ;
  542. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  543. rir = RIGI mor mar ;
  544. vf = VECT didroite 'FLX' ' ' 'ROUG' ;
  545. SI ITRAC1 ;
  546. TRAC ((RIGI mo ma) ET blgauche ET blrig ET rir) vf 'NOLE' 'TITR' '[2D Plan cont.] Blocages et chargement' ;
  547. FINSI ;
  548.  
  549. ** Resolution
  550. t = TABL ;
  551. t . 'MODELE' = mo ;
  552. t . 'CARACTERISTIQUES' = ma ;
  553. t . 'BLOCAGES_MECANIQUES' = bl ;
  554. t . 'CHARGEMENT' = cha ;
  555. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 1. ;
  556. t . 'MOVA' = MOT 'D' ;
  557. t . 'MES_SAUVEGARDES' = TABL ;
  558. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  559. PASAPAS t ;
  560.  
  561. ** Post traitement
  562. * courbes : endommagement moyen vs temps
  563. * contrainte moyenne vs deformation moyenne
  564. * force de reaction vs deplacement impose
  565. tt = t . 'TEMPS' ;
  566. tc = t . 'CONTRAINTES' ;
  567. te = t . 'DEFORMATIONS' ;
  568. tv = t . 'VARIABLES_INTERNES' ;
  569. tu = t . 'DEPLACEMENTS' ;
  570. tr = t . 'REACTIONS' ;
  571. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  572. ltps = PROG ;
  573. lend = PROG ;
  574. lsig = PROG ;
  575. leps = PROG ;
  576. ldep = PROG ;
  577. lrea = PROG ;
  578. REPE b1 (DIME tt) ;
  579. tps1 = tt . (&b1 - 1) ;
  580. ltps = ltps ET tps1 ;
  581. end1 = (INTG mo (tv . (&b1 - 1)) 'D') / mes1 ;
  582. sig1 = (INTG mo (tc . (&b1 - 1)) 'SMXX') / mes1 ;
  583. eps1 = (INTG mo (te . (&b1 - 1)) 'EPXX') / mes1 ;
  584. u1 = EXTR (tu . (&b1 - 1)) 'UX' p3 ;
  585. rea1 = 0. ;
  586. SI (NEG &b1 1) ;
  587. rea1 = @TOTAL (tr . (&b1 - 1)) sgauche 'FX' ;
  588. FINSI ;
  589. lend = lend ET end1 ;
  590. lsig = lsig ET sig1 ;
  591. leps = leps ET eps1 ;
  592. ldep = ldep ET u1 ;
  593. lrea = lrea ET rea1 ;
  594. FIN b1 ;
  595. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  596. ev1 = EVOL 'ROUG' 'MANU' 'EPXX' leps 'SMXX' lsig ;
  597. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  598. *nh145313
  599. ltps1 = ENLE ltps 1 ;
  600. nb1 = DIME ltps1 ;
  601. un1 = PROG nb1 * 1.D0 ;
  602. lepd0 = PROG nb1 * epd0 ;
  603. lac1 = PROG nb1 * ac ;
  604. lepu = ltps1 * umax / long ;
  605. lepe = (2.**0.5) * nu * (ABS lepu) ;
  606. dc = un1 - ((epd0*(un1-lac1)/lepe) + (ac*(EXP(bc*(lepd0-lepe))))) ;
  607. lfiltr = LECT ;
  608. REPE b2 ;
  609. dc_i = EXTR dc &b2 ;
  610. SI (EGA &b2 1) ;
  611. dc_p = 1. ;
  612. FINSI ;
  613. ddc = dc_i - dc_p ;
  614. SI ((DDC < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  615. lfiltr = lfiltr ET (LECT &b2) ;
  616. FINSI ;
  617. dc_p = dc_i ;
  618. SI (EGA &b2 (DIME dc)) ;
  619. QUIT b2 ;
  620. FINSI ;
  621. FIN b2 ;
  622. ltps1 = ENLE ltps1 lfiltr ;
  623. un1 = ENLE un1 lfiltr ;
  624. lepu = ENLE lepu lfiltr ;
  625. dc = ENLE dc lfiltr ;
  626. lsig1 = (un1 - dc) * you * lepu ;
  627. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dc ;
  628. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepu 'SMXX' lsig1 ;
  629. ansmxx = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'SMXX' lsig1 ;
  630. SI ITRAC1 ;
  631. DESS (ev0 ET an0) 'TITR' '[2D Plan cont.] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  632. DESS (ev1 ET an1) 'TITR' '[2D Plan cont.] Contrainte vs Deformation' 'LEGE' 'NE' tdess ;
  633. DESS ev2 'TITR' '[2D Plan cont.] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  634. FINSI ;
  635. * evolutions temporelles a tous les points de Gauss
  636. ng = 4 ;
  637. tleg = TABL ;
  638. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  639. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  640. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  641. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  642. tleg . 'TITRE' = TABL ;
  643. *
  644. evend = VIDE 'EVOLUTIO' ;
  645. evsmxx = VIDE 'EVOLUTIO' ;
  646. evepxx = VIDE 'EVOLUTIO' ;
  647. REPE b ng ;
  648. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  649. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  650. evsmxx = evsmxx ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMXX' 1 1 &b) ;
  651. evepxx = evepxx ET (EVOL 'VERT' 'TEMP' t 'DEFORMATIONS' 'EPXX' 1 1 &b) ;
  652. FIN b ;
  653. *
  654. tleg . (ng+1) = MOT 'MARQ CROI' ;
  655. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  656. *
  657. SI ITRAC1 ;
  658. DESS (evend ET an0) 'LEGE' 'SE' tleg 'TITR' '[2D Plan cont.] D vs Temps' ;
  659. DESS (evsmxx ET ansmxx) 'LEGE' 'NE' tleg 'TITR' '[2D Plan cont.] SMXX vs Temps' ;
  660. DESS evepxx 'LEGE' 'NE' tleg 'TITR' '[2D Plan cont.] EPXX vs Temps' ;
  661. FINSI ;
  662. * deformee
  663. REPE b2 (DIME tt) ;
  664. tps1 = tt . (&b2 - 1) ;
  665. * trace de la deformee (pour controle visuel)
  666. def1 = DEFO mail (tu . (&b2 - 1)) 33. 'ROUG' ;
  667. tit1 = CHAI '[2D Plan cont.] Deformee au temps' ' ' tps1 ;
  668. SI ITRAC1 ;
  669. * TRAC (def0 ET def1) 'TITR' tit1 ;
  670. FINSI ;
  671. FIN b2 ;
  672. SI ITRAC1 ;
  673. TRAC (def0 ET def1) 'TITR' tit1 ;
  674. FINSI ;
  675. * comparaison Calcul / Reference sur la contrainte moyenne
  676. ler1 = ABS (((ENLE (ENLE lsig 1) lfiltr) - lsig1) / lsig1) ;
  677. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 '|Ec.rel|SMXX' ler1 ;
  678. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  679. mer1 = (INTG eer1) / dtps ;
  680. tit1 = CHAI '[2D Plan cont.] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  681. SI ITRAC1 ;
  682. DESS eer1 'TITR' tit1 ;
  683. FINSI ;
  684. OPTI ECHO 0 ;
  685. SAUT 1 LIGN ;
  686. MESS ' ******* C A S #3 : 2 D C O N T R A I N T E S P L A N E S ********';
  687. SAUT 1 LIGN ;
  688. SI (mer1 < 1.E-6) ;
  689. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  690. SAUT 1 LIGN ;
  691. SINO ;
  692. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  693. IERR = VRAI ;
  694. SAUT 1 LIGN ;
  695. FINS ;
  696. SAUT 1 LIGN ;
  697. OPTI ECHO 1 ;
  698. FINSI ;
  699.  
  700.  
  701.  
  702.  
  703.  
  704. ************ C A S #4 : 2 D A X I S Y M E T R I Q U E *************
  705. SI (EXIS lcas 4) ;
  706.  
  707. ** Options generales
  708. OPTI 'DIME' 2 'MODE' 'AXIS' 'ELEM' 'QUA4' ;
  709.  
  710. ** Maillage
  711. p1 = 0. 0. ;
  712. p2 = long 0. ;
  713. sbas = DROI 1 p1 p2 ;
  714. mail = sbas TRAN 1 (0. long) ;
  715. shaut = mail COTE 3 ;
  716. p3 = shaut POIN 'PROC' (0. long) ;
  717. *nh145313
  718. cadr1 = COUL ((0. 1.) ET (1.05 1.)) 'BLAN' ;
  719. rep1 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) 'TURQ' ;
  720. SI ITRAC1 ;
  721. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sbas COUL 'VERT') ET (shaut COUL 'ROUG')) 'TITR' '[2D Axi.] Maillage' ;
  722. FINSI ;
  723.  
  724. ** Modele et caracteristiques materiau
  725. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  726. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta ;
  727. zer = ZERO mo 'NOEUD' ;
  728. un = zer + 1. ;
  729. mes1 = INTG mo un 'SCAL' ;
  730.  
  731. ** Blocages
  732. blbas = BLOQ 'UZ' sbas ;
  733. blhaut = BLOQ 'UZ' shaut ;
  734. bl = blbas ET blhaut ;
  735.  
  736. ** Chargements
  737. dihaut = DEPI blhaut umax ;
  738. ev1 = EVOL 'MANU' (PROG 0. 1.) (PROG 0. 1.) ;
  739. cha = CHAR 'DIMP' dihaut ev1 ;
  740.  
  741. ** Tracé des blocages et du chargement
  742. re0 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) ;
  743. mor = MODE re0 'MECANIQUE' 'BARR' ;
  744. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  745. rir = RIGI mor mar ;
  746. vf = VECT dihaut ' ' 'FLX' 'ROUG' ;
  747. SI ITRAC1 ;
  748. TRAC ((RIGI mo ma) ET blbas ET rir) vf 'NOLE' 'TITR' '[2D Axi.] Blocages et chargement' ;
  749. FINSI ;
  750.  
  751. ** Resolution
  752. t = TABL ;
  753. t . 'MODELE' = mo ;
  754. t . 'CARACTERISTIQUES' = ma ;
  755. t . 'BLOCAGES_MECANIQUES' = bl ;
  756. t . 'CHARGEMENT' = cha ;
  757. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 1. ;
  758. t . 'MOVA' = MOT 'D' ;
  759. t . 'MES_SAUVEGARDES' = TABL ;
  760. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  761. PASAPAS t ;
  762.  
  763. ** Post traitement
  764. * courbes : endommagement moyen vs temps
  765. * contrainte moyenne vs deformation moyenne
  766. * force de reaction vs deplacement impose
  767. tt = t . 'TEMPS' ;
  768. tc = t . 'CONTRAINTES' ;
  769. te = t . 'DEFORMATIONS' ;
  770. tv = t . 'VARIABLES_INTERNES' ;
  771. tu = t . 'DEPLACEMENTS' ;
  772. tr = t . 'REACTIONS' ;
  773. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  774. ltps = PROG ;
  775. lend = PROG ;
  776. lsig = PROG ;
  777. leps = PROG ;
  778. ldep = PROG ;
  779. lrea = PROG ;
  780. REPE b1 (DIME tt) ;
  781. tps1 = tt . (&b1 - 1) ;
  782. ltps = ltps ET tps1 ;
  783. end1 = (INTG mo (tv . (&b1 - 1)) 'D') / mes1 ;
  784. sig1 = (INTG mo (tc . (&b1 - 1)) 'SMZZ') / mes1 ;
  785. eps1 = (INTG mo (te . (&b1 - 1)) 'EPZZ') / mes1 ;
  786. u1 = EXTR (tu . (&b1 - 1)) 'UZ' p3 ;
  787. rea1 = 0. ;
  788. SI (NEG &b1 1) ;
  789. rea1 = @TOTAL (tr . (&b1 - 1)) sbas 'FZ' ;
  790. FINSI ;
  791. lend = lend ET end1 ;
  792. lsig = lsig ET sig1 ;
  793. leps = leps ET eps1 ;
  794. ldep = ldep ET u1 ;
  795. lrea = lrea ET rea1 ;
  796. FIN b1 ;
  797. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  798. ev1 = EVOL 'ROUG' 'MANU' 'EPZZ' leps 'SMZZ' lsig ;
  799. ev2 = EVOL 'ROUG' 'MANU' 'UZ' ldep 'FZ' lrea ;
  800. *nh145313
  801. ltps1 = ENLE ltps 1 ;
  802. nb1 = DIME ltps1 ;
  803. un1 = PROG nb1 * 1.D0 ;
  804. lepd0 = PROG nb1 * epd0 ;
  805. lac1 = PROG nb1 * ac ;
  806. lepu = ltps1 * umax / long ;
  807. lepe = (2.**0.5) * nu * (ABS lepu) ;
  808. dc = un1 - ((epd0*(un1-lac1)/lepe) + (ac*(EXP(bc*(lepd0-lepe))))) ;
  809. lfiltr = LECT ;
  810. REPE b2 ;
  811. dc_i = EXTR dc &b2 ;
  812. SI (EGA &b2 1) ;
  813. dc_p = 1. ;
  814. FINSI ;
  815. ddc = dc_i - dc_p ;
  816. SI ((DDC < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  817. lfiltr = lfiltr ET (LECT &b2) ;
  818. FINSI ;
  819. dc_p = dc_i ;
  820. SI (EGA &b2 (DIME dc)) ;
  821. QUIT b2 ;
  822. FINSI ;
  823. FIN b2 ;
  824. ltps1 = ENLE ltps1 lfiltr ;
  825. un1 = ENLE un1 lfiltr ;
  826. lepu = ENLE lepu lfiltr ;
  827. dc = ENLE dc lfiltr ;
  828. lsig1 = (un1 - dc) * you * lepu ;
  829. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dc ;
  830. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepu 'SMXX' lsig1 ;
  831. ansmzz = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'SMZZ' lsig1 ;
  832. SI ITRAC1 ;
  833. DESS (ev0 ET an0) 'TITR' '[2D Axi.] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  834. DESS (ev1 ET an1) 'TITR' '[2D Axi.] Contrainte vs Deformation' 'LEGE' 'NE' tdess ;
  835. DESS ev2 'TITR' '[2D Axi.] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  836. FINSI ;
  837. * evolutions temporelles a tous les points de Gauss
  838. ng = 4 ;
  839. tleg = TABL ;
  840. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  841. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  842. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  843. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  844. tleg . 'TITRE' = TABL ;
  845. *
  846. evend = VIDE 'EVOLUTIO' ;
  847. evsmzz = VIDE 'EVOLUTIO' ;
  848. evepzz = VIDE 'EVOLUTIO' ;
  849. REPE b ng ;
  850. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  851. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  852. evsmzz = evsmzz ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMZZ' 1 1 &b) ;
  853. evepzz = evepzz ET (EVOL 'VERT' 'TEMP' t 'DEFORMATIONS' 'EPZZ' 1 1 &b) ;
  854. FIN b ;
  855. *
  856. tleg . (ng+1) = MOT 'MARQ CROI' ;
  857. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  858. *
  859. SI ITRAC1 ;
  860. DESS (evend ET an0) 'LEGE' 'SE' tleg 'TITR' '[2D Axi.] D vs Temps' ;
  861. DESS (evsmzz ET ansmzz) 'LEGE' 'NE' tleg 'TITR' '[2D Axi.] SMZZ vs Temps' ;
  862. DESS evepzz 'LEGE' 'NE' tleg 'TITR' '[2D Axi.] EPZZ vs Temps' ;
  863. FINSI ;
  864. * deformee
  865. REPE b2 (DIME tt) ;
  866. tps1 = tt . (&b2 - 1) ;
  867. * trace de la deformee (pour controle visuel)
  868. def1 = DEFO mail (tu . (&b2 - 1)) 33. 'ROUG' ;
  869. tit1 = CHAI '[2D Axi.] Deformee au temps' ' ' tps1 ;
  870. SI ITRAC1 ;
  871. * TRAC (def0 ET def1) 'TITR' tit1 ;
  872. FINSI ;
  873. FIN b2 ;
  874. SI ITRAC1 ;
  875. TRAC (def0 ET def1) 'TITR' tit1 ;
  876. FINSI ;
  877. * comparaison Calcul / Reference sur la contrainte moyenne
  878. ler1 = ABS (((ENLE (ENLE lsig 1) lfiltr) - lsig1) / lsig1) ;
  879. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 '|Ec.rel|SMXX' ler1 ;
  880. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  881. mer1 = (INTG eer1) / dtps ;
  882. tit1 = CHAI '[2D Axi.] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  883. SI ITRAC1 ;
  884. DESS eer1 'TITR' tit1 ;
  885. FINSI ;
  886. OPTI ECHO 0 ;
  887. SAUT 1 LIGN ;
  888. MESS ' ************ C A S #4 : 2 D A X I S Y M E T R I Q U E *************';
  889. SAUT 1 LIGN ;
  890. SI (mer1 < 1.E-6) ;
  891. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  892. SAUT 1 LIGN ;
  893. SINO ;
  894. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  895. IERR = VRAI ;
  896. SAUT 1 LIGN ;
  897. FINS ;
  898. SAUT 1 LIGN ;
  899. OPTI ECHO 1 ;
  900. FINSI ;
  901.  
  902.  
  903.  
  904.  
  905.  
  906. *********** C A S #5 : 2 D P O U T R E A F I B R E ************
  907. SI (EXIS lcas 5) ;
  908.  
  909. ** Options generales
  910. OPTI 'DIME' 2 'MODE' 'PLAN' 'ELEM' 'QUA4' ;
  911.  
  912. ** Maillage
  913. p1s = (-0.5 * epai) (-0.5 * epai) ;
  914. p2s = (-0.5 * epai) ( 0.5 * epai) ;
  915. l12s = DROI 1 p1s p2s ;
  916. mails = l12s TRAN 1 (epai 0.) ;
  917. p1 = 0. 0. ;
  918. p2 = long 0. ;
  919. mail = DROI 1 p1 p2 ;
  920. mes1 = MESU mails ;
  921. *nh145313
  922. cadr1 = COUL ((-0.1 0.) ET (1. 0.)) 'BLAN' ;
  923. rep1 = @REPERE (-0.2 -0.2) (PROG 0.2 0.2) 'TURQ' ;
  924. SI ITRAC1 ;
  925. TRAC 'QUAL' (rep1 ET (mails COUL 'VERT') ET (mail COUL 'ROUG')) 'TITR' '[2D PaF] Maillages de la Poutre et de sa Section' ;
  926. FINSI ;
  927.  
  928. ** Modele et caracteristiques materiau
  929. mos = MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS' ;
  930. mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
  931. 'ALPY' 1. ;
  932. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ;
  933. ma = MATE mo 'MODS' mos 'MATS' mas ;
  934.  
  935. ** Blocages
  936. blgauche = BLOQ 'DEPL' 'ROTA' p1 ;
  937. bldroite = BLOQ 'UX' p2 ;
  938. bl = blgauche ET bldroite ;
  939. *nh145313
  940. bldroit2 = BLOQ 'ROTA' p2 ;
  941. bl = bl ET bldroit2 ;
  942.  
  943. ** Chargements
  944. didroite = DEPI bldroite umax ;
  945. ev1 = EVOL 'MANU' (PROG 0. 1.) (PROG 0. 1.) ;
  946. cha = CHAR 'DIMP' didroite ev1 ;
  947.  
  948. ** Tracé des blocages et du chargement
  949. re0 = @REPERE (-0.2 -0.2) (PROG 0.2 0.2) ;
  950. mor = MODE re0 'MECANIQUE' 'BARR' ;
  951. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  952. rir = RIGI mor mar ;
  953. vf = VECT didroite 'FLX' ' ' 'ROUG' 20. ;
  954. SI ITRAC1 ;
  955. TRAC ((RIGI mo ma) ET blgauche ET rir) vf 'NOLE' 'TITR' '[2D PaF] Blocages et chargement' ;
  956. FINSI ;
  957.  
  958. ** Resolution
  959. t = TABL ;
  960. t . 'MODELE' = mo ;
  961. t . 'CARACTERISTIQUES' = ma ;
  962. t . 'BLOCAGES_MECANIQUES' = bl ;
  963. t . 'CHARGEMENT' = cha ;
  964. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 0.01 1. ;
  965. t . 'MES_SAUVEGARDES' = TABL ;
  966. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  967. PASAPAS t ;
  968.  
  969. ** Post traitement
  970. * courbes : endommagement moyen vs temps
  971. * contrainte moyenne vs deformation moyenne
  972. * force de reaction vs deplacement impose
  973. * evolutions temporelles a tous les points de Gauss
  974. ng = 4 ;
  975. tleg = TABL ;
  976. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  977. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  978. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  979. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  980. tleg . 'TITRE' = TABL ;
  981. REPE b ng ;
  982. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  983. FIN b ;
  984. *nh145313
  985. tleg . (ng+1) = MOT 'MARQ CROI' ;
  986. tleg . 'TITRE' . (ng+1) = MOT 'Reference' ;
  987. tt = t . 'TEMPS' ;
  988. tv = t . 'VARIABLES_INTERNES' ;
  989. tu = t . 'DEPLACEMENTS' ;
  990. tr = t . 'REACTIONS' ;
  991. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  992. ltps = PROG ;
  993. lend1 = PROG ;
  994. lend2 = PROG ;
  995. lend3 = PROG ;
  996. lend4 = PROG ;
  997. lsig1 = PROG ;
  998. lsig2 = PROG ;
  999. lsig3 = PROG ;
  1000. lsig4 = PROG ;
  1001. leps1 = PROG ;
  1002. leps2 = PROG ;
  1003. leps3 = PROG ;
  1004. leps4 = PROG ;
  1005. ldep = PROG ;
  1006. lrea = PROG ;
  1007. REPE b1 (DIME tt) ;
  1008. tps1 = tt . (&b1 - 1) ;
  1009. ltps = ltps ET tps1 ;
  1010. SI (EGA &b1 1) ;
  1011. lend1 = lend1 ET 0. ;
  1012. lend2 = lend2 ET 0. ;
  1013. lend3 = lend3 ET 0. ;
  1014. lend4 = lend4 ET 0. ;
  1015. lsig1 = lsig1 ET 0. ;
  1016. lsig2 = lsig2 ET 0. ;
  1017. lsig3 = lsig3 ET 0. ;
  1018. lsig4 = lsig4 ET 0. ;
  1019. leps1 = leps1 ET 0. ;
  1020. leps2 = leps2 ET 0. ;
  1021. leps3 = leps3 ET 0. ;
  1022. leps4 = leps4 ET 0. ;
  1023. SINON ;
  1024. lend1 = lend1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1) ;
  1025. lend2 = lend2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 2) ;
  1026. lend3 = lend3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 3) ;
  1027. lend4 = lend4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 4) ;
  1028. lsig1 = lsig1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 1) ;
  1029. lsig2 = lsig2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 2) ;
  1030. lsig3 = lsig3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 3) ;
  1031. lsig4 = lsig4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 4) ;
  1032. leps1 = leps1 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 1) ;
  1033. leps2 = leps2 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 2) ;
  1034. leps3 = leps3 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 3) ;
  1035. leps4 = leps4 ET (EXTR (EXTR (tv . (&b1 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 4) ;
  1036. FINSI ;
  1037. u1 = EXTR (tu . (&b1 - 1)) 'UX' p2 ;
  1038. rea1 = EXTR (tr . (&b1 - 1)) 'FX' p1 ;
  1039. ldep = ldep ET u1 ;
  1040. lrea = lrea ET rea1 ;
  1041. FIN b1 ;
  1042. ev0 = (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend1) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend2) ET
  1043. (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend3) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend4) ;
  1044. ev1 = (EVOL 'ROUG' 'MANU' 'EPXX' leps1 'SMXX' lsig1) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps2 'SMXX' lsig2) ET
  1045. (EVOL 'ROUG' 'MANU' 'EPXX' leps3 'SMXX' lsig3) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps4 'SMXX' lsig4) ;
  1046. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  1047. *nh145313
  1048. ltps1 = ENLE ltps 1 ;
  1049. nb1 = DIME ltps1 ;
  1050. un1 = PROG nb1 * 1.D0 ;
  1051. lepd0 = PROG nb1 * epd0 ;
  1052. lac1 = PROG nb1 * ac ;
  1053. lepu = ltps1 * umax / long ;
  1054. lepe = (2.**0.5) * nu * (ABS lepu) ;
  1055. dc = un1 - ((epd0*(un1-lac1)/lepe) + (ac*(EXP(bc*(lepd0-lepe))))) ;
  1056. lfiltr = LECT ;
  1057. REPE b2 ;
  1058. dc_i = EXTR dc &b2 ;
  1059. SI (EGA &b2 1) ;
  1060. dc_p = 1. ;
  1061. FINSI ;
  1062. ddc = dc_i - dc_p ;
  1063. SI ((DDC < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  1064. lfiltr = lfiltr ET (LECT &b2) ;
  1065. FINSI ;
  1066. dc_p = dc_i ;
  1067. SI (EGA &b2 (DIME dc)) ;
  1068. QUIT b2 ;
  1069. FINSI ;
  1070. FIN b2 ;
  1071. ltps1 = ENLE ltps1 lfiltr ;
  1072. un1 = ENLE un1 lfiltr ;
  1073. lepu = ENLE lepu lfiltr ;
  1074. dc = ENLE dc lfiltr ;
  1075. lsan1 = (un1 - dc) * you * lepu ;
  1076. an0 = EVOL 'TURQ' 'MANU' 'Temps' ltps1 'D' dc ;
  1077. an1 = EVOL 'TURQ' 'MANU' 'EPXX' lepu 'SMXX' lsan1 ;
  1078. SI ITRAC1 ;
  1079. DESS (ev0 ET an0) 'LEGE' 'SE' tleg 'TITR' '[2D PaF] Endommagement vs Temps' ;
  1080. DESS (ev1 ET an1) 'LEGE' 'NE' tleg 'TITR' '[2D PaF] Contrainte vs Deformation' ;
  1081. DESS ev2 'TITR' '[2D PaF] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  1082. FINSI ;
  1083. * deformee
  1084. REPE b2 (DIME tt) ;
  1085. tps1 = tt . (&b2 - 1) ;
  1086. * trace de la deformee (pour controle visuel)
  1087. def1 = DEFO mail (tu . (&b2 - 1)) 33. 'ROUG' ;
  1088. tit1 = CHAI '[2D PaF] Deformee au temps' ' ' tps1 ;
  1089. SI ITRAC1 ;
  1090. * TRAC (def0 ET def1) 'TITR' tit1 ;
  1091. FINSI ;
  1092. FIN b2 ;
  1093. SI ITRAC1 ;
  1094. TRAC (def0 ET def1) 'TITR' tit1 ;
  1095. FINSI ;
  1096. * comparaison Calcul / Reference sur la contrainte moyenne
  1097. lsig = (lsig1 + lsig2 + lsig3 + lsig4) / 4. ;
  1098. ler1 = ABS (((ENLE (ENLE lsig 1) lfiltr) - lsan1) / lsan1) ;
  1099. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps1 '|Ec.rel|SMXX' ler1 ;
  1100. dtps = (EXTR ltps1 (DIME ltps1)) - (EXTR ltps1 1) ;
  1101. mer1 = (INTG eer1) / dtps ;
  1102. tit1 = CHAI '[2D PaF] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps, moy.int.|Ecart|' ' ' mer1 ;
  1103. SI ITRAC1 ;
  1104. DESS eer1 'TITR' tit1 ;
  1105. FINSI ;
  1106. OPTI ECHO 0 ;
  1107. SAUT 1 LIGN ;
  1108. MESS ' *********** C A S #5 : 2 D P O U T R E A F I B R E ************';
  1109. SAUT 1 LIGN ;
  1110. SI (mer1 < 1.E-6) ;
  1111. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' < 1.E-06 => OK' ;
  1112. SAUT 1 LIGN ;
  1113. SINO ;
  1114. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ' ' mer1 ' > 1.E-06 => ECHEC' ;
  1115. IERR = VRAI ;
  1116. SAUT 1 LIGN ;
  1117. FINS ;
  1118. SAUT 1 LIGN ;
  1119. OPTI ECHO 1 ;
  1120. FINSI ;
  1121.  
  1122. ** Sortie sur Erreur 1152 en cas de non conformite
  1123. SI IERR ;
  1124. ERRE 1152 ;
  1125. ERRE 5 ;
  1126. FINSI ;
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132. FIN ;
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  

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