Télécharger ns_ouvert.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : ns_ouvert.dgibi
  2. 'OPTI' 'DIME' 3 'ELEM' 'QUA4' ;
  3.  
  4. *** CAS-test permettant de vérifier la conservation des
  5. *** débits volumiques dans le cas d'un ouvert
  6. *** Date de création : Juillet 2007 (A. Bleyer)
  7. *** correction du bug dans normno.eso
  8.  
  9. 'DEBP' EXECPDA PDA*'TABLE' NBIT*'ENTIER' ;
  10.  
  11. 'SI' ('NON' ('EXIST' PDA 'TIC')) ;
  12. PDA.'TIC' = 'TABLE' 'INCO' ;
  13. PDA.'TIC'.'LTPS' = 'PROG' 0.0 ;
  14. PDA.'TIC'.'NUPAT' = 0 ;
  15. PDA.'TIC'.'NU' = 1.8E-5 ;
  16. PDA.'TIC'.'Uin' = 'PROG' 0.0 ;
  17. 'FINSI' ;
  18.  
  19. *** decentrement des inconnues
  20. KSUPG = 'SUPG' ;
  21. PDA.'KSUPG' = KSUPG ;
  22. *** discretisation de la pression
  23. KPRES = 'MSOMMET' ;
  24. 'SI' ('EXIST' PDA 'KPRES') ;
  25. KPRES = PDA.'KPRES' ;
  26. 'FINSI' ;
  27. PDA.'KPRES' = KPRES ;
  28. *** discretisation de la vitesse ou des champs transportés
  29. DISCR = 'LINE' ;
  30. 'SI' ('EXIST' PDA 'DISCR') ;
  31. DISCR = PDA.'DISCR' ;
  32. 'FINSI' ;
  33. PDA.'DISCR' = DISCR ;
  34. *** freqence de re-preconditionnement
  35. 'SI' ('NON' ('EXIST' PDA 'FRPREC')) ;
  36. PDA.'FRPREC' = 10 ;
  37. 'FINSI' ;
  38. *** fonction de paroi + conditions de glissement
  39. FPAROI = FAUX ;
  40. 'SI' ('EXIST' PDA 'FPAROI') ;
  41. FPAROI = PDA.'FPAROI' ;
  42. 'FINSI' ;
  43. PDA.'YP' = 1.E-2 ;
  44.  
  45.  
  46. *----------------------------------------------------------------------*
  47. * Remplissage de la table GEO *
  48. *----------------------------------------------------------------------*
  49. 'SI' ('NON' ('EXIST' PDA 'GEO')) ;
  50. GEO = 'TABLE' ;
  51.  
  52. 'SI' ('NON' ('EXIST' PDA 'EPSI')) ;
  53. PDA.'EPSI' = 1.E-5 ;
  54. 'FINSI' ;
  55.  
  56. M_VTF = 'CHAN' PDA.'VTF' 'QUAF' ;
  57. M_INLET = 'CHAN' PDA.'INLET' 'QUAF' ;
  58. M_OUTLET = 'CHAN' PDA.'OUTLET' 'QUAF' ;
  59. 'ELIM' (M_VTF 'ET' M_INLET 'ET' M_OUTLET) PDA.'EPSI' ;
  60.  
  61. $VTF = 'MODE' M_VTF 'NAVIER_STOKES' DISCR ;
  62. VTotal = 'SOMT' ('DOMA' $VTF 'VOLUME') ;
  63. GEO.'M_ENVF' = 'DOMA' $VTF 'ENVELOPP' ;
  64.  
  65. 'ELIM' (GEO.'M_ENVF' 'ET' M_INLET 'ET' M_OUTLET) PDA.'EPSI' ;
  66. GEO.'$ENVF' = 'MODE' (GEO.'M_ENVF') 'NAVIER_STOKES' DISCR ;
  67. GEO.'ENVF' = 'DOMA' (GEO.'$ENVF') 'MAILLAGE' ;
  68.  
  69. M_INLET = 'INTE' GEO.'M_ENVF' M_INLET ;
  70. M_OUTLET = 'INTE' GEO.'M_ENVF' M_OUTLET ;
  71.  
  72. $INLET = 'MODE' M_INLET 'NAVIER_STOKES' DISCR ;
  73. $OUTLET = 'MODE' M_OUTLET 'NAVIER_STOKES' DISCR ;
  74.  
  75. M_PEAUI = 'DIFF' GEO.'M_ENVF' (M_INLET 'ET' M_OUTLET) ;
  76. $PEAUI = 'MODE' M_PEAUI 'NAVIER_STOKES' DISCR ;
  77.  
  78. GEO.'VTF' = 'DOMA' $VTF 'MAILLAGE' ;
  79. GEO.'INLET' = 'DOMA' $INLET 'MAILLAGE' ;
  80. GEO.'OUTLET' = 'DOMA' $OUTLET 'MAILLAGE' ;
  81.  
  82. GEO.'$VTF' = $VTF ;
  83. GEO.'$INLET' = $INLET ;
  84. GEO.'$OUTLET' = $OUTLET ;
  85.  
  86. GEO.'M_VTF' = M_VTF ;
  87. GEO.'M_INLET' = M_INLET ;
  88. GEO.'M_OUTLET' = M_OUTLET ;
  89.  
  90. GEO.'SINLET' = 'MAXI' ('RESU' ('DOMA' $INLET 'XXDIAGSI')) ;
  91. GEO.'SOUTLET' = 'MAXI' ('RESU' ('DOMA' $OUTLET 'XXDIAGSI')) ;
  92.  
  93. 'SI' ('EGA' ('VALE' 'DIME') 2) ;
  94. GEO.'P0' = 0.0 0.0 ;
  95. IN1 = 'CHAN' GEO.'INLET' 'POI1' ;
  96. IN2 = 'POINT' IN1 'INITIAL' ;
  97. IN3 = 'POINT' IN1 'FINAL' ;
  98. GEO.'IN_C' = IN2 'ET' IN3 ;
  99. IO1 = 'CHAN' GEO.'OUTLET' 'POI1' ;
  100. IO2 = 'POINT' IO1 'INITIAL' ;
  101. IO3 = 'POINT' IO1 'FINAL' ;
  102. GEO.'OUT_C' = IO2 'ET' IO3 ;
  103. 'SINON' ;
  104. GEO.'P0' = 0.0 0.0 0.0 ;
  105. * entree
  106. GEO.'M_IN_C' = 'DOMA' (GEO.'$INLET') 'ENVELOPPE' ;
  107. GEO.'$IN_C' = 'MODE' (GEO.'M_IN_C') 'NAVIER_STOKES' DISCR ;
  108. GEO.'IN_C' = 'DOMA' (GEO.'$IN_C') 'MAILLAGE' ;
  109. * sortie
  110. GEO.'M_OUT_C' = 'DOMA' (GEO.'$OUTLET') 'ENVELOPPE' ;
  111. GEO.'$OUT_C' = 'MODE' (GEO.'M_OUT_C') 'NAVIER_STOKES' DISCR ;
  112. GEO.'OUT_C' = 'DOMA' (GEO.'$OUT_C') 'MAILLAGE' ;
  113. 'FINSI' ;
  114.  
  115. GEO.'IN_I' = 'DIFF' ('CHAN' (GEO.'INLET') 'POI1')
  116. ('CHAN' (GEO.'IN_C') 'POI1') ;
  117.  
  118. GEO.'OUT_I' = 'DIFF' ('CHAN' (GEO.'OUTLET') 'POI1')
  119. ('CHAN' (GEO.'OUT_C') 'POI1') ;
  120.  
  121. GEO.'M_PEAUI' = M_PEAUI ;
  122. GEO.'$PEAUI' = $PEAUI ;
  123. GEO.'PEAUI' = 'DOMA' $PEAUI 'MAILLAGE' ;
  124.  
  125. 'DOMA' (GEO.'$VTF') 'IMPR' ;
  126.  
  127. * CALCUL DES FACTEURS GEOMETRIQUES POUR L'ENTREE ET LA SORTIE
  128. diru1=(PDA.'Dir_in')/('NORM' PDA.'Dir_in') ;
  129. 'SI' ('EGA' ('VALE' 'DIME') 2) ;
  130. gjc = 'MANU' 'CHPO' (GEO.'IN_C') 2 'UX' 0.0 'UY' 0.0 ;
  131. 'SINON' ;
  132. gjc = 'KCHT' (GEO.'$IN_C') 'VECT' 'SOMMET' GEO.'P0' ;
  133. 'FINSI' ;
  134. gjx = 'KCHT' (GEO.'$INLET') 'VECT' 'SOMMET' diru1 gjc ;
  135. unvf0 = 'KCHT' (GEO.'$ENVF') 'VECT' 'SOMMET' gjx ;
  136. src = 'DBIT' unvf0 GEO.'$ENVF' ;
  137. GEO.'IN_FG' = 'ABS' (GEO.'SINLET' '*' (src**(-1.0))) ;
  138.  
  139. diru1=(PDA.'Dir_out')/('NORM' PDA.'Dir_out') ;
  140. 'SI' ('EGA' ('VALE' 'DIME') 2) ;
  141. gjc = 'MANU' 'CHPO' (GEO.'OUT_C') 2 'UX' 0.0 'UY' 0.0 ;
  142. 'SINON' ;
  143. gjc = 'KCHT' (GEO.'$OUT_C') 'VECT' 'SOMMET' GEO.'P0' ;
  144. 'FINSI' ;
  145. gjx = 'KCHT' (GEO.'$OUTLET') 'VECT' 'SOMMET' diru1 gjc ;
  146. unvf0 = 'KCHT' (GEO.'$ENVF') 'VECT' 'SOMMET' gjx ;
  147. src = 'DBIT' unvf0 GEO.'$ENVF' ;
  148. GEO.'OUT_FG' = 'ABS' (GEO.'SOUTLET' '*' (src**(-1.0))) ;
  149.  
  150. PDA.'GEO' = GEO ;
  151. 'FINSI' ;
  152.  
  153. GEO = PDA.'GEO' ;
  154. $PEAUI = GEO.'$PEAUI' ;
  155.  
  156. *----------------------------------------------------------------------*
  157. * Definition des équations *
  158. *----------------------------------------------------------------------*
  159. 'SI' ('NON' ('EXIST' PDA 'RV')) ;
  160.  
  161. *---------> definition QDM <--------------------*
  162. * gravité dirigée suivant -z.
  163.  
  164. RV = 'EQEX' 'OMEGA' 1. 'NITER' 1 'ITMA' 1
  165. 'OPTI' 'EF' 'IMPL' KSUPG KPRES 'NODIV'
  166. 'ZONE' (GEO.'$VTF') 'OPER' 'KONV' 1.0 'UN' 0.0 'INCO' 'UN'
  167. 'OPTI' 'EF' 'IMPL' KSUPG KPRES 'NODIV'
  168. 'ZONE' (GEO.'$VTF') 'OPER' 'LAPN' 'NUEFF' 'INCO' 'UN' ;
  169.  
  170. RV = 'EQEX' RV
  171. 'OPTI' 'EFM1' 'IMPL' 'CENTREE'
  172. 'ZONE' (GEO.'$VTF') 'OPER' 'DFDT' 1.0 'UNM' 'DT' 'INCO' 'UN' ;
  173.  
  174. 'SI' FPAROI ;
  175. RV = 'EQEX' RV
  176. 'OPTI' 'EF' 'IMPL' KSUPG KPRES 'NODIV'
  177. 'ZONE' $PEAUI 'OPER' 'FPU' 1.0 'UN' 'NU' 'UET' 'YP' 'INCO' 'UN' ;
  178. 'SINON' ;
  179. RV = 'EQEX' RV 'CLIM'
  180. 'UN' 'UIMP' (GEO.'PEAUI') 0.
  181. 'UN' 'VIMP' (GEO.'PEAUI') 0. ;
  182. 'SI' ('EGA' ('VALE' 'DIME') 3) ;
  183. RV = 'EQEX' RV 'CLIM'
  184. 'UN' 'WIMP' (GEO.'PEAUI') 0. ;
  185. 'FINSI' ;
  186. 'FINSI' ;
  187.  
  188. RV = 'EQEX' RV 'CLIM'
  189. 'UN' 'UIMP' (GEO.'INLET') 0.
  190. 'UN' 'VIMP' (GEO.'INLET') 0. ;
  191.  
  192. 'SI' ('EGA' ('VALE' 'DIME') 3) ;
  193. RV = 'EQEX' RV 'CLIM'
  194. 'UN' 'WIMP' (GEO.'INLET') 0. ;
  195. 'FINSI' ;
  196.  
  197. RV.'METHINV'.TYPINV=3 ;
  198. RV.'METHINV'.IMPINV=0 ;
  199. RV.'METHINV'.NITMAX=300;
  200. RV.'METHINV'.PRECOND=3 ;
  201. RV.'METHINV'.ILUTLFIL=4 ;
  202. RV.'METHINV'.ILUTDTOL=0.;
  203. RV.'METHINV'.RESID =1.e-10;
  204. RV.'METHINV'.'FCPRECT'=1 ;
  205. RV.'METHINV'.'FCPRECI'=1 ;
  206.  
  207.  
  208. RVP = 'EQEX'
  209. 'OPTI' 'EF' KPRES
  210. 'ZONE' (GEO.'$VTF') 'OPER' 'KBBT' (-1.) 20. 'INCO' 'UN' 'PRES' ;
  211.  
  212. RVP = 'EQEX' RVP
  213. 'OPTI' 'EFM1' 'INCOD' KPRES
  214. 'ZONE' (GEO.'$VTF')
  215. 'OPER' 'FIMP' 0.0 'INCO' 'PRES' ;
  216.  
  217. 'SI' FPAROI ;
  218. RVP = 'EQEX' RVP
  219. 'OPTI' 'EF' 'IMPL' KPRES
  220. 'ZONE' $PEAUI
  221. 'OPER' VNIMP (GEO.'$VTF') 0.0 'INCO' 'UN' 'PRES' ;
  222. 'FINSI' ;
  223.  
  224. 'SI' ('EGA' KPRES 'MSOMMET') ;
  225. RVP = 'EQEX' RVP
  226. 'CLIM' 'PRES' 'TIMP' ('DOMA' GEO.'$OUTLET' 'MSOMMET') 0. ;
  227. 'FINSI' ;
  228.  
  229. * TYPINV : type ENTIER
  230. * 1 : résolution directe (Crout)
  231. * 2 : Gradient Conjugué
  232. * 3 : Bi-Gradient Conjugué Stabilisé (BiCGSTAB)
  233. * 4 : BiCGSTAB(2) (expérimental)
  234. * 5 : GMRES(m) : restarted Generalized Minimal Residual
  235. 'SI' ('EGA' DISCR 'MACRO') ;
  236. RVP.'METHINV'.TYPINV=3 ;
  237. 'SINON' ;
  238. RVP.'METHINV'.TYPINV=1 ;
  239. 'FINSI' ;
  240. RVP.'METHINV'.IMPINV=0 ;
  241. RVP.'METHINV'.NITMAX=300;
  242. * PRECOND : type ENTIER
  243. * 0 : pas de préconditionnement
  244. * 1 : préconditionnement par la diagonale
  245. * 2 : préconditionnement D-ILU
  246. * 3 : préconditionnement ILU(0) (Crout)
  247. * 4 : préconditionnement MILU(0) (Crout modifié)
  248. * 5 : préconditionnement ILUT (dual truncation)
  249. * 6 : préconditionnement ILUT2 (une variante du précédent)
  250. RVP.'METHINV'.PRECOND=3 ;
  251. RVP.'METHINV'.ILUTLFIL=10;
  252. RVP.'METHINV'.ILUTDTOL=0.;
  253. RVP.'METHINV'.RESID =1.e-10 ;
  254. RVP.'METHINV'.'FCPRECT'=50000 ;
  255. RVP.'METHINV'.'FCPRECI'=50000 ;
  256.  
  257.  
  258. RV.'PROJ'= RVP ;
  259.  
  260.  
  261. RV.'INCO' = PDA.'TIC' ;
  262. PDA.'RV' = RV ;
  263. ** fin de la definition des equations
  264. 'FINSI' ;
  265.  
  266. *
  267. 'MESS' 'Discrétisation vitesse|pression ' DISCR ' | ' KPRES ;
  268. 'MESS' 'Décentrement utilisé : ' KSUPG ;
  269. *
  270.  
  271. PDA.'TIC'.'DT' = PDA.'DT0' ;
  272. RV = PDA.'RV' ;
  273.  
  274. ** boucle temporelle
  275. 'REPETER' BCLTPS NBIT ;
  276.  
  277. 'SI' (NBIT 'EGA' 0) ;
  278. 'QUITTER' BCLTPS ;
  279. 'FINSI' ;
  280.  
  281. TPS0 = 'EXTR' (PDA.'TIC'.'LTPS') ('DIME' (PDA.'TIC'.'LTPS')) ;
  282. TPS0 = TPS0 + (PDA.'DT0') ;
  283. PDA.'TIC'.'LTPS' = (PDA.'TIC'.'LTPS') 'ET' ('PROG' TPS0) ;
  284. PDA.'TIC'.'NUPAT' = (PDA.'TIC'.'NUPAT') '+' 1 ;
  285. 'MESS' ' Pas de temps ' (PDA.'TIC'.'NUPAT') ' Temps ' TPS0 ;
  286.  
  287. Qint = 'IPOL' TPS0 PDA.'scenario'.'TIME' PDA.'scenario'.'Qinj' ;
  288. Uinj = Qint / PDA.'GEO'.'SINLET' ;
  289. PDA.'TIC'.'Uin' = PDA.'TIC'.'Uin' 'ET' ('PROG' Uinj) ;
  290.  
  291. * chercher Uinj en fonction de Qinj
  292. diru1=(PDA.'Dir_in')/('NORM' PDA.'Dir_in') ;
  293. gclim matxx= 'KOPS' 'MATRIK' ;
  294. gj ='KCHT' (GEO.'$INLET') 'VECT' 'SOMMET' 'COMP'
  295. ('MOTS' '1UN' '2UN' '3UN') (diru1*Uinj) ;
  296. 'SI' ('NON' FPAROI) ;
  297. gj = 'REDU' gj (GEO.'IN_I') ;
  298. 'FINSI' ;
  299. gj ='KCHT' (GEO.'$INLET') 'VECT' 'SOMMET' 'COMP'
  300. ('MOTS' '1UN' '2UN' '3UN') gj ;
  301.  
  302. RV.'CLIM' = (RV.'CLIM' '-' RV.'CLIM') '+' gj ;
  303.  
  304. 'SI' ('NON' ('EXIST' PDA.'TIC' 'UN')) ;
  305. NCOMP = 'MOTS' 'UX' 'UY' ;
  306. 'SI' ('EGA' ('VALE' 'DIME') 3) ;
  307. NCOMP = 'MOTS' 'UX' 'UY' 'UZ' ;
  308. 'FINSI' ;
  309.  
  310. gj2 = 'NOMC' gj ('EXTR' gj 'COMP') NCOMP
  311. 'NATU' 'DISCRET' ;
  312.  
  313. PDA.'TIC'.'UN' = 'KCHT' (GEO.'$VTF')
  314. 'VECT' 'SOMMET' (GEO.'P0') gj2 ;
  315. PDA.'TIC'.'UNM' = 'COPIER' PDA.'TIC'.'UN' ;
  316. PDA.'TIC'.'PRES'= 'KCHT' (GEO.'$VTF')
  317. 'SCAL' (PDA.'KPRES') 0.0;
  318. PDA.'TIC'.'YP' = PDA.'YP' ;
  319. 'FINSI' ;
  320.  
  321. UN = PDA.'TIC'.'UN' ;
  322. P = PRODT UN (PDA.'GEO'.'$VTF') ;
  323. LM =PDA.'PARAM_TURB' ;
  324. PDA.'TIC'.'PRODT'=P;
  325. NUT = (LM*LM*(P**0.5)) ;
  326. *Réalisabilité sur Nut
  327. NU = PDA.'NU' ;
  328. a = 5000.* NU ;
  329. al =0.8 ; ala=al*a ; b=ala*((2.*(1.-al))**(-1.)) ;
  330. ik =masq Nut 'INFERIEUR' ala ;
  331. NUT =(ik*NUT)+((1.-ik)*a*(NUT + b)*(inve (a + NUT + b))) ;
  332. Nutsnu=NUT / NU ;
  333. MESS ' Mini Maxi Nut/Nu ' ('MINI' Nutsnu) ('MAXI' Nutsnu) ;
  334. PDA.'TIC'.'NUEFF' ='KCHT' (PDA.'GEO'.'$VTF') 'SCAL' 'SOMMET'
  335. (NU + NUT) ;
  336.  
  337. *---> re-preconditionnement des systemes toutes les 10 iterations
  338. 'SI' ('MULT' PDA.'TIC'.'NUPAT' PDA.'FRPREC') ;
  339. RV.'calprec' = VRAI ;
  340. 'MESS' '==> On repreconditionne le systeme (QDM)' ;
  341. 'FINSI' ;
  342.  
  343. EXEC RV ;
  344.  
  345. 'FIN' BCLTPS ;
  346.  
  347. 'FINP' ;
  348.  
  349.  
  350.  
  351.  
  352.  
  353. EPSI = 1.E-5 ;
  354.  
  355. Rinj = 0.1 ;
  356. Linj = 0.2 ;
  357. Rpip = 0.3 ;
  358. Lpip = 0.5 ;
  359. Hpip = 4.0 ;
  360. Rcuv = 2.0 ;
  361. Hcuv = 8.0 ;
  362.  
  363. OO = 0.0 0.0 0.0 ;
  364. OX = 1.0 0.0 0.0 ;
  365. OY = 0.0 1.0 0.0 ;
  366. OZ = 0.0 0.0 1.0 ;
  367.  
  368. PX0 = 0.0 0.0 0.0 ;
  369. PX1 = Rinj 0.0 0.0 ;
  370. PX2 = Rcuv 0.0 0.0 ;
  371.  
  372. DX1 = 'DROIT' PX0 PX1 1 ;
  373. DX2 = 'DROIT' PX1 PX2 5 ;
  374. DZ0 = DX1 'MOINS' (Linj * OZ) ;
  375. DZ1 = DX1 ET DX2 ;
  376. DZ2P = 'DROIT' PX0 PX2 ('NBEL' DZ1) ;
  377. DZ2 = DZ2P 'PLUS' ((Hpip - Rpip) * OZ) ;
  378. DZ3 = DZ2P 'PLUS' ((Hpip + Rpip) * OZ) ;
  379. DZ4 = DZ2P 'PLUS' (Hcuv * OZ) ;
  380.  
  381. SZ1 = 'REGL' DZ0 DX1 2 ;
  382. SZ2 = 'REGL' DZ1 DZ2 6 ;
  383. SZ3 = 'REGL' DZ2 DZ3 4 ;
  384. SZ4 = 'REGL' DZ3 DZ4 6 ;
  385. SZ5 = 'DROIT' (Rcuv 0.0 (Hpip - Rpip)) (Rcuv 0.0 (Hpip + Rpip)) 4 ;
  386. Lsort = SZ5 'PLUS' (Lpip * OX) ;
  387. SZ5 = 'REGL' SZ5 Lsort 3 ;
  388.  
  389. SZT = SZ1 ET SZ2 ET SZ3 ET SZ4 ET SZ5 ;
  390. 'ELIM' SZT EPSI ;
  391.  
  392. SS1 SS2 SS3 SS4 = SZ1 SZ2 SZ3 SZ4 'SYME' 'PLAN' OO OZ OY ;
  393. SY0 = SZ1 ET SZ2 ET SZ3 ET SZ4 ET SZ5 ET SS1 ET SS2 ET SS3 ET SS4 ;
  394. 'ELIM' SY0 EPSI ;
  395.  
  396. SY1 = SY0 'PLUS' (Rinj * OY) ;
  397. SY1P = ('DIFF' SY0 (SZ1 ET SS1)) 'PLUS' (Rinj * OY) ;
  398. SY2 = ('DIFF' SY0 (SZ1 ET SS1)) 'PLUS' (Rpip * OY) ;
  399. SY2P = ('DIFF' SY0 (SZ1 ET SS1 ET SZ5)) 'PLUS' (Rpip * OY) ;
  400. SY3 = ('DIFF' SY0 (SZ1 ET SS1 ET SZ5)) 'PLUS' (Rcuv * OY) ;
  401.  
  402. 'OPTI' 'ELEM' 'CUB8' ;
  403.  
  404. VY1 = 'VOLU' SY0 SY1 1 ;
  405. VY2 = 'VOLU' SY1P SY2 1 ;
  406. VY3 = 'VOLU' SY2P SY3 4 ;
  407.  
  408. VV1 VV2 VV3 = VY1 VY2 VY3 'SYME' 'PLAN' OO OX OZ ;
  409.  
  410. VVT = VY1 ET VY2 ET VY3 ET VV1 ET VV2 ET VV3 ;
  411. 'ELIM' VVT EPSI ;
  412.  
  413. S_INLET = ('ENVE' VVT) 'POINT' 'PROC' (0.0 0.0 (-1.0 * Linj)) ;
  414. S_INLET = 'ELEM' ('ENVE' VVT) 'APPUYE' 'LARGEMENT' S_INLET ;
  415. S_INLET = S_INLET 'COUL' 'ROUG' ;
  416.  
  417. S_OUTLET = ('ENVE' VVT) 'POINT' 'PROC' ((Rcuv + Lpip) 0.0 Hpip) ;
  418. S_OUTLET = 'ELEM' ('ENVE' VVT) 'APPUYE' 'LARGEMENT' S_OUTLET ;
  419. S_OUTLET = 'ELEM' ('ENVE' VVT) 'APPUYE' 'LARGEMENT' S_OUTLET ;
  420. S_OUTLET = S_OUTLET 'COUL' 'BLEU' ;
  421.  
  422. PL_TOT = 'INTE' ('ENVE' (VY1 ET VY2 ET VY3))
  423. ('ENVE' (VV1 ET VV2 ET VV3)) ;
  424. *'TRACE' 'CACH' (VVT ET S_INLET ET S_OUTLET) ;
  425.  
  426. *** ------------------------- ***
  427. *** remplissage de la table ***
  428. *** ------------------------- ***
  429. PDA = 'TABLE' ;
  430.  
  431. PDA.'FPAROI' = VRAI ;
  432. PDA.'DISCR'='QUAF' ;
  433. PDA.'KPRES'='CENTREP1' ;
  434. PDA.'GRAPH'=VRAI ;
  435. PDA.'EPSI' =EPSI ;
  436.  
  437. *--> Definition de l'injection
  438. PDA.'scenario' = 'TABLE' ;
  439. PDA.'scenario'.'TIME' = 'PROG' 0.0 1.E4 ;
  440. PDA.'scenario'.'Qinj' = 'PROG' 0.01 0.01 ;
  441.  
  442. *--> Viscosité du mélange
  443. PDA.'NU' = 1.8e-5 ;
  444.  
  445. * utilisé dans le cas glissement + fonctions de paroi
  446. *YP=1.E-2;
  447.  
  448. * definition d'un modele de turbulence
  449. PDA.'PARAM_TURB' = (Rinj / 2.0) ;
  450.  
  451. *--> definition des objets geometriques
  452. * maillage total fluide
  453. PDA.'VTF' = VVT ;
  454. * maillage de l'entrée
  455. PDA.'INLET' = S_INLET ;
  456. * direction de l'injection à l'entrée
  457. PDA.'Dir_in' = OZ ;
  458. * maillage de la sortie
  459. PDA.'OUTLET' = S_OUTLET ;
  460. * direction d'ejection de gaz à la sortie
  461. PDA.'Dir_out' = OX ;
  462.  
  463.  
  464. PDA.'DT0' = 0.05 ;
  465. EXECPDA PDA 1 ;
  466.  
  467. 'OPTI' 'ECHO' 0 ;
  468.  
  469. 'SI' FAUX ;
  470.  
  471. MPL1 = 'CHAN' PL_TOT 'QUAF' ;
  472. 'ELIM' (MPL1 ET PDA.'GEO'.'M_VTF') EPSI ;
  473. $PL1 = 'MODE' MPL1 'NAVIER_STOKES' PDA.'DISCR' ;
  474. PL1 = 'DOMA' $PL1 'MAILLAGE' ;
  475. UX1 = EXCO PDA.'TIC'.'UN' 'UX' ;
  476. UY1 = EXCO PDA.'TIC'.'UN' 'UY' ;
  477. UZ1 = EXCO PDA.'TIC'.'UN' 'UZ' ;
  478. 'MESS' (MAXI UX1) (MAXI UY1) (MAXI UZ1) ;
  479. TRACE UX1 PL1 ;
  480. TRACE UY1 PL1 ;
  481. TRACE UZ1 PL1 ;
  482. UN = PDA.'TIC'.'UN' ;
  483. VN = 'VECT' ('REDU' UN PL1) 1.0 'UX' 'UY' 'UZ' 'ROUG' ;
  484. TRACE VN PL1 ;
  485. NUN = (UN (mots 'UX' 'UY') 'PSCA' UN (mots 'UX' 'UY')) ** 0.5 ;
  486. TRACE NUN PL1 ;
  487.  
  488. 'FINSI' ;
  489.  
  490. UN = PDA.'TIC'.'UN' ;
  491. INLET = PDA.'GEO'.'INLET' ;
  492. $INLET = PDA.'GEO'.'$INLET' ;
  493. OUTLET = PDA.'GEO'.'OUTLET' ;
  494. $OUTLET = PDA.'GEO'.'$OUTLET' ;
  495. Qin = 'DBIT' ('REDU' UN INLET) $INLET ;
  496. Qout = 'DBIT' ('REDU' UN OUTLET) $OUTLET ;
  497. 'MESS' 'Debits E/S : ' Qin Qout ;
  498.  
  499. QStot = Qin + Qout ;
  500.  
  501. ERROR = 0 ;
  502. 'SI' (('ABS' QStot) > 1.E-10) ;
  503. ERROR = ERROR + 1 ;
  504. 'FINSI' ;
  505.  
  506. 'SI' (ERROR > 0) ;
  507. 'MESS' 'Problème de conservation du débit volumique sur l ' ;
  508. 'MESS' 'enveloppe fluide !!' ;
  509. 'ERREUR' 5 ;
  510. 'SINON' ;
  511. 'MESS' 'Tout s est bien passé ' ;
  512. 'FINSI' ;
  513.  
  514. 'FIN' ;
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  

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