Télécharger ray.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : ray.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ***********************************************************************
  6. * CAVITE RECTANGULAIRE - Couplage Convection Naturelle_Rayonnement *
  7. * DEN/DM2S/SFME/LTMF Juillet2002 *
  8. * A.Stietel / G.Forestier *
  9. * (méthode 1: avec calcul de la matride de rayonnement) *
  10. * *
  11. * 01/2006: mise au point d'une nouvelle méthode pour le rayonnement *
  12. * (méthode 2) *
  13. * le flux rayonné est mis sous la forme Phi=emis*sigma*(T**4-Trad**4) *
  14. * - Trad est évalué par l'opérateur RAYE (nouvelle option) *
  15. * en fonction des facteurs de forme, de l'emissivité et de la *
  16. * température à une itération donnée *
  17. * - la linéarisation se fait dans la procédure HRCAVNS *
  18. * - l'opérateur ECHI traite ensuite la condition aux limites *
  19. ***********************************************************************
  20.  
  21. COMPLET = faux ;
  22. SI ( COMPLET ) ;
  23. ni = 300 ; itt = 1. ; ome = 0.3 ;
  24. nn = 12 ;
  25. SINON ;
  26. ni = 30 ; itt = 1. ; ome = 0.3 ;
  27. nn = 6 ;
  28. FINSI ;
  29. GRAPH = faux ;
  30.  
  31.  
  32.  
  33. opti dime 2 elem qua8 ;
  34. opti isov suli ;
  35.  
  36. ******************
  37. * MAILLAGE *
  38. ******************
  39. l = 5.; h = 1.;
  40.  
  41. si ( l >eg h) ;
  42. ny = nn ; nx = ny * l / h ; nx = enti nx ;
  43. sinon ;
  44. nx = nn ; ny = nx * h / l ; ny = enti ny ;
  45. finsi ;
  46.  
  47.  
  48. ii = 3. ;ij = 1. / ii ;
  49.  
  50. d1 = l / nx / 2 * ij ; d2 = l / nx / 2 * ii;
  51. e1 = h / ny / 2 * ij ; e2 = h / ny / 2 * ii ;
  52.  
  53. discr = quaf ;
  54. discr = macro ;
  55.  
  56. epsm = 0.0001 ;
  57.  
  58. p1 = 0. 0. ; p2 = l 0. ; p3 = l h ; p4 = 0 h ;
  59. pb = (l/2) 0. ; ph = (l/2) h ; pd = l (h/2) ; pg = 0 (h/2) ;
  60. pm = (l/2) (h/2) ;
  61.  
  62.  
  63. bas = p1 d dini d1 dfin d2 pb d dini d2 dfin d1 p2 ;
  64. hau = p3 d dini d1 dfin d2 ph d dini d2 dfin d1 p4 ;
  65. gau = p4 d dini e1 dfin e2 pg d dini e2 dfin e1 p1 ;
  66. dro = p2 d dini e1 dfin e2 pd d dini e2 dfin e1 p3 ;
  67. cenv = pb d dini e1 dfin e2 pm d dini e2 dfin e1 ph ;
  68. miv = pg d dini d1 dfin d2 pm d dini d2 dfin d1 pd ;
  69.  
  70. cav = bas et dro et hau et gau ;
  71. dom = dall plan bas dro hau gau ;
  72.  
  73. *trac (cav et miv);
  74.  
  75. domf = chan dom quaf ;
  76. cavf = chan cav quaf ;
  77.  
  78. elim (domf et cavf et cenv et miv ) epsm ;
  79.  
  80. *trac dom ;
  81.  
  82. mdom = mode domf navier_stokes discr ;
  83. mcav = mode cavf navier_stokes discr ;
  84. qav = doma mcav maillage;
  85.  
  86. m_sray = mcav ;
  87.  
  88. ********************
  89. * PARAMETRES *
  90. ********************
  91. t0 = 1000. ; rapt = 0.7 ;
  92. tc = t0 ; tf = t0 * rapt ;
  93. re = 1.43 ;
  94. pr = 0.7 ;
  95. gr = 1.e5 ;
  96. ttm = tc + tf * 0.5 ;
  97. tm = 0.5 ;
  98. gb = 0. (-1.*gr /re/re) ;
  99. nu = 1./re ;
  100. pe = re * pr ;
  101. nrf = 3. ;
  102. sig = 5.67e-8 ;
  103. kko = pe * sig * t0 *t0 *t0 /nrf ;
  104. kla = sig * t0 *t0 *t0 /nrf ;
  105. *mess 'kko ' kko ' kla ' kla ;
  106.  
  107.  
  108. ****************************
  109. * DONNEES NUMERIQUES *
  110. ****************************
  111.  
  112. * création d'une table pour le rayonnement en cavité
  113.  
  114. mrm = mode qav thermique rayonnement cavite;
  115. marm = mate mrm emis 1. ;
  116.  
  117. tabra = table ;
  118.  
  119. tabra . ma_rai = qav ;
  120. tabra . mm_rai = mrm ;
  121.  
  122. tabra . mm_ns = m_sray;
  123.  
  124. tabra . mt_rai = marm ;
  125.  
  126. * calcul des facteurs de forme
  127. tabra . mf_rai = ffor mrm marm ;
  128.  
  129. * calcul de la matrice de rayonnement
  130. * cette étape n'est nécessaire que pour la méthode 1
  131. tabra . mr_rai = raye mrm (tabra . mf_rai) marm ;
  132.  
  133.  
  134.  
  135. *********************
  136. * CONVERGENCE *
  137. *********************
  138. debproc calcul ;
  139.  
  140. argu rvx*table ;
  141. rt = rvx . eqex ;
  142.  
  143. jt = dime (rt . inco . it ) ;
  144. jt = jt + 1 ;
  145.  
  146. unn = rt . inco . un ;
  147. un1 = rt . inco . u1 ;
  148.  
  149. tnn = rt . inco . tn ;
  150. tn1 = rt . inco . t1 ;
  151.  
  152. mdo = rt . 1calcul . domz ;
  153. mma = doma mdo maillage ;
  154.  
  155. unx = kcht mdo scal sommet (exco ux unn) ;
  156. uny = kcht mdo scal sommet (exco uy unn) ;
  157. u1x = kcht mdo scal sommet (exco ux un1) ;
  158. u1y = kcht mdo scal sommet (exco uy un1) ;
  159.  
  160. rt . inco . u1 = kcht mdo vect sommet unn ;
  161. rt . inco . t1 = kcht mdo scal sommet tnn ;
  162.  
  163. rt . inco . tet = kcht mdo scal sommet ((tnn - tf)/(tc - tf)) ;
  164.  
  165.  
  166. erux = kops unx - u1x ;
  167. elix = maxi erux abs ;
  168. elix = (log(elix + 1.e-10))/( log 10.) ;
  169. eruy = kops uny - u1y ;
  170. eliy = maxi eruy abs ;
  171. eliy = (log(eliy + 1.e-10))/( log 10.) ;
  172. ertt = kops tnn - tn1 ;
  173. elit = maxi ertt abs ;
  174. elit = (log(elit + 1.e-10))/( log 10.) ;
  175.  
  176. err = maxi (prog elix eliy) ;
  177. mess 'err' elix eliy elit jt ;
  178.  
  179. rt . inco . it = (rt . inco . it) et (prog jt) ;
  180. rt . inco . erx= (rt . inco . erx) et (prog elix);
  181. rt . inco . ery= (rt . inco . ery) et (prog eliy);
  182. rt . inco . ert= (rt . inco . ert) et (prog elit);
  183.  
  184. as af = kops matrik ;
  185. finproc as af ;
  186.  
  187. *-------------------------------------------------------------
  188.  
  189. 'DEBPROC' HRCAVNS;
  190. *---------------------------PROCEDURE RAYONNEMENT--------------------------*
  191.  
  192. ****************************************************************************
  193. * Procédure permettant de prendre en compte le rayonnement dans *
  194. * les operateurs eqex et exec (couplage convection-rayonnement) *
  195. * dans l'environnement du modèle Navier-Stokes *
  196. * Calcule le champ de température Trad et le coefficient d'echange Hrad *
  197. * correspondant à une linéarisation du rayonnement dans une cavité *
  198. * qui sont utlisés par l'opérateur ECHI s'appuyant sur la cavité *
  199. * *
  200. * (issu de la procédure RAY) *
  201. ****************************************************************************
  202.  
  203. **** création d'une table ****
  204.  
  205. 'ARGU' rvx * 'TABLE' ;
  206. rv = rvx . 'EQEX' ;
  207.  
  208. **** récuperation du champ par points des températures ****
  209.  
  210. line =rvx.'LISTINCO';
  211. noinco = 'EXTR' line 1 ;
  212. t = rv.'INCO'.noinco;
  213. tray = rvx . 'ARG1';
  214.  
  215. **** traitements ****
  216.  
  217. *maillage rayonnement*
  218. cavi = tray . 'MA_RAI';
  219.  
  220. *modele rayonnement*
  221. mrt = tray . 'MM_RAI' ;
  222.  
  223. *modele navier-stokes*
  224. m_ns = tray . 'MM_NS' ;
  225.  
  226. *emissivite
  227. emis = tray . 'MT_RAI' ;
  228.  
  229. *facteurs de forme
  230. ff = tray . 'MF_RAI' ;
  231.  
  232. mrn = rvx . 'DOMZ' ;
  233.  
  234. * mess ' ';
  235.  
  236. t_cavi = 'REDU' t cavi ;
  237. * mess ' t_cavi ' (mini t_cavi) (maxi t_cavi);
  238.  
  239. tc = 'EXCO' t_cavi scal 'T';
  240.  
  241. tre = 'CHAN' 'CHAM' tc mrt 'GRAVITE';
  242. * opti impi -1;
  243. * trad = 'RAYE' mrt ff emis tre 1e-8;
  244. trad = 'RAYE' mrt ff emis tre ;
  245. * opti impi 0;
  246. mess ' TRAD: ' (mini trad) (maxi trad);
  247.  
  248. *
  249. * transformation des CHAMELEM en scal centre pour C_fluide
  250. * 1/ temperature resultat de RAYE
  251. *
  252. trad = 'NOMC' trad 'SCAL';
  253. trad_n = 'CHAN' 'CHPO' mrt trad ;
  254. rv . inco . 'TRAD' = 'KCHT' m_ns scal sommet trad_n;
  255. trad = 'NOEL' m_ns (rv . inco . 'TRAD');
  256.  
  257. * 2/ émissivité
  258.  
  259. em_1 = 'NOMC' emis 'SCAL';
  260. em_n = 'CHAN' 'CHPO' mrt em_1 ;
  261.  
  262. em_s = 'NOEL' m_ns em_n;
  263.  
  264. te_cavi = 'NOEL' m_ns t_cavi;
  265. *
  266. * calcul du coefficient d'echange linéarisé
  267. *
  268. sig = 5.67e-8;
  269. te2 = te_cavi * te_cavi;
  270. trad2 = trad*trad;
  271.  
  272. hrad = em_s * sig * (te2 + trad2) * (te_cavi + trad);
  273. mess ' HRAD: ' (mini hrad) (maxi hrad);
  274.  
  275. rv . inco . 'HRAD' = 'KCHT' m_ns scal centre hrad;
  276.  
  277. as af = 'KOPS' 'MATRIK' ;
  278.  
  279. 'FINP' as af ;
  280.  
  281.  
  282. *---------------------FIN PROCEDURE RAYONNEMENT--------------------------*
  283.  
  284.  
  285. *-------------------------------------------------------------
  286. pip = elem (doma mdom centrep1) (lect 1) ;
  287.  
  288.  
  289. xx = coor 1 dom ;
  290.  
  291.  
  292.  
  293.  
  294.  
  295. **************************
  296. * SCHEMA IMPLICITE *
  297. **************************
  298.  
  299. * méthode 1
  300. * ---------
  301.  
  302. *-------------------------------------------------------------
  303. rw = eqex mdom niter ni omega ome zone mdom oper calcul opti ef impl centrep1 zone mdom oper kbbt 1. inco un pn zone mdom oper ns 1. 'UN' nu gb tet tm inco un zone mdom oper konv kko un 1. inco tn zone mdom oper lapn kla inco tn ;
  304. rw = eqex rw opti ef impl centree zone m_sray oper ray tabra inco tn ;
  305. rw = eqex rw clim un uimp cav 0. un vimp cav 0. tn timp gau tc tn timp dro tf pn timp pip 0. ;
  306.  
  307. rw . inco = table inco ;
  308. rw . inco . tabray = tabra ;
  309.  
  310. rw . inco . un = kcht mdom vect sommet (0. 0.) ;
  311. rw . inco . u1 = kcht mdom vect sommet (0. 0.) ;
  312. rw . inco . tn = kcht mdom scal sommet (tf - tc * xx / l + tc ) ;
  313. rw . inco . t1 = kcht mdom scal sommet (tf - tc * xx / 1 + tc ) ;
  314. rw . inco . pn = kcht mdom scal centrep1 0. ;
  315. rw . inco . dt = dtt ;
  316.  
  317. rw . inco . it = prog ;
  318. rw . inco . erx = prog ;
  319. rw . inco . ery = prog ;
  320. rw . inco . ert = prog ;
  321.  
  322. *-------------------------------------------------------------
  323.  
  324. * méthode 2
  325. * ---------
  326.  
  327. rw2= eqex mdom niter ni omega ome zone mdom oper calcul opti ef impl centrep1 zone mdom oper kbbt 1. inco un pn zone mdom oper ns 1. 'UN' nu gb tet tm inco un zone mdom oper konv kko un 1. inco tn zone mdom oper lapn kla inco tn ;
  328. rw2 = eqex rw2 opti ef impl centree zone m_sray oper hrcavns tabra inco tn zone m_sray oper echi 'HRAD' 'TRAD' inco tn ;
  329. rw2 = eqex rw2 clim un uimp cav 0. un vimp cav 0. tn timp gau tc tn timp dro tf pn timp pip 0. ;
  330.  
  331. rw2 . inco = table inco ;
  332. rw2 . inco . tabray = tabra ;
  333.  
  334. rw2 . inco . un = kcht mdom vect sommet (0. 0.) ;
  335. rw2 . inco . u1 = kcht mdom vect sommet (0. 0.) ;
  336. rw2 . inco . tn = kcht mdom scal sommet (tf - tc * xx / l + tc ) ;
  337. rw2 . inco . t1 = kcht mdom scal sommet (tf - tc * xx / 1 + tc ) ;
  338. rw2 . inco . pn = kcht mdom scal centrep1 0. ;
  339. rw2 . inco . dt = dtt ;
  340.  
  341. rw2 . inco . it = prog ;
  342. rw2 . inco . erx = prog ;
  343. rw2 . inco . ery = prog ;
  344. rw2 . inco . ert = prog ;
  345. *-------------------------------------------------------------
  346.  
  347. *******************
  348. * EXECUTION *
  349. *******************
  350. * titr 'impl macro' ;
  351.  
  352. exec rw ;
  353.  
  354. exec rw2;
  355.  
  356.  
  357. ***************
  358. * TESTS *
  359. ***************
  360.  
  361. * valeurs de référence pour le calcul non-complet
  362.  
  363. Lref = prog 7.0000E+2 7.1468E+2 7.2605E+2 7.3691E+2 7.4622E+2 7.5505E+2 7.6300E+2 7.7055E+2 7.7677E+2 7.8233E+2 7.8694E+2 7.9101E+2 7.9430E+2 7.9721E+2 7.9945E+2 8.0133E+2 8.0291E+2 8.0452E+2 8.0590E+2 8.0730E+2 8.0860E+2 8.0994E+2 8.1144E+2 8.1316E+2 8.1474E+2 8.1636E+2 8.1798E+2 8.1977E+2 8.2156E+2 8.2345E+2 8.2524E+2 8.2727E+2 8.2918E+2 8.3129E+2 8.3340E+2 8.3553E+2 8.3775E+2 8.4006E+2 8.4233E+2 8.4489E+2 ;
  364.  
  365. * méthode 1
  366. * ---------
  367. tt = rw . inco . tn ;
  368. Ttest = evol chpo hau tt;
  369. Ttest = extr Ttest ordo ;
  370. Ttest = extr Ttest (lect 1 pas 1 40);
  371. list Ttest;
  372. *opti sauv 'FORMAT' 'resu' ;
  373. *sauv 'FORMAT' Ttest;
  374.  
  375.  
  376. ERt=SOMM( abs ( Lref - Ttest)) ;
  377. ERm=maxi( abs ( Lref - Ttest)) ;
  378. mess ' méthode 1- Ecart sur profil de température ' ert erm;
  379.  
  380. * méthode 2
  381. * ---------
  382. tt = rw2. inco . tn ;
  383. Ttest = evol chpo hau tt;
  384. Ttest = extr Ttest ordo ;
  385. Ttest = extr Ttest (lect 1 pas 1 40);
  386. list Ttest;
  387. *opti sauv 'FORMAT' 'resu' ;
  388. *sauv 'FORMAT' Ttest;
  389.  
  390.  
  391. ERt2=SOMM( abs ( Lref - Ttest)) ;
  392. ERm2=maxi( abs ( Lref - Ttest)) ;
  393. mess ' méthode 2 - Ecart sur profil de température ' ert2 erm2;
  394.  
  395. SI ((ERm < 0.1) et (ERm2 < 0.7));
  396. ERREUR 0 ;
  397. SINON;
  398. ERREUR 5 ;
  399. FINSI;
  400.  
  401. ****************************************
  402. * PROCEDURE (TRACEE DES COURBES) *
  403. ****************************************
  404. si graph ;
  405.  
  406. schema= 'conv-rayo';
  407.  
  408. evx = evol bleu manu (rw . inco . it) (rw . inco . erx) ;
  409. evy = evol vert manu (rw . inco . it) (rw . inco . ery) ;
  410. evt = evol roug manu (rw . inco . it) (rw . inco . ery) ;
  411. titr 'Test de convergence, ' schema;
  412. dess (evx et evy et evt) ;
  413.  
  414. tt = rw . inco . tn ;
  415. tr = ( tt - tf ) / ( tc - tf ) ;
  416. titr 'Isothermes, ' schema;
  417. trac 50 tr dom cav ;
  418.  
  419.  
  420. vn = rw . inco . un ;
  421. titr 'Vitesses, ' schema;
  422. vv = vect vn (1.e2/gr)ux uy roug ;
  423. titr 'Vitesses, ' schema;
  424. trac vv dom cav ;
  425.  
  426. evx= EXCO vn ux;
  427. evy= EXCO vn uy;
  428. evux = evol rouge chpo evx cenv ;
  429. evuy = evol bleu chpo evy cenv ;
  430. titr 'Vitesses sur axe médian des y,'schema;
  431. dess (evux et evuy);
  432.  
  433. evux = evol rouge chpo evx miv ;
  434. evuy = evol bleu chpo evy miv ;
  435. titr 'Vitesses sur axe médian des x,'schema;
  436. dess (evux et evuy);
  437.  
  438. grat = kops tt grad mdom ;
  439. gratx = kcht mdom scal centre (exco ux grat) ;
  440. gratx = elno mdom gratx ;
  441. gratx = -1. * gratx ;
  442. gratxd = redu dro gratx ;
  443. evd = evol chpo gratxd scal dro ;
  444. gratxg = redu gau gratx ;
  445. evg = evol chpo gratxg scal gau ;
  446. titr ' gradient de température laterale, ' schema;
  447. dess (evd et evg) ;
  448.  
  449. tb = redu bas tt ;
  450. tb = redu bas tr ;
  451. etb = evol vert chpo tb scal bas ;
  452. ho = inve hau ;
  453. th = redu ho tt ;
  454. th = redu ho tr ;
  455. eth = evol rouge chpo th scal ho ;
  456. titr 'Evolution température sur parois supérieure et inférieure,'schema;
  457. dess (etb et eth) ;
  458.  
  459.  
  460.  
  461. vv = rw . inco . un ;
  462. sw = kops vn rot mdom ;
  463.  
  464. rk = eqex mdom opti ef impl zone mdom oper lapn 1. inco psi zone mdom oper fimp sw inco psi clim psi timp cav 0. ;
  465.  
  466. rk . inco . psi = kcht mdom scal sommet 0. ;
  467.  
  468. exec rk ;
  469.  
  470. trac (rk . inco . psi) dom cav 14 ;
  471.  
  472. finsi;
  473.  
  474.  
  475. **********************************
  476. * SAUVEGARDE DES RESULTATS *
  477. **********************************
  478. *opti sauv '/test4/ttmf4/rectangulaire/implrayo_proc.sav' ;
  479. *sauv ;
  480.  
  481.  
  482. fin ;
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  

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