Télécharger pq1-lref.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : pq1-lref.dgibi
  2. *---------------------------------------------------------
  3. * Cas test de non régression basé sur pq1
  4. *---------------------------------------------------------
  5. * Pressurisation d'une enceinte type Phébus
  6. *
  7. * On ajoute LREF pour prise en compte convection forcée
  8. * Pour lref = 0. on doit retrouver pq1
  9. * Pour lref = 0.1 cela doit bouger
  10. *
  11. * revisite Mars 2001
  12. *--------------------------------------------------------
  13. COMPLET = FAUX ;
  14. *COMPLET = VRAI ;
  15. GRAPH = VRAI ;
  16. GRAPH = FAUX ;
  17. 'OPTI' 'TRAC' 'X' ;
  18. *'OPTI' 'TRAC' 'PSC' ;
  19.  
  20. 'SI' COMPLET ;
  21.  
  22. nbit=100;
  23. DT0 = 1. ;
  24. n1 = 1 ; n2 = 4 ; n3 = 4 ;
  25. n4 = 8 ; nn = 2 ;
  26.  
  27. 'SINON' ;
  28.  
  29. nbit= 5 ;
  30. DT0 = 10. ;
  31. n1 = 1 ; n2 = 2 ; n3 = 4 ;
  32. n4 = 4 ; nn = 1 ;
  33.  
  34. 'FINSI' ;
  35.  
  36. *--------------------------------------------------------
  37. * Definition du maillage de l'enceinte cylindrique
  38. *
  39. 'OPTI' 'DIME' 3 'ELEM' 'CU20' ;
  40.  
  41. ri = 1.052 ; sp = 0.10 ; hc = 4.163 ;
  42.  
  43.  
  44.  
  45. epsi = 1.000e-2 ; ;
  46.  
  47. p0 = 0.000 0.000 0.000 ;
  48. px = -1000.000 0.000 0.000 ;
  49. py = 0.000 -1000.000 0.000 ;
  50. pz = 0.000 0.000 1000.000 ;
  51. cd = 0.000 0.000 -20.000 ;
  52. ph0 = 0.000 0.000 hc ;
  53. phx = ri 0.000 hc ;
  54. phy = 0.000 ri hc ;
  55.  
  56. fg1 = 0.25 ;
  57. fg2 = fg1 * (2.0 ** 0.5) / 2. ;
  58.  
  59. p1 = (ri*fg1) 0.000 0.000 ;
  60. p2 = (ri*fg2) (ri*fg2) 0.000 ;
  61. p3 = 0.000 (ri*fg1) 0.000 ;
  62. p4 = ri 0.000 0.000 ;
  63. p5 = 0.000 ri 0.000 ;
  64. p6 = (ri+sp) 0.000 0.000 ;
  65. p7 = 0.000 (ri+sp) 0.000 ;
  66.  
  67. * Hauteur de l'enceinte
  68. h1 = 4.163 ;
  69. * Vecteur de translation
  70. v1 = 0. 0. h1 ;
  71.  
  72. l1 = 'DROI' p0 p1 n1 ;
  73. l2 = 'DROI' p1 p2 n1 ;
  74. l3 = 'DROI' p2 p3 n1 ;
  75. l4 = 'DROI' p3 p0 n1 ;
  76. l5 = 'CERC' p4 p0 p5 (2*n1) ;
  77. l6 = 'CERC' p6 p0 p7 (2*n1) ;
  78.  
  79. basf0= 'DALL' l1 l2 l3 l4 'PLAN' ;
  80. basf1=('REGL' (l2 'ET' l3) l5 n2) ;
  81. l44= cote 2 basf1;
  82. ax4= (inve l4) et l44 ;
  83. l11= cote 4 basf1;
  84. ax1= l11 et (inve l1) ;
  85.  
  86. basf = basf0 'ET' ('REGL' (l2 'ET' l3) l5 n2) ;
  87. 'ELIM' basf epsi ;
  88. basf = basf 'ET' ('SYME' basf 'DROI' p0 p3) ;
  89. ax11 = ('SYME' ax1 'DROI' p0 p3) 'ET' (inve ax1) ;
  90. 'ELIM' basf epsi ;
  91. basf = basf 'ET' ('SYME' basf 'DROI' p0 p1) ;
  92. ax44 = (inve ax4) 'ET' ('SYME' ax4 'DROI' p0 p4) ;
  93. 'ELIM' basf epsi ;
  94.  
  95. basm = 'REGL' l5 l6 n3 ;
  96. basm = basm 'ET' ('SYME' basm 'DROI' p0 p3) ;
  97. 'ELIM' basm epsi ;
  98. basm = basm 'ET' ('SYME' basm 'DROI' p0 p1) ;
  99. 'ELIM' basm epsi ;
  100.  
  101. * Creation du volume
  102.  
  103. dx = ri / 2. ;
  104. nz1 = ('ENTIER' ( h1 / dx ))*nn ;
  105.  
  106. bas = basf 'VOLU' nz1 'TRAN' v1 ;
  107. mbas = basm 'VOLU' nz1 'TRAN' v1 ;
  108. mbas = mbas 'COUL' 'ROUG' ;
  109. plan1 = ax11 'TRAN' nz1 v1 ;
  110. plan4 = ax44 'TRAN' nz1 v1 ;
  111. 'ELIM' (bas et plan1 et plan4) epsi ;
  112.  
  113. mt = bas ;
  114. wall = mbas ;
  115. elim (mt et wall) epsi ;
  116.  
  117. * Localisation d'une brèche éventuelle au bas de l'enceinte
  118.  
  119. pjg = 'POIN' basf 'PROC' (0.000 0.000 0.000) ;
  120. jg = ('ELEM' basf 'APPUIE' 'LARGEMENT' pjg) 'COUL' 'VERT' ;
  121.  
  122. *--------------------------------------------------------------------
  123. * Fin de la définition du maillage
  124. *--------------------------------------------------------------------
  125.  
  126.  
  127. *--------------------------------------------------------------------
  128. * Début de l'initialisation de la procédure ENCEINTE : table RXT
  129. *--------------------------------------------------------------------
  130.  
  131. rxt = 'TABLE' ;
  132. rxt . 'VERSION' = 'V0' ;
  133.  
  134. *-- Nom du volume fluide
  135. rxt . 'vtf' = mt ;
  136. rxt . 'epsi' = epsi ;
  137.  
  138. *-- Definition des murs de l'enceinte : ici un seul mur
  139. *-- en ACIER dont on traitera la thermique dans l'épaisseur
  140. *-- et que l'on initialise a 40oC
  141.  
  142. *-- On definit d'abord le matériau ACIER avec sa conductivite
  143. *-- thermique LAMBDA (W/m/K) et le produit ro*Cp (J/m3/K)
  144. rxt . 'THERMP' = VRAI ;
  145. rxt . 'vtp' = wall ;
  146. rxt . 'LAMBDA' = 15. ;
  147. rxt . 'ROCP' = 3.9E6 ;
  148. rxt . 'Tp0' = 60. ;
  149. rxt . 'ECHAN' = 10. ;
  150.  
  151. *-- On definit un point interne au maillage pour imposer la valeur de
  152. *-- la pression
  153. rxt . 'pi' = (0.0 0.0 0.5) ;
  154.  
  155. *-- On indique que le calcul comporte de la vapeur d'eau
  156. rxt . 'VAPEUR' = VRAI ;
  157. rxt . 'Yvap0' = 0.0023 ;
  158.  
  159. *-- Conditions initiales dans l'enceinte de test
  160. rxt . 'TF0' = 40.0 ;
  161. rxt . 'PT0' = 1.00000e5 ;
  162.  
  163. *-- Definition du scenario à la breche
  164.  
  165. rxt . 'Breches' = 'TABLE' ;
  166. rxt . 'Breches' . 'A' = 'TABLE' ;
  167. rxt . 'Breches' . 'A' . 'Maillage' = jg ;
  168. rxt . 'Breches' . 'A' . 'diru' = (0. 0. 1.) ;
  169. rxt . 'Breches' . 'A' . 'scenario' = 'TABLE' ;
  170. rxt . 'Breches' . 'A' . 'scenario' . 't' = PROG 0.0 1000. ;
  171. rxt . 'Breches' . 'A' . 'scenario' . 'qair' = PROG 0.0 0.0 ;
  172. rxt . 'Breches' . 'A' . 'scenario' . 'qeau' = PROG 0.05 0.05 ;
  173. rxt . 'Breches' . 'A' . 'scenario' . 'tinj' = PROG 150. 150. ;
  174.  
  175. *-- On impose la viscosite turbulente (m2/s)
  176. rxt . 'MODTURB' = 'NUTURB' ;
  177. rxt . 'NUT' = 1.e-2 ;
  178.  
  179. *-- On impose le pas de temps (s)
  180. rxt . 'DT0' = DT0 ;
  181.  
  182. *-- On active le recalcul automatique du préconditionnement
  183. *-- toutes les 5 itérations
  184. rxt . 'FRPREC' = 5 ;
  185. rxt . 'DETMAT' = VRAI ;
  186. *rxt.'TRTF' = FAUX ;
  187.  
  188.  
  189. Si VRAI;
  190. *-- On lance le calcul sur 20 itérations d'une seconde
  191. rxt . 'GRAPH' = GRAPH ;
  192.  
  193. EXECRXT 2 rxt ;
  194. cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ;
  195. rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 0. 'SCAL' ;
  196. EXECRXT (nbit - 2) rxt ;
  197.  
  198. list rxt.'TIC'.'Tfm' ;
  199. list rxt.'TIC'.'PT' ;
  200. list rxt.'TIC'.'Qc' ;
  201. list rxt.'TIC'.'LMAXU';
  202.  
  203. ltfm = 'PROG'
  204. 40.000 65.434 73.712 81.158 86.809 90.721 ;
  205. lPT = 'PROG'
  206. 1.00000E+05 1.06009E+05 1.21199E+05 1.29592E+05 1.36461E+05 1.43987E+05 ;
  207. Lqc = 'PROG'
  208. 0.0000 0.0000 0.0000 4.06133E-04 2.65247E-03 4.88852E-03 ;
  209. Lmaxu = 'PROG'
  210. 0.0000 0.81320 2.0813 2.6901 2.2350 2.5277 ;
  211.  
  212.  
  213. tic=rxt.'TIC' ;
  214. ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ;
  215. ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ;
  216. ERQc=somm( abs (lqc - tic.'Qc' ) ) ;
  217. ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ;
  218.  
  219. Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ;
  220.  
  221. ierr = 0 ;
  222. Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  223. Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ;
  224. Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  225. Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ;
  226.  
  227. ******************************************************************
  228.  
  229. rxt = enlev rxt 'GEO';
  230. rxt = enlev rxt 'TBT';
  231. rxt = enlev rxt 'TIC';
  232.  
  233. EXECRXT 2 rxt ;
  234. cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ;
  235. rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ;
  236. EXECRXT (nbit - 2) rxt ;
  237.  
  238. list rxt.'TIC'.'Tfm' ;
  239. list rxt.'TIC'.'PT' ;
  240. list rxt.'TIC'.'Qc' ;
  241. list rxt.'TIC'.'LMAXU';
  242.  
  243. ltfm = 'PROG'
  244. *40.000 65.434 73.712 81.158 86.809 90.721 ;
  245. 40.000 65.434 73.712 81.158 86.787 90.532 ;
  246. lPT = 'PROG'
  247. *1.00000E+05 1.06009E+05 1.21199E+05 1.29592E+05 1.36461E+05 1.43987E+05;
  248. 1.00000E+05 1.06009E+05 1.21199E+05 1.29592E+05 1.36453E+05 1.43899E+05;
  249. Lqc = 'PROG'
  250. *0.0000 0.0000 0.0000 4.06133E-04 2.65247E-03 4.88852E-03 ;
  251. 0.0000 0.0000 0.0000 4.98153E-04 3.47975E-03 5.32965E-03 ;
  252. Lmaxu = 'PROG'
  253. *0.0000 0.81320 2.0813 2.6901 2.2350 2.5277 ;
  254. 0.0000 0.81320 2.0813 2.6901 2.2350 2.5277 ;
  255.  
  256.  
  257. tic=rxt.'TIC' ;
  258. ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ;
  259. ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ;
  260. ERQc=somm( abs (lqc - tic.'Qc' ) ) ;
  261. ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ;
  262.  
  263. Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ;
  264.  
  265. ierr = 0 ;
  266. Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  267. Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ;
  268. Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  269. Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ;
  270.  
  271. ******************************************************************
  272.  
  273. rxt.'vtf' = (chan 'MACRO' mt) ;
  274. rxt.'vtp' = (chan 'MACRO' wall) ;
  275. rxt . 'Breches' . 'A' . 'Maillage' = (chan 'MACRO' jg) ;
  276.  
  277. rxt = enlev rxt 'GEO';
  278. rxt = enlev rxt 'TBT';
  279. rxt = enlev rxt 'TIC';
  280.  
  281. EXECRXT 2 rxt ;
  282. cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ;
  283. rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ;
  284. EXECRXT (nbit - 2) rxt ;
  285.  
  286. list rxt.'TIC'.'Tfm' ;
  287. list rxt.'TIC'.'PT' ;
  288. list rxt.'TIC'.'Qc' ;
  289. list rxt.'TIC'.'LMAXU';
  290.  
  291.  
  292. tic=rxt.'TIC' ;
  293. ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ;
  294. ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ;
  295. ERQc=somm( abs (lqc - tic.'Qc' ) ) ;
  296. ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ;
  297.  
  298. Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ;
  299.  
  300. Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  301. Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ;
  302. Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  303. Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ;
  304.  
  305.  
  306. ******************************************************************
  307.  
  308. rxt.'vtf' = (chan 'QUAF' mt) ;
  309. rxt.'vtp' = (chan 'QUAF' wall) ;
  310. rxt . 'Breches' . 'A' . 'Maillage' = (chan 'QUAF' jg) ;
  311. rxt = enlev rxt 'GEO';
  312. rxt = enlev rxt 'TBT';
  313. rxt = enlev rxt 'TIC';
  314.  
  315. EXECRXT 2 rxt ;
  316. cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ;
  317. rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ;
  318. EXECRXT (nbit - 2) rxt ;
  319.  
  320. list rxt.'TIC'.'Tfm' ;
  321. list rxt.'TIC'.'PT' ;
  322. list rxt.'TIC'.'Qc' ;
  323. list rxt.'TIC'.'LMAXU';
  324.  
  325.  
  326. tic=rxt.'TIC' ;
  327. ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ;
  328. ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ;
  329. ERQc=somm( abs (lqc - tic.'Qc' ) ) ;
  330. ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ;
  331.  
  332. Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ;
  333.  
  334. Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  335. Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ;
  336. Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  337. Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ;
  338.  
  339. finsi;
  340.  
  341. ******************************************************************
  342. rxt.'vtf' = (chan 'LINE' mt) ;
  343. rxt.'vtp' = (chan 'LINE' wall) ;
  344. rxt . 'Breches' . 'A' . 'Maillage' = (chan 'LINE' jg) ;
  345. rxt = enlev rxt 'GEO';
  346. rxt = enlev rxt 'TBT';
  347. rxt = enlev rxt 'TIC';
  348.  
  349. EXECRXT 2 rxt ;
  350. cont1 = 'ENVE' rxt . 'GEO' . 'vtf' ;
  351. rxt . 'TIC' . 'LREF' = 'MANU' 'CHPO' cont1 1. 'SCAL' ;
  352. EXECRXT (nbit - 2) rxt ;
  353.  
  354. list rxt.'TIC'.'Tfm' ;
  355. list rxt.'TIC'.'PT' ;
  356. list rxt.'TIC'.'Qc' ;
  357. list rxt.'TIC'.'LMAXU';
  358.  
  359. ltfm = 'PROG'
  360. *40.000 67.363 75.733 83.257 88.699 92.375 ;
  361. 40.000 67.363 75.733 83.257 88.644 92.093 ;
  362. lPT = 'PROG'
  363. *1.00000E+05 1.06452E+05 1.22785E+05 1.31710E+05 1.39047E+05 1.46818E+05;
  364. 1.00000E+05 1.06452E+05 1.22785E+05 1.31710E+05 1.39028E+05 1.46663E+05;
  365. Lqc = 'PROG'
  366. *0.0000 0.0000 0.0000 1.04818E-03 3.74210E-03 6.39247E-03 ;
  367. 0.0000 0.0000 0.0000 1.26761E-03 4.89033E-03 6.99583E-03 ;
  368. Lmaxu = 'PROG'
  369. *0.0000 0.81320 2.0604 2.5919 2.1446 2.4526 ;
  370. 0.0000 0.81320 2.0604 2.5919 2.1446 2.4526 ;
  371.  
  372. tic=rxt.'TIC' ;
  373. ERtf=somm( abs (ltfm - tic.'Tfm') )/ 80. ;
  374. ERPT=somm( abs (lPT - tic.'PT' ) ) /1.e5 ;
  375. ERQc=somm( abs (lqc - tic.'Qc' ) ) ;
  376. ERum=somm( abs (Lmaxu - tic.'LMAXU' ) )/2. ;
  377.  
  378. Mess 'ERtf=' ERtf 'ERPT=' ERPT 'ERQc=' ERQc 'ERum=' ERum ;
  379.  
  380. Si (ERtf '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  381. Si (ERPT '>' 1.e-3) ; ierr = ierr '+' 1 ; Finsi ;
  382. Si (ERQc '>' 1.e-4) ; ierr = ierr '+' 1 ; Finsi ;
  383. Si (ERum '>' 1.e-2) ; ierr = ierr '+' 1 ; Finsi ;
  384.  
  385.  
  386.  
  387. Si GRAPH ;
  388.  
  389. $vtf=rxt.'GEO'.'$vtf' ;
  390. mt =doma $vtf maillage ;
  391. Mpl1=chan 'QUAF' plan1 ;
  392. Mpl4=chan 'QUAF' plan4 ;
  393. ELIM (mt et Mpl1 et Mpl4) epsi ;
  394. $mpl1= mode Mpl1 'NAVIER_STOKES' MACRO ;
  395. $mpl4= mode Mpl4 'NAVIER_STOKES' MACRO ;
  396. plan1= doma $mpl1 maillage ;
  397. plan4= doma $mpl4 maillage ;
  398. plan=plan1 et plan4 ;
  399.  
  400. paroif = rxt.'GEO'.'paroif';
  401. rho=rxt.'TIC'.'RHO';
  402. rvp=rxt.'TIC'.'RVP';
  403. tf=rxt.'TIC'.'TF';
  404. un=rxt.'TIC'.'UN' ;
  405. un1=redu un plan ;
  406. ung= vect un1 1. ux uy uz jaune ;
  407. trace ung plan ;
  408. opti isov suli ;
  409. trace rho plan 'TITRE'' Rho' ;
  410. trace rvp plan 'TITRE'' Rvp' ;
  411. trace tf plan 'TITRE'' Tf ' ;
  412.  
  413. trace rho paroif 'TITRE'' Rho' ;
  414. trace rvp paroif 'TITRE'' Rvp' ;
  415. trace Tf paroif 'TITRE'' Tf ' ;
  416. Fcond = tic.'Fcondw';
  417. trace Fcond paroif 'TITRE' ' Flux de condensation Kg / m**2 ' ;
  418.  
  419. axe = p0 d nz1 (p0 plus v1) ;
  420. axe = chan axe 'QUAF' ;
  421. elim (axe et mt) epsi ;
  422.  
  423. evr= evol 'CHPO' rho axe ;
  424. dess evr 'TITRE' ' Rho axe ';
  425.  
  426. evt = evol 'CHPO' Tf axe ;
  427. dess evt 'TITRE' ' Température axe ';
  428.  
  429. evvp= evol 'CHPO' rvp axe ;
  430. dess evvp 'TITRE' ' rvp axe ';
  431.  
  432.  
  433.  
  434. 'FINSI' ;
  435.  
  436. 'SI' (IERR '>' 0) ;
  437. 'MESS' 'Il y a des problemes !!!' ;
  438. 'ERRE' 5 ;
  439. 'SINO';
  440. 'MESS' 'Tout s est bien passe!' ;
  441. 'FINS' ;
  442.  
  443.  
  444.  
  445. 'FIN' ;
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  

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