Télécharger injN2.dgibi

Retour à la liste

Numérotation des lignes :

  1. *=======================================================================
  2. *
  3. * fichier : injN2.dgibi
  4. *
  5. * N2 injection inside a non adiabatic axisymetric cavity
  6. * Comparaison in average with an analytic solution
  7. *
  8. *=======================================================================
  9. * Analytical solution
  10. *
  11. * Mean pressure, temperature and density are computed according to the
  12. * injection at a constant mass flow rate and temperature of a non
  13. * condensable (nc) gas inside a non adiabatic cavity. At the
  14. * initial time t=0, the cavity is filled with the SAME nc gas.
  15. *
  16. * Hypothesis : Laplace coefficient Gama=cp/cv is constant
  17. *
  18. *
  19. 'DEBP' SOREF Ltps*'LISTREEL' QM*'FLOTTANT' Vr*'FLOTTANT'
  20. Sr*'FLOTTANT' Pnm*'FLOTTANT' tetai*'FLOTTANT'
  21. INCOND*'MOT' HEXT*'FLOTTANT' TEXT*'FLOTTANT' COUL1*'MOT';
  22. *
  23. * E/ : Ltps : List of time steps (in s)
  24. * E/ : QM : Mas flow rate at the injection (in kg/s)
  25. * E/ : Vr : Volume of the cavity (in m3)
  26. * E/ : Sr : Surface of the wall (in m2)
  27. * E/ : Pnm : Initial pressure (in Pa)
  28. * E/ : TETAI : Initial temperature (in C)
  29. * E/ : INCOND : Name of the nc gas
  30. * E/ : HEXT : External heat transfer coefficient (in W/m2/K)
  31. * E/ : TEXT : External temperature (in C)
  32. * E/ : COUL1 : Color of the evolutions
  33. *
  34. * /S : evp1 : EVOLUTION : Mean pressure evolution in time
  35. * /S : evt1 : EVOLUTION : Mean temperature evolution in time
  36. * /S : evrho1 : EVOLUTION : Mean nc qas density evolution in time
  37. *
  38. 'SI' ('EGA' INCOND 'AIR' ) ;
  39. a1 a2 a3 a4 a5 a6 Cp = calcp tetai ;
  40. Rinc = 287.1 ;
  41. 'SINO' ;
  42. 'SI' ('EGA' INCOND 'N2') ;
  43. a1 a2 a3 Cp a5 a6 a7 = calcp tetai ;
  44. Rinc = 296.9 ;
  45. 'SINO' ;
  46. 'MESS' ' Unknown non condensable gas' ' ' incond ;
  47. 'ERRE' 5 ;
  48. 'FINS' ;
  49. 'FINS' ;
  50. 'MESS' 'Reference temperature (C) :' tetai ;
  51. 'MESS' 'Thermal capacity cp (J/kg/K):' cp ;
  52. 'MESS' 'Specific constant r (J/kg/K):' Rinc;
  53. *
  54. ntps = 'DIME' Ltps ;
  55. 'SI' (ntps '>' 1) ;
  56. tpsnm = 'EXTR' ltps 1 ;
  57. 'SINO' ;
  58. 'MESS' ' Bad time list :' ;
  59. 'LIST' ltps ;
  60. 'ERRE' 5 ;
  61. 'FINS' ;
  62. *
  63. * Initial conditions
  64. Rhonm = Pnm '/' Rinc '/' (tetai + 273.15) ;
  65. Lrho = 'PROG' Rhonm ;
  66. Lp = 'PROG' Pnm ;
  67. LT = 'PROG' tetai ;
  68. *
  69. A = Cp '/' Rinc '-' 1. ;
  70. 'REPE' BLOC (ntps '-' 1) ;
  71. * text = ('EXTR' thist . 'W1' . 'L_TWAL' (&BLOC '+' 1)) '-' 273.15 ;
  72. tpsn = 'EXTR' ltps (&BLOC '+' 1) ;
  73. DT0 = tpsn '-' tpsnm ;
  74. Rhon = DT0 '*' Qm '/' Vr '+' Rhonm ;
  75. Alfa = Sr '*' hext '/' (Rhon '*' Rinc '*' Vr) ;
  76. Beta = Sr '*' hext '*' (Text + 273.15) ;
  77. Pn = (A/DT0)/(A/DT0 + Alfa) '*' Pnm
  78. '+' (1./(A/DT0 + Alfa)/Vr '*' (Qm*Cp*(tetai + 273.15) + Beta)) ;
  79. Tn = Pn '/' (Rhon '*' Rinc) '-' 273.15 ;
  80. *
  81. * 'SI' ('EGA' INCOND 'AIR' ) ;
  82. * a1 a2 a3 a4 a5 a6 Cp = calcp tn ;
  83. * 'SINO' ;
  84. * a1 a2 a3 Cp a5 a6 a7 = calcp tn ;
  85. * 'FINS' ;
  86. *
  87. Lrho = Lrho 'ET' ('PROG' Rhon) ;
  88. Lp = Lp 'ET' ('PROG' Pn) ;
  89. LT = LT 'ET' ('PROG' Tn) ;
  90. *
  91. tpsnm = tpsn ;
  92. Rhonm = Rhon ;
  93. Pnm = Pn ;
  94. 'FIN' BLOC ;
  95. evp1 = 'EVOL' coul1 'MANU' ltps lp ;
  96. evt1 = 'EVOL' coul1 'MANU' ltps lt ;
  97. evrho1 = 'EVOL' coul1 'MANU' ltps lrho ;
  98. 'FINP' evp1 evt1 evrho1 ;
  99. *=======================================================================
  100. *
  101. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' 'MODE' 'AXIS' 'TRAC' 'PSC' 'EPTR' 10 ;
  102. 'DENS' 1. ;
  103. *
  104. COMPLET = faux ;
  105. GRAPH = faux ;
  106. *
  107. 'SI' COMPLET ;
  108. Tmax = 500. ;
  109. DT0 = 1. ;
  110. n1 = 5 ;
  111. n2 =10 ;
  112. n3 =20 ;
  113. 'SINO' ;
  114. Tmax = 500. ;
  115. DT0 = 2. ;
  116. n1 = 3 ;
  117. n2 = 3 ;
  118. n3 = 3 ;
  119. 'FINS' ;
  120. nbit = 'ENTI' (Tmax / DT0) ;
  121. Qinj = 0.2 ;
  122. PT0 = 1.e5 ;
  123. TF0 = 300. - 273.15 ;
  124. hext = 0. ;
  125. Text = 0. ;
  126. *
  127. *
  128. * Mesh
  129. *
  130. *
  131. * R1 = Radius of the vertical cylinder
  132. * H1 = Half-height of the vertical cylinder
  133. * H2 = Half-height of the cavity
  134. * DB = Radius of the injection
  135. * -HB = Elevation of the injection
  136. *
  137. * episo = Width of the internal thermal insulator
  138. *
  139. epsi0 = 1.e-5 ;
  140. *
  141. EPISO = 0.044 ;
  142. R1 = 1.200 - episo ;
  143. H1 = 1.605 ;
  144. H2 = 2.342 - episo ;
  145. DB = 0.1 ;
  146. HB = 0.835 ;
  147. *
  148. * Points for rotation purposes
  149. CA1 = 0. 0.275 ;
  150. CA2 = (0.33*R1) H1 ;
  151. *
  152. * Points for symetry purposes
  153. P0 = 0. 0. ;
  154. P2 = DB 0. ;
  155. PA0 = R1 0.;
  156. *
  157. * Specific points
  158. PAXb = 0. (-1. '*' HB) ;
  159. P2b = DB (-1. '*' HB) ;
  160. PAb = R1 (-1. '*' HB) ;
  161. PAbm = (R1/2.) (-1. '*' HB) ;
  162. PAX2 = 0. H2 ;
  163. PA20 = PAX2 'TOUR' -5. CA1 ;
  164. PA2 = PA20 'TOUR' -15. CA1 ;
  165. PA1 = R1 H1 ;
  166. PAXM = (PAX2 'PLUS' PAXb) '*' 0.5 ;
  167. *
  168. PbX2 = PAX2 'SYME' 'DROITE' P0 PA0;
  169. Pb1 = R1 (-1. '*' H1) ;
  170. *
  171. * Specific treatment (lips) at the injection
  172. breche = PAXb 'DROI' n1 P2b ;
  173. entb = breche 'PLUS' (0. 0.);
  174. 'DEPL' entb 'TOUR' 15. P2b;
  175. P0b = 'POIN' 1 entb ;
  176. *
  177. * Upper volume
  178. * From the injection elevation to the top
  179. bas = P2b 'DROI' 'DINI' (DB/n1) 'DFIN' (R1/10.) PABM
  180. 'DROI' 'DINI' (R1/10.) 'DFIN' (db/n1) PAB ;
  181. n2 = 'NBEL' bas ;
  182. *
  183. plaf0 = PAX2 'CERC' n1 CA1 PA20 ;
  184. plaf1 = PA20 'CERC' (n2/2) CA1 PA2 ;
  185. plaf2 = PA2 'CERC' (n2/2) CA2 PA1 ;
  186. plaf = 'INVE' (plaf0 'ET' plaf1 'ET' plaf2) ;
  187. *
  188. axeh = PAX2 'DROI' 'DINI' (h2/n3/4.) 'DFIN' (h1/n3) PAXM
  189. 'DROI' 'DINI' (h1/n3) 'DFIN' (h2/n3/4.) PAXB ;
  190. n3n = 'NBEL' axeh ;
  191. *
  192. paroih = PAb 'DROI' n3n PA1 ;
  193. *
  194. mth = 'DALL' (breche 'ET' bas) paroih plaf axeh;
  195. *
  196. * Lower volume
  197. * From the bottom to the injection elevation
  198. *
  199. axeb = PBX2 'DROI' n3 P0b ;
  200. paroib = PAb 'DROI' n3 Pb1 ;
  201. fond = plaf 'SYME' 'DROITE' P0 PA0 ;
  202. 'ELIM' (entb 'ET' bas 'ET' paroib 'ET' fond 'ET' axeb) epsi0 ;
  203. mtb = 'DALL' (entb 'ET' bas) paroib fond axeb ;
  204. *
  205. * Mesh of the cavity and specific boundaries (axis, containment wall)
  206. axe = axeb 'ET' ('INVE' axeh) ;
  207. parext = ('INVE' (plaf 'ET' paroih)) 'ET' paroib 'ET' fond ;
  208. mt = mth 'ET' mtb ;
  209. 'ELIM' mt epsi0 ;
  210. *
  211. * Control
  212. 'SI' GRAPH ;
  213. 'TRAC' (axeh 'ET' breche 'ET' bas 'ET' paroih 'ET' plaf 'ET' ca1) ;
  214. 'TRAC' mt ;
  215. pla = paroih 'ET' plaf ;
  216. pla = pla 'ET' ('SYME' pla 'DROIT' P0 pax2) ;
  217. 'TRAC' (pla 'ET' ca1 'ET' ca2 'ET' PA1) ;
  218. 'TRAC' ('ELIM' (mt 'ET' ('SYME' mt 'DROIT' P0 pax2)) epsi0) ;
  219. 'FINS' ;
  220. *
  221. *
  222. * Data for execrxt.procedur
  223. *
  224. *
  225. rxt = 'TABLE' ;
  226. rxt . 'VERSION' = 'V0' ;
  227. rxt . 'vtf' = mt ;
  228. rxt . 'axe' = axe ;
  229. rxt . 'epsi' = epsi0 ;
  230. rxt . 'pi' = 0.5 0.5 ;
  231.  
  232. rxt . 'DISCR' = 'LINE';
  233. rxt . 'KPRE' = 'MSOMMET' ;
  234. rxt . 'DT0' = DT0 ;
  235.  
  236. rxt . 'MODTURB' = 'LMEL' ;
  237. rxt . 'LMEL' = 0.01 ;
  238.  
  239. *
  240. rxt . 'TF0' = TF0 ;
  241. rxt . 'PT0' = PT0 ;
  242. rxt . 'N2' = vrai ;
  243. rxt . 'Yn20' = 0.9999 ;
  244. *
  245. rxt . 'Breches' = 'TABLE' ;
  246. rxt . 'Breches' . 'A' = 'TABLE' ;
  247. rxt . 'Breches' . 'A' . 'Maillage' = breche ;
  248. rxt . 'Breches' . 'A' . 'diru' = (0. 1.) ;
  249. rxt . 'Breches' . 'A' . 'scenario' = 'TABLE' ;
  250. rxt . 'Breches' . 'A' . 'scenario' . 't' = 'PROG' 0.0 1000. ;
  251. rxt . 'Breches' . 'A' . 'scenario' . 'qair' = 'PROG' 0.0 0.0 ;
  252. rxt . 'Breches' . 'A' . 'scenario' . 'qn2' = 'PROG' Qinj Qinj ;
  253. rxt . 'Breches' . 'A' . 'scenario' . 'tinj' = 'PROG' TF0 TF0 ;
  254. *
  255. rxt . 'TIMP' = 'TABLE' ;
  256. rxt . 'TIMP' . 'TIMP1' = 'TABLE' ;
  257. rxt . 'TIMP' . 'TIMP1' .'MAILLAGE' = parext ;
  258. rxt . 'TIMP' . 'TIMP1' .'t' = 'PROG' 0.0 3000. ;
  259. rxt . 'TIMP' . 'TIMP1' .'TIMP' = 'PROG' TF0 TF0 ;
  260. rxt . 'TIMP' . 'TIMP1' .'ECHAN' = 10. ;
  261. *
  262. rxt . 'DETMAT' = vrai ;
  263. rxt . 'RENU' = 'RIEN' ;
  264. rxt . 'GRAPH' = faux ;
  265. execrxt 0 rxt ;
  266. rxt . 'GRAPH' = GRAPH ;
  267. *
  268. 'MESS' ' Volume :' ('SOMT' rxt . 'GEO' . 'Diag') ;
  269. *
  270. * Transient computation
  271. * (the numerical diffusion is set to zero for the equation devoted to fluid temperature)
  272. 'SI' COMPLET ;
  273. rxt . 'TBT' . 'RTF' . '1TSCA' . 'KOPT' . 'CMD' = 0. ;
  274. 'FINS' ;
  275. execrxt nbit rxt ;
  276. *
  277. *
  278. * Plots devoted to inj... cases
  279. *
  280. *
  281. Ltps = rxt . 'TIC' . 'LTPS' ;
  282. Vr = 'MAXI' ('RESU' ('DOMA' rxt . 'GEO' . '$vtf' 'VOLUME')) ;
  283. Sr = 'MAXI' ('RESU' ('DOMA' rxt . 'GEO' . '$menvf' 'VOLUME')) ;
  284. 'MESS' vr ; 'MESS' sr ;
  285. *Vr = 17.4 ; Sr = 35.914 ;
  286. Tinf = 'MAXI' rxt . 'TIMP' . 'TIMP1' .'TIMP' ;
  287. Hinf = rxt . 'TIMP' . 'TIMP1' .'ECHAN' ;
  288. evp1 evt1 evrho1 = SOREF Ltps Qinj Vr Sr PT0 TF0 'N2' Hinf Tinf 'ROUG' ;
  289. evm1 = evrho1 * Vr ;
  290.  
  291. evp2 = 'EVOL' 'MANU' Ltps rxt . 'TIC' . 'PT' ;
  292. evt2 = 'EVOL' 'MANU' Ltps rxt . 'TIC' . 'Tfm' ;
  293. evrho2 = 'EVOL' 'MANU' Ltps rxt . 'TIC' . 'Rhomn' ;
  294. evm2 = evrho2 * Vr ;
  295. 'SI' GRAPH ;
  296. TAB1 = 'TABLE' ;
  297. TAB1 . 'TITRE' = 'TABLE' ;
  298. TAB1 . 1 = 'MOT' ' MARQ CROI REGU ';
  299. TAB1 . 2 = 'MOT' ' MARQ CARR REGU TIRC';
  300. TAB1 . 3 = 'MOT' ' MARQ LOSA REGU TIRC';
  301. TAB1 . 4 = 'MOT' ' MARQ TRIU REGU TIRC';
  302. TAB1 . 5 = 'MOT' ' MARQ TRID REGU TIRC';
  303. TAB1 . 'TITRE' . 1 = 'Sol Ref';
  304. TAB1 . 'TITRE' . 2 = 'Nautilus CFD';
  305. *
  306. 'DESS' (evp1 'ET' evp2)
  307. 'TITR' 'Pressure' 'MIMA'
  308. 'GRIL' 'POIN' 'GRIS' 'TITX' 's' 'TITY' ' Pa' 'LEGE' tab1 ;
  309. 'DESS' (evt1 'ET' evt2)
  310. 'TITR' 'Mean gas temperature'
  311. 'GRIL' 'POIN' 'GRIS' 'TITX' 's' 'TITY' ' C' 'LEGE' tab1 ;
  312. 'DESS' (evrho1 'ET' evrho2)
  313. 'TITR' 'Mean gas density'
  314. 'GRIL' 'POIN' 'GRIS' 'TITX' 's' 'TITY' 'kg/m3' 'LEGE' tab1 ;
  315. 'DESS' (evm1 'ET' evm2)
  316. 'TITR' 'N2 mass'
  317. 'GRIL' 'POIN' 'GRIS' 'TITX' 's' 'TITY' 'kg' 'LEGE' tab1 ;
  318. 'FINS' ;
  319. *
  320. *
  321. * Tests
  322. *
  323. *
  324. 'SI' ('NON' COMPLET) ;
  325. ERR1 = 0 ;
  326. devp = evp1 - evp2 'ABS' ;
  327. erp = 'MAXI' ('EXTR' devp 'ORDO') ;
  328. 'MESS' ' ERP =' ERP;
  329. devt = evt1 - evt2 'ABS' ;
  330. ert = 'MAXI' ('EXTR' devt 'ORDO') ;
  331. 'MESS' ' ERT =' ERT ;
  332. t_calc = 'IPOL' ('PROG' 50. 250. 500.) evt2 ; 'LIST' t_calc ;
  333. t_calc_ref = 'PROG' 57.882 77.447 78.803 ;
  334. ert_calc = 'MAXI' (t_calc '-' t_calc_ref 'ABS') ;
  335. 'MESS' ' ERT_calc =' ert_calc ;
  336. 'SI' (ERP '>' 0.4D5) ; err1 = err1 '+' 1 ; 'FINS' ;
  337. 'SI' (ERT '>' 20.) ; err1 = err1 '+' 1 ; 'FINS' ;
  338. * On relache le test à cause de 32 bits
  339. 'SI' (ert_calc '>' 1.1) ; err1 = err1 '+' 1 ; 'FINS' ;
  340. 'SI' ('NEG' ERR1 0) ;
  341. 'ERRE' 5 ;
  342. 'FINS' ;
  343. 'FINS' ;
  344. *
  345. 'FIN' ;
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  

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