Télécharger Hasp.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : Hasp.dgibi
  2.  
  3. opti dime 3 elem cu20 ;
  4. *
  5. COMPLET=VRAI ;
  6. COMPLET=FAUX ;
  7. GRAPH=VRAI ;
  8. GRAPH=FAUX ;
  9. opti TRACE 'PSC' ;
  10.  
  11. Si COMPLET ;
  12. nbit=25 ;
  13. DT0 = 5.e-1 ;
  14. n1 = 1 ; n2 = 2 ; n3 = 1 ;
  15. n4 = 8 ; ;
  16. Sinon ;
  17. DT0 = 1.e+0 ;
  18. nbit=5 ;
  19. n1 = 1 ; n2 = 2 ; n3 = 1 ;
  20. n4 = 4 ; ;
  21. Finsi ;
  22.  
  23. ri = 10.000 ; sp = 1.000 ; hc = 20.000 ;
  24. epsi = 1.000e-2 ; ;
  25.  
  26. p0 = 0.000 0.000 0.000 ;
  27. px = -1000.000 0.000 0.000 ;
  28. py = 0.000 -1000.000 0.000 ;
  29. pz = 0.000 0.000 1000.000 ;
  30. cd = 0.000 0.000 -20.000 ;
  31. ph0 = 0.000 0.000 hc ;
  32. phx = ri 0.000 hc ;
  33. phy = 0.000 ri hc ;
  34.  
  35. p1 = (ri*0.4) 0.000 0.000 ;
  36. p2 = (ri*0.3) (ri*0.3) 0.000 ;
  37. p3 = 0.000 (ri*0.4) 0.000 ;
  38. p4 = ri 0.000 0.000 ;
  39. p5 = 0.000 ri 0.000 ;
  40. p6 = (ri+sp) 0.000 0.000 ;
  41. p7 = 0.000 (ri+sp) 0.000 ;
  42.  
  43. l1 = droi p0 p1 n1 ;
  44. l2 = droi p1 p2 n1 ;
  45. l3 = droi p2 p3 n1 ;
  46. l4 = droi p3 p0 n1 ;
  47. l5 = cerc p4 p0 p5 (2*n1) ;
  48. l6 = cerc p6 p0 p7 (2*n1) ;
  49.  
  50. basf = dall l1 l2 l3 l4 ;
  51. basf = basf et (regl (l2 et l3) l5 n2) ; elim basf epsi ;
  52. basf = basf et (syme basf droi p0 p3) ; elim basf epsi ;
  53. basf = basf et (syme basf droi p0 p1) ; elim basf epsi ;
  54.  
  55. l44 = (l4 et (p3 d n2 p5) ) ;
  56. l44 = l44 et (syme l44 droi p0 p1) ; elim l44 epsi ;
  57. l44 = l44 coul rouge ;
  58. l55 = l44 tour 90. p0 (p0 plus (0 0 100)) ;
  59.  
  60. basm = regl l5 l6 n3 ;
  61. basm = basm et (syme basm droi p0 p3) ; elim basm epsi ;
  62. basm = basm et (syme basm droi p0 p1) ; elim basm epsi ;
  63.  
  64. domf = basf proj cyli pz sphe cd phx ;
  65. domm = basm proj cyli pz plan ph0 phx phy ;
  66.  
  67. l44s= l44 proj cyli pz sphe cd phx ;
  68. l55s= l55 proj cyli pz sphe cd phx ;
  69.  
  70. p44 = regle n4 l44 l44s ;
  71. p55 = regle n4 l55 l55s ;
  72.  
  73. p0s= p0 proj cyli pz sphe cd phx ;
  74. axe = p0 d n4 p0s ;
  75. elim (axe et p55) epsi ;
  76.  
  77.  
  78. aria = volu basf domf n4 ;
  79. muro = (volu basm domm n4) coul roug ;
  80. elim (aria et muro) epsi ;
  81.  
  82. elim (aria et p44 et p55 ) epsi ;
  83. pjg = poin basf proc (0.000 0.000 0.000) ;
  84. *pjg = poin basf proc ((ri/2.0) 0.000 0.000) ;
  85. jg = (elem basf 'APPUIE' 'LARGEMENT' pjg) coul vert ;
  86.  
  87. pjd = poin domf proc (0.000 0.000 hc) ;
  88. *pjd = poin domf proc ((ri/2.0) 0.000 hc) ;
  89. jd = (elem domf 'APPUIE' 'LARGEMENT' pjd) coul vert ;
  90.  
  91. enva = enve aria ;
  92. enva = orie enva point (0.0 0.0 (hc/2.0)) ;
  93. envm = enve muro ;
  94. pare = inte enva envm ;
  95.  
  96.  
  97. * DT0 = 1.0e+0 ;
  98. rxt = table ;
  99. rxt.'vtf' = aria ;
  100. rxt.'epsi' = epsi ;
  101. rxt.'pi' = (0.0 0.0 4.1) ;
  102. rxt.'GRAPH' = GRAPH ;
  103. rxt.'FRPREC' = 3 ;
  104. *
  105. rxt.'VAPEUR' = VRAI ;
  106. rxt.'ASPER' = VRAI ;
  107.  
  108. *-- Conditions initiales dans l'enceinte de test
  109. rxt.'TF0' = 100.0 ;
  110. rxt.'PT0' = 2.079000e5 ;
  111. rxt.'Yvap0' = 0.00 ;
  112.  
  113. rxt.'scenasp' = table ;
  114. rxt.'scenasp'.'t' = PROG 0.000 1000.000 ;
  115.  
  116. ASPER = rxt.'ASPER' ;
  117. si ASPER ;
  118. rxt.'aspinj' = jd ;
  119. rxt.'toitf' = domf ;
  120. rxt.'rod' = 1.000e+3 ;
  121. rxt.'Cpd' = 4.180e+3 ;
  122. rxt.'scenasp'.'vzinj' = prog -1.000e-1 -1.000e-1 ;
  123. rxt.'scenasp'.'xdinj' = prog 1.000e-4 1.000e-4 ;
  124. rxt.'scenasp'.'tdinj' = prog 5.000e+1 5.000e+1 ;
  125. rxt.'scenasp'.'ddinj' = prog 1.000e-3 1.000e-3 ;
  126. finsi ;
  127. *
  128.  
  129. rxt.'DT0' = DT0 ;
  130.  
  131. *-- On impose la viscosite turbulente (m2/s)
  132. rxt.'MODTURB'='NUTURB' ;
  133. rxt.'NUT' = 5.e-3 ;
  134.  
  135. rxt.'IMPR' =1 ;
  136.  
  137. EXECRXT nbit rxt ;
  138.  
  139. Maxe = chan axe QUAF;
  140. $vtf= rxt.'GEO'.'$vtf';
  141. vtf = doma $vtf maillage ;
  142. elim (Maxe et vtf) epsi ;
  143. discr=rxt.'TBT'.'discr' ;
  144. $axe=mode Maxe 'NAVIER_STOKES' discr ;
  145. axe = doma $axe maillage ;
  146.  
  147. un=rxt.'TIC'.'UN';
  148. vn=rxt.'TIC'.'VN';
  149. rho=rxt.'TIC'.'RHO';
  150. rvp=rxt.'TIC'.'RVP';
  151. tf=rxt.'TIC'.'TF' ;
  152. rvp=rxt.'TIC'.'RVP';
  153. td=rxt.'TIC'.'TD' ;
  154. xd=rxt.'TIC'.'XD' ;
  155. dd=rxt.'TIC'.'DD' ;
  156. *opti donn 5;
  157. Si (NON COMPLET);
  158.  
  159.  
  160. * modif 2004 ;
  161. * MTHEO = 4.5527 ;
  162. MTHEO = 5.1859 ;
  163. Diag = 'DOMA' rxt.'GEO'.'$vtf' 'XXDIAGSI' ;
  164. mvapeur = 'SOMT' (Diag '*' rxt.'TIC'.'RVP') ;
  165. 'MESS' '==> Masse de vapeur = ' mvapeur 'kg' ;
  166. 'MESS' '==> Masse Theorique = ' MTHEO 'kg' ;
  167. TEST= ('ABS' ( MTHEO '-' mvapeur ) '/' MTHEO) ;
  168. 'SI' ( TEST '>' 0.1 );
  169. erreur 5 ;
  170. 'FINSI' ;
  171.  
  172. an= psca vn vn (mots ux uy uz)(mots ux uy uz) ;
  173. an= an **0.5 ;
  174. mess ' Norme de VN ' (mini an) (maxi an) ;
  175. test = abs ((maxi an) - 3.89 ) /4.;
  176. Si (test '>' 1.e-2) ;
  177. erreur 5 ;
  178.  
  179. Finsi ;
  180. *list test ;
  181. *opti donn 5;
  182.  
  183. list rxt.TIC.'Tfm' ;
  184. list rxt.TIC.'PT' ;
  185. list rxt.TIC.'Qaspe';
  186. list rxt.TIC.'Mrest';
  187. list rxt.TIC.'LMAXU';
  188.  
  189. ltfm=prog
  190. 100.00 100.00 100.000 99.754 99.441 98.975;
  191.  
  192. lPT =prog
  193. 2.0790E+05 2.0790E+05 2.07776E+05
  194. 2.07767E+05 2.07597E+05 2.07392E+05;
  195.  
  196.  
  197. lqaspe = prog
  198. 0.000 0.000 1.160 1.739 2.287 2.763 ;
  199.  
  200.  
  201. lmrest=prog
  202. 0.000 0.000 1.160 2.899 5.186 7.949 ;
  203.  
  204.  
  205. *0.000 0.000 0.3411 0.5021 0.6861 0.9536 ;
  206. * Après correction Gounand 2012/12/20
  207. lmaxu='PROG'
  208. 0.0000 0.0000 0.31987 0.45662 0.63362 0.93876;
  209.  
  210.  
  211. tic=rxt.'TIC' ;
  212.  
  213. ERtf=SOMM( abs (ltfm - tic.'Tfm') )/ 80. ;
  214. ERPT=SOMM( abs (lPT - tic.'PT' ) ) /1.e5 ;
  215. ERQA=SOMM( abs (lqaspe - tic.'Qaspe' ) ) /3. ;
  216. ERMR=SOMM( abs (lmrest - tic.'Mrest' ) ) /6. ;
  217. ERum=SOMM( abs (Lmaxu - tic.'LMAXU' ) ) ;
  218.  
  219. Mess ' ERtf=' ERtf ' ERPT=' ERPT ' ERQasp=' ERQA 'ERum=' ERum ;
  220. Mess ' ERMR=' ERmr ;
  221. Si (ERtf '>' 1.e-2) ; erreur 5 ; Finsi ;
  222. Si (ERPT '>' 1.e-2) ; erreur 5 ; Finsi ;
  223. Si (ERQA '>' 1.e-2) ; erreur 5 ; Finsi ;
  224. Si (ERMR '>' 1.e-2) ; erreur 5 ; Finsi ;
  225. Si (ERum '>' 1.e-2) ; erreur 5 ; Finsi ;
  226.  
  227. Finsi;
  228.  
  229. Si GRAPH ;
  230.  
  231. evuz= evol 'CHPO' (exco un uz) axe ;
  232. dess evuz 'TITRE' ' UZ axe ';
  233.  
  234. evvz= evol 'CHPO' (exco vn uz) axe ;
  235. dess evvz 'TITRE' ' VZ axe ';
  236.  
  237. evr= evol 'CHPO' rho axe ;
  238. dess evr 'TITRE' ' Rho axe ';
  239.  
  240. evrv= evol 'CHPO' rvp axe ;
  241. dess evrv 'TITRE' ' Rho vap axe ';
  242.  
  243. evtf= evol 'CHPO' tf axe ;
  244. dess evtf 'TITRE' ' Tf axe ';
  245.  
  246. evtd= evol 'CHPO' td axe ;
  247. dess evtd 'TITRE' ' Td axe ';
  248.  
  249. evxd= evol 'CHPO' xd axe ;
  250. dess evxd 'TITRE' ' Xd axe ';
  251.  
  252. evdd= evol 'CHPO' dd axe ;
  253. dess evdd 'TITRE' ' DD axe ';
  254.  
  255. Mpco = chan (p44 et p55) QUAF ;
  256. $pco = mode Mpco 'NAVIER_STOKES' MACRO ;
  257. pco = doma $pco maillage ;
  258. elim (vtf et pco) epsi ;
  259.  
  260. ixd=masq xd 'SUPERIEUR' 1.e-5 ;
  261. vn = ixd * vn ;
  262. un1=redu un pco ;
  263. vn1=redu vn pco ;
  264. ung= vect un1 5. ux uy uz jaune ;
  265. vng= vect vn1 0.5 ux uy uz vert ;
  266. trace ung pco (cont pco) ;
  267. trace vng pco (cont pco) ;
  268. trace (ung et vng) pco (cont pco) ;
  269.  
  270. trace rvp pco TITR ' RVP ' ;
  271. trace tf pco TITR ' TF ' ;
  272. trace td pco TITR ' TD ' ;
  273. trace xd pco TITR ' XD ' ;
  274. Finsi ;
  275.  
  276.  
  277.  
  278. 'FIN' ;
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  

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