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

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