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

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