Télécharger mazars_traction.dgibi

Retour à la liste

Numérotation des lignes :

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

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