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 cyli pz sphe cd phx ;
  67. domm = basm proj cyli pz plan ph0 phx phy ;
  68.  
  69. l44s= l44 proj cyli pz sphe cd phx ;
  70. l55s= l55 proj cyli pz sphe cd phx ;
  71.  
  72. p44 = regle n4 l44 l44s ;
  73. p55 = regle n4 l55 l55s ;
  74.  
  75. p0s= p0 proj cyli 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.'vtf' = aria ;
  102. rxt.'epsi' = epsi ;
  103. rxt.'pi' = (0.0 0.0 4.1) ;
  104. rxt.'GRAPH' = GRAPH ;
  105. rxt.'FRPREC' = 3 ;
  106. *
  107. rxt.'VAPEUR' = VRAI ;
  108. rxt.'ASPER' = VRAI ;
  109.  
  110. *-- Conditions initiales dans l'enceinte de test
  111. rxt.'TF0' = 100.0 ;
  112. rxt.'PT0' = 2.079000e5 ;
  113. rxt.'Yvap0' = 0.00 ;
  114.  
  115. rxt.'scenasp' = table ;
  116. rxt.'scenasp'.'t' = PROG 0.000 1000.000 ;
  117.  
  118. ASPER = rxt.'ASPER' ;
  119. si ASPER ;
  120. rxt.'aspinj' = jd ;
  121. rxt.'toitf' = domf ;
  122. rxt.'rod' = 1.000e+3 ;
  123. rxt.'Cpd' = 4.180e+3 ;
  124. rxt.'scenasp'.'vzinj' = prog -1.000e-1 -1.000e-1 ;
  125. rxt.'scenasp'.'xdinj' = prog 1.000e-4 1.000e-4 ;
  126. rxt.'scenasp'.'tdinj' = prog 5.000e+1 5.000e+1 ;
  127. rxt.'scenasp'.'ddinj' = prog 1.000e-3 1.000e-3 ;
  128. finsi ;
  129. *
  130.  
  131. rxt.'DT0' = DT0 ;
  132.  
  133. *-- On impose la viscosite turbulente (m2/s)
  134. rxt.'MODTURB'='NUTURB' ;
  135. rxt.'NUT' = 5.e-3 ;
  136.  
  137. rxt.'IMPR' =1 ;
  138.  
  139. ENCEINTE nbit rxt ;
  140.  
  141. Maxe = chan axe QUAF;
  142. $vtf= rxt.'GEO'.'$vtf';
  143. vtf = doma $vtf maillage ;
  144. elim (Maxe et vtf) epsi ;
  145. discr=rxt.'TBT'.'discr' ;
  146. $axe=mode Maxe 'NAVIER_STOKES' discr ;
  147. axe = doma $axe maillage ;
  148.  
  149. un=rxt.'TIC'.'UN';
  150. vn=rxt.'TIC'.'VN';
  151. rho=rxt.'TIC'.'RHO';
  152. rvp=rxt.'TIC'.'RVP';
  153. tf=rxt.'TIC'.'TF' ;
  154. rvp=rxt.'TIC'.'RVP';
  155. td=rxt.'TIC'.'TD' ;
  156. xd=rxt.'TIC'.'XD' ;
  157. dd=rxt.'TIC'.'DD' ;
  158. *opti donn 5;
  159. Si (NON COMPLET);
  160.  
  161.  
  162. * modif 2004 ;
  163. * MTHEO = 4.5527 ;
  164. MTHEO = 5.1859 ;
  165. Diag = 'DOMA' rxt.'GEO'.'$vtf' 'XXDIAGSI' ;
  166. mvapeur = 'SOMT' (Diag '*' rxt.'TIC'.'RVP') ;
  167. 'MESS' '==> Masse de vapeur = ' mvapeur 'kg' ;
  168. 'MESS' '==> Masse Theorique = ' MTHEO 'kg' ;
  169. TEST= ('ABS' ( MTHEO '-' mvapeur ) '/' MTHEO) ;
  170. 'SI' ( TEST '>' 0.1 );
  171. erreur 5 ;
  172. 'FINSI' ;
  173.  
  174. an= psca vn vn (mots ux uy uz)(mots ux uy uz) ;
  175. an= an **0.5 ;
  176. mess ' Norme de VN ' (mini an) (maxi an) ;
  177. *test = abs ((maxi an) - 3.89 ) /4.;
  178. * Avec PENCECHI pour ASP et rtd et rtf
  179. *test = abs ((maxi an) - 3.65 ) /4.;
  180. * Avec PENCECHI pour ASP et rtd et rtf et UN au lieu de UNM partout
  181. test = abs ((maxi an) - 3.87 ) /4.;
  182. Si (test '>' 1.e-2) ;
  183. erreur 5 ;
  184.  
  185. Finsi ;
  186. *list test ;
  187. *opti donn 5;
  188.  
  189. list rxt.TIC.'Tfm' ;
  190. list rxt.TIC.'PT' ;
  191. list rxt.TIC.'Qaspe';
  192. list rxt.TIC.'Mrest';
  193. list rxt.TIC.'LMAXU';
  194.  
  195. ltfm=prog
  196. 100.00 100.00 100.000 99.754 99.441 98.975;
  197.  
  198. lPT =prog
  199. 2.0790E+05 2.0790E+05 2.07776E+05
  200. 2.07767E+05 2.07597E+05 2.07392E+05;
  201.  
  202.  
  203. lqaspe = prog
  204. 0.000 0.000 1.160 1.739 2.287 2.763 ;
  205.  
  206.  
  207. lmrest=prog
  208. 0.000 0.000 1.160 2.899 5.186 7.949 ;
  209.  
  210.  
  211. *lmaxu=prog
  212. *0.000 0.000 0.3411 0.5021 0.6861 0.9536 ;
  213. * Avec PENCECHI pour ASP (rvn et rv modifiées)
  214. *0.0000 0.0000 0.31987 0.45662 0.63362 0.93876;
  215. * Avec PENCECHI pour ASP et rtd et rtf
  216. *0.0000 0.0000 0.31987 0.43440 0.61212 0.87987;
  217. * Avec PENCECHI pour ASP et rtd et rtf et UN au lieu de UNM partout
  218. lmaxu=prog
  219. 0.0000 0.0000 0.31987 0.45662 0.63362 0.93876;
  220.  
  221. tic=rxt.'TIC' ;
  222.  
  223. ERtf=SOMM( abs (ltfm - tic.'Tfm') )/ 80. ;
  224. ERPT=SOMM( abs (lPT - tic.'PT' ) ) /1.e5 ;
  225. ERQA=SOMM( abs (lqaspe - tic.'Qaspe' ) ) /3. ;
  226. ERMR=SOMM( abs (lmrest - tic.'Mrest' ) ) /6. ;
  227. ERum=SOMM( abs (Lmaxu - tic.'LMAXU' ) ) ;
  228.  
  229. Mess ' ERtf=' ERtf ' ERPT=' ERPT ' ERQasp=' ERQA 'ERum=' ERum ;
  230. Mess ' ERMR=' ERmr ;
  231. Si (ERtf '>' 1.e-2) ; erreur 5 ; Finsi ;
  232. Si (ERPT '>' 1.e-2) ; erreur 5 ; Finsi ;
  233. Si (ERQA '>' 1.e-2) ; erreur 5 ; Finsi ;
  234. Si (ERMR '>' 1.e-2) ; erreur 5 ; Finsi ;
  235. Si (ERum '>' 1.e-2) ; erreur 5 ; Finsi ;
  236.  
  237. Finsi;
  238.  
  239. Si GRAPH ;
  240.  
  241. evuz= evol 'CHPO' (exco un uz) axe ;
  242. dess evuz 'TITRE' ' UZ axe ';
  243.  
  244. evvz= evol 'CHPO' (exco vn uz) axe ;
  245. dess evvz 'TITRE' ' VZ axe ';
  246.  
  247. evr= evol 'CHPO' rho axe ;
  248. dess evr 'TITRE' ' Rho axe ';
  249.  
  250. evrv= evol 'CHPO' rvp axe ;
  251. dess evrv 'TITRE' ' Rho vap axe ';
  252.  
  253. evtf= evol 'CHPO' tf axe ;
  254. dess evtf 'TITRE' ' Tf axe ';
  255.  
  256. evtd= evol 'CHPO' td axe ;
  257. dess evtd 'TITRE' ' Td axe ';
  258.  
  259. evxd= evol 'CHPO' xd axe ;
  260. dess evxd 'TITRE' ' Xd axe ';
  261.  
  262. evdd= evol 'CHPO' dd axe ;
  263. dess evdd 'TITRE' ' DD axe ';
  264.  
  265. Mpco = chan (p44 et p55) QUAF ;
  266. $pco = mode Mpco 'NAVIER_STOKES' MACRO ;
  267. pco = doma $pco maillage ;
  268. elim (vtf et pco) epsi ;
  269.  
  270. ixd=masq xd 'SUPERIEUR' 1.e-5 ;
  271. vn = ixd * vn ;
  272. un1=redu un pco ;
  273. vn1=redu vn pco ;
  274. ung= vect un1 5. ux uy uz jaune ;
  275. vng= vect vn1 0.5 ux uy uz vert ;
  276. trace ung pco (cont pco) ;
  277. trace vng pco (cont pco) ;
  278. trace (ung et vng) pco (cont pco) ;
  279.  
  280. trace rvp pco TITR ' RVP ' ;
  281. trace tf pco TITR ' TF ' ;
  282. trace td pco TITR ' TD ' ;
  283. trace xd pco TITR ' XD ' ;
  284. Finsi ;
  285.  
  286. *'OPTION' 'DONN' 5 ;
  287.  
  288. 'FIN' ;
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  

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