Télécharger zeril1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : zeril1.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * Test Zeril.dgibi: Jeux de données *
  5. * --------------------------------- *
  6. * *
  7. **************************************************
  8. * *
  9. * TEST DE VALIDATION D'UNE LOI DE COMPORTEMENT *
  10. * -------------------------------------------- *
  11. * DE MATERIAU *
  12. * ----------- *
  13. * *
  14. * LOI DE COMPORTEMENT DE: *
  15. * ZERILLI-ARMSTRONG *
  16. * CAS CUBIQUE CENTRE ( C.C. ) *
  17. * *
  18. * MAILLAGE: *
  19. * UNE BARRE DE SECTION CARREE *
  20. * LONGUEUR L=.5 M *
  21. * LARGEUR l=.01 M *
  22. * *
  23. * CHARGEMENT: *
  24. * ESSAI DE TRACTION *
  25. * DEPLACEMENTS IMPOSES *
  26. * *
  27. **************************************************
  28. *
  29. *
  30. *
  31. opti echo 0 dime 3 elem cub8 ;
  32. *
  33. *
  34. * Maillage
  35. *
  36. l1 = .5 ;
  37. l2 = .01 ;
  38. l3 = .01 ;
  39. n1 = 50 ;
  40. n2 = 1 ;
  41. n3 = 1 ;
  42. p1 = 0. 0. 0. ;
  43. p2 = l1 0. 0. ;
  44. p3 = l1 l2 0. ;
  45. p4 = 0. l2 0. ;
  46. p5 = 0. 0. l3 ;
  47. p6 = l1 0. l3 ;
  48. p7 = l1 l2 l3 ;
  49. p8 = 0. l2 l3 ;
  50. d1 = d p1 n3 p5 ;
  51. d2 = d p5 n2 p8 ;
  52. d3 = d p8 n3 p4 ;
  53. d4 = d p4 n2 p1 ;
  54. sur1 = 'DALL' d1 d2 d3 d4 ;
  55. d5 = d p2 n3 p6 ;
  56. d6 = d p6 n2 p7 ;
  57. d7 = d p7 n3 p3 ;
  58. d8 = d p3 n2 p2 ;
  59. sur2 = 'DALL' d5 d6 d7 d8 ;
  60. vol1 = sur1 'VOLU' n1 sur2 ;
  61. *
  62. * Modele de calcul
  63. *
  64. mod0 = 'MODE' vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  65. 'PLASTIQUE' 'ZERILLI' ;
  66. mat0 = 'MATE' mod0 'YOUN' 2.1E11 'NU' 0.3
  67. 'RHO' 7.8E3 'ALPHA' 1.E-5 'DYG' 46.5E6
  68. 'C1' 1033.E6 'C2' 890.E6 'C3' (300. * 698.E-5)
  69. 'C4' ( 300. * 415.E-6 ) 'C5' 266.E6
  70. 'N' 0.289 'K' 6.957E5 'L' 1E-3 'TYPE' 1. ;
  71. *
  72. * Conditions aux limites
  73. *
  74. cl1 = 'BLOQ' sur1 'UX' ;
  75. cl2 = 'BLOQ' sur2 'UX' ;
  76. cl3 = 'BLOQ' p1 'UX' 'UY' 'UZ' ;
  77. cl4 = 'BLOQ' p5 'UX' 'UY' ;
  78. cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4 ;
  79. *
  80. * Chargement
  81. *
  82. dep1 = 'DEPI' cl2 .1 ;
  83. ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. .01 ) y
  84. ( 'PROG' 0. 1. ) ;
  85. cha0 = 'CHAR' 'DIMP' dep1 ev0 ;
  86. *
  87. * Temps du calcul
  88. *
  89. dt0 = .00005 ;
  90. tfin0 = .0005 ;
  91. *
  92. *
  93. * Resolution par PASAPAS
  94. *---------------------------------------
  95. *
  96. ta1 = 'TABLE' ;
  97. ta1 .'MODELE' = mod0 ;
  98. ta1 .'CARACTERISTIQUES' = mat0 ;
  99. ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
  100. ta1 .'CHARGEMENT' = cha0 ;
  101. ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
  102. *
  103. TMASAU=table;
  104. ta1 . 'MES_SAUVEGARDES'=TMASAU;
  105. TMASAU .'DEFTO'=VRAI;
  106. TMASAU .'DEFIN'=VRAI;
  107. ta1.'PROCESSEURS'= 'AUTOMATIQUE';
  108. PASAPAS ta1 ;
  109. *
  110. * Post-traitement
  111. *-----------------------------------------
  112. *
  113. dim0 = 'DIME' ta1 .'TEMPS' - 1 ;
  114. YOUNG0 = 'EXCO' mat0 'YOUNG' 'SCAL' ;
  115. YOUNG1 = 'MAXI' YOUNG0 ;
  116. DYG0 = 'EXCO' mat0 'DYG' 'SCAL' ;
  117. DYG1 = 'MAXI' DYG0 ;
  118. C1 = 'EXCO' mat0 'C1' 'SCAL' ;
  119. C11 = 'MAXI' C1 ;
  120. C2 = 'EXCO' mat0 'C2' 'SCAL' ;
  121. C21 = 'MAXI' C2 ;
  122. C3 = 'EXCO' mat0 'C3' 'SCAL' ;
  123. C31 = 'MAXI' C3 ;
  124. C4 = 'EXCO' mat0 'C4' 'SCAL' ;
  125. C41 = 'MAXI' C4 ;
  126. C5 = 'EXCO' mat0 'C5' 'SCAL' ;
  127. C51 = 'MAXI' C5 ;
  128. XK0 = 'EXCO' mat0 'K' 'SCAL' ;
  129. XK1 = 'MAXI' XK0 ;
  130. XL0 = 'EXCO' mat0 'L' 'SCAL' ;
  131. XL1 = 'MAXI' XL0 ;
  132. XN0 = 'EXCO' mat0 'N' 'SCAL' ;
  133. XN1 = 'MAXI' XN0 ;
  134. TYPE0 = 'EXCO' mat0 'TYPE' 'SCAL' ;
  135. TYPE1 = 'MAXI' TYPE0 ;
  136. eps_el0 = ( DYG1 + ( XK1 * ( XL1 ** (-.5) ) ) ) /
  137. YOUNG1 ;
  138. err_e1 = 0. ;
  139. err_s1 = 0. ;
  140. 'REPETER' bloc1 dim0 ;
  141. i1 = &bloc1 ;
  142. depl1 = 'EXCO' ta1 .'DEPLACEMENTS'.i1 'UX' 'SCAL' ;
  143. depl0 = 'EXCO' ta1 .'DEPLACEMENTS'.(i1 - 1 ) 'UX'
  144. 'SCAL' ;
  145. dep1 = 'MAXI' depl1 ;
  146. eps1 = dep1 / l1 ;
  147. dep0 = 'MAXI' depl0 ;
  148. sigm0 = ta1 .'CONTRAINTES'.i1 ;
  149. depeq0 = ta1 .'VARIABLES_INTERNES'.i1 ;
  150. def0 = ta1 .'DEFORMATIONS_INELASTIQUES'.i1 ;
  151. t1 = ta1 .'TEMPS'.i1 ;
  152. t0 = ta1 .'TEMPS'.(i1 - 1) ;
  153. dt0 = t1 - t0 ;
  154. dt0 = 0. ;
  155. 'SI' ( ( 'ABS' dt0 ) < 1.E-10 ) ;
  156. deps0 = 0. ;
  157. 'SINON' ;
  158. deps0 = ( dep1 - dep0 ) / ( dt0 * l1 ) ;
  159. 'FINSI' ;
  160. *
  161. sigx0 = 'MAXI' ( 'VMIS' mod0 sigm0 ) ;
  162. sigx00 = 'MINI' ( 'VMIS' mod0 sigm0 ) ;
  163. depx0 = 'MAXI' depeq0 ;
  164. depx00 = 'MINI' depeq0 ;
  165. sig_00 = 'EXCO' sigm0 'SMXX' 'SCAL' ;
  166. sig_0 = 'MAXI' sig_00 ;
  167. sig_y = 'MAXI' ( 'EXCO' sigm0 'SMYY' 'SCAL' ) ;
  168. sig_z = 'MAXI' ( 'EXCO' sigm0 'SMZZ' 'SCAL' ) ;
  169. def_00 = 'EXCO' def0 'EIXX' ;
  170. def_0 = 'MAXI' def_00 ;
  171. *
  172. * Materiau cfc
  173. *
  174. 'SI' ( TYPE1 'EGA' 0. ) ;
  175. *
  176. 'SI' ( sigx0 '>EG'
  177. ( DYG1 + ( XK1 * ( XL1 ** (-.5) ) ) ) ) ;
  178. 'SI' ( ( 'ABS' deps0 ) < 1.E-10 ) ;
  179. B0 = 0. ;
  180. 'SINON' ;
  181. B0 = C21 * ( EXP ( ( C41 * ( LOG deps0 ) )
  182. - C31 ) ) ;
  183. 'FINSI' ;
  184. A0 = YOUNG1 ;
  185. C0 = DYG1 + ( XK1 * ( XL1 ** (-.5) ) )
  186. - ( YOUNG1 * eps1 ) ;
  187. *
  188. DELTA = ( B0 * B0 ) - ( 4. * A0 * C0 ) ;
  189. X1 = ( -1. * B0 - ( ( DELTA ) ** ( 0.5) ) ) /
  190. ( 2. * A0 ) ;
  191. X2 = ( -1. * B0 + ( ( DELTA ) ** ( 0.5) ) ) /
  192. ( 2. * A0 ) ;
  193. epsp0 = X2 * X2 ;
  194. sig0 = YOUNG1 * ( eps1 - epsp0 ) ;
  195. *
  196. 'SINON' ;
  197. epsp0 = 0. ;
  198. sig0 = sig_0 ;
  199. 'FINSI' ;
  200. *
  201. 'SINON' ;
  202. *
  203. * materiau CC
  204. *
  205. LIM0 = DYG1 + ( XK1 * ( XL1 ** (-.5) ) ) ;
  206. 'SI' ( ( 'ABS' deps0 ) < 1.E-10 ) ;
  207. LIM0 = LIM0 + 0. ;
  208. 'SINON' ;
  209. LIM0 = LIM0 +
  210. ( C11 * ( EXP ( ( C41 * ( LOG deps0 ) )
  211. - C31 ) ) ) ;
  212. 'FINSI' ;
  213. 'SI' ( sig_0 > LIM0 ) ;
  214. A0 = YOUNG1 ;
  215. 'SI' ( ( 'ABS' deps0 ) < 1.E-10 ) ;
  216. B0 = 0. ;
  217. 'SINON' ;
  218. B0 = C11 * ( EXP ( ( C41 * ( LOG deps0 ) )
  219. - C31 ) ) ;
  220. 'FINSI' ;
  221. B0 = B0 + DYG1 + ( XK1 * ( XL1 ** (-.5) ) )
  222. - ( YOUNG1 * eps1 ) ;
  223. C0 = C51 ;
  224. *
  225. x0 = 0. ;
  226. x2 = x0 ;
  227. y2 = A0 * x2 ;
  228. y2 = y2 + ( C0 * ( x2 ** XN1 ) ) ;
  229. y2 = y2 + B0 ;
  230. *
  231. x1 = eps1 ;
  232. x2 = x1 ;
  233. y2 = A0 * x2 ;
  234. y2 = y2 + ( C0 * ( x2 ** XN1 ) ) ;
  235. y2 = y2 + B0 ;
  236. *
  237. 'REPETER' bloc2 ;
  238. *
  239. x2 = ( x0 + x1 ) / 2. ;
  240. y2 = A0 * x2 ;
  241. y2 = y2 + ( C0 * ( x2 ** XN1 ) ) ;
  242. y2 = y2 + B0 ;
  243. *
  244. 'SI' ( y2 > 1.E-5 ) ;
  245. x1 = x2 ;
  246. 'SINON' ;
  247. 'SI' ( y2 < -1.E-5 ) ;
  248. x0 = x2 ;
  249. 'SINON' ;
  250. epsp0 = x2 ;
  251. sig0 = YOUNG1 * ( eps1 - x2 ) ;
  252. 'QUITTER' bloc2 ;
  253. 'FINSI' ;
  254. 'FINSI' ;
  255. *
  256. 'FIN' bloc2 ;
  257. *
  258. 'SINON' ;
  259. epsp0 = 0. ;
  260. sig0 = sig_0 ;
  261. 'FINSI' ;
  262. *
  263. 'FINSI' ;
  264. *
  265. err_s0 = 'ABS' ( sig0 - sig_0 ) ;
  266. err_s0 = err_s0 / sig0 ;
  267. err_s0 = err_s0 * 100. ;
  268. err_e0 = 'ABS' ( epsp0 - def_0 ) ;
  269. 'SI' (def_0 '>' ( 1.E-1 * eps_el0 ) ) ;
  270. err_e0 = err_e0 / def_0 ;
  271. 'SINON' ;
  272. err_e0 = 0. ;
  273. 'FINSI' ;
  274. err_e0 = err_e0 * 100. ;
  275. *
  276. * Erreur trop grande ?
  277. *
  278. 'SI' ( err_e0 > 1. ) ;
  279. 'ERRE' 5 ;
  280. err_e1 = 100. ;
  281. 'SINON' ;
  282. err_e1 = err_e1 + 0. ;
  283. 'FINSI' ;
  284. 'SI' ( err_s0 > 1. ) ;
  285. 'ERRE' 5 ;
  286. err_s1 = 100. ;
  287. 'SINON' ;
  288. err_s1 = err_s1 + 0. ;
  289. 'FINSI' ;
  290. *
  291. 'FIN' bloc1 ;
  292. *
  293. 'SI' ( ( err_e1 < 1. ) 'ET' ( err_s1 < 1. ) ) ;
  294. 'ERRE' 0 ;
  295. 'FINSI' ;
  296. *
  297. *
  298. 'FIN' ;
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  

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