Télécharger soudage26.dgibi

Retour à la liste

Numérotation des lignes :

  1. *
  2. * calcul de type soudage sans apport de matière
  3. *
  4. jtest = 'VRAI' ;
  5.  
  6. si (ega jtest 'VRAI') ; opti trac psc ; finsi ;
  7.  
  8. opti dime 3 elem cu20 ;
  9.  
  10. p_ori = 0. 0. 0. ;e_x = 1. 0. 0. ; e_y = 0. 1. 0. ; e_z = 0. 0. 1. ;
  11.  
  12. ray_i = 15.e-2 ; ang_u = 90./5 ; lc1 = 5.e-3 ; lc2 = 10.e-2 ;
  13.  
  14. dens1 = 1.;
  15. opti dens dens1 ;
  16. p_i1 = p_ori plus (ray_i * e_z) ;
  17. p_e1 = p_i1 plus (ray_i/10 * e_z) ;
  18. r_ie1 = d p_i1 p_e1 ;
  19. m_ie = changer poi1 r_ie1 ;
  20. s_1 = r_ie1 rota 1 ang_u p_ori e_y ;
  21.  
  22. sec_d = s_1 ;
  23. repeter b_90 (20 - 1) ;
  24. r_u = (inve (s_1 cote 3)) ; m_ie = m_ie et (changer poi1 r_u) ;
  25. s_u = r_u rota 1 ang_u p_ori e_y ;
  26. sec_d = sec_d et s_u ;
  27. s_1 = s_u ;
  28. fin b_90 ;
  29. elim 1.e-4 (s_u et r_ie1) ;
  30. titre 'section tube ' ;
  31. trac sec_d nclk ;
  32.  
  33. sec_g = sec_d moins p_ori ;
  34.  
  35. v_d1 = sec_d volu 1 trans (lc1 * e_y) ;
  36. v_g1 = sec_g volu 1 trans (lc1 * (-1) * e_y) ;
  37. v_d2 = (face 2 v_d1) volu trans e_y dini lc1 dfin lc2 ;
  38. v_g2 = (face 2 v_g1) volu trans ((-1) * e_y) dini lc1 dfin lc2 ;
  39. v_0 = v_d1 et v_d2 et v_g1 et v_g2 ;
  40.  
  41. titre 'demi-tube droite ' ;
  42. trac (v_d1 et v_d2) cach nclk ;
  43.  
  44. vm_d1 = changer lineaire v_d1 ;
  45. vm_g1 = changer lineaire v_g1 ;
  46. vm_d2 = changer lineaire v_d2 ;
  47. vm_g2 = changer lineaire v_g2 ;
  48. vm_1 = vm_d1 et vm_g1 et vm_d2 et vm_g2 ;
  49.  
  50.  
  51. s_g2 = face 2 v_g2 ;
  52. sm_g2 = changer lineaire s_g2 ;
  53. s_d2 = face 2 v_d2 ;
  54. sm_d2 = changer lineaire s_d2 ;
  55.  
  56. ************************************************************************
  57. * THERMIQUE CARACTÉRISTIQUES MATERIAU
  58.  
  59. * evolution des caracteristiques avec la temperature ;
  60.  
  61. * TABLE POUR LA VISUALISATION
  62.  
  63. TAB1 = TABLE ;
  64. TAB1.1 = 'MARQ LOSA';
  65. TAB1.2 = 'MARQ TRIA';
  66.  
  67. * capacite volumique
  68.  
  69. ltmpt1 = prog 20. 100. pas 100. 1400. 1450. 1700.;
  70.  
  71. lscapa = prog 3594.5 3902.6 4157.4 4309.6 4442.9 4467.6
  72. 4491.6 4590.4 4696.8 4907.5 4950. 4990. 5043. 5054.2
  73. 5071.5 5088. 5088.;
  74.  
  75. * conversion en USI
  76. lscapa = lscapa * 1.e3;
  77. evlcapa = evol manu 'T' ltmpt1 'C' lscapa ;
  78. *dess evlcapa titre 'Capacaité volumique' nclk TAB1 ;
  79.  
  80. * conductivite
  81.  
  82. lscondu = prog 14. 15.2 16.6 17.9 19.2 20.6 21.8 23.1 24.3 26.
  83. 27.3 28.1 29.9 32. 34. 49. 49.;
  84. lscondu = lscondu ;
  85.  
  86. evlcond = evol manu 'T' ltmpt1 'K' lscondu ;
  87. *dess evlcond titre 'Conductivite' nclk TAB1 ;
  88.  
  89. * coefficient de convection avec l'exterieur
  90.  
  91. he1 = 10. ;
  92. * coefficient de convection avec le bridage
  93. he2 = 150. ;
  94.  
  95. *
  96. mth_d1 = mode v_d1 thermique isotrope ;
  97. mth_d2 = mode v_d2 thermique isotrope ;
  98. mth_g1 = mode v_g1 thermique isotrope ;
  99. mth_g2 = mode v_g2 thermique isotrope ;
  100. m_conv = mode ((face 3 v_d2) et (face 3 v_g2)) thermique convection ;
  101.  
  102. moth_c = mth_d1 et mth_d2 et mth_g1 et mth_g2 ;
  103. cath_c = mate moth_c 'C' evlcapa 'K' evlcond 'RHO' 1. ;
  104. c_conv = mate m_conv 'H' he1 ;
  105.  
  106. ************************************************************************
  107. * MECANIQUE CARACTÉRISTIQUES MATERIAU
  108.  
  109. * acier inox
  110. * coef dilatation
  111. l_temp1 = prog
  112. 20. 50. 150. 250. 350. 450. 550. 650. 750. 850. 875. ;
  113. al_in = evol manu t l_temp1 alph (1.e-6*(prog
  114. 13.75 15.415 15.835 16.565 17.0 17.43 17.735 17.775 17.775
  115. 17.775 17.775)) ;
  116. a2i304l = evol manu t l_temp1 alph (1.e-6*(prog
  117. 17.775 17.775 18.33 18.53 18.884 18.914 18.967 18.695 17.999
  118. 17.775 17.775 )) ;
  119. * module d young
  120. l_temp2 = prog 20. 200. 400. 600. 900. ;
  121. evly_in = evol manu t l_temp2 youn (1.e9*(prog
  122. 192.6 207. 197.9 197.9 81.9)) ;
  123. y2i304l = evol manu t (prog 20. 200. 400. 600. 800. 900.)
  124. youn (1.e9*(prog 198.85 198.85 198.85 198.85 81.9 68.)) ;
  125. ltmpt8 = prog 0. 100. 326. 604.
  126. 800. 1000. 1500. 2000. ;
  127. lyoun2 = (prog 195. 195. 170. 145.
  128. * 105. 50. 1. 1.) * 1.e9 ;
  129. 105. 5. .001 .0001) * 1.e9 ;
  130. lyoun1 = (prog 215. 215. 215. 180.
  131. * 105. 50. 1. 1.) * 1.e9 ;
  132. 105. 50. 0.001 .0001) * 1.e9 ;
  133. evly1 = evol manu 'T' ltmpt8 'YOUN' lyoun1 ;
  134. evly2 = evol manu 'T' ltmpt8 'YOUN' lyoun2 ;
  135. evly_in = evly1 et evly2 ;
  136.  
  137. * seuil elasticite a 0,2%
  138. ltmpt5 = prog 0. 28. 326. 604.
  139. 800. 1000. 1100. 1200. 1400. 1450. ;
  140. lsigy2 = (prog 220. 220. 162. 140.
  141. 106. 47. 26. 10. 1. 1.)*1.e6 ;
  142. evsigy2 = evol manu 'T' ltmpt5 'SIGY' lsigy2 coul jaune ;
  143. lsigy1 = (prog 300. 300. 300. 250.
  144. 80. 25. 5. 1. 1. 1. )*1.e6 ;
  145. evsigy1 = evol manu 'T' ltmpt5 'SIGY' lsigy1 coul jaune ;
  146. evsy_in = evsigy1 et evsigy2 ;
  147.  
  148.  
  149. l_h2 = (prog (0.01*100.) (0.01*100.) (0.01*100.) (0.01*100.) (0.02*100.)
  150. (0.02*50) (0.01*10.) (0.01*1.))*1.e9 ;
  151.  
  152. l_h1 = (prog (0.08*195.) (0.02*215.) (0.02*215.) (0.01*215.)
  153. (0.01*50.) (0.01*50.) (0.01*10.) (0.01*1.))*1.e9 ;
  154.  
  155. ltmpt8 = prog 0. 100. 326. 604.
  156. 800. 1000. 1500. 2000. ;
  157. evlh1 = evol manu 'T' ltmpt8 'H' l_h1 ;
  158. evlh2 = evol manu 'T' ltmpt8 'H' l_h2 ;
  159. evlh_in = evlh1 et evlh2 ;
  160.  
  161. evlimp = EVOL MANU 'T' ltmpt8 'LIMP' (lyoun1 * 2.e-3) ;
  162. * caracteristiques dependant de Tmax local
  163. mo_in = mode vm_1 mecanique elastique plastique cinematique fusion cons 'avec';
  164. ca_in = mate mo_in youn evly_in nu 0.3 rho 7.8e9 alph al_in sigy evsy_in h evlh_in
  165. talp 20. tref 20. tfus 1200. ;
  166. ca_xtma = mate mo_in xtma 20.;
  167.  
  168. mm_g1 = redu mo_in vm_g1 ;
  169.  
  170. ************************************************************************
  171. *
  172. cht_conv = manu chpo (extr m_conv mail) 'T' 20. ;
  173. ev_conv = evol manu (prog 0. 2.e5) (prog 1. 1.) ;
  174. ch_conv = char 'TECO' cht_conv ev_conv ;
  175.  
  176. *
  177. bl_g2 = bloque sm_g2 depl ;
  178. ************************************************************************
  179. t_s = table ;
  180. t_s . deplacements = table ;
  181. t_s . temperatures = table ;
  182. t_s . contraintes = table ;
  183. t_s . variables_internes = table ;
  184. t_s . temps = table ;
  185. t_s . caraxtma = table ;
  186.  
  187. si (ega jtest 'VRAI') ;
  188. pdt = 1. ; i_s = -2 ; k_s = 1 ; dt_s = k_s * pdt ; t_ini = dt_s *(-1) ; Q_0 = 4.5e1;
  189. sinon ;
  190. pdt = 1. ; i_s = -2 ; k_s = 10 ; dt_s = k_s * pdt ; t_ini = dt_s *(-1) ; Q_0 = 4.5e1;
  191. finsi ;
  192.  
  193. tem_u0 = manu chpo (extr moth_c mail) 'T' 20. nature diffus ;
  194.  
  195. n_s = nbele sec_d ;
  196. repeter b_s n_s ;
  197. mess 'etape # : ' &b_s ;
  198. t_ini = t_ini + dt_s ;
  199. m_s = changer poi1 (elem sec_d &b_s) ;
  200. elim 1.e-4 m_s sec_g ;
  201. *
  202. t_cyl = table 'PASAPAS' ;
  203. t_cyl . modele = moth_c et mo_in;
  204. t_cyl . caracteristiques = cath_c et ca_in et ca_xtma ;
  205. t_cyl . temperatures = table ;
  206. t_cyl . temperatures . 0 = changer attribut tem_u0 nature diffus ;
  207.  
  208. * chargement flux thermique
  209. q_s = manu chpo m_s 'Q' (prog 1.2 1.2 1.2 1.4 0.2 0.2 0.2 1.4) nature discret ; q_s = q_s * Q_0 ;
  210. si (ega jtest 'VRAI') ;
  211. a_t = prog (t_ini + 1) ;
  212. ev_s = evol manu ((prog t_ini) et a_t et (prog (t_ini + dt_s + pdt) 2.e5)) (prog 0. 8. 0. 0.) ;
  213. sinon ;
  214. a_t = prog (t_ini + 1) pas pdt (t_ini + dt_s) ;
  215. ev_s = evol manu ((prog t_ini) et a_t et (prog (t_ini + dt_s + pdt) 2.e5)) (prog 0. 7. 8. 9. 7. 6*3.5 0. 0.) ;
  216. finsi ;
  217. ch_q_s = char 'Q' q_s ev_s ;
  218. *
  219. si (> &b_s 1) ;
  220. t_cyl . deplacements = table ;
  221. t_cyl . deplacements . 0 = changer attribut dep_u0 nature diffus ;
  222. t_cyl . contraintes = table ;
  223. t_cyl . contraintes . 0 = con_u ;
  224. t_cyl . variables_internes = table ;
  225. t_cyl . variables_internes . 0 = var_u ;
  226. finsi ;
  227.  
  228. t_cyl . chargement = ch_q_s et ch_conv ;
  229. t_cyl . 'PROCEDURE_THERMIQUE' = DUPONT ;
  230. t_cyl . blocages_mecaniques = bl_g2 ;
  231. t_cyl . temps_calcules = a_t ;
  232. t_cyl . temps_sauves = prog (t_ini + dt_s) ;
  233.  
  234. si (ega &b_s n_s) ;
  235.  
  236. si (ega jtest 'VRAI') ;
  237. t_cyl . temps_calcules = a_t et
  238. (prog (t_ini + dt_s + pdt) (t_ini + (100.*dt_s)) ) ;
  239. sinon ;
  240. t_cyl . temps_calcules = a_t et
  241. (prog (t_ini + dt_s + pdt) pas (10.*pdt) (t_ini + (10.*dt_s))
  242. pas (100.*pdt) (t_ini + (100.*dt_s)) ) ;
  243. finsi ;
  244. t_cyl . temps_sauves = prog (t_ini + dt_s) (t_ini + (100.*dt_s));
  245. finsi ;
  246.  
  247.  
  248. pasapas t_cyl ;
  249.  
  250. *
  251. dep_u = copie t_cyl . deplacements . 1 ;
  252. dep_u = changer attribut dep_u nature discret ;
  253. dep_u0 = dep_u - ((redu dep_u m_s) / 2.) ;
  254. tem_u = copie t_cyl . temperatures . 1 ;
  255. tem_u = changer attribut tem_u nature discret ;
  256. tem_u0 = tem_u - ((redu tem_u m_s) / 2.) ;
  257. con_u = copie t_cyl . contraintes . 1 ;
  258. var_u = copie t_cyl . variables_internes . 1 ;
  259. ca_xtma = copie t_cyl . wtable . xtma0 ;
  260.  
  261. titre 'von mises contraintes / temps : ' (t_ini + dt_s);
  262. vm_u = vmis con_u mo_in ;
  263. trac vm_u mo_in ;
  264.  
  265. titre 'temperatures / temps : ' (t_ini + dt_s);
  266. * trac tem_u v_0 cach ;
  267.  
  268.  
  269. t_s . deplacements . &b_s = dep_u ;
  270. t_s . temperatures . &b_s = tem_u ;
  271. t_s . contraintes . &b_s = con_u ;
  272. t_s . variables_internes . &b_s = var_u ;
  273. t_s . temps . &b_s = t_ini + dt_s ;
  274. t_s . caraxtma . &b_s = ca_xtma ;
  275.  
  276.  
  277. si (< &b_s n_s) ;
  278. oublie t_cyl ;
  279. finsi ;
  280. si (ega &b_s n_s) ;
  281. i_f = &b_s + 1 ;
  282. t_s . deplacements . i_f = copie t_cyl . deplacements . 2 ;
  283. t_s . temperatures . i_f = copie t_cyl . temperatures . 2 ;
  284. t_s . contraintes . i_f = copie t_cyl . contraintes . 2 ;
  285. t_s . variables_internes . i_f = copie t_cyl . variables_internes . 2 ;
  286. t_s . temps . i_f = t_ini + (100.*dt_s) ;
  287. t_s . caraxtma . i_f = ca_xtma ;
  288.  
  289. titre 'von mises contraintes / temps : ' (t_ini + (100.*dt_s)) ;
  290. vm_f = vmis t_cyl . contraintes . 2 mo_in ;
  291. trac vm_f mo_in ;
  292.  
  293. titre 'temperatures / temps : ' (t_ini + (100.*dt_s)) ;
  294. trac t_cyl . temperatures . 2 v_0 cach ;
  295.  
  296. finsi ;
  297.  
  298. fin b_s ;
  299.  
  300. ************************************************************************
  301. * calcul cyclique avec precontrainte
  302. ************************************************************************
  303.  
  304. cht_fa = manu chpo v_0 T 20. nature diffus ;
  305. cha_fa = char 'T' cht_fa (evol manu (prog 0. 1.e4) (prog 1. 1.)) ;
  306.  
  307. *
  308. bl_g2 = bloque sm_g2 depl ;
  309. bl_g2xy = bloque sm_g2 ux uy ;
  310. bl_g2z = bloque sm_g2 uz;
  311. cl_g2z = depi bl_g2z 1. ;
  312.  
  313. bl_d2z = bloque sm_d2 uz ;
  314. bl_d2y = bloque sm_d2 uy ;
  315. bl_d2x = bloque sm_d2 ux ;
  316. cl_d2x = depi bl_d2x 1. ;
  317. cd2_z = nomc 'UX' (coor 3 sm_d2) ; cd2_z = cd2_z * (-1.) ; cd2_x = nomc 'UZ' (coor 1 sm_d2) ;
  318. clr_d2x = depi bl_d2x cd2_z ; clr_d2z = depi bl_d2z cd2_x ;
  319.  
  320. *
  321. t_0 = 0. ; pdt2 = 1. ; dt_fa = 30. ; dt_1 = 20. ;
  322. prog_sin = sin (360.*((prog t_0 pas 1. dt_1)/dt_1)) ;
  323. prog_s9 = extr prog_sin (lect 1 pas 1 9) ; prog_s5 = extr prog_sin (lect 1 pas 1 5) ;
  324. afa_t = prog t_0 pas 1. dt_fa ;
  325.  
  326. od21 = (prog 0.) et prog_sin et prog_s9 ; od21 = od21*2.e-3 ;
  327. ev_d21 = evol manu afa_t od21 ;
  328. od20 = (prog 0. 30*1.) *1.e-3 ; ev_d20 = evol manu afa_t od20 ;
  329.  
  330. og2 = (prog 0. pas 1. 4.) et (prog_sin + 1.) et (prog_s5 + 1.) ; og2 = og2 * 1.e-3 ;
  331. ev_g2 = evol manu afa_t og2 ;
  332.  
  333. cha_d20 = char 'DIMP' cl_d2x ev_d20 ;
  334. cha_d21 = (char 'DIMP' clr_d2x ev_d21) et (char 'DIMP' clr_d2z ev_d21) ;
  335. cha_g2 = char 'DIMP' cl_g2z ev_g2 ;
  336. ************************************************************************
  337. t_fat = table 'PASAPAS' ;
  338. t_fat . contraintes = table ;
  339. t_fat . contraintes . 0 = t_s . contraintes . 21 ;
  340. t_fat . deplacements = table ;
  341. t_fat . deplacements . 0 = t_s . deplacements . 21 ;
  342. t_fat . variables_internes = table ;
  343. t_fat . variables_internes . 0 = t_s . variables_internes . 21 ;
  344. ca_xtma = t_s . caraxtma . 21 ;
  345. ************************************************************************
  346. t_fat . modele = mo_in;
  347. t_fat . caracteristiques = ca_in et ca_xtma ;
  348. t_fat . blocages_mecaniques = bl_g2xy et bl_g2z et bl_d2z et bl_d2y et bl_d2x ;
  349. t_fat . chargement = cha_d20 et cha_d21 et cha_fa et cha_g2 ;
  350. t_fat . temps_calcules = afa_t ;
  351.  
  352. pasapas t_fat ;
  353.  
  354.  
  355. vm_10 = vmis t_fat . contraintes . 10 mo_in ;
  356. titre 'vmises cycle avec precontrainte / t = 10 ' ;
  357. trac vm_10 mo_in ;
  358. ************************************************************************
  359. * post fatigue
  360. * Critère de Dang Van
  361. fm1 = 410.e6 * 0.9 ;
  362. tm1 = 260.e6 * 0.9 ;
  363. beta_dv = tm1 ;
  364. alpha_dv = (tm1 - (fm1 / 2)) / (fm1 / 3) ;
  365. mess 'alpha_dv : ' alpha_dv ' / beta_dv : ' beta_dv ;
  366.  
  367. CHE2 = 'MANU' 'CHML' mo_in 'APAP' -0.33 'BPAP' 8.e7
  368. 'ADVK' (-1. * alpha_dv) 'BDVK' beta_dv'ASIN' -0.35 'BSIN' 8.2e7
  369. 'ACRO' -0.36 'BCRO' 8.3e7 'A_DC' -0.37 'B_DC' 8.4e7
  370. 'TYPE' 'CARACTERISTIQUES' 'STRESSES' ;
  371.  
  372. chafa1 = char t_fat . temps t_fat . contraintes ;
  373. chfa1 = FATI mo_in chafa1 che2 ;
  374. titre ' etude fatigue avec precontrainte ' ;
  375. trac mo_in chfa1 ;
  376.  
  377. mm_d1 = redu mo_in vm_d1 ;
  378. t_cod1 = table ; t_cod1 . 0 = redu t_fat . contraintes . 0 mm_d1 ;
  379. repeter b_r (dime t_fat . temps) ;
  380. i_r = &b_r - 1 ;
  381. t_cod1 . i_r = redu t_fat . contraintes . i_r mm_d1 ;
  382. fin b_r ;
  383. chafa_d1 = char t_fat . temps t_cod1 ;
  384.  
  385. cafa_dv = manu chml mm_d1 'ADVK' (-1. * alpha_dv) 'BDVK' beta_dv
  386. type 'caracteristiques' stresses ;
  387. chfa_d1 = FATI mm_d1 chafa_d1 cafa_dv 'DVKP' 'SEUIL' -1. ;
  388.  
  389. titre ' critere Dang Van Papadopoulos ' ;
  390. trac mm_d1 chfa_d1 ;
  391.  
  392. titre ' cycle p/tau Dang Van Papadopoulos ' ;
  393. ets181_p = extr chfa_d1 'PTAU' 1 8 1 ;
  394.  
  395. dess ets181_p ;
  396. ***********************************************************************
  397.  
  398. o_141026 = prog 3.37044E+07 3.37044E+07 3.36868E+07 3.26902E+07 3.08604E+07 3.36795E+07 3.33139E+07 3.25791E+07 3.16612E+07 3.08672E+07
  399. 3.05616E+07 3.08937E+07 3.16186E+07 3.23604E+07 3.28464E+07 3.29374E+07 3.26114E+07 3.19595E+07 3.11992E+07 3.06763E+07
  400. 3.07259E+07 3.13602E+07 3.11927E+07 3.19093E+07 3.25799E+07 3.30070E+07 3.36790E+07 3.33134E+07 3.25786E+07 3.16608E+07
  401. 3.08668E+07 ;
  402.  
  403. err_26 = (abs (maxi ((extr ets181_p ordo) - o_141026))) / (abs (maxi o_141026)) ;
  404.  
  405. si (err_26 > 1.e-5) ; erre 5 ; sinon ; erre 0 ; finsi ;
  406.  
  407. fin ;
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  

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