Télécharger asp.dgibi

Retour à la liste

Numérotation des lignes :

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

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