Télécharger mazars_traction_compression_traction.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mazars_traction_compression_traction.dgibi
  2. ************************************************************************
  3. * Cas test elementaire pour la loi d'endommagement de Mazars *
  4. * Essai de traction-compression-traction alterné *
  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 chargement2.E-4 -4.E-3 5.E-4
  52. ** 1. traction (u1max), instant d'alternance (inst_1a)
  53. ** 2. compression (u2max), instant d'alternance (inst_2a)
  54. ** 3. traction (u3max)
  55. u1max = 2.E-4 ;
  56. u2max = -4.E-3 ;
  57. u3max = 5.E-4 ;
  58. inst_1a = 0.666 / (1. + (0.5*(ABS u2max)/u1max)) ;
  59. inst_2a = (1. + (0.666*(u3max/(ABS u2max)))) / (1. + (u3max/(ABS u2max))) ;
  60.  
  61. ** Legende courbes
  62. tdess = 'TABLE' ;
  63. tdess.'TITRE' = 'TABLE' ;
  64. tdess. 1 = MOT 'MARQ LOSA' ;
  65. tdess.'TITRE'. 1 = MOT 'Calcul' ;
  66. tdess . 2 = MOT 'MARQ CROI REGU' ;
  67. tdess . 'TITRE' . 2 = MOT 'Ref_1.Traction' ;
  68. tdess . 3 = MOT 'MARQ PLUS REGU' ;
  69. tdess . 'TITRE' . 3 = MOT 'Ref_2.Compression' ;
  70. tdess . 4 = MOT 'MARQ S CROI REGU' ;
  71. tdess . 'TITRE' . 4 = MOT 'Ref_3.Traction' ;
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. **************** C A S #1 : 3 D V O L U M I Q U E ****************
  79. SI (EXIS lcas 1) ;
  80.  
  81. ** Options generales
  82. OPTI 'DIME' 3 'MODE' 'TRID' 'ELEM' 'CUB8' ;
  83.  
  84. ** Maillage
  85. p1 = 0. 0. 0. ;
  86. p2 = 0. long 0. ;
  87. l12 = DROI 1 p1 p2 ;
  88. sgauche = l12 TRAN 1 (0. 0. long) ;
  89. mail = sgauche VOLU 'TRAN' 1 (long 0. 0.) ;
  90. sdroite = mail FACE 2 ;
  91. p3 = sdroite POIN 'PROC' (long 0. 0.) ;
  92. mes1 = MESU mail ;
  93. *nh145313
  94. cadr1 = COUL ((0. 1.05 1.05) ET (1.05 1.05 1.05)) 'BLAN' ;
  95. rep1 = @REPERE (-0.55 -0.55 0.) 'TURQ' ;
  96. SI ITRAC1 ;
  97. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sgauche COUL 'VERT') ET (sdroite COUL 'ROUG')) 'TITR' '[3D V] Maillage' ;
  98. FINSI ;
  99.  
  100. ** Modele et caracteristiques materiau
  101. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  102. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta ;
  103.  
  104. ** Blocages
  105. blgauche = BLOQ 'UX' sgauche ;
  106. bldroite = BLOQ 'UX' sdroite ;
  107. blrig = (BLOQ 'UY' 'UZ' p1) ET (BLOQ 'UZ' p2) ;
  108. bl = blgauche ET bldroite ET blrig ;
  109.  
  110. ** Chargements
  111. didroite = DEPI bldroite 1. ;
  112. ec1 = EVOL 'MANU' (PROG 0. (0.5*inst_1a) inst_1a 0.666 inst_2a 1. )
  113. (PROG 0. u1max 0. u2max 0. u3max) ;
  114. cha = CHAR 'DIMP' didroite ec1 ;
  115. *opti echo 0;
  116. *saut 1 lign ;
  117. *titi = CHAI 'Evol. Chargement : 0.5*inst_1a' (0.5*inst_1a) ' inst_1a' inst_1a ' inst_2a' inst_2a ;
  118. *mess titi;
  119. *list ec1;
  120. *dess ec1 'TITRE' titi ;
  121. *saut 1 lign ;
  122. *opti echo 1;
  123.  
  124. ** Tracé des blocages et du chargement
  125. re0 = @REPERE (-0.55 -0.55 0.) ;
  126. mor = MODE re0 'MECANIQUE' 'BARR' ;
  127. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  128. rir = RIGI mor mar ;
  129. vf = VECT didroite 'FLX' ' ' ' ' 'ROUGE' ;
  130. SI ITRAC1 ;
  131. TRAC ((RIGI mo ma) ET blgauche ET blrig ET rir) vf 'NOLE' 'TITR' '[3D V] Blocages et chargement' ;
  132. FINSI ;
  133.  
  134. ** Resolution
  135. t = TABL ;
  136. t . 'MODELE' = mo ;
  137. t . 'CARACTERISTIQUES' = ma ;
  138. t . 'BLOCAGES_MECANIQUES' = bl ;
  139. t . 'CHARGEMENT' = cha ;
  140. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 3.E-3 (0.5*inst_1a)
  141. 'PAS' 3.E-3 inst_1a
  142. 'PAS' 1.E-2 0.666
  143. 'PAS' 1.E-2 inst_2a
  144. 'PAS' 1.E-2 0.9629
  145. 'PAS' 3.E-3 1. ;
  146. t . 'MOVA' = MOT 'D' ;
  147. t . 'MES_SAUVEGARDES' = TABL ;
  148. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  149. PASAPAS t ;
  150.  
  151. ** Post traitement
  152. * courbes : endommagement moyen vs temps
  153. * contrainte moyenne vs deformation moyenne
  154. * force de reaction vs deplacement impose
  155. tt = t . 'TEMPS' ;
  156. tc = t . 'CONTRAINTES' ;
  157. te = t . 'DEFORMATIONS' ;
  158. tv = t . 'VARIABLES_INTERNES' ;
  159. tu = t . 'DEPLACEMENTS' ;
  160. tr = t . 'REACTIONS' ;
  161. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  162. ltps = PROG ;
  163. ltps_t1 = PROG ;
  164. ltps_c2 = PROG ;
  165. ltps_t3 = PROG ;
  166. lend = PROG ;
  167. lsig = PROG ;
  168. leps = PROG ;
  169. ldep = PROG ;
  170. lrea = PROG ;
  171. REPE b0 (DIME tt) ;
  172. tps1 = tt . (&b0 - 1) ;
  173. * Liste des instants : globale (ltps)
  174. * de 1.traction (ltps_t1)
  175. * de 2.compression (ltps_c2)
  176. * de 3.traction (ltps_t3)
  177. ltps = ltps ET tps1 ;
  178. SI (<EG tps1 inst_1a) ;
  179. ltps_t1 = ltps_t1 ET tps1 ;
  180. SINON ;
  181. SI (<EG tps1 inst_2a) ;
  182. ltps_c2 = ltps_c2 ET tps1 ;
  183. SINON ;
  184. ltps_t3 = ltps_t3 ET tps1 ;
  185. FINSI ;
  186. FINSI ;
  187. end1 = (INTG mo (tv . (&b0 - 1)) 'D') / mes1 ;
  188. sig1 = (INTG mo (tc . (&b0 - 1)) 'SMXX') / mes1 ;
  189. eps1 = (INTG mo (te . (&b0 - 1)) 'EPXX') / mes1 ;
  190. u1 = EXTR (tu . (&b0 - 1)) 'UX' p3 ;
  191. rea1 = 0. ;
  192. SI (NEG &b0 1) ;
  193. rea1 = @TOTAL (tr . (&b0 - 1)) sgauche 'FX' ;
  194. FINSI ;
  195. lend = lend ET end1 ;
  196. lsig = lsig ET sig1 ;
  197. leps = leps ET eps1 ;
  198. ldep = ldep ET u1 ;
  199. lrea = lrea ET rea1 ;
  200. FIN b0 ;
  201. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  202. ev1 = EVOL 'ROUG' 'MANU' 'EPXX' leps 'SMXX' lsig ;
  203. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  204. * Instant de transition 1.Traction-2.Compression tpst1_t
  205. tpst1_t = 0.5*inst_1a ;
  206. * Endommagement de transition 1.Traction-2.Compression end_t1
  207. end_t1 = IPOL tpst1_t ltps lend ;
  208. * Instant de transition 2.Compression-3.Traction tpst3_t
  209. tpst3_t = 0.666 ;
  210. * Endommagement de transition 2.Compression-3.Traction end_t3
  211. end_t3 = IPOL tpst3_t ltps lend ;
  212. *nh145313
  213. ** Sol.Ana. 1.Traction
  214. ltps_t1 = ENLE (ENLE ltps_t1 (DIME ltps_t1)) 1 ;
  215. nb1 = DIME ltps_t1 ;
  216. un1 = PROG nb1 * 1.D0 ;
  217. lepd01 = PROG nb1 * epd0 ;
  218. lat1 = PROG nb1 * at ;
  219. * defo.unidim.
  220. lepu1 = (IPOL ltps_t1 ec1) / long ;
  221. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  222. lepe1 = lepu1 ;
  223. dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
  224. lfiltr1 = LECT ;
  225. REPE b1 ;
  226. dt_i = EXTR dt1 &b1 ;
  227. SI (EGA &b1 1) ;
  228. dt_p1 = 0. ;
  229. FINSI ;
  230. ddt = dt_i - dt_p1 ;
  231. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  232. lfiltr1 = lfiltr1 ET (LECT &b1) ;
  233. FINSI ;
  234. dt_p1 = dt_i ;
  235. SI (EGA &b1 (DIME dt1)) ;
  236. QUIT b1 ;
  237. FINSI ;
  238. FIN b1 ;
  239. ltps_t1 = ENLE ltps_t1 lfiltr1 ;
  240. un1 = ENLE un1 lfiltr1 ;
  241. lepu1 = ENLE lepu1 lfiltr1 ;
  242. dt1 = ENLE dt1 lfiltr1 ;
  243. lsig1 = (un1 - dt1) * you * lepu1 ;
  244. an01 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'D' dt1 ;
  245. an11 = EVOL 'TURQ' 'MANU' 'EPXX' lepu1 'SMXX' lsig1 ;
  246. epst1_t = IPOL tpst1_t ltps_t1 lepu1 ;
  247. *opti echo 0 ;
  248. *saut 1 lign ;
  249. *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ;
  250. *mess titi ;
  251. *saut 1 lign ;
  252. *opti echo 1 ;
  253.  
  254. ** Sol.Ana. 2.Compression
  255. ltps_c2 = ENLE ltps_c2 (DIME ltps_c2) ;
  256. nb2 = DIME ltps_c2 ;
  257. un2 = PROG nb2 * 1.D0 ;
  258. lepd02 = PROG nb2 * epd0 ;
  259. lac2 = PROG nb2 * ac ;
  260. * defo.unidim.
  261. lepu2 = (IPOL ltps_c2 ec1) / long ;
  262. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
  263. lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
  264. dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
  265. lfiltr2 = LECT ;
  266. dc_m = 0. ;
  267. REPE b2 ;
  268. dc_i = EXTR dc2 &b2 ;
  269. SI (EGA &b2 1) ;
  270. dc_p = 1. ;
  271. FINSI ;
  272. ddc = dc_i - dc_p ;
  273. *mess '=== Boucle b2 , passage' ' ' &b2 ;
  274. *mess ' dom.max ' ' ' dc_m;
  275. *mess ' dom.prec.' ' ' dc_p ;
  276. *mess ' dom.cour.' ' ' dc_i ;
  277. *mess ' incr.dom.' ' ' ddc ;
  278. SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  279. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  280. *mess ' => on filtre';
  281. SINON ;
  282. *mess ' a garder si le dommage augmente...';
  283. dc_m = MAXI dc_m dc_i ;
  284. SI (dc_i < dc_m) ;
  285. *mess ' ... NON => on ne garde pas';
  286. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  287. SINON ;
  288. *mess ' ... OUI => on garde';
  289. FINSI ;
  290. FINSI ;
  291. dc_p = dc_i ;
  292. SI (EGA &b2 (DIME dc2)) ;
  293. QUIT b2 ;
  294. FINSI ;
  295. FIN b2 ;
  296. ltps_c2 = ENLE ltps_c2 lfiltr2 ;
  297. un2 = ENLE un2 lfiltr2 ;
  298. lepu2 = ENLE lepu2 lfiltr2 ;
  299. dc2 = ENLE dc2 lfiltr2 ;
  300. lsig2 = (un2 - dc2) * you * lepu2 ;
  301. an02 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'D' dc2 ;
  302. tpsc2_t = IPOL end_t1 dc2 ltps_c2 ;
  303. an12 = EVOL 'TURQ' 'MANU' 'EPXX' lepu2 'SMXX' lsig2 ;
  304. epsc2_t = IPOL tpsc2_t ltps_c2 lepu2 ;
  305. *opti echo 0 ;
  306. *saut 1 lign ;
  307. *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ;
  308. *mess titi ;
  309. *saut 1 lign ;
  310. *opti echo 1 ;
  311.  
  312. ** Sol.Ana. 3.Traction
  313. ltps_t3 = ENLE ltps_t3 1 ;
  314. nb3 = DIME ltps_t3 ;
  315. un3 = PROG nb3 * 1.D0 ;
  316. lepd03 = PROG nb3 * epd0 ;
  317. lat3 = PROG nb3 * at ;
  318. * defo.unidim.
  319. lepu3 = (IPOL ltps_t3 ec1) / long ;
  320. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  321. lepe3 = lepu3 ;
  322. dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ;
  323. lfiltr3 = LECT ;
  324. REPE b3 ;
  325. dt_i = EXTR dt3 &b3 ;
  326. SI (EGA &b3 1) ;
  327. dt_p3 = dt_p1 ;
  328. FINSI ;
  329. ddt = dt_i - dt_p3 ;
  330. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  331. lfiltr3 = lfiltr3 ET (LECT &b3) ;
  332. FINSI ;
  333. dt_p3 = dt_i ;
  334. SI (EGA &b3 (DIME dt3)) ;
  335. QUIT b3 ;
  336. FINSI ;
  337. FIN b3 ;
  338. ltps_t3 = ENLE ltps_t3 lfiltr3 ;
  339. un3 = ENLE un3 lfiltr3 ;
  340. lepu3 = ENLE lepu3 lfiltr3 ;
  341. dt3 = ENLE dt3 lfiltr3 ;
  342. lsig3 = (un3 - dt3) * you * lepu3 ;
  343. an03 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'D' dt3 ;
  344. tpst3_t = IPOL end_t3 dt3 ltps_t3 ;
  345. an13 = EVOL 'TURQ' 'MANU' 'EPXX' lepu3 'SMXX' lsig3 ;
  346. epst3_t = IPOL tpst3_t ltps_t3 lepu3 ;
  347. *opti echo 0 ;
  348. *saut 1 lign ;
  349. *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ;
  350. *mess titi ;
  351. *saut 1 lign ;
  352. *opti echo 1 ;
  353.  
  354. SI ITRAC1 ;
  355. DESS (ev0 ET an01 ET an02 ET an03) 'TITR' '[3D V] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  356. DESS (ev1 ET an11 ET an12 ET an13) 'TITR' '[3D V] Contrainte vs Deformation' 'LEGE' 'NO' tdess ;
  357. DESS ev2 'TITR' '[3D V] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  358. FINSI ;
  359. * evolutions temporelles a tous les points de Gauss
  360. ng = 8 ;
  361. tleg = TABL ;
  362. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  363. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  364. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  365. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  366. tleg . 5 = MOT 'MARQ TRID NOLI' ;
  367. tleg . 6 = MOT 'MARQ TRIU NOLI' ;
  368. tleg . 7 = MOT 'MARQ TRIL NOLI' ;
  369. tleg . 8 = MOT 'MARQ TRIR NOLI' ;
  370. tleg . 'TITRE' = TABL ;
  371. REPE b ng ;
  372. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  373. FIN b ;
  374. * endommagement
  375. evend = VIDE 'EVOLUTIO' ;
  376. REPE b ng ;
  377. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  378. FIN b ;
  379. *nh145313
  380. tleg . (ng+1) = MOT 'MARQ CROI REGU' ;
  381. tleg . 'TITRE' . (ng+1) = MOT 'Ref_1.Traction' ;
  382. tleg . (ng+2) = MOT 'MARQ PLUS REGU' ;
  383. tleg . 'TITRE' . (ng+2) = MOT 'Ref_2.Compression' ;
  384. tleg . (ng+3) = MOT 'MARQ S CROI REGU' ;
  385. tleg . 'TITRE' . (ng+3) = MOT 'Ref_3.Traction' ;
  386. SI ITRAC1 ;
  387. DESS (evend ET an01 ET an02 ET an03) 'LEGE' 'SE' tleg 'TITR' '[3D V] D vs Temps' ;
  388. FINSI ;
  389. * contrainte
  390. evsmxx = VIDE 'EVOLUTIO' ;
  391. REPE b ng ;
  392. evsmxx = evsmxx ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMXX' 1 1 &b) ;
  393. FIN b ;
  394. *nh145313
  395. ansmxx1 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'SMXX' lsig1 ;
  396. ansmxx2 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'SMXX' lsig2 ;
  397. ansmxx3 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'SMXX' lsig3 ;
  398. SI ITRAC1 ;
  399. DESS (evsmxx ET ansmxx1 ET ansmxx2 ET ansmxx3) 'LEGE' 'NE' tleg 'TITR' '[3D V] SMXX vs Temps' ;
  400. FINSI ;
  401. * deformation
  402. evepxx = VIDE 'EVOLUTIO' ;
  403. REPE b ng ;
  404. evepxx = evepxx ET (EVOL 'TURQ' 'TEMP' t 'DEFORMATIONS' 'EPXX' 1 1 &b) ;
  405. FIN b ;
  406. SI ITRAC1 ;
  407. DESS evepxx 'LEGE' 'NE' tleg 'TITR' '[3D V] EPXX vs Temps' ;
  408. FINSI ;
  409. * deformee
  410. REPE b3 (DIME tt) ;
  411. tps1 = tt . (&b3 - 1) ;
  412. * trace de la deformee (pour controle visuel)
  413. def1 = DEFO mail (tu . (&b3 - 1)) 33. 'ROUG' ;
  414. tit1 = CHAI '[3D V] Deformee au temps' ' ' tps1 ;
  415. SI ITRAC1 ;
  416. * TRAC (def0 ET def1) 'TITR' tit1 ;
  417. FINSI ;
  418. FIN b3 ;
  419. SI ITRAC1 ;
  420. TRAC (def0 ET def1) 'TITR' tit1 ;
  421. FINSI ;
  422. * comparaison Calcul / Reference sur la contrainte moyenne
  423. * 1.Traction, courbes réduites
  424. lepu1_red = PROG ;
  425. lsig1_red = PROG ;
  426. born_inf = EXTR lepu1 1 ;
  427. born_sup = epst1_t ;
  428. REPE b_an11 (dime lepu1) ;
  429. xi = EXTR lepu1 &b_an11 ;
  430. yi = EXTR lsig1 &b_an11 ;
  431. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup)) ;
  432. lepu1_red = lepu1_red et (PROG xi) ;
  433. lsig1_red = lsig1_red et (PROG yi) ;
  434. FINSI ;
  435. FIN b_an11 ;
  436. an11_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu1_red 'SMXX' lsig1_red ;
  437.  
  438. leps_red = PROG ;
  439. lsig_red = PROG ;
  440. ltps_red = PROG ;
  441. xp = 0. ;
  442. *mess 'born_inf' born_inf ' born_sup' born_sup ' 0.5inst_1a' (05.*inst_1a);
  443. REPE b_ev1 (dime leps) ;
  444. ti = EXTR ltps &b_ev1 ;
  445. xi = EXTR leps &b_ev1 ;
  446. dx = xi - xp ;
  447. yi = EXTR lsig &b_ev1 ;
  448. *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx;
  449. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (&lt;EG ti (05.*inst_1a))) ;
  450. leps_red = leps_red et (PROG xi) ;
  451. lsig_red = lsig_red et (PROG yi) ;
  452. ltps_red = ltps_red et (PROG ti) ;
  453. *mess ' => retenu';
  454. FINSI ;
  455. xp = xi ;
  456. FIN b_ev1 ;
  457. ev1_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  458. *opti echo 0 ;
  459. *saut 1 lign ;
  460. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ;
  461. *mess titi;
  462. *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  463. *saut 1 lign ;
  464. *opti echo 1;
  465.  
  466. lsiga_red = 'IPOL' an11_red leps_red ;
  467. ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  468. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler1 ;
  469. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  470. mer1 = (INTG eer1) / dtps ;
  471. tit1 = CHAI '[3D V] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 1.Traction, moy.int.|Ecart|' ' ' mer1 ;
  472. SI ITRAC1 ;
  473. DESS eer1 'TITR' tit1 ;
  474. FINSI ;
  475.  
  476. * 2.Compression, courbes réduites
  477. lepu2_red = PROG ;
  478. lsig2_red = PROG ;
  479. born_inf = epsc2_t ;
  480. born_sup = EXTR lepu2 (DIME lepu2) ;
  481. REPE b_an12 (dime lepu2) ;
  482. xi = EXTR lepu2 &b_an12 ;
  483. yi = EXTR lsig2 &b_an12 ;
  484. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup)) ;
  485. lepu2_red = lepu2_red et (PROG xi) ;
  486. lsig2_red = lsig2_red et (PROG yi) ;
  487. FINSI ;
  488. FIN b_an12 ;
  489. an12_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu2_red 'SMXX' lsig2_red ;
  490.  
  491. leps_red = PROG ;
  492. lsig_red = PROG ;
  493. ltps_red = PROG ;
  494. xp = 0. ;
  495. *mess 'born_inf' born_inf ' born_sup' born_sup ' t(dc2max)' 0.666;
  496. REPE b_ev2 (dime leps) ;
  497. ti = EXTR ltps &b_ev2 ;
  498. xi = EXTR leps &b_ev2 ;
  499. dx = xi - xp ;
  500. yi = EXTR lsig &b_ev2 ;
  501. *mess '=== Boucle b_ev2, passage' &b_ev2 ' ti' ti ' xi' xi ' dx' dx;
  502. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup) ET (&lt;eg dx 0)) ;
  503. leps_red = leps_red et (PROG xi) ;
  504. lsig_red = lsig_red et (PROG yi) ;
  505. ltps_red = ltps_red et (PROG ti) ;
  506. *mess ' => retenu';
  507. FINSI ;
  508. xp = xi ;
  509. FIN b_ev2 ;
  510. ev2_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  511. *opti echo 0 ;
  512. *saut 1 lign ;
  513. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : tpsc2_t' tpsc2_t ;
  514. *mess titi;
  515. *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  516. *saut 1 lign ;
  517. *opti echo 1;
  518.  
  519. lsiga_red = 'IPOL' an12_red leps_red ;
  520. ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
  521. eer2 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red '|Ec.rel|SMXX' ler2 ;
  522. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  523. mer2 = (INTG eer2) / dtps ;
  524. tit2 = CHAI '[3D V] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps en 2.Compression, moy.int.|Ecart|' ' ' mer2 ;
  525. SI ITRAC1 ;
  526. DESS eer2 'TITR' tit2 ;
  527. FINSI ;
  528.  
  529. * 3.Traction, courbes réduites
  530. lepu3_red = PROG ;
  531. lsig3_red = PROG ;
  532. born_inf = EXTR lepu3 1 ;
  533. born_sup = 1.E3 ;
  534. *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3;
  535. REPE b_an13 (dime lepu3) ;
  536. di = EXTR dt3 &b_an13 ;
  537. xi = EXTR lepu3 &b_an13 ;
  538. yi = EXTR lsig3 &b_an13 ;
  539. *mess '=== Boucle b_an13, passage' &b_an13 ' di' di ' xi' xi;
  540. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG di end_t3)) ;
  541. lepu3_red = lepu3_red et (PROG xi) ;
  542. lsig3_red = lsig3_red et (PROG yi) ;
  543. *mess ' => retenu';
  544. FINSI ;
  545. FIN b_an13 ;
  546. an13_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu3_red 'SMXX' lsig3_red ;
  547.  
  548. leps_red = PROG ;
  549. lsig_red = PROG ;
  550. ltps_red = PROG ;
  551. xp = 0. ;
  552. *mess 'born_inf' born_inf ' born_sup' born_sup ' tpst3_t' tpst3_t;
  553. REPE b_ev3 (dime leps) ;
  554. ti = EXTR ltps &b_ev3 ;
  555. xi = EXTR leps &b_ev3 ;
  556. dx = xi - xp ;
  557. yi = EXTR lsig &b_ev3 ;
  558. *mess '=== Boucle b_ev3, passage' &b_ev3 ' ti' ti ' xi' xi ' dx' dx;
  559. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ;
  560. * SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0)) ;
  561. leps_red = leps_red et (PROG xi) ;
  562. lsig_red = lsig_red et (PROG yi) ;
  563. ltps_red = ltps_red et (PROG ti) ;
  564. *mess ' => retenu';
  565. FINSI ;
  566. xp = xi ;
  567. FIN b_ev3 ;
  568. ev3_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  569. *opti echo 0 ;
  570. *saut 1 lign ;
  571. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ;
  572. *mess titi;
  573. *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  574. *saut 1 lign ;
  575. *opti echo 1;
  576.  
  577. lsiga_red = 'IPOL' an13_red leps_red ;
  578. ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  579. eer3 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler3 ;
  580. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  581. mer3 = (INTG eer3) / dtps ;
  582. tit3 = CHAI '[3D V] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 3.Traction, moy.int.|Ecart|' ' ' mer3 ;
  583. SI ITRAC1 ;
  584. DESS eer3 'TITR' tit3 ;
  585. FINSI ;
  586.  
  587. tdes1 = 'TABLE' ;
  588. tdes1.'TITRE' = 'TABLE' ;
  589. tdes1 . 1 = MOT 'MARQ CROI' ;
  590. tdes1 . 'TITRE' . 1 = MOT '1.Traction' ;
  591. tdes1 . 2 = MOT 'MARQ PLUS' ;
  592. tdes1 . 'TITRE' . 2 = MOT '2.Compression' ;
  593. tdes1 . 3 = MOT 'MARQ S CROI' ;
  594. tdes1 . 'TITRE' . 3 = MOT '3.Traction' ;
  595. tit1 = CHAI '[3D V] |Ec.r|Contr. vs tps, moy.int.|Ec.r| en 1.Trac.' mer1 ' 2.Compr.' mer2 ' 3.Trac.' mer3 ;;
  596. SI ITRAC1 ;
  597. DESS (eer1 et eer2 et eer3) 'LEGE' 'NO' tdes1 'TITR' tit1 ;
  598. FINSI ;
  599. OPTI ECHO 0 ;
  600. SAUT 1 LIGN ;
  601. MESS ' **************** C A S #1 : 3 D V O L U M I Q U E ****************';
  602. SAUT 1 LIGN ;
  603. SI ((MAXI mer1 mer2 mer3) < 1.E-6) ;
  604. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  605. MESS ' - phase 1.Traction' ' ' mer1 ;
  606. MESS ' - phase 2.Compression' ' ' mer2 ;
  607. MESS ' - phase 3.Traction' ' ' mer3 ;
  608. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-06 => OK' ;
  609. SAUT 1 LIGN ;
  610. SINO ;
  611. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  612. MESS ' - phase 1.Traction' ' ' mer1 ;
  613. MESS ' - phase 2.Compression' ' ' mer2 ;
  614. MESS ' - phase 3.Traction' ' ' mer3 ;
  615. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-06 => ECHEC' ;
  616. IERR = VRAI ;
  617. SAUT 1 LIGN ;
  618. FINS ;
  619. SAUT 1 LIGN ;
  620. OPTI ECHO 1 ;
  621. FINSI ;
  622.  
  623.  
  624.  
  625.  
  626.  
  627. *********** C A S #2 : 3 D P O U T R E A F I B R E ************
  628. SI (EXIS lcas 2) ;
  629.  
  630. ** Options generales
  631. OPTI 'DIME' 3 'MODE' 'TRID' 'ELEM' 'CUB8' ;
  632.  
  633. ** Maillage
  634. p1s = (-0.5 * epai) (-0.5 * epai) 0. ;
  635. p2s = (-0.5 * epai) ( 0.5 * epai) 0. ;
  636. l12s = DROI 1 p1s p2s ;
  637. mails = l12s TRAN 1 (epai 0. 0.) ;
  638. p1 = 0. 0. 0. ;
  639. p2 = long 0. 0. ;
  640. mail = DROI 1 p1 p2 ;
  641. mes1 = MESU mails ;
  642. *nh145313
  643. cadr1 = COUL ((-0.1 0. 0.) ET (1.05 0. 0.)) 'BLAN' ;
  644. rep1 = @REPERE (-0.2 -0.2 0.) (PROG 0.2 0.2 0.2) 'TURQ' ;
  645. SI ITRAC1 ;
  646. TRAC 'QUAL' (cadr1 ET rep1 ET (mails COUL 'VERT') ET (mail COUL 'ROUG')) 'TITR' '[3D PaF] Maillages de la Poutre et de sa Section' ;
  647. FINSI ;
  648.  
  649.  
  650. ** Modele et caracteristiques materiau
  651. mos = MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS' ;
  652. mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
  653. 'ALPY' 1. 'ALPZ' 1. ;
  654. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ;
  655. ma = MATE mo 'MODS' mos 'MATS' mas 'VECT' (0. 1. 0.) ;
  656.  
  657. ** Blocages
  658. blgauche = BLOQ 'DEPL' 'ROTA' p1 ;
  659. bldroite = BLOQ 'UX' p2 ;
  660. bl = blgauche ET bldroite ;
  661. *nh145313
  662. bldroit2 = BLOQ 'ROTA' p2 ;
  663. bl = bl ET bldroit2 ;
  664.  
  665. ** Chargements
  666. didroite = DEPI bldroite 1. ;
  667. ec1 = EVOL 'MANU' (PROG 0. (0.5*inst_1a) inst_1a 0.666 inst_2a 1. )
  668. (PROG 0. u1max 0. u2max 0. u3max) ;
  669. cha = CHAR 'DIMP' didroite ec1 ;
  670.  
  671. ** Tracé des blocages et du chargement
  672. re0 = @REPERE (-0.2 -0.2 0.) (PROG 0.2 0.2 0.2) ;
  673. mor = MODE re0 'MECANIQUE' 'BARR' ;
  674. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  675. rir = RIGI mor mar ;
  676. vf = VECT didroite 'FLX' ' ' ' ' 'ROUG' 0.1 ;
  677. SI ITRAC1 ;
  678. TRAC ((RIGI mo ma) ET blgauche ET rir) vf 'NOLE' 'TITR' '[3D PaF] Blocages et chargement' ;
  679. FINSI ;
  680.  
  681. ** Resolution
  682. t = TABL ;
  683. t . 'MODELE' = mo ;
  684. t . 'CARACTERISTIQUES' = ma ;
  685. t . 'BLOCAGES_MECANIQUES' = bl ;
  686. t . 'CHARGEMENT' = cha ;
  687. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 3.E-3 (0.5*inst_1a)
  688. 'PAS' 3.E-3 inst_1a
  689. 'PAS' 1.E-2 0.666
  690. 'PAS' 1.E-2 inst_2a
  691. 'PAS' 1.E-2 0.9629
  692. 'PAS' 3.E-3 1. ;
  693. t . 'MES_SAUVEGARDES' = TABL ;
  694. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  695. PASAPAS t ;
  696.  
  697. ** Post traitement
  698. * courbes : endommagement moyen vs temps
  699. * contrainte moyenne vs deformation moyenne
  700. * force de reaction vs deplacement impose
  701. * evolutions temporelles a tous les points de Gauss
  702. ng = 4 ;
  703. tleg = TABL ;
  704. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  705. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  706. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  707. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  708. tleg . 'TITRE' = TABL ;
  709. REPE b ng ;
  710. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  711. FIN b ;
  712. *nh145313
  713. tleg . (ng+1) = MOT 'MARQ CROI REGU' ;
  714. tleg . 'TITRE' . (ng+1) = MOT 'Ref_1.Traction' ;
  715. tleg . (ng+2) = MOT 'MARQ PLUS REGU' ;
  716. tleg . 'TITRE' . (ng+2) = MOT 'Ref_2.Compression' ;
  717. tleg . (ng+3) = MOT 'MARQ S CROI REGU' ;
  718. tleg . 'TITRE' . (ng+3) = MOT 'Ref_3.Traction' ;
  719. tt = t . 'TEMPS' ;
  720. tv = t . 'VARIABLES_INTERNES' ;
  721. tu = t . 'DEPLACEMENTS' ;
  722. tr = t . 'REACTIONS' ;
  723. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  724. ltps = PROG ;
  725. ltps_t1 = PROG ;
  726. ltps_c2 = PROG ;
  727. ltps_t3 = PROG ;
  728. lend1 = PROG ;
  729. lend2 = PROG ;
  730. lend3 = PROG ;
  731. lend4 = PROG ;
  732. lsig1 = PROG ;
  733. lsig2 = PROG ;
  734. lsig3 = PROG ;
  735. lsig4 = PROG ;
  736. leps1 = PROG ;
  737. leps2 = PROG ;
  738. leps3 = PROG ;
  739. leps4 = PROG ;
  740. ldep = PROG ;
  741. lrea = PROG ;
  742. REPE b0 (DIME tt) ;
  743. tps1 = tt . (&b0 - 1) ;
  744. * Liste des instants : globale (ltps)
  745. * de 1.traction (ltps_t1)
  746. * de 2.compression (ltps_c2)
  747. * de 3.traction (ltps_t3)
  748. ltps = ltps ET tps1 ;
  749. SI (&lt;EG tps1 inst_1a) ;
  750. ltps_t1 = ltps_t1 ET tps1 ;
  751. SINON ;
  752. SI (&lt;EG tps1 inst_2a) ;
  753. ltps_c2 = ltps_c2 ET tps1 ;
  754. SINON ;
  755. ltps_t3 = ltps_t3 ET tps1 ;
  756. FINSI ;
  757. FINSI ;
  758. SI (EGA &b0 1) ;
  759. lend1 = lend1 ET 0. ;
  760. lend2 = lend2 ET 0. ;
  761. lend3 = lend3 ET 0. ;
  762. lend4 = lend4 ET 0. ;
  763. lsig1 = lsig1 ET 0. ;
  764. lsig2 = lsig2 ET 0. ;
  765. lsig3 = lsig3 ET 0. ;
  766. lsig4 = lsig4 ET 0. ;
  767. leps1 = leps1 ET 0. ;
  768. leps2 = leps2 ET 0. ;
  769. leps3 = leps3 ET 0. ;
  770. leps4 = leps4 ET 0. ;
  771. SINON ;
  772. lend1 = lend1 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1) ;
  773. lend2 = lend2 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 2) ;
  774. lend3 = lend3 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 3) ;
  775. lend4 = lend4 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 4) ;
  776. lsig1 = lsig1 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 1) ;
  777. lsig2 = lsig2 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 2) ;
  778. lsig3 = lsig3 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 3) ;
  779. lsig4 = lsig4 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 4) ;
  780. leps1 = leps1 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 1) ;
  781. leps2 = leps2 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 2) ;
  782. leps3 = leps3 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 3) ;
  783. leps4 = leps4 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 4) ;
  784. end1 = EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1 ;
  785. FINSI ;
  786. u1 = EXTR (tu . (&b0 - 1)) 'UX' p2 ;
  787. rea1 = EXTR (tr . (&b0 - 1)) 'FX' p1 ;
  788. ldep = ldep ET u1 ;
  789. lrea = lrea ET rea1 ;
  790. FIN b0 ;
  791. ev0 = (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend1) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend2) ET
  792. (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend3) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend4) ;
  793. ev1 = (EVOL 'ROUG' 'MANU' 'EPXX' leps1 'SMXX' lsig1) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps2 'SMXX' lsig2) ET
  794. (EVOL 'ROUG' 'MANU' 'EPXX' leps3 'SMXX' lsig3) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps4 'SMXX' lsig4) ;
  795. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  796. * Moyennes des listreels en chaque pt de Gauss
  797. lend = 0.25 * (lend1 + lend2 + lend3 + lend4) ;
  798. lsig = 0.25 * (lsig1 + lsig2 + lsig3 + lsig4) ;
  799. leps = 0.25 * (leps1 + leps2 + leps3 + leps4) ;
  800.  
  801. * Instant de transition 1.Traction-2.Compression tpst1_t
  802. tpst1_t = 0.5*inst_1a ;
  803. * Endommagement de transition 1.Traction-2.Compression end_t1
  804. end_t1 = IPOL tpst1_t ltps lend ;
  805. * Instant de transition 2.Compression-3.Traction tpst3_t
  806. tpst3_t = 0.666 ;
  807. * Endommagement de transition 2.Compression-3.Traction end_t3
  808. end_t3 = IPOL tpst3_t ltps lend ;
  809. *nh145313
  810. ** Sol.Ana. 1.Traction
  811. ltps_t1 = ENLE (ENLE ltps_t1 (DIME ltps_t1)) 1 ;
  812. nb1 = DIME ltps_t1 ;
  813. un1 = PROG nb1 * 1.D0 ;
  814. lepd01 = PROG nb1 * epd0 ;
  815. lat1 = PROG nb1 * at ;
  816. * defo.unidim.
  817. lepu1 = (IPOL ltps_t1 ec1) / long ;
  818. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  819. lepe1 = lepu1 ;
  820. dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
  821. lfiltr1 = LECT ;
  822. REPE b1 ;
  823. dt_i = EXTR dt1 &b1 ;
  824. SI (EGA &b1 1) ;
  825. dt_p1 = 0. ;
  826. FINSI ;
  827. ddt = dt_i - dt_p1 ;
  828. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  829. lfiltr1 = lfiltr1 ET (LECT &b1) ;
  830. FINSI ;
  831. dt_p1 = dt_i ;
  832. SI (EGA &b1 (DIME dt1)) ;
  833. QUIT b1 ;
  834. FINSI ;
  835. FIN b1 ;
  836. ltps_t1 = ENLE ltps_t1 lfiltr1 ;
  837. un1 = ENLE un1 lfiltr1 ;
  838. lepu1 = ENLE lepu1 lfiltr1 ;
  839. dt1 = ENLE dt1 lfiltr1 ;
  840. asig1 = (un1 - dt1) * you * lepu1 ;
  841. an01 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'D' dt1 ;
  842. an11 = EVOL 'TURQ' 'MANU' 'EPXX' lepu1 'SMXX' asig1 ;
  843. epst1_t = IPOL tpst1_t ltps_t1 lepu1 ;
  844. *opti echo 0 ;
  845. *saut 1 lign ;
  846. *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ;
  847. *mess titi ;
  848. *saut 1 lign ;
  849. *opti echo 1 ;
  850.  
  851. ** Sol.Ana. 2.Compression
  852. ltps_c2 = ENLE ltps_c2 (DIME ltps_c2) ;
  853. nb2 = DIME ltps_c2 ;
  854. un2 = PROG nb2 * 1.D0 ;
  855. lepd02 = PROG nb2 * epd0 ;
  856. lac2 = PROG nb2 * ac ;
  857. * defo.unidim.
  858. lepu2 = (IPOL ltps_c2 ec1) / long ;
  859. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
  860. lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
  861. dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
  862. lfiltr2 = LECT ;
  863. dc_m = 0. ;
  864. REPE b2 ;
  865. dc_i = EXTR dc2 &b2 ;
  866. SI (EGA &b2 1) ;
  867. dc_p = 1. ;
  868. FINSI ;
  869. ddc = dc_i - dc_p ;
  870. *mess '=== Boucle b2 , passage' ' ' &b2 ;
  871. *mess ' dom.max ' ' ' dc_m;
  872. *mess ' dom.prec.' ' ' dc_p ;
  873. *mess ' dom.cour.' ' ' dc_i ;
  874. *mess ' incr.dom.' ' ' ddc ;
  875. SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  876. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  877. *mess ' => on filtre';
  878. SINON ;
  879. *mess ' a garder si le dommage augmente...';
  880. dc_m = MAXI dc_m dc_i ;
  881. SI (dc_i < dc_m) ;
  882. *mess ' ... NON => on ne garde pas';
  883. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  884. SINON ;
  885. *mess ' ... OUI => on garde';
  886. FINSI ;
  887. FINSI ;
  888. dc_p = dc_i ;
  889. SI (EGA &b2 (DIME dc2)) ;
  890. QUIT b2 ;
  891. FINSI ;
  892. FIN b2 ;
  893. ltps_c2 = ENLE ltps_c2 lfiltr2 ;
  894. un2 = ENLE un2 lfiltr2 ;
  895. lepu2 = ENLE lepu2 lfiltr2 ;
  896. dc2 = ENLE dc2 lfiltr2 ;
  897. asig2 = (un2 - dc2) * you * lepu2 ;
  898. an02 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'D' dc2 ;
  899. tpsc2_t = IPOL end_t1 dc2 ltps_c2 ;
  900. an12 = EVOL 'TURQ' 'MANU' 'EPXX' lepu2 'SMXX' asig2 ;
  901. epsc2_t = IPOL tpsc2_t ltps_c2 lepu2 ;
  902. *opti echo 0 ;
  903. *saut 1 lign ;
  904. *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ;
  905. *mess titi ;
  906. *saut 1 lign ;
  907. *opti echo 1 ;
  908.  
  909. ** Sol.Ana. 3.Traction
  910. ltps_t3 = ENLE ltps_t3 1 ;
  911. nb3 = DIME ltps_t3 ;
  912. un3 = PROG nb3 * 1.D0 ;
  913. lepd03 = PROG nb3 * epd0 ;
  914. lat3 = PROG nb3 * at ;
  915. * defo.unidim.
  916. lepu3 = (IPOL ltps_t3 ec1) / long ;
  917. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  918. lepe3 = lepu3 ;
  919. dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ;
  920. lfiltr3 = LECT ;
  921. REPE b3 ;
  922. dt_i = EXTR dt3 &b3 ;
  923. SI (EGA &b3 1) ;
  924. dt_p3 = dt_p1 ;
  925. FINSI ;
  926. ddt = dt_i - dt_p3 ;
  927. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  928. lfiltr3 = lfiltr3 ET (LECT &b3) ;
  929. FINSI ;
  930. dt_p3 = dt_i ;
  931. SI (EGA &b3 (DIME dt3)) ;
  932. QUIT b3 ;
  933. FINSI ;
  934. FIN b3 ;
  935. ltps_t3 = ENLE ltps_t3 lfiltr3 ;
  936. un3 = ENLE un3 lfiltr3 ;
  937. lepu3 = ENLE lepu3 lfiltr3 ;
  938. dt3 = ENLE dt3 lfiltr3 ;
  939. asig3 = (un3 - dt3) * you * lepu3 ;
  940. an03 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'D' dt3 ;
  941. tpst3_t = IPOL end_t3 dt3 ltps_t3 ;
  942. an13 = EVOL 'TURQ' 'MANU' 'EPXX' lepu3 'SMXX' asig3 ;
  943. epst3_t = IPOL tpst3_t ltps_t3 lepu3 ;
  944. *opti echo 0 ;
  945. *saut 1 lign ;
  946. *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ;
  947. *mess titi ;
  948. *saut 1 lign ;
  949. *opti echo 1 ;
  950.  
  951. SI ITRAC1 ;
  952. DESS (ev0 ET an01 ET an02 ET an03) 'TITR' '[3D PaF] Endommagement vs Temps' 'LEGE' 'SE' tleg ;
  953. DESS (ev1 ET an11 ET an12 ET an13) 'TITR' '[3D PaF] Contrainte vs Deformation' 'LEGE' 'NO' tleg ;
  954. DESS ev2 'TITR' '[3D PaF] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  955. FINSI ;
  956. * deformee
  957. REPE b3 (DIME tt) ;
  958. tps1 = tt . (&b3 - 1) ;
  959. * trace de la deformee (pour controle visuel)
  960. def1 = DEFO mail (tu . (&b3 - 1)) 33. 'ROUG' ;
  961. tit1 = CHAI '[3D PaF] Deformee au temps' ' ' tps1 ;
  962. SI ITRAC1 ;
  963. * TRAC (def0 ET def1) 'TITR' tit1 ;
  964. FINSI ;
  965. FIN b3 ;
  966. SI ITRAC1 ;
  967. TRAC (def0 ET def1) 'TITR' tit1 ;
  968. FINSI ;
  969. * comparaison Calcul / Reference sur la contrainte moyenne
  970. * 1.Traction, courbes réduites
  971. lepu1_red = PROG ;
  972. asig1_red = PROG ;
  973. born_inf = EXTR lepu1 1 ;
  974. born_sup = epst1_t ;
  975. *opti echo 0;
  976. *mess 'Boucle de reduction Courbe analytique';
  977. *mess '=====================================';
  978. *mess 'born_inf' born_inf ' born_sup' born_sup;
  979. REPE b_an11 (dime lepu1) ;
  980. xi = EXTR lepu1 &b_an11 ;
  981. yi = EXTR asig1 &b_an11 ;
  982. *mess '=== Boucle b_an11, passage' &b_an11 ' xi' xi;
  983. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup)) ;
  984. lepu1_red = lepu1_red et (PROG xi) ;
  985. asig1_red = asig1_red et (PROG yi) ;
  986. *mess ' => retenu';
  987. FINSI ;
  988. FIN b_an11 ;
  989. an11_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu1_red 'SMXX' asig1_red ;
  990. *mess 'Courbe analytique reduite : an11_red';list an11_red;
  991. *opti echo 1;
  992.  
  993. leps_red = PROG ;
  994. lsig_red = PROG ;
  995. ltps_red = PROG ;
  996. xp = 0. ;
  997. *opti echo 0;
  998. *mess 'Boucle de reduction Courbe calculee';
  999. *mess '===================================';
  1000. *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-10' (born_sup + 1.E-10) ' 0.5inst_1a' (05.*inst_1a);
  1001. REPE b_ev1 (dime leps) ;
  1002. ti = EXTR ltps &b_ev1 ;
  1003. xi = EXTR leps &b_ev1 ;
  1004. dx = xi - xp ;
  1005. yi = EXTR lsig &b_ev1 ;
  1006. *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx;
  1007. SI ((>EG xi born_inf) ET (&lt;EG xi (born_sup + 1.E-10)) ET (>EG dx 0) ET (&lt;EG ti (05.*inst_1a))) ;
  1008. leps_red = leps_red et (PROG xi) ;
  1009. lsig_red = lsig_red et (PROG yi) ;
  1010. ltps_red = ltps_red et (PROG ti) ;
  1011. *mess ' => retenu';
  1012. FINSI ;
  1013. xp = xi ;
  1014. FIN b_ev1 ;
  1015. ev1_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  1016. *mess 'Courbe calculee reduite : ev1_red';list ev1_red;
  1017. *opti echo 1;
  1018. *opti echo 0 ;
  1019. *saut 1 lign ;
  1020. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ;
  1021. *mess titi;
  1022. *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  1023. *saut 1 lign ;
  1024. *opti echo 1;
  1025. lsiga_red = 'IPOL' an11_red leps_red ;
  1026. ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  1027. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler1 ;
  1028. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  1029. mer1 = (INTG eer1) / dtps ;
  1030. tit1 = CHAI '[3D PaF] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 1.Traction, moy.int.|Ecart|' ' ' mer1 ;
  1031. SI ITRAC1 ;
  1032. DESS eer1 'TITR' tit1 ;
  1033. FINSI ;
  1034.  
  1035. * 2.Compression, courbes réduites
  1036. lepu2_red = PROG ;
  1037. asig2_red = PROG ;
  1038. born_inf = epsc2_t ;
  1039. born_sup = EXTR lepu2 (DIME lepu2) ;
  1040. *opti echo 0;
  1041. *mess 'Boucle de reduction Courbe analytique';
  1042. *mess '=====================================';
  1043. *mess 'born_inf' born_inf ' born_sup' born_sup;
  1044. REPE b_an12 (dime lepu2) ;
  1045. xi = EXTR lepu2 &b_an12 ;
  1046. yi = EXTR asig2 &b_an12 ;
  1047. *mess '=== Boucle b_an12, passage' &b_an12 ' xi' xi;
  1048. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup)) ;
  1049. lepu2_red = lepu2_red et (PROG xi) ;
  1050. asig2_red = asig2_red et (PROG yi) ;
  1051. *mess ' => retenu';
  1052. FINSI ;
  1053. FIN b_an12 ;
  1054. an12_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu2_red 'SMXX' asig2_red ;
  1055. *mess 'Courbe analytique reduite : an12_red';list an12_red;
  1056. *opti echo 1;
  1057.  
  1058. leps_red = PROG ;
  1059. lsig_red = PROG ;
  1060. ltps_red = PROG ;
  1061. xp = 0. ;
  1062. *opti echo 0;
  1063. *mess 'Boucle de reduction Courbe calculee';
  1064. *mess '===================================';
  1065. *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-9' (born_sup - 1.E-10) ' dx' dx;
  1066. REPE b_ev2 (dime leps) ;
  1067. xi = EXTR leps &b_ev2 ;
  1068. dx = xi - xp ;
  1069. yi = EXTR lsig &b_ev2 ;
  1070. ti = EXTR ltps &b_ev2 ;
  1071. *mess '=== Boucle b_ev2, passage' &b_ev2 ' xi' xi ' dx' dx;
  1072. SI ((&lt;EG xi born_inf) ET (>EG xi (born_sup - 1.E-10)) ET (&lt;eg dx 0)) ;
  1073. leps_red = leps_red et (PROG xi) ;
  1074. lsig_red = lsig_red et (PROG yi) ;
  1075. ltps_red = ltps_red et (PROG ti) ;
  1076. *mess ' => retenu';
  1077. FINSI ;
  1078. xp = xi ;
  1079. FIN b_ev2 ;
  1080. ev2_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  1081. *mess 'Courbe calculee reduite : ev2_red';list ev2_red;
  1082. *opti echo 1;
  1083. *opti echo 0 ;
  1084. *saut 1 lign ;
  1085. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : born_inf' born_inf ' born_sup' born_sup ;
  1086. *mess titi;
  1087. *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  1088. *saut 1 lign ;
  1089. *opti echo 1;
  1090. lsiga_red = 'IPOL' an12_red leps_red ;
  1091. ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
  1092. eer2 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red '|Ec.rel|SMXX' ler2 ;
  1093. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  1094. mer2 = (INTG eer2) / dtps ;
  1095. tit2 = CHAI '[3D PaF] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps en 2.Compression, moy.int.|Ecart|' ' ' mer2 ;
  1096. SI ITRAC1 ;
  1097. DESS eer2 'TITR' tit2 ;
  1098. FINSI ;
  1099.  
  1100. * 3.Traction, courbes réduites
  1101. lepu3_red = PROG ;
  1102. asig3_red = PROG ;
  1103. born_inf = EXTR lepu3 1 ;
  1104. born_sup = 1.E3 ;
  1105. *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3;
  1106. REPE b_an13 (dime lepu3) ;
  1107. di = EXTR dt3 &b_an13 ;
  1108. xi = EXTR lepu3 &b_an13 ;
  1109. yi = EXTR asig3 &b_an13 ;
  1110. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG di end_t3)) ;
  1111. lepu3_red = lepu3_red et (PROG xi) ;
  1112. asig3_red = asig3_red et (PROG yi) ;
  1113. FINSI ;
  1114. FIN b_an13 ;
  1115. an13_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu3_red 'SMXX' asig3_red ;
  1116.  
  1117. leps_red = PROG ;
  1118. lsig_red = PROG ;
  1119. ltps_red = PROG ;
  1120. xp = 0. ;
  1121. REPE b_ev3 (dime leps) ;
  1122. ti = EXTR ltps &b_ev3 ;
  1123. xi = EXTR leps &b_ev3 ;
  1124. dx = xi - xp ;
  1125. yi = EXTR lsig &b_ev3 ;
  1126. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ;
  1127. leps_red = leps_red et (PROG xi) ;
  1128. lsig_red = lsig_red et (PROG yi) ;
  1129. ltps_red = ltps_red et (PROG ti) ;
  1130. FINSI ;
  1131. xp = xi ;
  1132. FIN b_ev3 ;
  1133. ev3_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  1134. *opti echo 0 ;
  1135. *saut 1 lign ;
  1136. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ;
  1137. *mess titi;
  1138. *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  1139. *saut 1 lign ;
  1140. *opti echo 1;
  1141. lsiga_red = 'IPOL' an13_red leps_red ;
  1142. ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  1143. eer3 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler3 ;
  1144. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  1145. mer3 = (INTG eer3) / dtps ;
  1146. tit3 = CHAI '[3D PaF] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 3.Traction, moy.int.|Ecart|' ' ' mer3 ;
  1147. SI ITRAC1 ;
  1148. DESS eer3 'TITR' tit3 ;
  1149. FINSI ;
  1150.  
  1151. tdes1 = 'TABLE' ;
  1152. tdes1.'TITRE' = 'TABLE' ;
  1153. tdes1 . 1 = MOT 'MARQ CROI' ;
  1154. tdes1 . 'TITRE' . 1 = MOT '1.Traction' ;
  1155. tdes1 . 2 = MOT 'MARQ PLUS' ;
  1156. tdes1 . 'TITRE' . 2 = MOT '2.Compression' ;
  1157. tdes1 . 3 = MOT 'MARQ S CROI' ;
  1158. tdes1 . 'TITRE' . 3 = MOT '3.Traction' ;
  1159. tit1 = CHAI '[3D PaF] |Ec.r|Contr. vs tps, moy.int.|Ec.r| en 1.Trac.' mer1 ' 2.Compr.' mer2 ' 3.Trac.' mer3 ;;
  1160. SI ITRAC1 ;
  1161. DESS (eer1 et eer2 et eer3) 'LEGE' 'NE' tdes1 'TITR' tit1 ;
  1162. FINSI ;
  1163. OPTI ECHO 0 ;
  1164. SAUT 1 LIGN ;
  1165. MESS ' *********** C A S #2 : 3 D P O U T R E A F I B R E ************';
  1166. SAUT 1 LIGN ;
  1167. SI ((MAXI mer1 mer2 mer3) < 1.E-6) ;
  1168. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  1169. MESS ' - phase 1.Traction' ' ' mer1 ;
  1170. MESS ' - phase 2.Compression' ' ' mer2 ;
  1171. MESS ' - phase 3.Traction' ' ' mer3 ;
  1172. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-06 => OK' ;
  1173. SAUT 1 LIGN ;
  1174. SINO ;
  1175. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  1176. MESS ' - phase 1.Traction' ' ' mer1 ;
  1177. MESS ' - phase 2.Compression' ' ' mer2 ;
  1178. MESS ' - phase 3.Traction' ' ' mer3 ;
  1179. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-06 => ECHEC' ;
  1180. IERR = VRAI ;
  1181. SAUT 1 LIGN ;
  1182. FINS ;
  1183. SAUT 1 LIGN ;
  1184. OPTI ECHO 1 ;
  1185. FINSI ;
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191. ******* C A S #3 : 2 D C O N T R A I N T E S P L A N E S ********
  1192. SI (EXIS lcas 3) ;
  1193.  
  1194. ** Options generales
  1195. OPTI 'DIME' 2 'MODE' 'PLAN' 'CONT' 'ELEM' 'QUA4' ;
  1196.  
  1197. ** Maillage
  1198. p1 = 0. 0. ;
  1199. p2 = 0. long ;
  1200. sgauche = DROI 1 p1 p2 ;
  1201. mail = sgauche TRAN 1 (long 0.) ;
  1202. sdroite = mail COTE 3 ;
  1203. p3 = sdroite POIN 'PROC' (long 0.) ;
  1204. mes1 = MESU mail ;
  1205. *nh145313
  1206. cadr1 = COUL ((0. 1.05) ET (1.05 1.05)) 'BLAN' ;
  1207. rep1 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) 'TURQ' ;
  1208. SI ITRAC1 ;
  1209. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sgauche COUL 'VERT') ET (sdroite COUL 'ROUG')) 'TITR' '[2D Plan cont.] Maillage' ;
  1210. FINSI ;
  1211.  
  1212. ** Modele et caracteristiques materiau
  1213. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  1214. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'DIM3' epai ;
  1215.  
  1216. ** Blocages
  1217. blgauche = BLOQ 'UX' sgauche ;
  1218. bldroite = BLOQ 'UX' sdroite ;
  1219. blrig = BLOQ 'UY' p1 ;
  1220. bl = blgauche ET bldroite ET blrig ;
  1221.  
  1222. ** Chargements
  1223. didroite = DEPI bldroite 1. ;
  1224. ec1 = EVOL 'MANU' (PROG 0. (0.5*inst_1a) inst_1a 0.666 inst_2a 1. )
  1225. (PROG 0. u1max 0. u2max 0. u3max) ;
  1226. cha = CHAR 'DIMP' didroite ec1 ;
  1227.  
  1228. ** Tracé des blocages et du chargement
  1229. re0 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) ;
  1230. mor = MODE re0 'MECANIQUE' 'BARR' ;
  1231. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  1232. rir = RIGI mor mar ;
  1233. vf = VECT didroite 'FLX' ' ' 'ROUG' ;
  1234. SI ITRAC1 ;
  1235. TRAC ((RIGI mo ma) ET blgauche ET blrig ET rir) vf 'NOLE' 'TITR' '[2D Plan cont.] Blocages et chargement' ;
  1236. FINSI ;
  1237.  
  1238. ** Resolution
  1239. t = TABL ;
  1240. t . 'MODELE' = mo ;
  1241. t . 'CARACTERISTIQUES' = ma ;
  1242. t . 'BLOCAGES_MECANIQUES' = bl ;
  1243. t . 'CHARGEMENT' = cha ;
  1244. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 3.E-3 (0.5*inst_1a)
  1245. 'PAS' 3.E-3 inst_1a
  1246. 'PAS' 1.E-2 0.666
  1247. 'PAS' 1.E-2 inst_2a
  1248. 'PAS' 1.E-2 0.9629
  1249. 'PAS' 3.E-3 1. ;
  1250. t . 'MOVA' = MOT 'D' ;
  1251. t . 'MES_SAUVEGARDES' = TABL ;
  1252. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  1253. PASAPAS t ;
  1254.  
  1255. ** Post traitement
  1256. * courbes : endommagement moyen vs temps
  1257. * contrainte moyenne vs deformation moyenne
  1258. * force de reaction vs deplacement impose
  1259. tt = t . 'TEMPS' ;
  1260. tc = t . 'CONTRAINTES' ;
  1261. te = t . 'DEFORMATIONS' ;
  1262. tv = t . 'VARIABLES_INTERNES' ;
  1263. tu = t . 'DEPLACEMENTS' ;
  1264. tr = t . 'REACTIONS' ;
  1265. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  1266. ltps = PROG ;
  1267. ltps_t1 = PROG ;
  1268. ltps_c2 = PROG ;
  1269. ltps_t3 = PROG ;
  1270. lend = PROG ;
  1271. lsig = PROG ;
  1272. leps = PROG ;
  1273. ldep = PROG ;
  1274. lrea = PROG ;
  1275. REPE b0 (DIME tt) ;
  1276. tps1 = tt . (&b0 - 1) ;
  1277. * Liste des instants : globale (ltps)
  1278. * de 1.traction (ltps_t1)
  1279. * de 2.compression (ltps_c2)
  1280. * de 3.traction (ltps_t3)
  1281. ltps = ltps ET tps1 ;
  1282. SI (&lt;EG tps1 inst_1a) ;
  1283. ltps_t1 = ltps_t1 ET tps1 ;
  1284. SINON ;
  1285. SI (&lt;EG tps1 inst_2a) ;
  1286. ltps_c2 = ltps_c2 ET tps1 ;
  1287. SINON ;
  1288. ltps_t3 = ltps_t3 ET tps1 ;
  1289. FINSI ;
  1290. FINSI ;
  1291. end1 = (INTG mo (tv . (&b0 - 1)) 'D') / mes1 ;
  1292. sig1 = (INTG mo (tc . (&b0 - 1)) 'SMXX') / mes1 ;
  1293. eps1 = (INTG mo (te . (&b0 - 1)) 'EPXX') / mes1 ;
  1294. u1 = EXTR (tu . (&b0 - 1)) 'UX' p3 ;
  1295. rea1 = 0. ;
  1296. SI (NEG &b0 1) ;
  1297. rea1 = @TOTAL (tr . (&b0 - 1)) sgauche 'FX' ;
  1298. FINSI ;
  1299. lend = lend ET end1 ;
  1300. lsig = lsig ET sig1 ;
  1301. leps = leps ET eps1 ;
  1302. ldep = ldep ET u1 ;
  1303. lrea = lrea ET rea1 ;
  1304. FIN b0 ;
  1305. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  1306. ev1 = EVOL 'ROUG' 'MANU' 'EPXX' leps 'SMXX' lsig ;
  1307. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  1308. * Instant de transition 1.Traction-2.Compression tpst1_t
  1309. tpst1_t = 0.5*inst_1a ;
  1310. * Endommagement de transition 1.Traction-2.Compression end_t1
  1311. end_t1 = IPOL tpst1_t ltps lend ;
  1312. * Instant de transition 2.Compression-3.Traction tpst3_t
  1313. tpst3_t = 0.666 ;
  1314. * Endommagement de transition 2.Compression-3.Traction end_t3
  1315. end_t3 = IPOL tpst3_t ltps lend ;
  1316. *nh145313
  1317. ** Sol.Ana. 1.Traction
  1318. ltps_t1 = ENLE (ENLE ltps_t1 (DIME ltps_t1)) 1 ;
  1319. nb1 = DIME ltps_t1 ;
  1320. un1 = PROG nb1 * 1.D0 ;
  1321. lepd01 = PROG nb1 * epd0 ;
  1322. lat1 = PROG nb1 * at ;
  1323. * defo.unidim.
  1324. lepu1 = (IPOL ltps_t1 ec1) / long ;
  1325. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  1326. lepe1 = lepu1 ;
  1327. dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
  1328. lfiltr1 = LECT ;
  1329. REPE b1 ;
  1330. dt_i = EXTR dt1 &b1 ;
  1331. SI (EGA &b1 1) ;
  1332. dt_p1 = 0. ;
  1333. FINSI ;
  1334. ddt = dt_i - dt_p1 ;
  1335. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  1336. lfiltr1 = lfiltr1 ET (LECT &b1) ;
  1337. FINSI ;
  1338. dt_p1 = dt_i ;
  1339. SI (EGA &b1 (DIME dt1)) ;
  1340. QUIT b1 ;
  1341. FINSI ;
  1342. FIN b1 ;
  1343. ltps_t1 = ENLE ltps_t1 lfiltr1 ;
  1344. un1 = ENLE un1 lfiltr1 ;
  1345. lepu1 = ENLE lepu1 lfiltr1 ;
  1346. dt1 = ENLE dt1 lfiltr1 ;
  1347. lsig1 = (un1 - dt1) * you * lepu1 ;
  1348. an01 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'D' dt1 ;
  1349. an11 = EVOL 'TURQ' 'MANU' 'EPXX' lepu1 'SMXX' lsig1 ;
  1350. epst1_t = IPOL tpst1_t ltps_t1 lepu1 ;
  1351. *opti echo 0 ;
  1352. *saut 1 lign ;
  1353. *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ;
  1354. *mess titi ;
  1355. *saut 1 lign ;
  1356. *opti echo 1 ;
  1357.  
  1358. ** Sol.Ana. 2.Compression
  1359. ltps_c2 = ENLE ltps_c2 (DIME ltps_c2) ;
  1360. nb2 = DIME ltps_c2 ;
  1361. un2 = PROG nb2 * 1.D0 ;
  1362. lepd02 = PROG nb2 * epd0 ;
  1363. lac2 = PROG nb2 * ac ;
  1364. * defo.unidim.
  1365. lepu2 = (IPOL ltps_c2 ec1) / long ;
  1366. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
  1367. lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
  1368. dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
  1369. lfiltr2 = LECT ;
  1370. dc_m = 0. ;
  1371. REPE b2 ;
  1372. dc_i = EXTR dc2 &b2 ;
  1373. SI (EGA &b2 1) ;
  1374. dc_p = 1. ;
  1375. FINSI ;
  1376. ddc = dc_i - dc_p ;
  1377. *mess '=== Boucle b2 , passage' ' ' &b2 ;
  1378. *mess ' dom.max ' ' ' dc_m;
  1379. *mess ' dom.prec.' ' ' dc_p ;
  1380. *mess ' dom.cour.' ' ' dc_i ;
  1381. *mess ' incr.dom.' ' ' ddc ;
  1382. SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  1383. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  1384. *mess ' => on filtre';
  1385. SINON ;
  1386. *mess ' a garder si le dommage augmente...';
  1387. dc_m = MAXI dc_m dc_i ;
  1388. SI (dc_i < dc_m) ;
  1389. *mess ' ... NON => on ne garde pas';
  1390. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  1391. SINON ;
  1392. *mess ' ... OUI => on garde';
  1393. FINSI ;
  1394. FINSI ;
  1395. dc_p = dc_i ;
  1396. SI (EGA &b2 (DIME dc2)) ;
  1397. QUIT b2 ;
  1398. FINSI ;
  1399. FIN b2 ;
  1400. ltps_c2 = ENLE ltps_c2 lfiltr2 ;
  1401. un2 = ENLE un2 lfiltr2 ;
  1402. lepu2 = ENLE lepu2 lfiltr2 ;
  1403. dc2 = ENLE dc2 lfiltr2 ;
  1404. lsig2 = (un2 - dc2) * you * lepu2 ;
  1405. an02 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'D' dc2 ;
  1406. tpsc2_t = IPOL end_t1 dc2 ltps_c2 ;
  1407. an12 = EVOL 'TURQ' 'MANU' 'EPXX' lepu2 'SMXX' lsig2 ;
  1408. epsc2_t = IPOL tpsc2_t ltps_c2 lepu2 ;
  1409. *opti echo 0 ;
  1410. *saut 1 lign ;
  1411. *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ;
  1412. *mess titi ;
  1413. *saut 1 lign ;
  1414. *opti echo 1 ;
  1415.  
  1416. ** Sol.Ana. 3.Traction
  1417. ltps_t3 = ENLE ltps_t3 1 ;
  1418. nb3 = DIME ltps_t3 ;
  1419. un3 = PROG nb3 * 1.D0 ;
  1420. lepd03 = PROG nb3 * epd0 ;
  1421. lat3 = PROG nb3 * at ;
  1422. * defo.unidim.
  1423. lepu3 = (IPOL ltps_t3 ec1) / long ;
  1424. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  1425. lepe3 = lepu3 ;
  1426. dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ;
  1427. lfiltr3 = LECT ;
  1428. REPE b3 ;
  1429. dt_i = EXTR dt3 &b3 ;
  1430. SI (EGA &b3 1) ;
  1431. dt_p3 = dt_p1 ;
  1432. FINSI ;
  1433. ddt = dt_i - dt_p3 ;
  1434. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  1435. lfiltr3 = lfiltr3 ET (LECT &b3) ;
  1436. FINSI ;
  1437. dt_p3 = dt_i ;
  1438. SI (EGA &b3 (DIME dt3)) ;
  1439. QUIT b3 ;
  1440. FINSI ;
  1441. FIN b3 ;
  1442. ltps_t3 = ENLE ltps_t3 lfiltr3 ;
  1443. un3 = ENLE un3 lfiltr3 ;
  1444. lepu3 = ENLE lepu3 lfiltr3 ;
  1445. dt3 = ENLE dt3 lfiltr3 ;
  1446. lsig3 = (un3 - dt3) * you * lepu3 ;
  1447. an03 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'D' dt3 ;
  1448. tpst3_t = IPOL end_t3 dt3 ltps_t3 ;
  1449. an13 = EVOL 'TURQ' 'MANU' 'EPXX' lepu3 'SMXX' lsig3 ;
  1450. epst3_t = IPOL tpst3_t ltps_t3 lepu3 ;
  1451. *opti echo 0 ;
  1452. *saut 1 lign ;
  1453. *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ;
  1454. *mess titi ;
  1455. *saut 1 lign ;
  1456. *opti echo 1 ;
  1457.  
  1458. SI ITRAC1 ;
  1459. DESS (ev0 ET an01 ET an02 ET an03) 'TITR' '[2D Plan cont.] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  1460. DESS (ev1 ET an11 ET an12 ET an13) 'TITR' '[2D Plan cont.] Contrainte vs Deformation' 'LEGE' 'NO' tdess ;
  1461. DESS ev2 'TITR' '[2D Plan cont.] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  1462. FINSI ;
  1463. * evolutions temporelles a tous les points de Gauss
  1464. ng = 4 ;
  1465. tleg = TABL ;
  1466. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  1467. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  1468. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  1469. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  1470. tleg . 'TITRE' = TABL ;
  1471. REPE b ng ;
  1472. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  1473. FIN b ;
  1474. * endommagement
  1475. evend = VIDE 'EVOLUTIO' ;
  1476. REPE b ng ;
  1477. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  1478. FIN b ;
  1479. *nh145313
  1480. tleg . (ng+1) = MOT 'MARQ CROI REGU' ;
  1481. tleg . 'TITRE' . (ng+1) = MOT 'Ref_1.Traction' ;
  1482. tleg . (ng+2) = MOT 'MARQ PLUS REGU' ;
  1483. tleg . 'TITRE' . (ng+2) = MOT 'Ref_2.Compression' ;
  1484. tleg . (ng+3) = MOT 'MARQ S CROI REGU' ;
  1485. tleg . 'TITRE' . (ng+3) = MOT 'Ref_3.Traction' ;
  1486. SI ITRAC1 ;
  1487. DESS (evend ET an01 ET an02 ET an03) 'LEGE' 'SE' tleg 'TITR' '[2D Plan cont.] D vs Temps' ;
  1488. FINSI ;
  1489. * contrainte
  1490. evsmxx = VIDE 'EVOLUTIO' ;
  1491. REPE b ng ;
  1492. evsmxx = evsmxx ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMXX' 1 1 &b) ;
  1493. FIN b ;
  1494. *nh145313
  1495. ansmxx1 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'SMXX' lsig1 ;
  1496. ansmxx2 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'SMXX' lsig2 ;
  1497. ansmxx3 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'SMXX' lsig3 ;
  1498. SI ITRAC1 ;
  1499. DESS (evsmxx ET ansmxx1 ET ansmxx2 ET ansmxx3) 'LEGE' 'NE' tleg 'TITR' '[2D Plan cont.] SMXX vs Temps' ;
  1500. FINSI ;
  1501. * deformation
  1502. evepxx = VIDE 'EVOLUTIO' ;
  1503. REPE b ng ;
  1504. evepxx = evepxx ET (EVOL 'TURQ' 'TEMP' t 'DEFORMATIONS' 'EPXX' 1 1 &b) ;
  1505. FIN b ;
  1506. SI ITRAC1 ;
  1507. DESS evepxx 'LEGE' 'NE' tleg 'TITR' '[2D Plan cont.] EPXX vs Temps' ;
  1508. FINSI ;
  1509. * deformee
  1510. REPE b3 (DIME tt) ;
  1511. tps1 = tt . (&b3 - 1) ;
  1512. * trace de la deformee (pour controle visuel)
  1513. def1 = DEFO mail (tu . (&b3 - 1)) 33. 'ROUG' ;
  1514. tit1 = CHAI '[2D Plan cont.] Deformee au temps' ' ' tps1 ;
  1515. SI ITRAC1 ;
  1516. * TRAC (def0 ET def1) 'TITR' tit1 ;
  1517. FINSI ;
  1518. FIN b3 ;
  1519. SI ITRAC1 ;
  1520. TRAC (def0 ET def1) 'TITR' tit1 ;
  1521. FINSI ;
  1522. * comparaison Calcul / Reference sur la contrainte moyenne
  1523. * 1.Traction, courbes réduites
  1524. lepu1_red = PROG ;
  1525. lsig1_red = PROG ;
  1526. born_inf = EXTR lepu1 1 ;
  1527. born_sup = epst1_t ;
  1528. REPE b_an11 (dime lepu1) ;
  1529. xi = EXTR lepu1 &b_an11 ;
  1530. yi = EXTR lsig1 &b_an11 ;
  1531. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup)) ;
  1532. lepu1_red = lepu1_red et (PROG xi) ;
  1533. lsig1_red = lsig1_red et (PROG yi) ;
  1534. FINSI ;
  1535. FIN b_an11 ;
  1536. an11_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu1_red 'SMXX' lsig1_red ;
  1537.  
  1538. leps_red = PROG ;
  1539. lsig_red = PROG ;
  1540. ltps_red = PROG ;
  1541. xp = 0. ;
  1542. *mess 'born_inf' born_inf ' born_sup' born_sup ' 0.5inst_1a' (05.*inst_1a);
  1543. REPE b_ev1 (dime leps) ;
  1544. ti = EXTR ltps &b_ev1 ;
  1545. xi = EXTR leps &b_ev1 ;
  1546. dx = xi - xp ;
  1547. yi = EXTR lsig &b_ev1 ;
  1548. *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx;
  1549. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (&lt;EG ti (05.*inst_1a))) ;
  1550. leps_red = leps_red et (PROG xi) ;
  1551. lsig_red = lsig_red et (PROG yi) ;
  1552. ltps_red = ltps_red et (PROG ti) ;
  1553. *mess ' => retenu';
  1554. FINSI ;
  1555. xp = xi ;
  1556. FIN b_ev1 ;
  1557. ev1_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  1558. *opti echo 0 ;
  1559. *saut 1 lign ;
  1560. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ;
  1561. *mess titi;
  1562. *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  1563. *saut 1 lign ;
  1564. *opti echo 1;
  1565.  
  1566.  
  1567. lsiga_red = 'IPOL' an11_red leps_red ;
  1568. ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  1569. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler1 ;
  1570. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  1571. mer1 = (INTG eer1) / dtps ;
  1572. tit1 = CHAI '[2D Plan cont.] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 1.Traction, moy.int.|Ecart|' ' ' mer1 ;
  1573. SI ITRAC1 ;
  1574. DESS eer1 'TITR' tit1 ;
  1575. FINSI ;
  1576.  
  1577. * 2.Compression, courbes réduites
  1578. lepu2_red = PROG ;
  1579. lsig2_red = PROG ;
  1580. born_inf = epsc2_t ;
  1581. born_sup = EXTR lepu2 (DIME lepu2) ;
  1582. REPE b_an12 (dime lepu2) ;
  1583. xi = EXTR lepu2 &b_an12 ;
  1584. yi = EXTR lsig2 &b_an12 ;
  1585. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup)) ;
  1586. lepu2_red = lepu2_red et (PROG xi) ;
  1587. lsig2_red = lsig2_red et (PROG yi) ;
  1588. FINSI ;
  1589. FIN b_an12 ;
  1590. an12_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu2_red 'SMXX' lsig2_red ;
  1591.  
  1592. leps_red = PROG ;
  1593. lsig_red = PROG ;
  1594. ltps_red = PROG ;
  1595. xp = 0. ;
  1596. *mess 'born_inf' born_inf ' born_sup' born_sup ' t(dc2max)' 0.666;
  1597. REPE b_ev2 (dime leps) ;
  1598. ti = EXTR ltps &b_ev2 ;
  1599. xi = EXTR leps &b_ev2 ;
  1600. dx = xi - xp ;
  1601. yi = EXTR lsig &b_ev2 ;
  1602. *mess '=== Boucle b_ev2, passage' &b_ev2 ' ti' ti ' xi' xi ' dx' dx;
  1603. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup) ET (&lt;eg dx 0)) ;
  1604. leps_red = leps_red et (PROG xi) ;
  1605. lsig_red = lsig_red et (PROG yi) ;
  1606. ltps_red = ltps_red et (PROG ti) ;
  1607. *mess ' => retenu';
  1608. FINSI ;
  1609. xp = xi ;
  1610. FIN b_ev2 ;
  1611. ev2_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  1612. *opti echo 0 ;
  1613. *saut 1 lign ;
  1614. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : tpsc2_t' tpsc2_t ;
  1615. *mess titi;
  1616. *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  1617. *saut 1 lign ;
  1618. *opti echo 1;
  1619.  
  1620. lsiga_red = 'IPOL' an12_red leps_red ;
  1621. ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
  1622. tit2 = CHAI '[2D Plan cont.] Ecart relatif Calcul/Reference Contrainte vs Deformation en 2.Compression, max' ' ' mer2 ;
  1623. eer2 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red '|Ec.rel|SMXX' ler2 ;
  1624. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  1625. mer2 = (INTG eer2) / dtps ;
  1626. tit2 = CHAI '[2D Plan cont.] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps en 2.Compression, moy.int.|Ecart|' ' ' mer2 ;
  1627. SI ITRAC1 ;
  1628. DESS eer2 'TITR' tit2 ;
  1629. FINSI ;
  1630.  
  1631. * 3.Traction, courbes réduites
  1632. lepu3_red = PROG ;
  1633. lsig3_red = PROG ;
  1634. born_inf = EXTR lepu3 1 ;
  1635. born_sup = 1.E3 ;
  1636. *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3;
  1637. REPE b_an13 (dime lepu3) ;
  1638. di = EXTR dt3 &b_an13 ;
  1639. xi = EXTR lepu3 &b_an13 ;
  1640. yi = EXTR lsig3 &b_an13 ;
  1641. *mess '=== Boucle b_an13, passage' &b_an13 ' di' di ' xi' xi;
  1642. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG di end_t3)) ;
  1643. lepu3_red = lepu3_red et (PROG xi) ;
  1644. lsig3_red = lsig3_red et (PROG yi) ;
  1645. *mess ' => retenu';
  1646. FINSI ;
  1647. FIN b_an13 ;
  1648. an13_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu3_red 'SMXX' lsig3_red ;
  1649.  
  1650. leps_red = PROG ;
  1651. lsig_red = PROG ;
  1652. ltps_red = PROG ;
  1653. xp = 0. ;
  1654. *mess 'born_inf' born_inf ' born_sup' born_sup ' tpst3_t' tpst3_t;
  1655. REPE b_ev3 (dime leps) ;
  1656. ti = EXTR ltps &b_ev3 ;
  1657. xi = EXTR leps &b_ev3 ;
  1658. dx = xi - xp ;
  1659. yi = EXTR lsig &b_ev3 ;
  1660. *mess '=== Boucle b_ev3, passage' &b_ev3 ' ti' ti ' xi' xi ' dx' dx;
  1661. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ;
  1662. * SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0)) ;
  1663. leps_red = leps_red et (PROG xi) ;
  1664. lsig_red = lsig_red et (PROG yi) ;
  1665. ltps_red = ltps_red et (PROG ti) ;
  1666. *mess ' => retenu';
  1667. FINSI ;
  1668. xp = xi ;
  1669. FIN b_ev3 ;
  1670. ev3_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  1671. *opti echo 0 ;
  1672. *saut 1 lign ;
  1673. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ;
  1674. *mess titi;
  1675. *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  1676. *saut 1 lign ;
  1677. *opti echo 1;
  1678.  
  1679. lsiga_red = 'IPOL' an13_red leps_red ;
  1680. ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  1681. eer3 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler3 ;
  1682. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  1683. mer3 = (INTG eer3) / dtps ;
  1684. tit3 = CHAI '[2D Plan cont.] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 3.Traction, moy.int.|Ecart|' ' ' mer3 ;
  1685. SI ITRAC1 ;
  1686. DESS eer3 'TITR' tit3 ;
  1687. FINSI ;
  1688.  
  1689. tdes1 = 'TABLE' ;
  1690. tdes1.'TITRE' = 'TABLE' ;
  1691. tdes1 . 1 = MOT 'MARQ CROI' ;
  1692. tdes1 . 'TITRE' . 1 = MOT '1.Traction' ;
  1693. tdes1 . 2 = MOT 'MARQ PLUS' ;
  1694. tdes1 . 'TITRE' . 2 = MOT '2.Compression' ;
  1695. tdes1 . 3 = MOT 'MARQ S CROI' ;
  1696. tdes1 . 'TITRE' . 3 = MOT '3.Traction' ;
  1697. tit1 = CHAI '[2D Plan cont.] |Ec.r|Contr. vs tps, moy.int.|Ec.r| en 1.Trac.' mer1 ' 2.Compr.' mer2 ' 3.Trac.' mer3 ;;
  1698. SI ITRAC1 ;
  1699. DESS (eer1 et eer2 et eer3) 'LEGE' 'NE' tdes1 'TITR' tit1 ;
  1700. FINSI ;
  1701. OPTI ECHO 0 ;
  1702. SAUT 1 LIGN ;
  1703. MESS ' ******* C A S #3 : 2 D C O N T R A I N T E S P L A N E S ********';
  1704. SAUT 1 LIGN ;
  1705. SI ((MAXI mer1 mer2 mer3) < 1.E-6) ;
  1706. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  1707. MESS ' - phase 1.Traction' ' ' mer1 ;
  1708. MESS ' - phase 2.Compression' ' ' mer2 ;
  1709. MESS ' - phase 3.Traction' ' ' mer3 ;
  1710. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-06 => OK' ;
  1711. SAUT 1 LIGN ;
  1712. SINO ;
  1713. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  1714. MESS ' - phase 1.Traction' ' ' mer1 ;
  1715. MESS ' - phase 2.Compression' ' ' mer2 ;
  1716. MESS ' - phase 3.Traction' ' ' mer3 ;
  1717. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-06 => ECHEC' ;
  1718. IERR = VRAI ;
  1719. SAUT 1 LIGN ;
  1720. FINS ;
  1721. SAUT 1 LIGN ;
  1722. OPTI ECHO 1 ;
  1723. FINSI ;
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729. ************ C A S #4 : 2 D A X I S Y M E T R I Q U E *************
  1730. SI (EXIS lcas 4) ;
  1731.  
  1732. ** Options generales
  1733. OPTI 'DIME' 2 'MODE' 'AXIS' 'ELEM' 'QUA4' ;
  1734.  
  1735. ** Maillage
  1736. p1 = 0. 0. ;
  1737. p2 = long 0. ;
  1738. sbas = DROI 1 p1 p2 ;
  1739. mail = sbas TRAN 1 (0. long) ;
  1740. shaut = mail COTE 3 ;
  1741. p3 = shaut POIN 'PROC' (0. long) ;
  1742. *nh145313
  1743. cadr1 = COUL ((0. 1.05) ET (1.05 1.05)) 'BLAN' ;
  1744. rep1 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) 'TURQ' ;
  1745. SI ITRAC1 ;
  1746. TRAC 'QUAL' (cadr1 ET rep1 ET mail ET (sbas COUL 'VERT') ET (shaut COUL 'ROUG')) 'TITR' '[2D Axi.] Maillage' ;
  1747. FINSI ;
  1748.  
  1749. ** Modele et caracteristiques materiau
  1750. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS' ;
  1751. ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta ;
  1752. zer = ZERO mo 'NOEUD' ;
  1753. un = zer + 1. ;
  1754. mes1 = INTG mo un 'SCAL' ;
  1755.  
  1756. ** Blocages
  1757. blbas = BLOQ 'UZ' sbas ;
  1758. blhaut = BLOQ 'UZ' shaut ;
  1759. bl = blbas ET blhaut ;
  1760.  
  1761. ** Chargements
  1762. dihaut = DEPI blhaut 1. ;
  1763. ec1 = EVOL 'MANU' (PROG 0. (0.5*inst_1a) inst_1a 0.666 inst_2a 1. )
  1764. (PROG 0. u1max 0. u2max 0. u3max) ;
  1765. cha = CHAR 'DIMP' dihaut ec1 ;
  1766.  
  1767. ** Tracé des blocages et du chargement
  1768. re0 = @REPERE (-0.2 -0.2) (PROG 0.5 0.5) ;
  1769. mor = MODE re0 'MECANIQUE' 'BARR' ;
  1770. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  1771. rir = RIGI mor mar ;
  1772. vf = VECT dihaut ' ' 'FLX' 'ROUG' ;
  1773. SI ITRAC1 ;
  1774. TRAC ((RIGI mo ma) ET blbas ET rir) vf 'NOLE' 'TITR' '[2D Axi.] Blocages et chargement' ;
  1775. FINSI ;
  1776.  
  1777. ** Resolution
  1778. t = TABL ;
  1779. t . 'MODELE' = mo ;
  1780. t . 'CARACTERISTIQUES' = ma ;
  1781. t . 'BLOCAGES_MECANIQUES' = bl ;
  1782. t . 'CHARGEMENT' = cha ;
  1783. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 3.E-3 (0.5*inst_1a)
  1784. 'PAS' 3.E-3 inst_1a
  1785. 'PAS' 1.E-2 0.666
  1786. 'PAS' 1.E-2 inst_2a
  1787. 'PAS' 1.E-2 0.9629
  1788. 'PAS' 3.E-3 1. ;
  1789. t . 'MOVA' = MOT 'D' ;
  1790. t . 'MES_SAUVEGARDES' = TABL ;
  1791. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  1792. PASAPAS t ;
  1793.  
  1794. ** Post traitement
  1795. * courbes : endommagement moyen vs temps
  1796. * contrainte moyenne vs deformation moyenne
  1797. * force de reaction vs deplacement impose
  1798. tt = t . 'TEMPS' ;
  1799. tc = t . 'CONTRAINTES' ;
  1800. te = t . 'DEFORMATIONS' ;
  1801. tv = t . 'VARIABLES_INTERNES' ;
  1802. tu = t . 'DEPLACEMENTS' ;
  1803. tr = t . 'REACTIONS' ;
  1804. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  1805. ltps = PROG ;
  1806. ltps_t1 = PROG ;
  1807. ltps_c2 = PROG ;
  1808. ltps_t3 = PROG ;
  1809. lend = PROG ;
  1810. lsig = PROG ;
  1811. leps = PROG ;
  1812. ldep = PROG ;
  1813. lrea = PROG ;
  1814. REPE b0 (DIME tt) ;
  1815. tps1 = tt . (&b0 - 1) ;
  1816. * Liste des instants : globale (ltps)
  1817. * de 1.traction (ltps_t1)
  1818. * de 2.compression (ltps_c2)
  1819. * de 3.traction (ltps_t3)
  1820. ltps = ltps ET tps1 ;
  1821. SI (&lt;EG tps1 inst_1a) ;
  1822. ltps_t1 = ltps_t1 ET tps1 ;
  1823. SINON ;
  1824. SI (&lt;EG tps1 inst_2a) ;
  1825. ltps_c2 = ltps_c2 ET tps1 ;
  1826. SINON ;
  1827. ltps_t3 = ltps_t3 ET tps1 ;
  1828. FINSI ;
  1829. FINSI ;
  1830. end1 = (INTG mo (tv . (&b0 - 1)) 'D') / mes1 ;
  1831. sig1 = (INTG mo (tc . (&b0 - 1)) 'SMZZ') / mes1 ;
  1832. eps1 = (INTG mo (te . (&b0 - 1)) 'EPZZ') / mes1 ;
  1833. u1 = EXTR (tu . (&b0 - 1)) 'UZ' p3 ;
  1834. rea1 = 0. ;
  1835. SI (NEG &b0 1) ;
  1836. rea1 = @TOTAL (tr . (&b0 - 1)) sbas 'FZ' ;
  1837. FINSI ;
  1838. lend = lend ET end1 ;
  1839. lsig = lsig ET sig1 ;
  1840. leps = leps ET eps1 ;
  1841. ldep = ldep ET u1 ;
  1842. lrea = lrea ET rea1 ;
  1843. FIN b0 ;
  1844. ev0 = EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend ;
  1845. ev1 = EVOL 'ROUG' 'MANU' 'EPZZ' leps 'SMZZ' lsig ;
  1846. ev2 = EVOL 'ROUG' 'MANU' 'UZ' ldep 'FZ' lrea ;
  1847. * Instant de transition 1.Traction-2.Compression tpst1_t
  1848. tpst1_t = 0.5*inst_1a ;
  1849. * Endommagement de transition 1.Traction-2.Compression end_t1
  1850. end_t1 = IPOL tpst1_t ltps lend ;
  1851. * Instant de transition 2.Compression-3.Traction tpst3_t
  1852. tpst3_t = 0.666 ;
  1853. * Endommagement de transition 2.Compression-3.Traction end_t3
  1854. end_t3 = IPOL tpst3_t ltps lend ;
  1855. *nh145313
  1856. ** Sol.Ana. 1.Traction
  1857. ltps_t1 = ENLE (ENLE ltps_t1 (DIME ltps_t1)) 1 ;
  1858. nb1 = DIME ltps_t1 ;
  1859. un1 = PROG nb1 * 1.D0 ;
  1860. lepd01 = PROG nb1 * epd0 ;
  1861. lat1 = PROG nb1 * at ;
  1862. * defo.unidim.
  1863. lepu1 = (IPOL ltps_t1 ec1) / long ;
  1864. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  1865. lepe1 = lepu1 ;
  1866. dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
  1867. lfiltr1 = LECT ;
  1868. REPE b1 ;
  1869. dt_i = EXTR dt1 &b1 ;
  1870. SI (EGA &b1 1) ;
  1871. dt_p1 = 0. ;
  1872. FINSI ;
  1873. ddt = dt_i - dt_p1 ;
  1874. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  1875. lfiltr1 = lfiltr1 ET (LECT &b1) ;
  1876. FINSI ;
  1877. dt_p1 = dt_i ;
  1878. SI (EGA &b1 (DIME dt1)) ;
  1879. QUIT b1 ;
  1880. FINSI ;
  1881. FIN b1 ;
  1882. ltps_t1 = ENLE ltps_t1 lfiltr1 ;
  1883. un1 = ENLE un1 lfiltr1 ;
  1884. lepu1 = ENLE lepu1 lfiltr1 ;
  1885. dt1 = ENLE dt1 lfiltr1 ;
  1886. lsig1 = (un1 - dt1) * you * lepu1 ;
  1887. an01 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'D' dt1 ;
  1888. an11 = EVOL 'TURQ' 'MANU' 'EPXX' lepu1 'SMXX' lsig1 ;
  1889. epst1_t = IPOL tpst1_t ltps_t1 lepu1 ;
  1890. *opti echo 0 ;
  1891. *saut 1 lign ;
  1892. *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ;
  1893. *mess titi ;
  1894. *saut 1 lign ;
  1895. *opti echo 1 ;
  1896.  
  1897. ** Sol.Ana. 2.Compression
  1898. ltps_c2 = ENLE ltps_c2 (DIME ltps_c2) ;
  1899. nb2 = DIME ltps_c2 ;
  1900. un2 = PROG nb2 * 1.D0 ;
  1901. lepd02 = PROG nb2 * epd0 ;
  1902. lac2 = PROG nb2 * ac ;
  1903. * defo.unidim.
  1904. lepu2 = (IPOL ltps_c2 ec1) / long ;
  1905. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
  1906. lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
  1907. dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
  1908. lfiltr2 = LECT ;
  1909. dc_m = 0. ;
  1910. REPE b2 ;
  1911. dc_i = EXTR dc2 &b2 ;
  1912. SI (EGA &b2 1) ;
  1913. dc_p = 1. ;
  1914. FINSI ;
  1915. ddc = dc_i - dc_p ;
  1916. *mess '=== Boucle b2 , passage' ' ' &b2 ;
  1917. *mess ' dom.max ' ' ' dc_m;
  1918. *mess ' dom.prec.' ' ' dc_p ;
  1919. *mess ' dom.cour.' ' ' dc_i ;
  1920. *mess ' incr.dom.' ' ' ddc ;
  1921. SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  1922. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  1923. *mess ' => on filtre';
  1924. SINON ;
  1925. *mess ' a garder si le dommage augmente...';
  1926. dc_m = MAXI dc_m dc_i ;
  1927. SI (dc_i < dc_m) ;
  1928. *mess ' ... NON => on ne garde pas';
  1929. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  1930. SINON ;
  1931. *mess ' ... OUI => on garde';
  1932. FINSI ;
  1933. FINSI ;
  1934. dc_p = dc_i ;
  1935. SI (EGA &b2 (DIME dc2)) ;
  1936. QUIT b2 ;
  1937. FINSI ;
  1938. FIN b2 ;
  1939. ltps_c2 = ENLE ltps_c2 lfiltr2 ;
  1940. un2 = ENLE un2 lfiltr2 ;
  1941. lepu2 = ENLE lepu2 lfiltr2 ;
  1942. dc2 = ENLE dc2 lfiltr2 ;
  1943. lsig2 = (un2 - dc2) * you * lepu2 ;
  1944. an02 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'D' dc2 ;
  1945. tpsc2_t = IPOL end_t1 dc2 ltps_c2 ;
  1946. an12 = EVOL 'TURQ' 'MANU' 'EPXX' lepu2 'SMXX' lsig2 ;
  1947. epsc2_t = IPOL tpsc2_t ltps_c2 lepu2 ;
  1948. *opti echo 0 ;
  1949. *saut 1 lign ;
  1950. *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ;
  1951. *mess titi ;
  1952. *saut 1 lign ;
  1953. *opti echo 1 ;
  1954.  
  1955. ** Sol.Ana. 3.Traction
  1956. ltps_t3 = ENLE ltps_t3 1 ;
  1957. nb3 = DIME ltps_t3 ;
  1958. un3 = PROG nb3 * 1.D0 ;
  1959. lepd03 = PROG nb3 * epd0 ;
  1960. lat3 = PROG nb3 * at ;
  1961. * defo.unidim.
  1962. lepu3 = (IPOL ltps_t3 ec1) / long ;
  1963. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  1964. lepe3 = lepu3 ;
  1965. dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ;
  1966. lfiltr3 = LECT ;
  1967. REPE b3 ;
  1968. dt_i = EXTR dt3 &b3 ;
  1969. SI (EGA &b3 1) ;
  1970. dt_p3 = dt_p1 ;
  1971. FINSI ;
  1972. ddt = dt_i - dt_p3 ;
  1973. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  1974. lfiltr3 = lfiltr3 ET (LECT &b3) ;
  1975. FINSI ;
  1976. dt_p3 = dt_i ;
  1977. SI (EGA &b3 (DIME dt3)) ;
  1978. QUIT b3 ;
  1979. FINSI ;
  1980. FIN b3 ;
  1981. ltps_t3 = ENLE ltps_t3 lfiltr3 ;
  1982. un3 = ENLE un3 lfiltr3 ;
  1983. lepu3 = ENLE lepu3 lfiltr3 ;
  1984. dt3 = ENLE dt3 lfiltr3 ;
  1985. lsig3 = (un3 - dt3) * you * lepu3 ;
  1986. an03 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'D' dt3 ;
  1987. tpst3_t = IPOL end_t3 dt3 ltps_t3 ;
  1988. an13 = EVOL 'TURQ' 'MANU' 'EPXX' lepu3 'SMXX' lsig3 ;
  1989. epst3_t = IPOL tpst3_t ltps_t3 lepu3 ;
  1990. *opti echo 0 ;
  1991. *saut 1 lign ;
  1992. *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ;
  1993. *mess titi ;
  1994. *saut 1 lign ;
  1995. *opti echo 1 ;
  1996.  
  1997. SI ITRAC1 ;
  1998. DESS (ev0 ET an01 ET an02 ET an03) 'TITR' '[2D Axi.] Endommagement vs Temps' 'LEGE' 'SE' tdess ;
  1999. DESS (ev1 ET an11 ET an12 ET an13) 'TITR' '[2D Axi.] Contrainte vs Deformation' 'LEGE' 'NO' tdess ;
  2000. DESS ev2 'TITR' '[2D Axi.] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  2001. FINSI ;
  2002. * evolutions temporelles a tous les points de Gauss
  2003. ng = 4 ;
  2004. tleg = TABL ;
  2005. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  2006. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  2007. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  2008. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  2009. tleg . 'TITRE' = TABL ;
  2010. REPE b ng ;
  2011. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  2012. FIN b ;
  2013. * endommagement
  2014. evend = VIDE 'EVOLUTIO' ;
  2015. REPE b ng ;
  2016. evend = evend ET (EVOL 'ROSE' 'TEMP' t 'VARIABLES_INTERNES' 'D' 1 1 &b) ;
  2017. FIN b ;
  2018. *nh145313
  2019. tleg . (ng+1) = MOT 'MARQ CROI REGU' ;
  2020. tleg . 'TITRE' . (ng+1) = MOT 'Ref_1.Traction' ;
  2021. tleg . (ng+2) = MOT 'MARQ PLUS REGU' ;
  2022. tleg . 'TITRE' . (ng+2) = MOT 'Ref_2.Compression' ;
  2023. tleg . (ng+3) = MOT 'MARQ S CROI REGU' ;
  2024. tleg . 'TITRE' . (ng+3) = MOT 'Ref_3.Traction' ;
  2025. SI ITRAC1 ;
  2026. DESS (evend ET an01 ET an02 ET an03) 'LEGE' 'SE' tleg 'TITR' '[2D Axi.] D vs Temps' ;
  2027. FINSI ;
  2028. * contrainte
  2029. evsmzz = VIDE 'EVOLUTIO' ;
  2030. REPE b ng ;
  2031. evsmzz = evsmzz ET (EVOL 'BLEU' 'TEMP' t 'CONTRAINTES' 'SMZZ' 1 1 &b) ;
  2032. FIN b ;
  2033. *nh145313
  2034. ansmzz1 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'SMZZ' lsig1 ;
  2035. ansmzz2 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'SMZZ' lsig2 ;
  2036. ansmzz3 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'SMZZ' lsig3 ;
  2037. SI ITRAC1 ;
  2038. DESS (evsmzz ET ansmzz1 ET ansmzz2 ET ansmzz3) 'LEGE' 'NE' tleg 'TITR' '[2D Axi.] SMZZ vs Temps' ;
  2039. FINSI ;
  2040. * deformation
  2041. evepzz = VIDE 'EVOLUTIO' ;
  2042. REPE b ng ;
  2043. evepzz = evepzz ET (EVOL 'TURQ' 'TEMP' t 'DEFORMATIONS' 'EPZZ' 1 1 &b) ;
  2044. FIN b ;
  2045. SI ITRAC1 ;
  2046. DESS evepzz 'LEGE' 'NE' tleg 'TITR' '[2D Axi.] EPZZ vs Temps' ;
  2047. FINSI ;
  2048. * deformee
  2049. REPE b2 (DIME tt) ;
  2050. tps1 = tt . (&b2 - 1) ;
  2051. * trace de la deformee (pour controle visuel)
  2052. def1 = DEFO mail (tu . (&b2 - 1)) 33. 'ROUG' ;
  2053. tit1 = CHAI '[2D Axi.] Deformee au temps' ' ' tps1 ;
  2054. SI ITRAC1 ;
  2055. * TRAC (def0 ET def1) 'TITR' tit1 ;
  2056. FINSI ;
  2057. FIN b2 ;
  2058. SI ITRAC1 ;
  2059. TRAC (def0 ET def1) 'TITR' tit1 ;
  2060. FINSI ;
  2061. * comparaison Calcul / Reference sur la contrainte moyenne
  2062. * 1.Traction, courbes réduites
  2063. lepu1_red = PROG ;
  2064. lsig1_red = PROG ;
  2065. born_inf = EXTR lepu1 1 ;
  2066. born_sup = epst1_t ;
  2067. REPE b_an11 (dime lepu1) ;
  2068. xi = EXTR lepu1 &b_an11 ;
  2069. yi = EXTR lsig1 &b_an11 ;
  2070. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup)) ;
  2071. lepu1_red = lepu1_red et (PROG xi) ;
  2072. lsig1_red = lsig1_red et (PROG yi) ;
  2073. FINSI ;
  2074. FIN b_an11 ;
  2075. an11_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu1_red 'SMXX' lsig1_red ;
  2076.  
  2077. leps_red = PROG ;
  2078. lsig_red = PROG ;
  2079. ltps_red = PROG ;
  2080. xp = 0. ;
  2081. *mess 'born_inf' born_inf ' born_sup' born_sup ' 0.5inst_1a' (05.*inst_1a);
  2082. REPE b_ev1 (dime leps) ;
  2083. ti = EXTR ltps &b_ev1 ;
  2084. xi = EXTR leps &b_ev1 ;
  2085. dx = xi - xp ;
  2086. yi = EXTR lsig &b_ev1 ;
  2087. *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx;
  2088. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (&lt;EG ti (05.*inst_1a))) ;
  2089. leps_red = leps_red et (PROG xi) ;
  2090. lsig_red = lsig_red et (PROG yi) ;
  2091. ltps_red = ltps_red et (PROG ti) ;
  2092. *mess ' => retenu';
  2093. FINSI ;
  2094. xp = xi ;
  2095. FIN b_ev1 ;
  2096. ev1_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  2097. *opti echo 0 ;
  2098. *saut 1 lign ;
  2099. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ;
  2100. *mess titi;
  2101. *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  2102. *saut 1 lign ;
  2103. *opti echo 1;
  2104.  
  2105. lsiga_red = 'IPOL' an11_red leps_red ;
  2106. ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  2107. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler1 ;
  2108. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  2109. mer1 = (INTG eer1) / dtps ;
  2110. tit1 = CHAI '[2D Axi.] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 1.Traction, moy.int.|Ecart|' ' ' mer1 ;
  2111. SI ITRAC1 ;
  2112. DESS eer1 'TITR' tit1 ;
  2113. FINSI ;
  2114.  
  2115. * 2.Compression, courbes réduites
  2116. lepu2_red = PROG ;
  2117. lsig2_red = PROG ;
  2118. born_inf = epsc2_t ;
  2119. born_sup = EXTR lepu2 (DIME lepu2) ;
  2120. REPE b_an12 (dime lepu2) ;
  2121. xi = EXTR lepu2 &b_an12 ;
  2122. yi = EXTR lsig2 &b_an12 ;
  2123. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup)) ;
  2124. lepu2_red = lepu2_red et (PROG xi) ;
  2125. lsig2_red = lsig2_red et (PROG yi) ;
  2126. FINSI ;
  2127. FIN b_an12 ;
  2128. an12_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu2_red 'SMXX' lsig2_red ;
  2129.  
  2130. leps_red = PROG ;
  2131. lsig_red = PROG ;
  2132. ltps_red = PROG ;
  2133. xp = 0. ;
  2134. *mess 'born_inf' born_inf ' born_sup' born_sup ' t(dc2max)' 0.666;
  2135. REPE b_ev2 (dime leps) ;
  2136. ti = EXTR ltps &b_ev2 ;
  2137. xi = EXTR leps &b_ev2 ;
  2138. dx = xi - xp ;
  2139. yi = EXTR lsig &b_ev2 ;
  2140. *mess '=== Boucle b_ev2, passage' &b_ev2 ' ti' ti ' xi' xi ' dx' dx;
  2141. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup) ET (&lt;eg dx 0)) ;
  2142. leps_red = leps_red et (PROG xi) ;
  2143. lsig_red = lsig_red et (PROG yi) ;
  2144. ltps_red = ltps_red et (PROG ti) ;
  2145. *mess ' => retenu';
  2146. FINSI ;
  2147. xp = xi ;
  2148. FIN b_ev2 ;
  2149. ev2_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  2150. *opti echo 0 ;
  2151. *saut 1 lign ;
  2152. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : tpsc2_t' tpsc2_t ;
  2153. *mess titi;
  2154. *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  2155. *saut 1 lign ;
  2156. *opti echo 1;
  2157.  
  2158. lsiga_red = 'IPOL' an12_red leps_red ;
  2159. ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
  2160. eer2 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red '|Ec.rel|SMXX' ler2 ;
  2161. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  2162. mer2 = (INTG eer2) / dtps ;
  2163. tit2 = CHAI '[2D Axi.] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps en 2.Compression, moy.int.|Ecart|' ' ' mer2 ;
  2164. SI ITRAC1 ;
  2165. DESS eer2 'TITR' tit2 ;
  2166. FINSI ;
  2167.  
  2168. * 3.Traction, courbes réduites
  2169. lepu3_red = PROG ;
  2170. lsig3_red = PROG ;
  2171. born_inf = EXTR lepu3 1 ;
  2172. born_sup = 1.E3 ;
  2173. *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3;
  2174. REPE b_an13 (dime lepu3) ;
  2175. di = EXTR dt3 &b_an13 ;
  2176. xi = EXTR lepu3 &b_an13 ;
  2177. yi = EXTR lsig3 &b_an13 ;
  2178. *mess '=== Boucle b_an13, passage' &b_an13 ' di' di ' xi' xi;
  2179. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG di end_t3)) ;
  2180. lepu3_red = lepu3_red et (PROG xi) ;
  2181. lsig3_red = lsig3_red et (PROG yi) ;
  2182. *mess ' => retenu';
  2183. FINSI ;
  2184. FIN b_an13 ;
  2185. an13_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu3_red 'SMXX' lsig3_red ;
  2186.  
  2187. leps_red = PROG ;
  2188. lsig_red = PROG ;
  2189. ltps_red = PROG ;
  2190. xp = 0. ;
  2191. *mess 'born_inf' born_inf ' born_sup' born_sup ' tpst3_t' tpst3_t;
  2192. REPE b_ev3 (dime leps) ;
  2193. ti = EXTR ltps &b_ev3 ;
  2194. xi = EXTR leps &b_ev3 ;
  2195. dx = xi - xp ;
  2196. yi = EXTR lsig &b_ev3 ;
  2197. *mess '=== Boucle b_ev3, passage' &b_ev3 ' ti' ti ' xi' xi ' dx' dx;
  2198. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ;
  2199. * SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0)) ;
  2200. leps_red = leps_red et (PROG xi) ;
  2201. lsig_red = lsig_red et (PROG yi) ;
  2202. ltps_red = ltps_red et (PROG ti) ;
  2203. *mess ' => retenu';
  2204. FINSI ;
  2205. xp = xi ;
  2206. FIN b_ev3 ;
  2207. ev3_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  2208. *opti echo 0 ;
  2209. *saut 1 lign ;
  2210. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ;
  2211. *mess titi;
  2212. *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  2213. *saut 1 lign ;
  2214. *opti echo 1;
  2215.  
  2216. lsiga_red = 'IPOL' an13_red leps_red ;
  2217. ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  2218. eer3 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler3 ;
  2219. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  2220. mer3 = (INTG eer3) / dtps ;
  2221. tit3 = CHAI '[2D Axi.] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 3.Traction, moy.int.|Ecart|' ' ' mer3 ;
  2222. SI ITRAC1 ;
  2223. DESS eer3 'TITR' tit3 ;
  2224. FINSI ;
  2225.  
  2226. tdes1 = 'TABLE' ;
  2227. tdes1.'TITRE' = 'TABLE' ;
  2228. tdes1 . 1 = MOT 'MARQ CROI' ;
  2229. tdes1 . 'TITRE' . 1 = MOT '1.Traction' ;
  2230. tdes1 . 2 = MOT 'MARQ PLUS' ;
  2231. tdes1 . 'TITRE' . 2 = MOT '2.Compression' ;
  2232. tdes1 . 3 = MOT 'MARQ S CROI' ;
  2233. tdes1 . 'TITRE' . 3 = MOT '3.Traction' ;
  2234. tit1 = CHAI '[2D Axi.] |Ec.r|Contr. vs tps, moy.int.|Ec.r| en 1.Trac.' mer1 ' 2.Compr.' mer2 ' 3.Trac.' mer3 ;;
  2235. SI ITRAC1 ;
  2236. DESS (eer1 et eer2 et eer3) 'LEGE' 'NE' tdes1 'TITR' tit1 ;
  2237. FINSI ;
  2238. OPTI ECHO 0 ;
  2239. SAUT 1 LIGN ;
  2240. MESS ' ************ C A S #4 : 2 D A X I S Y M E T R I Q U E *************';
  2241. SAUT 1 LIGN ;
  2242. SI ((MAXI mer1 mer2 mer3) < 1.E-6) ;
  2243. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  2244. MESS ' - phase 1.Traction' ' ' mer1 ;
  2245. MESS ' - phase 2.Compression' ' ' mer2 ;
  2246. MESS ' - phase 3.Traction' ' ' mer3 ;
  2247. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-06 => OK' ;
  2248. SAUT 1 LIGN ;
  2249. SINO ;
  2250. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  2251. MESS ' - phase 1.Traction' ' ' mer1 ;
  2252. MESS ' - phase 2.Compression' ' ' mer2 ;
  2253. MESS ' - phase 3.Traction' ' ' mer3 ;
  2254. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-06 => ECHEC' ;
  2255. IERR = VRAI ;
  2256. SAUT 1 LIGN ;
  2257. FINS ;
  2258. SAUT 1 LIGN ;
  2259. OPTI ECHO 1 ;
  2260. FINSI ;
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266. *********** C A S #5 : 2 D P O U T R E A F I B R E ************
  2267. SI (EXIS lcas 5) ;
  2268.  
  2269. ** Options generales
  2270. OPTI 'DIME' 2 'MODE' 'PLAN' 'ELEM' 'QUA4' ;
  2271.  
  2272. ** Maillage
  2273. p1s = (-0.5 * epai) (-0.5 * epai) ;
  2274. p2s = (-0.5 * epai) ( 0.5 * epai) ;
  2275. l12s = DROI 1 p1s p2s ;
  2276. mails = l12s TRAN 1 (epai 0.) ;
  2277. p1 = 0. 0. ;
  2278. p2 = long 0. ;
  2279. mail = DROI 1 p1 p2 ;
  2280. mes1 = MESU mails ;
  2281. *nh145313
  2282. cadr1 = COUL ((-0.1 0.) ET (1.05 0.)) 'BLAN' ;
  2283. rep1 = @REPERE (-0.2 -0.2) (PROG 0.2 0.2) 'TURQ' ;
  2284. SI ITRAC1 ;
  2285. TRAC 'QUAL' (rep1 ET (mails COUL 'VERT') ET (mail COUL 'ROUG')) 'TITR' '[2D PaF] Maillages de la Poutre et de sa Section' ;
  2286. FINSI ;
  2287.  
  2288. ** Modele et caracteristiques materiau
  2289. mos = MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS' ;
  2290. mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
  2291. 'ALPY' 1. ;
  2292. mo = MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ;
  2293. ma = MATE mo 'MODS' mos 'MATS' mas ;
  2294.  
  2295. ** Blocages
  2296. blgauche = BLOQ 'DEPL' 'ROTA' p1 ;
  2297. bldroite = BLOQ 'UX' p2 ;
  2298. bl = blgauche ET bldroite ;
  2299. *nh145313
  2300. bldroit2 = BLOQ 'ROTA' p2 ;
  2301. bl = bl ET bldroit2 ;
  2302.  
  2303. ** Chargements
  2304. didroite = DEPI bldroite 1. ;
  2305. ec1 = EVOL 'MANU' (PROG 0. (0.5*inst_1a) inst_1a 0.666 inst_2a 1. )
  2306. (PROG 0. u1max 0. u2max 0. u3max) ;
  2307. cha = CHAR 'DIMP' didroite ec1 ;
  2308.  
  2309. ** Tracé des blocages et du chargement
  2310. re0 = @REPERE (-0.2 -0.2) (PROG 0.2 0.2) ;
  2311. mor = MODE re0 'MECANIQUE' 'BARR' ;
  2312. mar = MATE mor 'YOUN' 1. 'NU' 1. 'SECT' 1. ;
  2313. rir = RIGI mor mar ;
  2314. vf = VECT didroite 'FLX' ' ' 'ROUG' 0.1 ;
  2315. SI ITRAC1 ;
  2316. TRAC ((RIGI mo ma) ET blgauche ET rir) vf 'NOLE' 'TITR' '[2D PaF] Blocages et chargement' ;
  2317. FINSI ;
  2318.  
  2319. ** Resolution
  2320. t = TABL ;
  2321. t . 'MODELE' = mo ;
  2322. t . 'CARACTERISTIQUES' = ma ;
  2323. t . 'BLOCAGES_MECANIQUES' = bl ;
  2324. t . 'CHARGEMENT' = cha ;
  2325. t . 'TEMPS_CALCULES' = PROG 0. 'PAS' 3.E-3 (0.5*inst_1a)
  2326. 'PAS' 3.E-3 inst_1a
  2327. 'PAS' 1.E-2 0.666
  2328. 'PAS' 1.E-2 inst_2a
  2329. 'PAS' 1.E-2 0.9629
  2330. 'PAS' 3.E-3 1. ;
  2331. t . 'MES_SAUVEGARDES' = TABL ;
  2332. t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
  2333. PASAPAS t ;
  2334.  
  2335. ** Post traitement
  2336. * courbes : endommagement moyen vs temps
  2337. * contrainte moyenne vs deformation moyenne
  2338. * force de reaction vs deplacement impose
  2339. * evolutions temporelles a tous les points de Gauss
  2340. ng = 4 ;
  2341. tleg = TABL ;
  2342. tleg . 1 = MOT 'MARQ CARR NOLI' ;
  2343. tleg . 2 = MOT 'MARQ LOSA NOLI' ;
  2344. tleg . 3 = MOT 'MARQ ROND NOLI' ;
  2345. tleg . 4 = MOT 'MARQ ETOI NOLI' ;
  2346. tleg . 'TITRE' = TABL ;
  2347. REPE b ng ;
  2348. tleg . 'TITRE' . &b = CHAI 'Calc_Pt_Gauss' ' ' &b ;
  2349. FIN b ;
  2350. *nh145313
  2351. tleg . (ng+1) = MOT 'MARQ CROI REGU' ;
  2352. tleg . 'TITRE' . (ng+1) = MOT 'Ref_1.Traction' ;
  2353. tleg . (ng+2) = MOT 'MARQ PLUS REGU' ;
  2354. tleg . 'TITRE' . (ng+2) = MOT 'Ref_2.Compression' ;
  2355. tleg . (ng+3) = MOT 'MARQ S CROI REGU' ;
  2356. tleg . 'TITRE' . (ng+3) = MOT 'Ref_3.Traction' ;
  2357. tt = t . 'TEMPS' ;
  2358. tv = t . 'VARIABLES_INTERNES' ;
  2359. tu = t . 'DEPLACEMENTS' ;
  2360. tr = t . 'REACTIONS' ;
  2361. def0 = DEFO (cadr1 ET rep1 ET mail) (tu . 0) 0. ;
  2362. ltps = PROG ;
  2363. ltps_t1 = PROG ;
  2364. ltps_c2 = PROG ;
  2365. ltps_t3 = PROG ;
  2366. lend1 = PROG ;
  2367. lend2 = PROG ;
  2368. lend3 = PROG ;
  2369. lend4 = PROG ;
  2370. lsig1 = PROG ;
  2371. lsig2 = PROG ;
  2372. lsig3 = PROG ;
  2373. lsig4 = PROG ;
  2374. leps1 = PROG ;
  2375. leps2 = PROG ;
  2376. leps3 = PROG ;
  2377. leps4 = PROG ;
  2378. ldep = PROG ;
  2379. lrea = PROG ;
  2380. REPE b0 (DIME tt) ;
  2381. tps1 = tt . (&b0 - 1) ;
  2382. * Liste des instants : globale (ltps)
  2383. * de 1.traction (ltps_t1)
  2384. * de 2.compression (ltps_c2)
  2385. * de 3.traction (ltps_t3)
  2386. ltps = ltps ET tps1 ;
  2387. SI (&lt;EG tps1 inst_1a) ;
  2388. ltps_t1 = ltps_t1 ET tps1 ;
  2389. SINON ;
  2390. SI (&lt;EG tps1 inst_2a) ;
  2391. ltps_c2 = ltps_c2 ET tps1 ;
  2392. SINON ;
  2393. ltps_t3 = ltps_t3 ET tps1 ;
  2394. FINSI ;
  2395. FINSI ;
  2396. SI (EGA &b0 1) ;
  2397. lend1 = lend1 ET 0. ;
  2398. lend2 = lend2 ET 0. ;
  2399. lend3 = lend3 ET 0. ;
  2400. lend4 = lend4 ET 0. ;
  2401. lsig1 = lsig1 ET 0. ;
  2402. lsig2 = lsig2 ET 0. ;
  2403. lsig3 = lsig3 ET 0. ;
  2404. lsig4 = lsig4 ET 0. ;
  2405. leps1 = leps1 ET 0. ;
  2406. leps2 = leps2 ET 0. ;
  2407. leps3 = leps3 ET 0. ;
  2408. leps4 = leps4 ET 0. ;
  2409. SINON ;
  2410. lend1 = lend1 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1) ;
  2411. lend2 = lend2 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 2) ;
  2412. lend3 = lend3 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 3) ;
  2413. lend4 = lend4 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 4) ;
  2414. lsig1 = lsig1 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 1) ;
  2415. lsig2 = lsig2 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 2) ;
  2416. lsig3 = lsig3 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 3) ;
  2417. lsig4 = lsig4 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VONS' 1 1 1) 'SMXX' 1 1 4) ;
  2418. leps1 = leps1 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 1) ;
  2419. leps2 = leps2 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 2) ;
  2420. leps3 = leps3 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 3) ;
  2421. leps4 = leps4 ET (EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VISX' 1 1 4) ;
  2422. end1 = EXTR (EXTR (tv . (&b0 - 1)) 'VAIS' 1 1 1) 'VHNI' 1 1 1 ;
  2423. FINSI ;
  2424. u1 = EXTR (tu . (&b0 - 1)) 'UX' p2 ;
  2425. rea1 = EXTR (tr . (&b0 - 1)) 'FX' p1 ;
  2426. ldep = ldep ET u1 ;
  2427. lrea = lrea ET rea1 ;
  2428. FIN b0 ;
  2429. ev0 = (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend1) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend2) ET
  2430. (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend3) ET (EVOL 'ROUG' 'MANU' 'Temps' ltps 'D' lend4) ;
  2431. ev1 = (EVOL 'ROUG' 'MANU' 'EPXX' leps1 'SMXX' lsig1) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps2 'SMXX' lsig2) ET
  2432. (EVOL 'ROUG' 'MANU' 'EPXX' leps3 'SMXX' lsig3) ET (EVOL 'ROUG' 'MANU' 'EPXX' leps4 'SMXX' lsig4) ;
  2433. ev2 = EVOL 'ROUG' 'MANU' 'UX' ldep 'FX' lrea ;
  2434. * Moyennes des listreels en chaque pt de Gauss
  2435. lend = 0.25 * (lend1 + lend2 + lend3 + lend4) ;
  2436. lsig = 0.25 * (lsig1 + lsig2 + lsig3 + lsig4) ;
  2437. leps = 0.25 * (leps1 + leps2 + leps3 + leps4) ;
  2438.  
  2439. * Instant de transition 1.Traction-2.Compression tpst1_t
  2440. tpst1_t = 0.5*inst_1a ;
  2441. * Endommagement de transition 1.Traction-2.Compression end_t1
  2442. end_t1 = IPOL tpst1_t ltps lend ;
  2443. * Instant de transition 2.Compression-3.Traction tpst3_t
  2444. tpst3_t = 0.666 ;
  2445. * Endommagement de transition 2.Compression-3.Traction end_t3
  2446. end_t3 = IPOL tpst3_t ltps lend ;
  2447. *nh145313
  2448. ** Sol.Ana. 1.Traction
  2449. ltps_t1 = ENLE (ENLE ltps_t1 (DIME ltps_t1)) 1 ;
  2450. nb1 = DIME ltps_t1 ;
  2451. un1 = PROG nb1 * 1.D0 ;
  2452. lepd01 = PROG nb1 * epd0 ;
  2453. lat1 = PROG nb1 * at ;
  2454. * defo.unidim.
  2455. lepu1 = (IPOL ltps_t1 ec1) / long ;
  2456. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  2457. lepe1 = lepu1 ;
  2458. dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
  2459. lfiltr1 = LECT ;
  2460. REPE b1 ;
  2461. dt_i = EXTR dt1 &b1 ;
  2462. SI (EGA &b1 1) ;
  2463. dt_p1 = 0. ;
  2464. FINSI ;
  2465. ddt = dt_i - dt_p1 ;
  2466. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  2467. lfiltr1 = lfiltr1 ET (LECT &b1) ;
  2468. FINSI ;
  2469. dt_p1 = dt_i ;
  2470. SI (EGA &b1 (DIME dt1)) ;
  2471. QUIT b1 ;
  2472. FINSI ;
  2473. FIN b1 ;
  2474. ltps_t1 = ENLE ltps_t1 lfiltr1 ;
  2475. un1 = ENLE un1 lfiltr1 ;
  2476. lepu1 = ENLE lepu1 lfiltr1 ;
  2477. dt1 = ENLE dt1 lfiltr1 ;
  2478. asig1 = (un1 - dt1) * you * lepu1 ;
  2479. an01 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t1 'D' dt1 ;
  2480. an11 = EVOL 'TURQ' 'MANU' 'EPXX' lepu1 'SMXX' asig1 ;
  2481. epst1_t = IPOL tpst1_t ltps_t1 lepu1 ;
  2482. *opti echo 0 ;
  2483. *saut 1 lign ;
  2484. *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ;
  2485. *mess titi ;
  2486. *saut 1 lign ;
  2487. *opti echo 1 ;
  2488.  
  2489. ** Sol.Ana. 2.Compression
  2490. ltps_c2 = ENLE ltps_c2 (DIME ltps_c2) ;
  2491. nb2 = DIME ltps_c2 ;
  2492. un2 = PROG nb2 * 1.D0 ;
  2493. lepd02 = PROG nb2 * epd0 ;
  2494. lac2 = PROG nb2 * ac ;
  2495. * defo.unidim.
  2496. lepu2 = (IPOL ltps_c2 ec1) / long ;
  2497. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
  2498. lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
  2499. dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
  2500. lfiltr2 = LECT ;
  2501. dc_m = 0. ;
  2502. REPE b2 ;
  2503. dc_i = EXTR dc2 &b2 ;
  2504. SI (EGA &b2 1) ;
  2505. dc_p = 1. ;
  2506. FINSI ;
  2507. ddc = dc_i - dc_p ;
  2508. *mess '=== Boucle b2 , passage' ' ' &b2 ;
  2509. *mess ' dom.max ' ' ' dc_m;
  2510. *mess ' dom.prec.' ' ' dc_p ;
  2511. *mess ' dom.cour.' ' ' dc_i ;
  2512. *mess ' incr.dom.' ' ' ddc ;
  2513. SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
  2514. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  2515. *mess ' => on filtre';
  2516. SINON ;
  2517. *mess ' a garder si le dommage augmente...';
  2518. dc_m = MAXI dc_m dc_i ;
  2519. SI (dc_i < dc_m) ;
  2520. *mess ' ... NON => on ne garde pas';
  2521. lfiltr2 = lfiltr2 ET (LECT &b2) ;
  2522. SINON ;
  2523. *mess ' ... OUI => on garde';
  2524. FINSI ;
  2525. FINSI ;
  2526. dc_p = dc_i ;
  2527. SI (EGA &b2 (DIME dc2)) ;
  2528. QUIT b2 ;
  2529. FINSI ;
  2530. FIN b2 ;
  2531. ltps_c2 = ENLE ltps_c2 lfiltr2 ;
  2532. un2 = ENLE un2 lfiltr2 ;
  2533. lepu2 = ENLE lepu2 lfiltr2 ;
  2534. dc2 = ENLE dc2 lfiltr2 ;
  2535. asig2 = (un2 - dc2) * you * lepu2 ;
  2536. an02 = EVOL 'TURQ' 'MANU' 'Temps' ltps_c2 'D' dc2 ;
  2537. tpsc2_t = IPOL end_t1 dc2 ltps_c2 ;
  2538. an12 = EVOL 'TURQ' 'MANU' 'EPXX' lepu2 'SMXX' asig2 ;
  2539. epsc2_t = IPOL tpsc2_t ltps_c2 lepu2 ;
  2540. *opti echo 0 ;
  2541. *saut 1 lign ;
  2542. *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ;
  2543. *mess titi ;
  2544. *saut 1 lign ;
  2545. *opti echo 1 ;
  2546.  
  2547. ** Sol.Ana. 3.Traction
  2548. ltps_t3 = ENLE ltps_t3 1 ;
  2549. nb3 = DIME ltps_t3 ;
  2550. un3 = PROG nb3 * 1.D0 ;
  2551. lepd03 = PROG nb3 * epd0 ;
  2552. lat3 = PROG nb3 * at ;
  2553. * defo.unidim.
  2554. lepu3 = (IPOL ltps_t3 ec1) / long ;
  2555. * defo.eq.Mazars (eps.tild) traction = defo.unidim.
  2556. lepe3 = lepu3 ;
  2557. dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ;
  2558. lfiltr3 = LECT ;
  2559. REPE b3 ;
  2560. dt_i = EXTR dt3 &b3 ;
  2561. SI (EGA &b3 1) ;
  2562. dt_p3 = dt_p1 ;
  2563. FINSI ;
  2564. ddt = dt_i - dt_p3 ;
  2565. SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
  2566. lfiltr3 = lfiltr3 ET (LECT &b3) ;
  2567. FINSI ;
  2568. dt_p3 = dt_i ;
  2569. SI (EGA &b3 (DIME dt3)) ;
  2570. QUIT b3 ;
  2571. FINSI ;
  2572. FIN b3 ;
  2573. ltps_t3 = ENLE ltps_t3 lfiltr3 ;
  2574. un3 = ENLE un3 lfiltr3 ;
  2575. lepu3 = ENLE lepu3 lfiltr3 ;
  2576. dt3 = ENLE dt3 lfiltr3 ;
  2577. asig3 = (un3 - dt3) * you * lepu3 ;
  2578. an03 = EVOL 'TURQ' 'MANU' 'Temps' ltps_t3 'D' dt3 ;
  2579. tpst3_t = IPOL end_t3 dt3 ltps_t3 ;
  2580. an13 = EVOL 'TURQ' 'MANU' 'EPXX' lepu3 'SMXX' asig3 ;
  2581. epst3_t = IPOL tpst3_t ltps_t3 lepu3 ;
  2582. *opti echo 0 ;
  2583. *saut 1 lign ;
  2584. *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ;
  2585. *mess titi ;
  2586. *saut 1 lign ;
  2587. *opti echo 1 ;
  2588.  
  2589. SI ITRAC1 ;
  2590. DESS (ev0 ET an01 ET an02 ET an03) 'TITR' '[2D PaF] Endommagement vs Temps' 'LEGE' 'SE' tleg ;
  2591. DESS (ev1 ET an11 ET an12 ET an13) 'TITR' '[2D PaF] Contrainte vs Deformation' 'LEGE' 'NO' tleg ;
  2592. DESS ev2 'TITR' '[2D PaF] Reaction vs Deplacement' 'LEGE' 'SE' tdess ;
  2593. FINSI ;
  2594. * deformee
  2595. REPE b3 (DIME tt) ;
  2596. tps1 = tt . (&b3 - 1) ;
  2597. * trace de la deformee (pour controle visuel)
  2598. def1 = DEFO mail (tu . (&b3 - 1)) 33. 'ROUG' ;
  2599. tit1 = CHAI '[2D PaF] Deformee au temps' ' ' tps1 ;
  2600. SI ITRAC1 ;
  2601. * TRAC (def0 ET def1) 'TITR' tit1 ;
  2602. FINSI ;
  2603. FIN b3 ;
  2604. SI ITRAC1 ;
  2605. TRAC (def0 ET def1) 'TITR' tit1 ;
  2606. FINSI ;
  2607. * comparaison Calcul / Reference sur la contrainte moyenne
  2608. * 1.Traction, courbes réduites
  2609. lepu1_red = PROG ;
  2610. asig1_red = PROG ;
  2611. born_inf = EXTR lepu1 1 ;
  2612. born_sup = epst1_t ;
  2613. *opti echo 0;
  2614. *mess 'Boucle de reduction Courbe analytique';
  2615. *mess '=====================================';
  2616. *mess 'born_inf' born_inf ' born_sup' born_sup;
  2617. REPE b_an11 (dime lepu1) ;
  2618. xi = EXTR lepu1 &b_an11 ;
  2619. yi = EXTR asig1 &b_an11 ;
  2620. *mess '=== Boucle b_an11, passage' &b_an11 ' xi' xi;
  2621. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup)) ;
  2622. lepu1_red = lepu1_red et (PROG xi) ;
  2623. asig1_red = asig1_red et (PROG yi) ;
  2624. *mess ' => retenu';
  2625. FINSI ;
  2626. FIN b_an11 ;
  2627. an11_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu1_red 'SMXX' asig1_red ;
  2628. *mess 'Courbe analytique reduite : an11_red';list an11_red;
  2629. *opti echo 1;
  2630.  
  2631. leps_red = PROG ;
  2632. lsig_red = PROG ;
  2633. ltps_red = PROG ;
  2634. xp = 0. ;
  2635. *opti echo 0;
  2636. *mess 'Boucle de reduction Courbe calculee';
  2637. *mess '===================================';
  2638. *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-10' (born_sup + 1.E-10) ' 0.5inst_1a' (05.*inst_1a);
  2639. REPE b_ev1 (dime leps) ;
  2640. ti = EXTR ltps &b_ev1 ;
  2641. xi = EXTR leps &b_ev1 ;
  2642. dx = xi - xp ;
  2643. yi = EXTR lsig &b_ev1 ;
  2644. *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx;
  2645. SI ((>EG xi born_inf) ET (&lt;EG xi (born_sup + 1.E-10)) ET (>EG dx 0) ET (&lt;EG ti (05.*inst_1a))) ;
  2646. leps_red = leps_red et (PROG xi) ;
  2647. lsig_red = lsig_red et (PROG yi) ;
  2648. ltps_red = ltps_red et (PROG ti) ;
  2649. *mess ' => retenu';
  2650. FINSI ;
  2651. xp = xi ;
  2652. FIN b_ev1 ;
  2653. ev1_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  2654. *mess 'Courbe calculee reduite : ev1_red';list ev1_red;
  2655. *opti echo 1;
  2656. *opti echo 0 ;
  2657. *saut 1 lign ;
  2658. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ;
  2659. *mess titi;
  2660. *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  2661. *saut 1 lign ;
  2662. *opti echo 1;
  2663. lsiga_red = 'IPOL' an11_red leps_red ;
  2664. ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
  2665. eer1 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler1 ;
  2666. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  2667. mer1 = (INTG eer1) / dtps ;
  2668. tit1 = CHAI '[2D PaF] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 1.Traction, moy.int.|Ecart|' ' ' mer1 ;
  2669. SI ITRAC1 ;
  2670. DESS eer1 'TITR' tit1 ;
  2671. FINSI ;
  2672.  
  2673. * 2.Compression, courbes réduites
  2674. lepu2_red = PROG ;
  2675. asig2_red = PROG ;
  2676. born_inf = epsc2_t ;
  2677. born_sup = EXTR lepu2 (DIME lepu2) ;
  2678. *opti echo 0;
  2679. *mess 'Boucle de reduction Courbe analytique';
  2680. *mess '=====================================';
  2681. *mess 'born_inf' born_inf ' born_sup' born_sup;
  2682. REPE b_an12 (dime lepu2) ;
  2683. xi = EXTR lepu2 &b_an12 ;
  2684. yi = EXTR asig2 &b_an12 ;
  2685. *mess '=== Boucle b_an12, passage' &b_an12 ' xi' xi;
  2686. SI ((&lt;EG xi born_inf) ET (>EG xi born_sup)) ;
  2687. lepu2_red = lepu2_red et (PROG xi) ;
  2688. asig2_red = asig2_red et (PROG yi) ;
  2689. *mess ' => retenu';
  2690. FINSI ;
  2691. FIN b_an12 ;
  2692. an12_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu2_red 'SMXX' asig2_red ;
  2693. *mess 'Courbe analytique reduite : an12_red';list an12_red;
  2694. *opti echo 1;
  2695.  
  2696. leps_red = PROG ;
  2697. lsig_red = PROG ;
  2698. ltps_red = PROG ;
  2699. xp = 0. ;
  2700. *opti echo 0;
  2701. *mess 'Boucle de reduction Courbe calculee';
  2702. *mess '===================================';
  2703. *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-9' (born_sup - 1.E-10) ' dx' dx;
  2704. REPE b_ev2 (dime leps) ;
  2705. xi = EXTR leps &b_ev2 ;
  2706. dx = xi - xp ;
  2707. yi = EXTR lsig &b_ev2 ;
  2708. ti = EXTR ltps &b_ev2 ;
  2709. *mess '=== Boucle b_ev2, passage' &b_ev2 ' xi' xi ' dx' dx;
  2710. SI ((&lt;EG xi born_inf) ET (>EG xi (born_sup - 1.E-10)) ET (&lt;eg dx 0)) ;
  2711. leps_red = leps_red et (PROG xi) ;
  2712. lsig_red = lsig_red et (PROG yi) ;
  2713. ltps_red = ltps_red et (PROG ti) ;
  2714. *mess ' => retenu';
  2715. FINSI ;
  2716. xp = xi ;
  2717. FIN b_ev2 ;
  2718. ev2_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  2719. *mess 'Courbe calculee reduite : ev2_red';list ev2_red;
  2720. *opti echo 1;
  2721. *opti echo 0 ;
  2722. *saut 1 lign ;
  2723. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : born_inf' born_inf ' born_sup' born_sup ;
  2724. *mess titi;
  2725. *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  2726. *saut 1 lign ;
  2727. *opti echo 1;
  2728. lsiga_red = 'IPOL' an12_red leps_red ;
  2729. ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
  2730. eer2 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red '|Ec.rel|SMXX' ler2 ;
  2731. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  2732. mer2 = (INTG eer2) / dtps ;
  2733. tit2 = CHAI '[2D PaF] Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs tps en 2.Compression, moy.int.|Ecart|' ' ' mer2 ;
  2734. SI ITRAC1 ;
  2735. DESS eer2 'TITR' tit2 ;
  2736. FINSI ;
  2737.  
  2738. * 3.Traction, courbes réduites
  2739. lepu3_red = PROG ;
  2740. asig3_red = PROG ;
  2741. born_inf = EXTR lepu3 1 ;
  2742. born_sup = 1.E3 ;
  2743. *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3;
  2744. REPE b_an13 (dime lepu3) ;
  2745. di = EXTR dt3 &b_an13 ;
  2746. xi = EXTR lepu3 &b_an13 ;
  2747. yi = EXTR asig3 &b_an13 ;
  2748. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG di end_t3)) ;
  2749. lepu3_red = lepu3_red et (PROG xi) ;
  2750. asig3_red = asig3_red et (PROG yi) ;
  2751. FINSI ;
  2752. FIN b_an13 ;
  2753. an13_red = EVOL 'TURQ' 'MANU' 'EPXX' lepu3_red 'SMXX' asig3_red ;
  2754.  
  2755. leps_red = PROG ;
  2756. lsig_red = PROG ;
  2757. ltps_red = PROG ;
  2758. xp = 0. ;
  2759. REPE b_ev3 (dime leps) ;
  2760. ti = EXTR ltps &b_ev3 ;
  2761. xi = EXTR leps &b_ev3 ;
  2762. dx = xi - xp ;
  2763. yi = EXTR lsig &b_ev3 ;
  2764. SI ((>EG xi born_inf) ET (&lt;EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ;
  2765. leps_red = leps_red et (PROG xi) ;
  2766. lsig_red = lsig_red et (PROG yi) ;
  2767. ltps_red = ltps_red et (PROG ti) ;
  2768. FINSI ;
  2769. xp = xi ;
  2770. FIN b_ev3 ;
  2771. ev3_red = EVOL 'ROUG' 'MANU' 'EPXX' leps_red 'SMXX' lsig_red ;
  2772. *opti echo 0 ;
  2773. *saut 1 lign ;
  2774. *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ;
  2775. *mess titi;
  2776. *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ;
  2777. *saut 1 lign ;
  2778. *opti echo 1;
  2779. lsiga_red = 'IPOL' an13_red leps_red ;
  2780. ler3 = ABS (lsig_red -lsiga_red) / lsiga_red;
  2781. eer3 = EVOL 'ORAN' 'MANU' 'Temps' ltps_red 'Ec.rel.SMXX' ler3 ;
  2782. dtps = (EXTR ltps_red (DIME ltps_red)) - (EXTR ltps_red 1) ;
  2783. mer3 = (INTG eer3) / dtps ;
  2784. tit3 = CHAI '[2D PaF] Ecart rel. |Calc.-Ref.|/Ref. Contr. vs tps en 3.Traction, moy.int.|Ecart|' ' ' mer3 ;
  2785. SI ITRAC1 ;
  2786. DESS eer3 'TITR' tit3 ;
  2787. FINSI ;
  2788.  
  2789. tdes1 = 'TABLE' ;
  2790. tdes1.'TITRE' = 'TABLE' ;
  2791. tdes1 . 1 = MOT 'MARQ CROI' ;
  2792. tdes1 . 'TITRE' . 1 = MOT '1.Traction' ;
  2793. tdes1 . 2 = MOT 'MARQ PLUS' ;
  2794. tdes1 . 'TITRE' . 2 = MOT '2.Compression' ;
  2795. tdes1 . 3 = MOT 'MARQ S CROI' ;
  2796. tdes1 . 'TITRE' . 3 = MOT '3.Traction' ;
  2797. tit1 = CHAI '[2D PaF] |Ec.r|Contr. vs tps, moy.int.|Ec.r| en 1.Trac.' mer1 ' 2.Compr.' mer2 ' 3.Trac.' mer3 ;;
  2798. SI ITRAC1 ;
  2799. DESS (eer1 et eer2 et eer3) 'LEGE' 'NE' tdes1 'TITR' tit1 ;
  2800. FINSI ;
  2801. OPTI ECHO 0 ;
  2802. SAUT 1 LIGN ;
  2803. MESS ' *********** C A S #5 : 2 D P O U T R E A F I B R E ************';
  2804. SAUT 1 LIGN ;
  2805. SI ((MAXI mer1 mer2 mer3) < 1.E-6) ;
  2806. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  2807. MESS ' - phase 1.Traction' ' ' mer1 ;
  2808. MESS ' - phase 2.Compression' ' ' mer2 ;
  2809. MESS ' - phase 3.Traction' ' ' mer3 ;
  2810. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-06 => OK' ;
  2811. SAUT 1 LIGN ;
  2812. SINO ;
  2813. MESS ' Moy.int. Val.abs. Ecart relatif entre Calcul et Reference' ;
  2814. MESS ' - phase 1.Traction' ' ' mer1 ;
  2815. MESS ' - phase 2.Compression' ' ' mer2 ;
  2816. MESS ' - phase 3.Traction' ' ' mer3 ;
  2817. MESS ' - maximum des 3 phases' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-06 => ECHEC' ;
  2818. IERR = VRAI ;
  2819. SAUT 1 LIGN ;
  2820. FINS ;
  2821. SAUT 1 LIGN ;
  2822. OPTI ECHO 1 ;
  2823. FINSI ;
  2824.  
  2825. ** Sortie sur Erreur 1152 en cas de non conformite
  2826. SI IERR ;
  2827. ERRE 1152 ;
  2828. ERRE 5 ;
  2829. FINSI ;
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835. FIN ;
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  

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