Télécharger inj.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : inj.dgibi
  2. *
  3. * INJ.DGIBI (Cataldo Caroli) Mai 99
  4. * Teste la procedure ENCEINTE
  5. *
  6. *
  7. *
  8. *
  9. fin ;
  10. *opti trace psc ;
  11. COMPLET= FAUX ;
  12. debproc visu rx*table ;
  13.  
  14. epsi = 1.0e-3 ;
  15. px = -1000.0 0.0 0.0 ;
  16. py = 0.0 -1000.0 0.0 ;
  17. pz = 0.0 0.0 -1000.0 ;
  18. px1 = -1000.0 0.0 10.0 ;
  19. py1 = 0.0 -1000.0 10.0 ;
  20. pz1 = 0.0 0.0 10.0 ;
  21.  
  22. $vtf = rx.'TIC'.'$vtf' ;
  23. $vtp = rx.'TIC'.'$vtp' ;
  24. vtf = doma $vtf maillage ;
  25. vtp = doma $vtp maillage ;
  26.  
  27. un = rx.tic.'UN' ;
  28. tf = rx.tic.'TF' ;
  29. rvp = rx.tic.'RVP' ;
  30. rho = rx.tic.'RHO' ;
  31. tp = rx.tic.'TP' ;
  32. si (rxt.'ASPERS') ;
  33. vn = rx.tic.'VN' ;
  34. xd = rx.tic.'XD' ;
  35. dd = rx.tic.'DD' ;
  36. td = rx.tic.'TD' ;
  37. kgas = rx.tic.'KGAS' ;
  38. kdis = rx.tic.'KDIS' ;
  39. hgas = rx.tic.'HGAS' ;
  40. hdis = rx.tic.'HDIS' ;
  41. sdia = rx.tic.'SDIA' ;
  42. sxd = rx.tic.'SXD' ;
  43. srho = rx.tic.'SRHO' ;
  44. finsi ;
  45. roi = rx.tic.'ROI' ;
  46. rovi = rx.tic.'ROVI' ;
  47.  
  48. x y z = coor vtf ;
  49. ptx = x poin egsupe 0.0 ;
  50. pty = y poin egsupe 0.0 ;
  51. ptz = z poin inferieur 11.0 ;
  52. vtfx = vtf elem appuie strictement ptx ;
  53. vtfy = vtf elem appuie strictement pty ;
  54. vtfz = vtf elem appuie strictement ptz ;
  55.  
  56. x y z = coor vtp ;
  57. ptx = x poin egsupe 0.0 ;
  58. pty = y poin egsupe 0.0 ;
  59. ptz = z poin eginfe 11.0 ;
  60. vtpx = vtp elem appuie strictement ptx ;
  61. vtpy = vtp elem appuie strictement pty ;
  62. vtpz = vtp elem appuie strictement ptz ;
  63.  
  64. ptxz = poin (chan vtf poi1) plan p0 px pz epsi ;
  65. ptyz = poin (chan vtf poi1) plan p0 py pz epsi ;
  66. ptxy = poin (chan vtf poi1) plan px1 py1 pz1 1e-0 ;
  67. plxz = elem (chan vtf poi1) 'APPUIE' 'STRICTEMENT' ptxz ;
  68. plyz = elem (chan vtf poi1) 'APPUIE' 'STRICTEMENT' ptyz ;
  69. plxy = elem (chan vtf poi1) 'APPUIE' 'STRICTEMENT' ptxy ;
  70.  
  71. un_v = vect un 1.0 ux uy uz jaun ;
  72. uxzv = vect (redu un ptxz ) 1.0 ux uy uz jaun ;
  73. uyzv = vect (redu un ptyz ) 1.0 ux uy uz jaun ;
  74. uxyv = vect (redu un ptxy ) 1.0 ux uy uz jaun ;
  75.  
  76. *titr 'Un ' ; trac un_v vtf ;
  77. *titr 'Un yz' ; trac px uyzv plyz ;
  78. titr 'Un xz' ; trac py uxzv plxz ;
  79. titr 'Un xy' ; trac pz uxyv plxy ;
  80.  
  81. si (ega (rxt.'discr') 'QUAF') ;
  82. vtfx = chan vtfx 'DECL' ;
  83. vtfy = chan vtfy 'DECL' ;
  84. vtfz = chan vtfz 'DECL' ;
  85. vtpx = chan vtpx 'DECL' ;
  86. vtpy = chan vtpy 'DECL' ;
  87. vtpz = chan vtpz 'DECL' ;
  88. finsi ;
  89.  
  90. mess 'min Tf ' (mini tf) 'max Tf ' (maxi tf) ;
  91. * titr 'Tf yz' ; trac px vtfx tf ;
  92. titr 'Tf xz' ; trac py vtfy tf ;
  93. * titr 'Tf xy' ; trac pz vtfz tf ;
  94. mess 'min Tp ' (mini tp) 'max Tp ' (maxi tp) ;
  95. * titr 'Tp yz' ; trac px vtpx tp ;
  96. titr 'Tp xz' ; trac py vtpy tp ;
  97. * titr 'Tp xy' ; trac pz vtpz tp ;
  98. mess 'min Rho ' (mini rho) 'max Rho ' (maxi rho) ;
  99. * titr 'Rho yz' ; trac px vtfx rho ;
  100. titr 'Rho xz' ; trac py vtfy rho ;
  101. * titr 'Rho xy' ; trac pz vtfz rho ;
  102. mess 'min Rvp ' (mini rvp) 'max Rvp ' (maxi rvp) ;
  103. * titr 'Rvp yz' ; trac px vtfx rvp ;
  104. titr 'Rvp xz' ; trac py vtfy rvp ;
  105. * titr 'Rvp xy' ; trac pz vtfz rvp ;
  106.  
  107. si (rxt.'ASPERS') ;
  108. vn = rx.tic.'VN' ;
  109. vxzv = vect (redu vn plxz ) 1.0e-0 ux uy uz roug ;
  110. vyzv = vect (redu vn plyz ) 1.0e-0 ux uy uz roug ;
  111. vxyv = vect (redu vn plxy ) 1.0e-0 ux uy uz roug ;
  112. cmps = extr un comp ;
  113. us = (psca un un cmps cmps) ** 0.5 ;
  114. vs = (psca vn vn cmps cmps) ** 0.5 ;
  115. * titr 'Vn yz' ; trac px vyzv plyz ;
  116. titr 'Vn xz' ; trac py vxzv plxz ;
  117. * titr 'Vn xy' ; trac pz vxyv plxy ;
  118. mess 'min Dd ' (mini dd) 'max Dd ' (maxi dd) ;
  119. * titr 'Dd yz' ; trac px vtfx dd ;
  120. titr 'Dd xz' ; trac py vtfy dd ;
  121. * titr 'Dd xy' ; trac pz vtfz dd ;
  122. mess 'min Xd ' (mini xd) 'max Xd ' (maxi xd) ;
  123. * titr 'Xd yz' ; trac px vtfx xd ;
  124. titr 'Xd xz' ; trac py vtfy xd ;
  125. * titr 'Xd xy' ; trac pz vtfz xd ;
  126. mess 'min Td ' (mini td) 'max Td ' (maxi td) ;
  127. * titr 'Td yz' ; trac px vtfx td ;
  128. titr 'Td xz' ; trac py vtfy td ;
  129. * titr 'Td xy' ; trac pz vtfz td ;
  130. finsi ;
  131. finproc ;
  132.  
  133.  
  134.  
  135.  
  136.  
  137. opti dime 3 elem cu20 ;
  138.  
  139. ri = 10.000 ; sp = 1.000 ; hc = 20.000 ;
  140. 'SI' COMPLET ;
  141. n1 = 1 ; n2 = 2 ; n3 = 1 ;
  142. n4 = 4 ; ;
  143. 'SINON' ;
  144. n1 = 1 ; n2 = 1 ; n3 = 1 ;
  145. n4 = 1 ; ;
  146. 'FINSI' ;
  147. epsi = 1.000e-2 ; ;
  148.  
  149. p0 = 0.000 0.000 0.000 ;
  150. px = -1000.000 0.000 0.000 ;
  151. py = 0.000 -1000.000 0.000 ;
  152. pz = 0.000 0.000 1000.000 ;
  153. cd = 0.000 0.000 -20.000 ;
  154. ph0 = 0.000 0.000 hc ;
  155. phx = ri 0.000 hc ;
  156. phy = 0.000 ri hc ;
  157.  
  158. p1 = (ri*0.4) 0.000 0.000 ;
  159. p2 = (ri*0.3) (ri*0.3) 0.000 ;
  160. p3 = 0.000 (ri*0.4) 0.000 ;
  161. p4 = ri 0.000 0.000 ;
  162. p5 = 0.000 ri 0.000 ;
  163. p6 = (ri+sp) 0.000 0.000 ;
  164. p7 = 0.000 (ri+sp) 0.000 ;
  165.  
  166. l1 = droi p0 p1 n1 ;
  167. l2 = droi p1 p2 n1 ;
  168. l3 = droi p2 p3 n1 ;
  169. l4 = droi p3 p0 n1 ;
  170. l5 = cerc p4 p0 p5 (2*n1) ;
  171. l6 = cerc p6 p0 p7 (2*n1) ;
  172.  
  173. basf = dall l1 l2 l3 l4 ;
  174. basf = basf et (regl (l2 et l3) l5 n2) ; elim basf epsi ;
  175. basf = basf et (syme basf droi p0 p3) ; elim basf epsi ;
  176. basf = basf et (syme basf droi p0 p1) ; elim basf epsi ;
  177.  
  178. basm = regl l5 l6 n3 ;
  179. basm = basm et (syme basm droi p0 p3) ; elim basm epsi ;
  180. basm = basm et (syme basm droi p0 p1) ; elim basm epsi ;
  181.  
  182. domf = basf proj dire pz sphe cd phx ;
  183. domm = basm proj dire pz plan ph0 phx phy ;
  184.  
  185. aria = volu basf domf n4 ;
  186. muro = (volu basm domm n4) coul roug ;
  187. elim (aria et muro) epsi ;
  188.  
  189. pjg = poin basf proc (0.000 0.000 0.000) ;
  190. *pjg = poin basf proc ((ri/2.0) 0.000 0.000) ;
  191. jg = (elem basf 'APPUIE' 'LARGEMENT' pjg) coul vert ;
  192.  
  193. pjd = poin domf proc (0.000 0.000 hc) ;
  194. jd = (elem domf 'APPUIE' 'LARGEMENT' pjd) coul vert ;
  195.  
  196.  
  197. DT0 = 1.0e-0 ;
  198.  
  199. rxt = table ;
  200. rxt.'VERSION'= 'V0' ;
  201.  
  202. rxt.'vtf' = aria ;
  203. rxt.'vtp' = muro ;
  204. rxt.'breche' = jg ;
  205. *rxt.'aspinj' = jd ;
  206. *rxt.'toitf' = domf ;
  207. rxt.'pi' = (0.0 0.0 10.0) ;
  208. *
  209. *rxt.'vtf' = vtf ;
  210. *rxt.'vtp' = vtp ;
  211. *rxt.'breche' = breche ;
  212. *rxt.'paroif' = paroif ;
  213. *rxt.'aspinj' = breche ;
  214. *rxt.'pi' = (-3.0 -3.0 50.0) ; ;
  215.  
  216. *rxt.'ASPERS' = VRAI ;
  217. rxt.'ASPERS' = FAUX ;
  218. *rxt.'rod' = 1.000e+3 ;
  219. *rxt.'Cpd' = 4.180e+3 ;
  220.  
  221. rxt.'scenario' = table ;
  222. rxt.'scenario'.'TF0' = 50.0 ;
  223. rxt.'scenario'.'PT0' = 1.0e5 ;
  224. rxt.'scenario'.'Yvap0' = 0.1 ;
  225. rxt.'scenario'.'Yhe0' = 0.0 ;
  226. rxt.'scenario'.'TP0' = 20.0 ;
  227. rxt.'scenario'.'t' = prog 0.0 100.0 ;
  228. rxt.'scenario'.'Qvap' = prog 10.0 10.0 ;
  229. rxt.'scenario'.'qair' = prog 0.0 0.0 ;
  230. rxt.'scenario'.'qhe' = prog 0.0 0.0 ;
  231. rxt.'scenario'.'tinj' = prog 100.0 100.0 ;
  232. *
  233. *rxt.'scenario'.'vzinj' = prog -1.000e-1 -1.000e-1 ;
  234. *rxt.'scenario'.'xdinj' = prog 1.000e-3 1.000e-3 ;
  235. *rxt.'scenario'.'tdinj' = prog 5.000e+1 5.000e+1 ;
  236. *rxt.'scenario'.'ddinj' = prog 5.000e-4 5.000e-4 ;
  237.  
  238. *rxt.'discr' = 'QUAF' ;
  239. *rxt.'ALGO' = 'IMPL' ;
  240. *rxt.'KPRESS' = 'CENTREP1' ;
  241.  
  242. rxt.'epsi' = 1.0e-4 ;
  243. rxt.'DT0' = DT0 ;
  244.  
  245. rxt.'VAPEUR' = VRAI ;
  246. rxt.'lamb' = 2.300 ;
  247. rxt.'rocpb' = 2.100e+6 ;
  248. rxt.'muair' = 1.800e-5 ;
  249. rxt.'alf' = 1.800e-5 ;
  250. rxt.'lamair' = 2.580e-2 ;
  251. rxt.'db' = 1.000e-5 ;
  252. rxt.'KH' = 1.000e+1 ;
  253. rxt.'MUT' = 1.000e-2 ;
  254.  
  255. rxt.'Cpair' = 1000.0 ;
  256. rxt.'Cph2o' = 1700.0 ;
  257. rxt.'Cphe' = 14550.0 ;
  258. rxt.'Lv' = 2.3E6 ;
  259. rxt.'Rgair' = ((80. * 296.9) + (20. * 259.8))/100. ;
  260. rxt.'Rgh2o' = 461.0 ;
  261. rxt.'Rghe' = 4157.0 ;
  262.  
  263. rxt.'FROG'=1. ;
  264. rxt.'FROC'=0.2 ;
  265.  
  266. rxt.'alfg'=0.5 ;
  267. rxt.'alfc'=0.5 ;
  268.  
  269. 'SI' COMPLET ;
  270. rxt.'GRAPH'= vrai ;
  271. enceinte 10 rxt ;
  272. visu rxt ;
  273. 'SINON' ;
  274. enceinte 3 rxt ;
  275. un = (rxt.tic.'UN') ;
  276. vmax=maxi un ;
  277. vmin=mini un ;
  278. mess ' Vmax = ' vmax 'Vmin = ' vmin ;
  279. er = (abs (vmax - .70325) ) + (abs (vmin + 4.05197E-02)) ;
  280. mess ' Ecart sur Min Max ' er ;
  281. err1= 5.e-5 ;
  282. si ( er > err1 ) ; erreur 5 ; finsi ;
  283.  
  284. 'FINSI' ;
  285. 'FIN' ;
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  

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