Télécharger steinb.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : steinb.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. **************************************************
  5. * *
  6. * TEST DE VALIDATION D'UNE LOI DE COMPORTEMENT *
  7. * -------------------------------------------- *
  8. * DE MATERIAU *
  9. * ----------- *
  10. * *
  11. * LOI DE COMPORTEMENT DE: *
  12. * STEINBERG-COCHRAN-GUINAN *
  13. * *
  14. * MAILLAGE: *
  15. * UNE BARRE DE SECTION CARREE *
  16. * LONGUEUR L=.5 M *
  17. * LARGEUR l=.01 M *
  18. * *
  19. * CHARGEMENT: *
  20. * ESSAI DE TRACTION *
  21. * DEPLACEMENTS IMPOSES *
  22. * *
  23. **************************************************
  24. *
  25. *
  26. *
  27. opti echo 0 dime 3 elem cub8 ;
  28. * ajout de option epsilon lineaire pour la precision des test!
  29. OPTION epsilon lineaire;
  30. *
  31. *
  32. * Maillage
  33. *
  34. l1 = .5 ;
  35. l2 = .01 ;
  36. l3 = .01 ;
  37. n1 = 50 ;
  38. n2 = 1 ;
  39. n3 = 1 ;
  40. p1 = 0. 0. 0. ;
  41. p2 = l1 0. 0. ;
  42. p3 = l1 l2 0. ;
  43. p4 = 0. l2 0. ;
  44. p5 = 0. 0. l3 ;
  45. p6 = l1 0. l3 ;
  46. p7 = l1 l2 l3 ;
  47. p8 = 0. l2 l3 ;
  48. d1 = d p1 n3 p5 ;
  49. d2 = d p5 n2 p8 ;
  50. d3 = d p8 n3 p4 ;
  51. d4 = d p4 n2 p1 ;
  52. sur1 = 'DALL' d1 d2 d3 d4 ;
  53. d5 = d p2 n3 p6 ;
  54. d6 = d p6 n2 p7 ;
  55. d7 = d p7 n3 p3 ;
  56. d8 = d p3 n2 p2 ;
  57. sur2 = 'DALL' d5 d6 d7 d8 ;
  58. vol1 = sur1 'VOLU' n1 sur2 ;
  59. *
  60. * Modele de calcul
  61. *
  62. INCO_GT = 'EVOL' 'MANU' 'T' ( 'PROG' -273. 27. 1027. )
  63. 'GT' ( 'PROG' 5133.E6 0. -17110.E6 ) ;
  64. mod1 = 'MODE' vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  65. 'PLASTIQUE' 'STEINBERG' ;
  66. mat1 = 'MATE' mod1 'YOUN' 2.1E11 'NU' 0.3
  67. 'RHO' 7.8E3 'ALPHA' 0. 'SIGY' 410.E6
  68. 'BETA' 125 'N' .1 'EPSI' 0.
  69. 'GP' 1.79 'GT' INCO_GT 'YMAX' 680.E6 'TMO' 1220.
  70. 'MU' 1.95 ;
  71. *
  72. * Modele thermique
  73. *
  74. mod2 = 'MODE' vol1 'THERMIQUE' 'ISOTROPE' ;
  75. mat2 = 'MATE' mod2 'K' 50. 'C' 140. 'RHO' 7.8E3 ;
  76. *
  77. mod3 = 'MODE' ( 'ENVE' vol1 ) thermique 'CONVECTION'
  78. ;
  79. mat3 = 'MATE' mod3 'H' 750. ;
  80. *
  81. * Modele total
  82. *
  83. mod0 = mod1 'ET' mod2 'ET' mod3 ;
  84. mat0 = mat1 'ET' mat2 'ET' mat3 ;
  85. *
  86. * Conditions aux limites
  87. *
  88. cl1 = 'BLOQ' sur1 'UX' ;
  89. cl2 = 'BLOQ' sur2 'UX' ;
  90. cl3 = 'BLOQ' p1 'UX' 'UY' 'UZ' ;
  91. cl4 = 'BLOQ' p5 'UX' 'UY' ;
  92. cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4 ;
  93. *
  94. * Chargement
  95. *
  96. dep1 = 'DEPI' cl2 .1 ;
  97. tex0 = 'MANU' 'CHPO' ( 'ENVE' vol1 ) 1 'T' 500. ;
  98. ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. 1000. ) y ( 'PROG' 0. 1. ) ;
  99. cha1 = 'CHAR' 'DIMP' dep1 ev0 ;
  100. cha2 = 'CHAR' 'TECO' tex0 ev0 ;
  101. cha0 = cha1 'ET' cha2 ;
  102. *
  103. * Temps du calcul
  104. *
  105. dt0 = 10. ;
  106. tfin0 = 100. ;
  107. *
  108. *
  109. * Resolution par PASAPAS
  110. *---------------------------------------
  111. *
  112. ta1 = 'TABLE' ;
  113. ta1 .'MODELE' = mod0 ;
  114. ta1 .'CARACTERISTIQUES' = mat0 ;
  115. ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
  116. ta1 .'CHARGEMENT' = cha0 ;
  117. ta1 .'PROCEDURE_THERMIQUE' = LINEAIRE ;
  118. ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
  119. *
  120. TMASAU=table;
  121. ta1 . 'MES_SAUVEGARDES'=TMASAU;
  122. TMASAU .'DEFTO'=VRAI;
  123. TMASAU .'DEFIN'=VRAI;
  124. PASAPAS ta1 ;
  125. *
  126. *
  127. * Post-traitement
  128. *-----------------------------------------
  129. *
  130. * Quelques donnees du calcul
  131. *
  132. youn1 = 'EXTR' ( 'EXCO' mat0 'YOUN' 'SCAL' ) 'SCAL' 1 1 1 ;
  133. xnu0 = 'EXTR' ( 'EXCO' mat0 'NU' 'SCAL' ) 'SCAL' 1 1 1 ;
  134. sig0 = 'EXTR' ( 'EXCO' mat0 'SIGY' 'SCAL' ) 'SCAL' 1 1 1 ;
  135. m0 = 'EXTR' ( 'EXCO' mat0 'N' 'SCAL' ) 'SCAL' 1 1 1 ;
  136. beta0 = 'EXTR' ( 'EXCO' mat0 'BETA' 'SCAL' ) 'SCAL' 1 1 1 ;
  137. G0 = youn1 / ( 2. * ( 1. + xnu0 ) ) ;
  138. GP0 = 'EXTR' ( 'EXCO' mat0 'GP' 'SCAL' ) 'SCAL' 1 1 1 ;
  139. eps_el0 = sig0 / youn1 ;
  140. *
  141. * Post-traitement
  142. *-----------------------------------------
  143. *
  144. sigx1 = 'PROG' 0. ;
  145. sigx2 = 'PROG' 0. ;
  146. depx1 = 'PROG' 0. ;
  147. depx2 = 'PROG' 0. ;
  148. sig_1 = 'PROG' 0. ;
  149. def_1 = 'PROG' 0. ;
  150. eps_th1 = 'PROG' 0. ;
  151. con_th1 = 'PROG' 0. ;
  152. err_e1 = 'PROG' 0. ;
  153. err_s1 = 'PROG' 0. ;
  154. tp_max1 = 'PROG' 0. ;
  155. tp_min1 = 'PROG' 0. ;
  156. A1 = 2. * ( 1. + xnu0 ) ;
  157. B1 = A1 / ( 3. * ( 1. - ( 2. * xnu0 ) ) ) ;
  158. dim0 = 'DIME' ta1 .'TEMPS' - 1 ;
  159. mod0 = ta1 .'MODELE' ;
  160. 'REPETER' bloc1 dim0 ;
  161. i1 = &bloc1 ;
  162. mat0 = ta1 .'CARACTERISTIQUES' ;
  163. depl0 = ta1 .'DEPLACEMENTS'.i1 ;
  164. sigm0 = ta1 .'CONTRAINTES'.i1 ;
  165. depeq0 = ta1 .'VARIABLES_INTERNES'.i1 ;
  166. def0 = ta1 .'DEFORMATIONS_INELASTIQUES'.i1 ;
  167. cht0 = ta1 .'TEMPERATURES'.i1 ;
  168. GT0 = 'EXCO' ( 'VARI' 'NUAG' mod1 mat1 cht0 ) 'GT' 'SCAL' ;
  169. GT0 = 'EXTR' GT0 'SCAL' 1 1 1 ;
  170. t1 = 'EXTR' cht0 'T' ( 'NOEUD' 1 ) ;
  171. * 'MESS' ' Temperature au temps ' i1 ' = ' t1 ;
  172. tp_max0 = 'MAXI' cht0 ;
  173. tp_min0 = 'MINI' cht0 ;
  174. tp_max1 = tp_max1 'ET' ( 'PROG' tp_max0 ) ;
  175. tp_min1 = tp_min1 'ET' ( 'PROG' tp_min0 ) ;
  176. sigx0 = 'MAXI' ( 'VMIS' mod1 sigm0 ) ;
  177. sigx00 = 'MINI' ( 'VMIS' mod1 sigm0 ) ;
  178. depx0 = 'MAXI' ( 'EXCO' depeq0 'EPSE' 'SCAL' ) ;
  179. depx00 = 'MINI'( 'EXCO' depeq0 'EPSE' 'SCAL' ) ;
  180. sig_00 = 'EXCO' sigm0 'SMXX' 'SCAL' ;
  181. sig_0 = 'EXTR' sig_00 'SCAL' 1 1 1 ;
  182. def_00 = 'EXCO' def0 'EIXX' 'SCAL' ;
  183. def_0 = 'EXTR' def_00 'SCAL' 1 1 1 ;
  184. sigx1 = sigx1 'ET' ( 'PROG' sigx0 ) ;
  185. sigx2 = sigx2 'ET' ( 'PROG' sigx00 ) ;
  186. depx1 = depx1 'ET' ( 'PROG' depx0 ) ;
  187. depx2 = depx2 'ET' ( 'PROG' depx00 ) ;
  188. sig_1 = sig_1 'ET' ( 'PROG' sig_0 ) ;
  189. def_1 = def_1 'ET' ( 'PROG' def_0 ) ;
  190. *
  191. * Eta
  192. *
  193. eps00 = 'EPSI' mod1 depl0 ;
  194. epsx = 'EXTR' ( 'EXCO' eps00 'EPXX' 'SCAL' ) 'SCAL' 1 1 1 ;
  195. epsy = 'EXTR' ( 'EXCO' eps00 'EPYY' 'SCAL' ) 'SCAL' 1 1 1 ;
  196. epsz = 'EXTR' ( 'EXCO' eps00 'EPZZ' 'SCAL' ) 'SCAL' 1 1 1 ;
  197. treps0 = epsx + epsy + epsz ;
  198. eta = 1. / ( 1. + treps0 ) ;
  199. *
  200. * Courbe theorique
  201. *
  202. eps0 = epsx ;
  203. sig1 = sig0 * ( 1. + ( ( GP0 / G0 ) * ( -1. * sig_0 / 3. ) ) +
  204. ( GT0 / G0 ) ) ;
  205. pente0 = GP0 / ( 3. * ( eta ** ( 1. / 3. ) ) ) ;
  206. pente1 = G0 + GT0 ;
  207. *
  208. 'SI' ( sigx0 > sig1 ) ;
  209. x0 = 0. ;
  210. x2 = x0 ;
  211. tr1 = treps0 - ( A1 * ( eps0 - x2 ) / ( 3. * B1 ) ) ;
  212. tr1 = tr1 / 3. ;
  213. y2 = ( sig0 * ( ( 1 + ( beta0 * ( x2 - tr1 ) ) ) ** m0 ) ) ;
  214. y2 = y2 + ( A1 * G0 * x2 ) ;
  215. y2 = y2 - ( A1 * G0 * eps0 ) ;
  216. *
  217. x1 = eps0 ;
  218. x2 = x1 ;
  219. tr1 = treps0 - ( A1 * ( eps0 - x2 ) / ( 3. * B1 ) ) ;
  220. tr1 = tr1 / 3. ;
  221. y2 = ( sig0 * ( ( 1 + ( beta0 * ( x2 - tr1 ) ) ) ** m0 ) ) ;
  222. y2 = y2 + ( A1 * G0 * x2 ) ;
  223. y2 = y2 - ( A1 * G0 * eps0 ) ;
  224. *
  225. 'REPETER' bloc2 ;
  226. *
  227. x2 = ( x0 + x1 ) / 2. ;
  228. tr1 = treps0 - ( A1 * ( eps0 - x2 ) / ( 3. * B1 ) ) ;
  229. tr1 = tr1 / 3. ;
  230. y2 = ( sig0 * ( ( 1 + ( beta0 * ( x2 - tr1 ) ) ) ** m0 ) ) ;
  231. y2 = y2 + ( A1 * G0 * x2 ) ;
  232. y2 = y2 - ( A1 * G0 * eps0 ) ;
  233. *
  234. 'SI' ( y2 > 1.E-4 ) ;
  235. x1 = x2 ;
  236. 'SINON' ;
  237. 'SI' ( y2 < -1.E-4 ) ;
  238. x0 = x2 ;
  239. 'SINON' ;
  240. eps_th0 = x2 ;
  241. con_th0 = ( A1 * pente1 * ( eps0 - x2 ) ) ;
  242. con_th0 = con_th0 / ( 1. + ( A1 * pente0 * ( eps0 - x2 ) ) ) ;
  243. 'QUITTER' bloc2 ;
  244. 'FINSI' ;
  245. 'FINSI' ;
  246. *
  247. 'FIN' bloc2 ;
  248. *
  249. 'SINON' ;
  250. eps_th0 = 0. ;
  251. con_th0 = ( A1 * pente1 * eps0 ) ;
  252. con_th0 = con_th0 / ( 1. + ( A1 * pente0 * eps0 ) ) ;
  253. 'FINSI' ;
  254. *
  255. * 'MESS' ' Fin du calcul de restitution pour le pas' ta1 .'TEMPS'.i1 ;
  256. eps_th1 = eps_th1 'ET' ( 'PROG' eps_th0 ) ;
  257. con_th1 = con_th1 'ET' ( 'PROG' con_th0 ) ;
  258. max0 = ( 'ABS' ( con_th0 - sig_0 ) + con_th0 + sig_0 ) ;
  259. max0 = 0.5 * max0 ;
  260. max1 = ( 'ABS' ( eps_th0 - def_0 ) + eps_th0 + def_0 ) ;
  261. max1 = 0.5 * max1 ;
  262. 'SI' ( ( 'ABS' max0 ) > 1.E-6 ) ;
  263. err_s0 = ( 'ABS' ( con_th0 - sig_0 ) ) / max0 ;
  264. err_s0 = err_s0 * 100. ;
  265. 'SINON' ;
  266. err_s0 = 0. ;
  267. 'FINSI' ;
  268. 'SI' ( ( 'ABS' max1 ) > ( 1.E-1 * eps_el0 ) ) ;
  269. err_e0 = ( 'ABS' ( eps_th0 - def_0 ) ) / max1 ;
  270. err_e0 = err_e0 * 100. ;
  271. 'SINON' ;
  272. err_e0 = 0. ;
  273. 'FINSI' ;
  274. 'SI' ( ( err_e0 '>' 2.E-2 ) 'OU' ( err_s0 '>' 2.E-2 ) ) ;
  275. 'ERRE' 5 ;
  276. 'FINSI' ;
  277. err_s1 = err_s1 'ET' ( 'PROG' err_s0 ) ;
  278. err_e1 = err_e1 'ET' ( 'PROG' err_e0 ) ;
  279. *
  280. *'MESS' ' Deformation plastique theorique =' eps_th0 ;
  281. *'MESS' ' Deformation plastique calculee =' def_0 ;
  282. *
  283. *
  284. 'FIN' bloc1 ;
  285. *
  286. * Trace
  287. *
  288. trac1 = 'EVOL' 'ROUG' 'MANU' 'epsp' depx1 'sigm' sigx1 ;
  289. *'DESSIN' trac1 'TITR' 'Contraintes - Deformation plastique' ;
  290. trac2 = 'EVOL' 'ROUG' 'MANU' 'epsp' depx2 'sigm' sigx2 ;
  291. TAB = 'TABLE' ;
  292. TAB.1 = 'MARQ CROI ' ;
  293. TAB.2 = 'MARQ PLUS ' ;
  294. TAB.'TITRE' = 'TABLE' ;
  295. TAB.'TITRE'. 1 = MOT 'MAXI' ;
  296. TAB.'TITRE'. 2 = MOT 'MINI' ;
  297. *'DESSIN' ( trac1 'ET' trac2 )
  298. *'TITR' 'Comparaison mini - maxi de la contrainte equivalente '
  299. *'LEGE' TAB ;
  300. trac3 = 'EVOL' 'ROUG' 'MANU' 'def_pl_xx' def_1 'tp_max' tp_max1 ;
  301. trac31 = 'EVOL' 'ROUG' 'MANU' 'def_pl_xx' def_1 'tp_max' tp_min1 ;
  302. TAB = 'TABLE' ;
  303. TAB.1 = 'MARQ CROI ' ;
  304. TAB.2 = 'MARQ PLUS ' ;
  305. TAB.'TITRE' = 'TABLE' ;
  306. TAB.'TITRE'. 1 = MOT 'MAXI' ;
  307. TAB.'TITRE'. 2 = MOT 'MINI' ;
  308. *'DESSIN' ( trac3 'ET' trac31 )
  309. *'TITR' 'Comparaison mini - maxi de la temperature '
  310. *'LEGE' TAB ;
  311. trac4 = 'EVOL' 'ROUG' 'MANU' 'def_pl_xx' def_1 'Sig_xx' sig_1 ;
  312. trac5 = 'EVOL' 'ROUG' 'MANU' 'eps_pl' eps_th1 'Sig_xx' con_th1 ;
  313. TAB= 'TABLE' ;
  314. TAB.1 = 'MARQ CROI ' ;
  315. TAB.2 = 'MARQ PLUS ' ;
  316. TAB.'TITRE' = 'TABLE' ;
  317. TAB.'TITRE'. 1 = MOT 'Calcul' ;
  318. TAB.'TITRE'. 2 = MOT 'Theorie' ;
  319. *'DESSIN' ( trac4 'ET' trac5 )
  320. *'TITR' ' Courbe theorique et calculee'
  321. *'LEGE' TAB ;
  322. trac6 = 'EVOL' 'ROUG' 'MANU' 'epsp' def_1 'erreur %' err_s1 ;
  323. trac7 = 'EVOL' 'ROUG' 'MANU' 'epsp' def_1 'erreur %' err_e1 ;
  324. TAB = 'TABLE' ;
  325. TAB.1 = 'MARQ PLUS ' ;
  326. TAB.2 = 'MARQ CROI ' ;
  327. TAB.'TITRE' = 'TABLE' ;
  328. TAB.'TITRE'. 1 = MOT 'CONTRAINTES' ;
  329. TAB.'TITRE'. 2 = MOT 'DEFORMATIONS' ;
  330. *'DESSIN' ( trac6 'ET' trac7 )
  331. *'TITR' 'Erreur sur les contraintes et la déformation plastiques '
  332. *'LEGE' TAB ;
  333. *
  334. *'MESS' ' deformation plastique theorique ' eps_th0 ;
  335. *'MESS' ' deformation plastique calculee ' def_0 ;
  336. *'MESS' ' contrainte theorique ' con_th0 ;
  337. *'MESS' ' contrainte calculee ' sig_0 ;
  338. *'MESS' ' deformation totale finale ' eps0 ;
  339. *
  340. *
  341. 'FIN' ;
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  

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