Télécharger waam5.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier waam5.dgibi
  2. * section : thermique conduction convection
  3. *----------------------------------------------------------------------*
  4. * W A A M 5 . D G I B I *
  5. *----------------------------------------------------------------------*
  6. * Objet :
  7. * -------
  8. *
  9. * Exemple issu de waam1.dgibi.
  10. *
  11. * Exemple de gestion d'evenements survenant au cours d'une sequence
  12. * de fabrication par les procedures SOUDAGE et WAAM. En l'occurence, il
  13. * s'agit du démarrage et de l'arret d'une ventilation au cours du temps
  14. * de refroidissement observe apres chaque passe de fabrication. Le
  15. * coefficient de convection est modifie en consequence.
  16. *
  17. * La procédure SOUDAGE permet d'indiquer la survenue d'un evenement.
  18. * La procédure WAAM permet de prendre en compte les evenements dans la
  19. * discretisation temporelle proposee pour le calcul (indice
  20. * TEMPS_CALCULES de la table de sortie).
  21. *
  22. * La gestion de la variation du coefficient de convection en fonction
  23. * de la survenue de l'evenement est a la charge de l'utilisateur.
  24. * Toutefois, cet exemple illustre comment s'appuyer sur les informations
  25. * contenues dans la table de sortie de la procedure SOUDAGE pour y par-
  26. * -venir.
  27. *
  28. * Par rapport a waam1, le cas de fabrication est simplifie (moins de
  29. * passes de fabrication) et le maillage est plus grossier.
  30. *
  31. * Description :
  32. * -------------
  33. *
  34. * Type de calcul : Thermique Transitoire
  35. * Mode de calcul : 3D
  36. * Type d'element : CUB8
  37. * Chargement : Source de chaleur, Convection, Apport de matiere
  38. *
  39. *----------------------------------------------------------------------*
  40. *
  41. opti dime 3 elem cub8 ;
  42.  
  43. icomplet = faux ;
  44.  
  45. ig1 = faux ;
  46. *opti trac psc eptr 5 ;
  47. ig1 = ig1 ou (ega (vale trac) 'PSC') ;
  48.  
  49. *----------------------- Parametres du probleme -----------------------*
  50.  
  51. * Parametres geometrie :
  52. * lw1 : longueur faite en WAAM
  53. * ls1 : longueur support
  54. * hs1 : hauteur support
  55. * e1 : epaisseur de la plaque
  56. lw1 = 10.e-3 ;
  57. ls1 = 50.e-3 ;
  58. hs1 = 50.e-3 ;
  59. e1 = 6.e-3 ;
  60.  
  61. * Parametres apport de chaleur :
  62. * Us1 : tension electrique de soudage (V) 1ere couche
  63. * Us2 : tension electrique de soudage (V) couches suivantes
  64. * Is1 : intensite electrique soudage (A) 1ere couche
  65. * Is2 : intensite electrique soudage (A) couches suivantes
  66. * Vs1 : vitesse de soudage (m/s)
  67. * Eta1 : rendement de la source
  68. * R0 : rayon de la distribution Gaussienne
  69. Us1 = 15.0 ;
  70. Us2 = 13.0 ;
  71. Is1 = 120. ;
  72. Is2 = 100. ;
  73. Vs1 = 0.30 / 60. ;
  74. Eta1 = 0.8 ;
  75. R0 = 3.e-3 ;
  76.  
  77. * Parametres apport de matiere :
  78. * dfil1 : diametre file (m)
  79. * vfil1 : vitesse defilement fil (m/s) 1ere passe
  80. * vfil2 : vitesse defilement fil (m/s) autres passes
  81. dfil1 = 1.2e-3 ;
  82. vfil1 = 3.2 / 60. ;
  83. vfil2 = 2.5 / 60. ;
  84.  
  85. * Parametres sequence soudage :
  86. * dtini1 : delai initial avant debut deplacement torche
  87. * dtven1 : delai refroiddissement avant demarrage ventilation
  88. * delai1 : delai entre 2 passes de WAAM
  89. * nbpass1: nombre de passes
  90. dtini1 = 0.5 ;
  91. dtven1 = 3. ;
  92. delai1 = 30. ;
  93. nbpass1 = 2 ;
  94.  
  95. * Parametres conditions thermiques initiales et aux limites :
  96. * Tini1 : temperature initiale (degC)
  97. * Te1 : temperature de convection (degC)
  98. * h1 : coefficient d'echange convection naturelle (W/m2/K)
  99. * h2 : coefficient d'echange convection forcee (W/m2/K)
  100. Tini1 = 20. ;
  101. Te1 = 20. ;
  102. h1 = 20. ;
  103. h2 = 200. ;
  104.  
  105. *-------------------------- Proprietes 316 L --------------------------*
  106. *
  107. * Donnees fournies par la procedure BIBLIO :
  108. t316L = biblio 316L refe 2 ;
  109.  
  110. * rho1 : masse volumique (kg/m3) (pas dans ref. biblio)
  111. rho1 = 7760. ;
  112. * Tfus1 : temperature de changement de phase solide-liquide (degC)
  113. * Qlat1 : chaleur latente de fusion de l'acier (J/m3)
  114. * k1 : conductivite thermique (W/m/K) en fonction de la temperature
  115. Tfus1 = t316L.tfus ;
  116. Qlat1 = t316L.qlat ;
  117. k1 = t316L.k ;
  118. si ig1 ;
  119. dess k1 titr 'Conductivite thermique 316L (W/m/K)' ;
  120. fins ;
  121.  
  122. * Cp1 : capacite thermique massique (J/m3) en fonction de la temperature
  123. * On la derive de l'enthalpie :
  124. enth1 = t316L.enth ;
  125. lh0 = extr enth1 ordo ;
  126. lh1 = lh0 enle (dime lh0) ;
  127. lh2 = lh0 enle 1 ;
  128. dhdt1 = (lh2 - lh1) / 100. ;
  129. lc0 = dhdt1 / rho1 ;
  130. lt0 = prog 50. pas 100. 1450. ;
  131. cp0 = evol manu 'T' lt0 'C' lc0 ;
  132. idx0 = posi (maxi lc0) dans lc0 ;
  133. lc2 = lc0 enle idx0 ;
  134. lt2 = lt0 enle idx0 ;
  135. cp2 = evol oran manu 'T' lt2 'C' lc2 ;
  136. cp1 = cp2 ;
  137. si ig1 ;
  138. tleg1 = table ;
  139. tleg1 . titre = table ;
  140. tleg1 . titre . 1 = 'Cp derivee publi.' ;
  141. tleg1 . titre . 2 = 'Cp utilisee' ;
  142. dess (cp0 et cp1) titr ' Capacite thermique massique 316L (J/m3)' lege tleg1 ;
  143. fins ;
  144.  
  145. *------------------- Sequence de soudage / Maillage -------------------*
  146.  
  147. * Parametres discretisation apport de matiere :
  148. * xp1 : "pas" de discetisation de l'apport de matiere en espace (m)
  149. * dz1 : increment WAAM selon (O,z) / hauteur cordon
  150. * debi1 : debit volumique de fil 1ere passe
  151. * debi2 : debit volumique de fil autres passes
  152. xp1 = 2.5e-3 ;
  153. debi1 = 0.25 * dfil1 * dfil1 * pi * vfil1 ;
  154. debi2 = 0.25 * dfil1 * dfil1 * pi * vfil2 ;
  155. dz1 = debi1 / e1 / Vs1 ;
  156. dz2 = debi2 / e1 / Vs1 ;
  157.  
  158. * Parametres modele source Gaussienne 3D :
  159. Qtot1 = Eta1 * Us1 * Is1 ;
  160. Qtot2 = Eta1 * Us2 * Is2 ;
  161. *Qtot1 = Qtot1 - (Qlat1 * e1 * dz1 * Vs1) ;
  162. *Qtot2 = Qtot2 - (Qlat1 * e1 * dz2 * Vs1) ;
  163. *list Qtot1 ;
  164. *list Qtot2 ;
  165. Rg1 = ((2. / 3.) ** 0.5) * R0 ;
  166.  
  167. * Parametre geometrie / trajectoire :
  168. e1s2 = 0.5 * e1 ;
  169. dz1s2 = 0.5 * dz1 ;
  170.  
  171. * table SOUDAGE :
  172. tso1 = tabl ;
  173. tso1.vitesse_de_soudage = Vs1 ;
  174. tso1.puissance_de_soudage = Qtot2 ;
  175. tso1.orientation_soudure = (0 0 1) ;
  176. tso1.diametre_de_fil = dfil1 ;
  177. tso1.vitesse_de_fil = vfil2 ;
  178. tso1.point_de_depart = (0 e1s2 dz1) ;
  179. tso1.largeur_de_passe = e1 ;
  180.  
  181. * Défintion de la sequence de soudage :
  182. soudage tso1 point dtini1 puis Qtot1 debi debi1 ;
  183. soudage tso1 passe droi (lw1 0 0) puis Qtot1 debi debi1 ;
  184. soudage tso1 depla couche debi debi2 pause dtven1 ;
  185. soudage tso1 point (delai1 - dtven1) puis 0. debi 0. even ventil 1. ;
  186. soudage tso1 passe droi ((-1.*lw1) 0 0) even noventil ;
  187. soudage tso1 depla couche debi debi2 pause dtven1 ;
  188. soudage tso1 point (delai1 - dtven1) puis 0. debi 0. even ventil 1. ;
  189. soudage tso1 point 90. puis 0. debi 0. even ventil ;
  190.  
  191. si ig1 ;
  192. trac tso1.trajectoire titr 'trajectoire depot WAAM mur' ;
  193. dess tso1.evolution_deplacement titr 'evolution deplacement depot WAAM mur' ;
  194. dess tso1.evolution_puissance titr 'evolution puissance thermique depot WAAM mur' ;
  195. dess tso1.evolution_debit titr 'evolution debit apport de matiere depot WAAM mur' ;
  196. fins ;
  197.  
  198. * Maillage du Mur :
  199. tab2 = waam tso1 mail pas xp1 larg e1 dens xp1 'TEMP' 0.1 ;
  200. elim tab2.maillage 1.e-5 ;
  201. mur1 = tab2.maillage coul vert ;
  202.  
  203. si ig1 ;
  204. trac cach mur1 titr ' Maillage global du mur' ;
  205. tmai1 = tab2.evolution_maillage.maillage ;
  206. waam tab2 visu cach ((tso1.trajectoire) plus (0 0 1.e-5)) ;
  207. fins ;
  208.  
  209. * Maillage du support sous-jacent :
  210. ne1 = 5 ;
  211. me1 = -1. * e1 ;
  212. mdz1 = -1. * dz1 ;
  213. zmin1 = (mur1 coor 3) mini ;
  214. pz0 = (mur1 coor 3) poin infe (zmin1 + 1.e-5) ;
  215. sz0 = (enve mur1) elem appu stri pz0 ;
  216. sup1 = sz0 volu tran ne1 (0 0 me1) ;
  217.  
  218. xmin1 = (sup1 coor 1) mini ;
  219. px0 = (sup1 coor 1) poin infe (xmin1 + 1.e-5) ;
  220. px1 = (sup1 coor 1) poin supe (xmin1 + lw1 - 1.e-5) ;
  221. sx0 = (enve sup1) elem appu stri px0 ;
  222. sx1 = (enve sup1) elem appu stri px1 ;
  223. sup1 = sup1 et (sx0 volu tran ne1 (me1 0 0)) et (sx1 volu tran ne1 (e1 0 0)) ;
  224. sup1 = sup1 coul gris ;
  225.  
  226. dx1 = (ls1 - lw1) * 0.5 - e1 ;
  227. me1 = -1. * e1 ;
  228. xmin2 = xmin1 + me1 ;
  229. zmin2 = zmin1 + me1 ;
  230. p1 = sup1 poin proc (xmin2 0 zmin1) ;
  231. p2 = sup1 poin proc (xmin2 0 zmin2) ;
  232. p3 = sup1 poin proc ((xmin1 + lw1 + e1) 0 zmin2) ;
  233. p4 = sup1 poin proc ((xmin1 + lw1 + e1) 0 zmin1) ;
  234. p5 = p4 plus (dx1 0 0) ;
  235. p6 = p5 moin (0 0 hs1) ;
  236. p7 = p6 moin (ls1 0 0) ;
  237. p8 = p7 plus (0 0 hs1) ;
  238. de1 = 0.5 * e1 ;
  239. de2 = 6.2e-3 ;
  240. cs2 = (p5 droi p6 dini de1 dfin de2) et
  241. (p6 droi p7 dini de2 dfin de2) et
  242. (p7 droi p8 dini de2 dfin de1) et
  243. (p8 droi p1 dini de1 dfin de1) et
  244. (p1 droi p2 dini de1 dfin de1) et
  245. (p2 droi p3 dini de1 dfin de1) et
  246. (p3 droi p4 dini de1 dfin de1) et
  247. (p4 droi p5 dini de1 dfin de1) ;
  248. fs2 = surf cs2 plan ;
  249. sup2 = fs2 volu tran (0 e1 0) 2 ;
  250. sup2 = sup2 coul turq ;
  251.  
  252. sup0 = sup1 et sup2 ;
  253.  
  254. mail1 = sup0 et mur1 ;
  255. si ig1 ;
  256. mot1 = chai 'Maillage total "Mur WAAM" et support :' (nbno mail1) ;
  257. mot1 = chai mot1 ' /' (nbel mail1) ' noeuds/elem.' ;
  258. trac face mail1 titr mot1 ;
  259. fins ;
  260.  
  261. *------------- Accrochage DDL thermique maillage support --------------*
  262. clt1 = sup1 rela accro sup2 (mots 'T') ;
  263.  
  264. * Surface interface maillages support non-conformes :
  265. pinte1 = clt1 extr mail nomu ;
  266. sinte1 = (enve sup0) elem appu stri pinte1 ;
  267.  
  268. *--------------------- Modele / Caracteristique -----------------------*
  269.  
  270. * Evolution coeff. convection en fonction des evements :
  271. ltev1 = tab2.temps_evenements ;
  272. liev1 = tab2.index_evenements ;
  273. ltH1 = prog 0. ;
  274. lH1 = prog H1 ;
  275. mevi0 = noventil ;
  276. repe bev1 (dime ltev1) ;
  277. tevi1 = extr ltev1 &bev1 ;
  278. nevi1 = extr liev1 &bev1 ;
  279. mevi1 = tso1.evenements.nevi1.nom ;
  280. si (ega mevi1 ventil) ;
  281. si (ega mevi0 noventil) ;
  282. ltH1 = ltH1 et (prog tevi1 (tevi1 + 1.)) ;
  283. lH1 = lH1 et (prog H1 H2) ;
  284. fins ;
  285. fins ;
  286. si (ega mevi1 noventil) ;
  287. si (ega mevi0 ventil) ;
  288. ltH1 = ltH1 et (prog tevi1 (tevi1 + 1.)) ;
  289. lH1 = lH1 et (prog H2 H1) ;
  290. fins ;
  291. fins ;
  292. mevi0 = mevi1 ;
  293. fin bev1 ;
  294. evH1 = evol turq manu temp ltH1 'H' lH1 ;
  295.  
  296. si ig1 ;
  297. dess evH1 titr 'Evolution echange convectif dans le temps (marche/arret ventilation)' ybor 0. 120. ygra 20. ;
  298. fins ;
  299.  
  300. * Conduction / Convection :
  301. mod1 = mode mail1 thermique ;
  302. mat1 = mate mod1 rho rho1 k k1 'C' cp1 'TINI' Tini1 ;
  303.  
  304. * Source thermique :
  305. evqt1 = tso1.evolution_puissance ;
  306. evxs1 = tso1.evolution_deplacement ;
  307. chxs1 = tso1.trajectoire coor curv ;
  308. cgxs1 = char traj chxs1 evxs1 ;
  309. mod3 = mode mail1 thermique source gaussienne ;
  310. mat3 = mate mod3 qtot evqt1 orig cgxs1 rgau Rg1 ;
  311.  
  312. * Tables d'evolution des modeles et caracteristiques :
  313. ttps1 = tab2.evolution_maillage.temps ;
  314. tmai1 = tab2.evolution_maillage.maillage ;
  315. nb1 = dime ttps1 ;
  316. ltps1 = prog ;
  317. lmod1 = enum ;
  318. lmod2 = enum ;
  319. lmod3 = enum ;
  320. lmat1 = enum ;
  321. lmat2 = enum ;
  322. lmat3 = enum ;
  323. repe b1 nb1 ;
  324. tps1 = ttps1 . (&b1 - 1) ;
  325. ltps1 = ltps1 et tps1 ;
  326. geoi1 = tmai1 . (&b1 - 1) ;
  327. geoi1 = geoi1 et sup0 ;
  328. modi1 = redu mod1 geoi1 ;
  329. mati1 = redu mat1 modi1 ;
  330. lmod1 = lmod1 et modi1 ;
  331. lmat1 = lmat1 et mati1 ;
  332. sconv1 = (enve geoi1) diff sinte1 ;
  333. modi2 = mode sconv1 thermique convection ;
  334. mati2 = mate modi2 'TC' Te1 'H' evH1 ;
  335. lmod2 = lmod2 et modi2 ;
  336. lmat2 = lmat2 et mati2 ;
  337. modi3 = redu mod3 geoi1 ;
  338. mati3 = redu mat3 modi3 ;
  339. lmod3 = lmod3 et modi3 ;
  340. lmat3 = lmat3 et mati3 ;
  341. fin b1 ;
  342.  
  343. * Chargements MODE / MATE :
  344. cgmod1 = char mode ltps1 lmod1 ;
  345. cgmod2 = char mode ltps1 lmod2 ;
  346. cgmod3 = char mode ltps1 lmod3 ;
  347. cgmod0 = cgmod1 et cgmod2 et cgmod3 ;
  348.  
  349. cgmat1 = char mate ltps1 lmat1 ;
  350. cgmat2 = char mate ltps1 lmat2 ;
  351. cgmat3 = char mate ltps1 lmat3 ;
  352. cgmat0 = cgmat1 et cgmat2 et cgmat3 ;
  353.  
  354. *------------------------- Resolution PASAPAS -------------------------*
  355.  
  356. ltca0 = tab2.temps_calcules ;
  357. si icomplet ;
  358. ltca1 = ltca0 ;
  359. sino ;
  360. teve2 = (tso1.evenements. 2 . temps) extr 1 ;
  361. peve2 = posi teve2 dans ltca0 ;
  362. ltca1 = ltca0 extr (lect 1 pas 1 peve2) ;
  363. fins ;
  364.  
  365. tab1 = table ;
  366. tab1.modele = cgmod0 ;
  367. tab1.caracteristiques = cgmat0 ;
  368. tab1.blocages_thermiques = clt1 ;
  369. tab1.temps_calcules = ltca1 ;
  370. *tab1.relaxation_theta = 0.5 ;
  371.  
  372.  
  373. pasapas tab1 ;
  374.  
  375. * Affichage temps de calcul :
  376. duree1 = temp horl ;
  377. duree1 = (duree1 / 1000) ;
  378. dmin1 = (duree1 / 60) ;
  379. dsec1 = duree1 - (60 * dmin1) ;
  380. mot1 = chai '***** DUREE DU CALCUL (s) :' dmin1 ' min' dsec1 ' s' ;
  381. mess mot1 ;
  382.  
  383. si icomplet ;
  384. opti sauv 'waam5.sauv' ;
  385. sauv ;
  386. fins ;
  387.  
  388. *------------------------ Petit post-traitement -----------------------*
  389.  
  390. si ig1 ;
  391.  
  392. * Animation du champ de temperature :
  393. if1 = (dime tab1.temps) - 1 ;
  394. modf1 = tab1.modeles.if1 ;
  395. mailf1 = (extr modf1 mate conduction) extr mail ;
  396. dep0 = manu chpo mailf1 3 ux 0. uy 0. uz 0. ;
  397. def1 = vide deforme ;
  398. liso1 = prog 0. 50. 100. PAS 150. 1450. ;
  399. vtra1 = vale trac ;
  400. lTmax1 = prog 0. ;
  401. si (ega vtra1 'PSC') ;
  402. opti ftra 'Temperature_waam5_Anim.ps' ;
  403. fins ;
  404. repe b1 if1 ;
  405. modi1 = tab1.modeles.(&b1-1) ;
  406. maili1 = (extr modi1 mate conduction) extr mail ;
  407. chti1 = tab1.temperatures.(&b1-1) ;
  408. defoi1 = defo maili1 dep0 chti1 ;
  409. def1 = def1 et defoi1 ;
  410. si (ega vtra1 'PSC') ;
  411. mot1 = chai format '(F6.1)' 'Temperature (degC) au temps (s) :' (tab1.temps.(&b1-1)) ;
  412. trac chti1 maili1 liso1 titr mot1 ;
  413. fins ;
  414. lTmax1 = lTmax1 et (maxi chti1) ;
  415. fin b1 ;
  416. si (neg vtra1 'PSC') ;
  417. trac anim def1 liso1 ;
  418. fins ;
  419. lTps1 = prog tabl (tab1.temps) ;
  420. evTmax1 = evol roug manu temp lTps1 'Tmax' lTmax1 ;
  421. dess evTmax1 titr 'Evolution maximum temperature (degC)' ;
  422.  
  423. fins ;
  424.  
  425. *----------------------- Test de non regression -----------------------*
  426.  
  427. tmaxref1 = 144.26 ;
  428. ttest1 = tab1.temps.(peve2-1) ;
  429. temp1 = peche tab1 temperatures ttest1 ipol ;
  430. tmax1 = maxi abs temp1 ;
  431. list tmax1 ;
  432. si ((abs (tmax1 - tmaxref1)) > 1.) ;
  433. erre 5 ;
  434. fins ;
  435.  
  436. *------------------ F I N W A A M 5 . D G I B I -----------------*
  437. fin ;
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  

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