Télécharger cav_ray_proj.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : cav_ray_proj.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *----------------------------------------------
  6. * Couplage Rayonnement/Convection/Conduction
  7. *
  8. * Test d'un cavité rayonnante en 2D plan
  9. * Le mélange gazeux est transparent
  10. * Rayleigh = 1e6
  11. * Résolution par la méthode de Projection
  12. * On introduit une paroi pour le rayonnement
  13. * afin de récupérer une constante de temps car
  14. * l'algorithme de projection est un algorithme
  15. * transitoire (DFDT)
  16. * Auteur : E. Studer - Mars 2002
  17. * Référence : 'Numerical Analysis of Natural convection
  18. * with surface radiation in a square enclosure'
  19. * M. Akiyama and Q.P. Chong
  20. * Numerical Heat Transfer 31:419-433,1997
  21. *----------------------------------------------
  22.  
  23.  
  24.  
  25. *----------------------------------------------
  26. * Declarations générales
  27. *----------------------------------------------
  28. 'OPTI' 'DIME' 2 'ELEM' 'QUA8' ;
  29. 'OPTI' 'TRAC' 'PSC' ;
  30.  
  31. COMPLET = FAUX ;
  32. GRAPH = FAUX ;
  33.  
  34. ****************
  35. * PARAMETRES : *
  36. ****************
  37.  
  38. * nombre d'itérations internes
  39. iter = 1 ;
  40. omeg = 1.0 ;
  41.  
  42. * nombre d'itérations en temps
  43.  
  44. 'SI' COMPLET ;
  45. itma = 400 ;
  46. d1 = 0.01 ;
  47. d2 = 0.05 ;
  48. * elements en vitesse
  49. DISCR = 'QUAF' ;
  50. 'SINON' ;
  51. itma = 20 ;
  52. d1 = 0.01 ;
  53. d2 = 0.1 ;
  54. * elements en vitesse
  55. DISCR = 'LINE' ;
  56. 'FINSI' ;
  57.  
  58. * pas de temps
  59. DT = 1.0 ;
  60.  
  61. * option de décentrement
  62. * KSUPG = 'CENTREE' ;
  63. KSUPG = 'SUPG' ;
  64.  
  65. * support de la pression
  66. KPRES = 'MSOMMET' ;
  67. * KPRES = 'CENTRE' ;
  68. * KPRES = 'CENTREP1' ;
  69.  
  70.  
  71. * choix de la méthode de résolution IMPLICITE ou PROJECTION
  72. * RESOL = MOT IMPLICITE ;
  73. RESOL = MOT PROJECTION ;
  74.  
  75. * prise en compte du rayonnement
  76. PRAYO = VRAI ;
  77. * PRAYO = FAUX ;
  78.  
  79. * Ajout d'une paroi pour conduction et stabilisation
  80. PPAROI = VRAI ;
  81. * PPAROI = FAUX ;
  82.  
  83. * Parametres du maillage:
  84.  
  85. * Dimension de la cavité
  86. L = 1 ;
  87.  
  88. * Parametres physiques:
  89. * EPSI = écart de température pour paroi chaude/froide
  90. EPSI = 0.017 ;
  91.  
  92. * Température de référence
  93. T0 = 293.5 ;
  94.  
  95. * T1 = Température chaude
  96. * T2 = Température froide
  97. T1 = T0 '*' (1.0 '+' EPSI) ;
  98. T2 = T0 '*' (1.0 '-' EPSI) ;
  99.  
  100. *
  101. beta = 1.0 '/' T0 ;
  102. gbeta = -9.81 '*' beta ;
  103. gb = 0. gbeta ;
  104.  
  105. V0 = ( 'ABS' ( (gbeta '*' (T1 '-' T2)) '*' L ) ) '**' 0.5 ;
  106. Pr = 0.71 ;
  107. Ra = 1.E6 ;
  108. GR = Ra '/' Pr ;
  109. Nu = V0 '*' L '/'(Gr '**' 0.5) ;
  110. alpha = Nu '/' Pr ;
  111. * conductivité de la paroi
  112. alphap = 1000.0 ;
  113.  
  114. uref = 1 ;
  115.  
  116. * Rayonnement: emissivité des surfaces
  117.  
  118. 'SI' (PRAYO) ;
  119. e_sud = 0.5 ;
  120. e_nord = 0.5 ;
  121. e_est = 0.5 ;
  122. e_ouest = 0.5 ;
  123. 'FINSI' ;
  124.  
  125.  
  126.  
  127. **************
  128. * MAILLAGE : *
  129. **************
  130.  
  131. p0 = 0. 0. ;
  132. p1 = 0.5 0. ;
  133. p2 = 1. 0. ;
  134. p3 = 1. 0.5 ;
  135. p4 = 1. 1. ;
  136. p5 = 0.5 1. ;
  137. p6 = 0. 1. ;
  138. p7 = 0. 0.5 ;
  139.  
  140. d01 = 'DROI' p0 p1 'DINI' d1 'DFIN' d2 ;
  141. d12 = 'DROI' p1 p2 'DINI' d2 'DFIN' d1 ;
  142. d23 = 'DROI' p2 p3 'DINI' d1 'DFIN' d2 ;
  143. d34 = 'DROI' p3 p4 'DINI' d2 'DFIN' d1 ;
  144. d45 = 'DROI' p4 p5 'DINI' d1 'DFIN' d2 ;
  145. d56 = 'DROI' p5 p6 'DINI' d2 'DFIN' d1 ;
  146. d67 = 'DROI' p6 p7 'DINI' d1 'DFIN' d2 ;
  147. d70 = 'DROI' p7 p0 'DINI' d2 'DFIN' d1 ;
  148.  
  149. sud = d01 'ET' d12 ;
  150. est = d23 'ET' d34 ;
  151. nord = d45 'ET' d56 ;
  152. ouest = d67 'ET' d70 ;
  153.  
  154. parois = (est 'ET' ouest 'ET' nord 'ET' sud) ;
  155.  
  156. 'SI' (PPAROI) ;
  157. * ajout d'une paroi pour mettre de la conduction
  158. mest = est 'TRAN' 1 (0.1 0.0) ;
  159. mest = mest 'COUL' 'BLEU' ;
  160. mouest = ouest 'TRAN' 1 (-0.1 0.0) ;
  161. mouest = mouest 'COUL' 'ROUGE' ;
  162. pest = 'COTE' 3 mest ;
  163. pouest = 'COTE' 3 mouest ;
  164. msud = sud 'TRAN' 1 (0.0 -0.1) ;
  165. msud = msud 'COUL' 'BLEU' ;
  166. mnord = nord 'TRAN' 1 (0. 0.1) ;
  167. mnord = mnord 'COUL' 'ROUGE' ;
  168. 'SI' (PRAYO) ;
  169. mparoi = mest 'ET' mouest 'ET' mnord 'ET' msud ;
  170. 'SINON' ;
  171. mparoi = mest 'ET' mouest ;
  172. 'FINSI' ;
  173. 'FINSI' ;
  174.  
  175. * Maillage du carre fluide
  176. carre = sud est nord ouest 'DALLER' ;
  177.  
  178. * Maillage total
  179. 'SI' (PPAROI) ;
  180. mt = carre 'ET' mparoi ;
  181. 'SINON' ;
  182. mt = carre ;
  183. 'FINSI' ;
  184.  
  185. * Tracé des maillages
  186. 'SI' GRAPH ;
  187. 'TRAC' carre 'TITR' 'MAILLAGE du Fluide' ;
  188. 'TRAC' mt 'TITR' 'MAILLAGE total Fluide+paroi' ;
  189. 'FINSI' ;
  190.  
  191. **************************
  192. * MODELE NAVIER-STOKES : *
  193. **************************
  194.  
  195. carre = 'CHAN' carre 'QUAF' ;
  196. mt = 'CHAN' mt 'QUAF' ;
  197.  
  198. 'SI' (PPAROI) ;
  199. mparoi = 'CHAN' mparoi 'QUAF' ;
  200. 'ELIM' (mt 'ET' carre 'ET' mparoi) 0.0001 ;
  201. 'SINON' ;
  202. 'ELIM' (mt 'ET' carre) 0.0001 ;
  203. 'FINSI' ;
  204.  
  205.  
  206. $mt = 'MODE' mt 'NAVIER_STOKES' DISCR ;
  207. $carre = 'MODE' carre 'NAVIER_STOKES' DISCR ;
  208.  
  209. 'SI' (PPAROI) ;
  210. $mparoi = 'MODE' mparoi 'NAVIER_STOKES' DISCR ;
  211. 'FINSI' ;
  212.  
  213. $parois = 'MODE' parois 'NAVIER_STOKES' DISCR ;
  214.  
  215. 'SI' (PPAROI) ;
  216. $pest = 'MODE' pest 'NAVIER_STOKES' DISCR ;
  217. $pouest = 'MODE' pouest 'NAVIER_STOKES' DISCR ;
  218. 'FINSI' ;
  219.  
  220. $sud = 'MODE' sud 'NAVIER_STOKES' DISCR ;
  221. $est = 'MODE' est 'NAVIER_STOKES' DISCR ;
  222. $nord = 'MODE' nord 'NAVIER_STOKES' DISCR ;
  223. $ouest = 'MODE' ouest 'NAVIER_STOKES' DISCR ;
  224.  
  225. mtf = 'DOMA' $mt 'FACE' ;
  226. carref = 'DOMA' $mt 'FACE' ;
  227. parois = 'DOMA' $parois 'CENTRE' ;
  228.  
  229. 'SI' (PPAROI) ;
  230. pest = 'DOMA' $pest 'CENTRE' ;
  231. pouest = 'DOMA' $pouest 'CENTRE' ;
  232. 'FINSI' ;
  233.  
  234. est = 'DOMA' $est 'CENTRE' ;
  235. sud = 'DOMA' $sud 'CENTRE' ;
  236. ouest = 'DOMA' $ouest 'CENTRE' ;
  237. nord = 'DOMA' $nord 'CENTRE' ;
  238.  
  239. 'SI' (PPAROI) ;
  240. 'ELIM' carref (parois 'ET' pest 'ET' pouest
  241. 'ET' est 'ET' sud 'ET' ouest 'ET' nord) 1.D-4 ;
  242. 'ELIM' mtf (parois 'ET' pest 'ET' pouest
  243. 'ET' est 'ET' sud 'ET' ouest 'ET' nord) 1.D-4 ;
  244. 'SINON' ;
  245. 'ELIM' carref (parois 'ET' est 'ET' sud 'ET' ouest 'ET' nord) 1.D-4 ;
  246. 'ELIM' mtf (parois 'ET' est 'ET' sud 'ET' ouest 'ET' nord) 1.D-4 ;
  247. 'FINSI' ;
  248.  
  249. parois = 'DOMA' $parois 'MAILLAGE' ;
  250.  
  251. 'SI' (PPAROI) ;
  252. pest = 'DOMA' $pest 'MAILLAGE' ;
  253. pouest = 'DOMA' $pouest 'MAILLAGE' ;
  254. pest = pest 'COUL' 'BLEU' ;
  255. pouest = pouest 'COUL' 'ROSE' ;
  256. 'FINSI' ;
  257.  
  258. est = 'DOMA' $est 'MAILLAGE' ;
  259. ouest = 'DOMA' $ouest 'MAILLAGE' ;
  260. sud = 'DOMA' $sud 'MAILLAGE' ;
  261. nord = 'DOMA' $nord 'MAILLAGE' ;
  262. mt = 'DOMA' $mt 'MAILLAGE' ;
  263. carre = 'DOMA' $carre 'MAILLAGE' ;
  264.  
  265. mt = mt 'COUL' 'VERT' ;
  266. parois = parois 'COUL' 'ROUGE' ;
  267.  
  268. *
  269. *****************
  270. * MODELISATION : *
  271. ******************
  272. 'SI' (PRAYO) ;
  273. * Création des modèles de rayonnement
  274. mrsud = MODE sud THERMIQUE 'RAYONNEMENT' 'CAVITE' CONS 'CAV1';
  275. mrest = MODE est THERMIQUE 'RAYONNEMENT' 'CAVITE' CONS 'CAV1';
  276. mrnord = MODE nord THERMIQUE 'RAYONNEMENT' 'CAVITE' CONS 'CAV1';
  277. mrouest = MODE ouest THERMIQUE 'RAYONNEMENT' 'CAVITE' CONS 'CAV1';
  278.  
  279. * assemblage des modèles de rayonnement
  280. mray = mrsud 'ET' mrest 'ET' mrnord 'ET' mrouest ;
  281.  
  282.  
  283. * création des matériaux émissivité
  284. esud = 'MATE' mrsud 'EMIS' e_sud ;
  285. eest = 'MATE' mrest 'EMIS' e_est ;
  286. enord = 'MATE' mrnord 'EMIS' e_nord ;
  287. eouest = 'MATE' mrouest 'EMIS' e_ouest ;
  288.  
  289. * assemblage des matériaux
  290. e = esud 'ET' eest 'ET' enord 'ET' eouest ;
  291.  
  292. *************************************************
  293. * FACTEURS DE FORME et MATRICE DE RAYONNEMENT : *
  294. *************************************************
  295.  
  296. fft = 'FFOR' mray e;
  297. chamr = 'RAYE' mray fft e ;
  298.  
  299. **********************************************************
  300. * CREATION DE LA TABLE POUR L'OPERATEUR DE RAYONNEMENT : *
  301. **********************************************************
  302.  
  303. TAB_RAY = 'TABLE' ;
  304. TAB_RAY.'MAILLAGE' = (sud 'ET' est 'ET' nord 'ET' ouest) ;
  305. TAB_RAY.'MODELE' = mray ;
  306. TAB_RAY.'MATERIAU' = e ;
  307. TAB_RAY.'FFORM' = fft ;
  308. TAB_RAY.'MATRICE' = chamr ;
  309. * Modèles Navier-Stokes
  310. TAB_RAY.'MODELENS' = ($sud 'ET' $est 'ET' $nord 'ET' $ouest) ;
  311. 'FINSI' ;
  312.  
  313.  
  314. ******************************
  315. * OPERATEUR DE RAYONNEMENT : *
  316. ******************************
  317.  
  318. 'DEBP' FRAY ;
  319.  
  320. 'ARGU' RVX*'TABLE' ;
  321.  
  322. RV = RVX.'EQEX' ;
  323. * récupération du champ de température
  324. T = RV.INCO.'TN' ;
  325. * récupération de la table TABR associée à l'opérateur
  326. TABR = RVX.'ARG1' ;
  327. MAILR = TABR.'MAILLAGE' ;
  328. * TSU : température de surface
  329. TSU = 'REDU' T MAILR ;
  330. TSU = 'EXCO' TSU 'SCAL' 'T' ;
  331. TR = 'CHAN' 'CHAM' TSU TABR.'MODELE' 'GRAVITE' ;
  332. * MRS : matrice de rayonnement
  333. MRS = 'RAYN' TABR.'MODELE' TABR.'MATRICE' TR ;
  334. MAILR = 'DOMA' TABR.'MODELENS' 'SOMMET' ;
  335. * MRS : transformation Rigidité/Matrik
  336. MRS = 'KOPS' 'RIMA' MRS MAILR ('MOTS' 'TN') ;
  337.  
  338. AS AF = 'KOPS' 'MATRIK' ;
  339.  
  340. 'FINP' AS MRS ;
  341.  
  342. *************************
  343. * CREATION DES TABLES : *
  344. *************************
  345.  
  346. corx = 'COOR' 1 carre ;
  347.  
  348. RV = 'EQEX' $carre 'NITER' iter 'OMEGA' omeg 'ITMA' 1 'ALFA' 1.0
  349. 'FIDT' 100
  350. 'OPTI' 'EF' KSUPG 'IMPL' KPRES
  351. 'ZONE' $carre 'OPER' 'NS' 1. 'UN' Nu gb 'TF' T0 'INCO' 'UN'
  352. ;
  353.  
  354. RT = 'EQEX' $mt 'NITER' iter 'OMEGA' 1.0 'ITMA' 1 'ALFA' 1.0
  355. 'OPTI' 'EF' KSUPG 'IMPL' KPRES
  356. 'ZONE' $carre 'OPER' 'TSCAL' 1. 'UN' alpha 0. 'INCO' 'TN'
  357. ;
  358. 'SI' (PPAROI) ;
  359. RT = 'EQEX' RT
  360. 'OPTI' 'EF' KSUPG 'IMPL' KPRES
  361. 'ZONE' $mparoi 'OPER' 'LAPN' alphap 'INCO' 'TN'
  362. ;
  363. 'FINSI' ;
  364.  
  365. 'SI' ('EGA' RESOL 'PROJECTION') ;
  366. RV = 'EQEX' RV
  367. 'OPTI' 'EF' 'CENTREE'
  368. 'ZONE' $carre 'OPER' 'DFDT' 1.0 'UNM' DT 'INCO' 'UN'
  369. ;
  370. RT = 'EQEX' RT
  371. 'OPTI' 'EF' 'CENTREE'
  372. 'ZONE' $mt 'OPER' 'DFDT' 1.0 'TNM' DT 'INCO' 'TN'
  373. ;
  374. 'FINSI' ;
  375.  
  376. SI ('EGA' RESOL 'IMPLICITE') ;
  377. RV = 'EQEX' RV
  378. 'OPTI' 'EFM1' 'CENTREE'
  379. 'ZONE' $carre 'OPER' 'DFDT' 1.0 'UNM' DT 'INCO' 'UN'
  380. ;
  381. RT = 'EQEX' RT
  382. 'OPTI' 'EFM1' 'CENTREE'
  383. 'ZONE' $mt 'OPER' 'DFDT' 1.0 'TNM' DT 'INCO' 'TN'
  384. ;
  385. 'FINSI' ;
  386.  
  387. 'SI' (PRAYO) ;
  388. RT = 'EQEX' RT
  389. 'OPTI' 'EF' 'CENTREE'
  390. 'ZONE' ($sud 'ET' $est 'ET' $nord 'ET' $ouest)
  391. 'OPER' 'FRAY' TAB_RAY 'INCO' 'TN'
  392. ;
  393. 'FINSI' ;
  394.  
  395. RV = 'EQEX' RV
  396. 'CLIM' 'UN' 'UIMP' parois 0.
  397. 'UN' 'VIMP' parois 0.
  398. ;
  399. 'SI' (PPAROI) ;
  400. RT = 'EQEX' RT
  401. 'CLIM' 'TN' 'TIMP' pouest T1
  402. 'TN' 'TIMP' pest T2 ;
  403. 'SINON' ;
  404. RT = 'EQEX' RT
  405. 'CLIM' 'TN' 'TIMP' ouest T1
  406. 'TN' 'TIMP' est T2 ;
  407. 'FINSI' ;
  408.  
  409. RV.'INCO' = 'TABLE' 'INCO' ;
  410. RV.'INCO'.'UN' = 'KCHT' $carre 'VECT' 'SOMMET' (0. 0.) ;
  411. RV.'INCO'.'TN' = 'KCHT' $mt 'SCAL' 'SOMMET' T0 ;
  412. RV.'INCO'.'TF' = 'KCHT' $carre 'SCAL' 'SOMMET' T0 ;
  413. RV.'INCO'.'UNM' = 'KCHT' $carre 'VECT' 'SOMMET' (0. 0.) ;
  414. RV.'INCO'.'TNM' = 'KCHT' $mt 'SCAL' 'SOMMET' T0 ;
  415. RV.'INCO'.'PRES' = 'KCHT' $carre 'SCAL' KPRES (0.0);
  416. RV.'INCO'.'UNM1' = 'KCHT' $carre 'VECT' 'SOMMET' (1.e-5 1.e-5) ;
  417. RV.'INCO'.'TNM1' = 'KCHT' $mt 'SCAL' 'SOMMET' T0 ;
  418. RV.'INCO'.'IT' = 'PROG' 1 ;
  419. RV.'INCO'.'NITER' = 0 ;
  420. RV.'INCO'.'ERX' = 'PROG' 0. ;
  421. RV.'INCO'.'ERY' = 'PROG' 0. ;
  422. RV.'INCO'.'ERT' = 'PROG' 0. ;
  423.  
  424. RT.'INCO' = RV.'INCO' ;
  425.  
  426. point = ('DOMA' $carre KPRES) 'ELEM' 1 ;
  427.  
  428. 'SI' ('EGA' RESOL 'PROJECTION') ;
  429. RVP = 'EQEX'
  430. 'OPTI' 'EF' KPRES
  431. 'ZONE' $carre 'OPER' KBBT (-1.0) 'INCO' 'UN' 'PRES'
  432. 'CLIM' 'PRES' 'TIMP' point 0. ;
  433. 'FINSI' ;
  434.  
  435. 'SI' ('EGA' RESOL 'IMPLICITE') ;
  436. RV = 'EQEX' RV
  437. 'OPTI' 'EF' 'IMPL' KPRES KSUPG
  438. 'ZONE' $carre 'OPER' KBBT (1.0) 'INCO' 'UN' 'PRES'
  439. 'CLIM' 'PRES' 'TIMP' point 0. ;
  440. 'FINSI' ;
  441.  
  442. 'SI' ('EGA' RESOL 'PROJECTION') ;
  443. RV.'PROJ' = RVP ;
  444. 'FINSI' ;
  445.  
  446.  
  447. rv.'METHINV'.TYPINV=1 ;
  448. rv.'METHINV'.IMPINV=0 ;
  449. rv.'METHINV'.NITMAX=400;
  450. rv.'METHINV'.PRECOND=3 ;
  451. rv.'METHINV'.RESID =1.e-10;
  452. rv. 'METHINV' . 'FCPRECT'=1 ;
  453. rv. 'METHINV' . 'FCPRECI'=1 ;
  454.  
  455. rt.'METHINV'.TYPINV=1 ;
  456. rt.'METHINV'.IMPINV=0 ;
  457. rt.'METHINV'.NITMAX=400;
  458. rt.'METHINV'.PRECOND=3 ;
  459. rt.'METHINV'.RESID =1.e-10;
  460. rt. 'METHINV' . 'FCPRECT'=1 ;
  461. rt. 'METHINV' . 'FCPRECI'=1 ;
  462.  
  463. 'SI' ('EGA' RESOL 'PROJECTION') ;
  464. rvp.'METHINV'.TYPINV=1 ;
  465. rvp.'METHINV'.IMPINV=0 ;
  466. rvp.'METHINV'.NITMAX=400;
  467. rvp.'METHINV'.PRECOND=3 ;
  468. rvp.'METHINV'.RESID =1.e-8 ;
  469. rvp.'METHINV' . 'FCPRECT'=100 ;
  470. rvp.'METHINV' . 'FCPRECI'=100 ;
  471. 'FINSI' ;
  472.  
  473. ****************
  474. * RESOLUTION : *
  475. ****************
  476.  
  477. 'REPETER' BOU1 ITMA ;
  478. * projection de la température fluide
  479. TN = RV.'INCO'.'TN' ;
  480. RV.'INCO'.'TF' = 'KCHT' $carre 'SCAL' 'SOMMET'
  481. ('REDU' TN ('DOMA' $CARRE 'MAILLAGE')) ;
  482. RV.INCO.'NITER' = RV.INCO.'NITER' + 1 ;
  483. DD = RV.INCO.'NITER' ;
  484. NN = DD '/' 5;
  485. LO = (5 '*' NN '-' DD) 'EGA' 0 ;
  486.  
  487. 'SI' (LO) ;
  488.  
  489. UN = RV.INCO.'UN' ;
  490. UNM1 = RV.INCO.'UNM1' ;
  491. unx = 'KCHT' $carre 'SCAL' 'SOMMET' (EXCO 'UX' UN) ;
  492. unm1x = 'KCHT' $carre 'SCAL' 'SOMMET' (EXCO 'UX' UNM1) ;
  493. uny = 'KCHT' $carre 'SCAL' 'SOMMET' (EXCO 'UY' UN) ;
  494. unm1y = 'KCHT' $carre 'SCAL' 'SOMMET' (EXCO 'UY' UNM1) ;
  495. TN = RV.INCO.'TN' ;
  496. TNM1 = RV.INCO.'TNM1' ;
  497.  
  498. ERRX = 'KOPS' unx '-' unm1x ;
  499. ELIX = 'MAXI' ERRX 'ABS' ;
  500. ELIX = ('LOG' (ELIX '+' 1.e-10)) '/' ('LOG' 10.) ;
  501. ERRY = 'KOPS' uny '-' unm1y ;
  502. ELIY = 'MAXI' ERRY 'ABS' ;
  503. ELIY = ('LOG' (ELIY '+' 1.e-10)) '/' ('LOG' 10.) ;
  504. ERRT = 'KOPS' TN '-' TNM1 ;
  505. ELIT = 'MAXI' ERRT 'ABS' ;
  506. ELIT = ('LOG' (ELIT '+' 1.e-10)) '/' (LOG 10.) ;
  507.  
  508. 'MESS' 'ITER' DD 'ERREUR LINF TEMPERATURE' ELIT ;
  509. 'MESS' 'ITER' DD 'ERREUR LINF VITESSE' ELIX ELIY ;
  510.  
  511. RV.INCO.'TNM1' = 'KCHT' $mt 'SCAL' 'SOMMET' (RV.INCO.'TN') ;
  512. RV.INCO.'UNM1' = 'KCHT' $carre 'VECT' 'SOMMET' (RV.INCO.'UN') ;
  513. IT = 'PROG' DD ;
  514. ERX = 'PROG' ELIX ;
  515. ERY = 'PROG' ELIY ;
  516. ERT = 'PROG' ELIT ;
  517. RV.INCO.'IT' = (RV.INCO.'IT') 'ET' IT ;
  518. RV.INCO.'ERX' = (RV.INCO.'ERX') 'ET' ERX ;
  519. RV.INCO.'ERY' = (RV.INCO.'ERY') 'ET' ERY ;
  520. RV.INCO.'ERT' = (RV.INCO.'ERT') 'ET' ERT ;
  521.  
  522. 'FINSI' ;
  523. EXEC RV ;
  524. EXEC RT ;
  525. 'FIN' BOU1 ;
  526.  
  527. ******************************
  528. * EXPLOITATION DES RESULTATS *
  529. ******************************
  530.  
  531. 'OPTI' 'ISOV' 'SULI';
  532.  
  533. 'SI' GRAPH ;
  534. 'TRAC' carre 'TITR' 'MAILLAGE' ;
  535. 'FINSI' ;
  536.  
  537. * Adimensionnement des températures pour dessin
  538. LTF = 'PROG' -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1
  539. 0.2 0.3 0.4 0.5 ;
  540. TN = ((RV.INCO.'TN') '-' T0 ) '/' (T1 '-' T2) ;
  541. 'SI' GRAPH ;
  542. 'TRAC' TN carre (parois) 'TITR' 'TEMPERATURE' LTF ;
  543. 'FINSI' ;
  544.  
  545. 'SI' GRAPH ;
  546. vit = 'VECT' RV.INCO.'UN' (1. '/' V0) UX UY 'TURQ' ;
  547. 'TRAC' vit carre (parois) 'TITR' 'VITESSE';
  548. 'FINSI' ;
  549.  
  550. * Fonction de courant
  551. un = RV.INCO.'UN' ;
  552. un2 = 'KOPS' un '*' (Pr '*' (Gr '**' 0.5)) ;
  553. sw = 'KOPS' un 'ROT' $carre;
  554. rk = 'EQEX' $carre 'OPTI' 'EF' 'IMPL'
  555. 'ZONE' $carre 'OPER' 'LAPN' -1. INCO 'PSI'
  556. 'ZONE' $carre 'OPER' 'FIMP' sw INCO 'PSI'
  557. 'CLIM' 'PSI' 'TIMP' parois 0.
  558. ;
  559.  
  560. rk.'INCO' = 'TABLE' 'INCO'
    rk.'INCO'.'PSI' = 'KCHT' $carre 'SCAL' 'SOMMET' 0. ;
  561. EXEC rk ;
  562. psi = rk.INCO.'PSI' '/' V0 ;
  563. psi2 = 'KOPS' psi '*' (Pr '*' (Gr '**' 0.5)) ;
  564. 'SI' GRAPH ;
  565. 'TRAC' psi2 carre parois 14 'TITR' 'FONCTION DE COURANT';
  566. 'FINSI' ;
  567.  
  568.  
  569. EVOL3 = 'EVOL' 'MANU' 'ITERATIONS' (RV.INCO.'IT') 'LOG|E|inf'
  570. (RV.INCO.'ERT') 'COUL' VERT ;
  571. EVOL4 = 'EVOL' 'MANU' 'ITERATIONS' (RV.INCO.'IT') 'LOG|E|inf'
  572. (RV.INCO.'ERX') ;
  573. EVOL5 = 'EVOL' 'MANU' 'ITERATIONS' (RV.INCO.'IT') 'LOG|E|inf'
  574. (RV.INCO.'ERY') 'COUL' 'ROUGE' ;
  575. 'SI' GRAPH ;
  576. 'DESS' (EVOL4 ET EVOL3) 'YBOR' -10.0 0.0
  577. 'TITR' 'CONVERGENCE VERS LE STATIONNAIRE' ;
  578. 'FINSI' ;
  579.  
  580. 'SI' ('NON' COMPLET) ;
  581. * Test de non régression
  582. * Erreur de référence sur la température
  583. ELITM = -8.30554E-02 ;
  584. * Valeur de référence sur le maximum de la vitesse verticale
  585. UYM = 'MAXI' ('EXCO' RV.'INCO'.'UN' 'UY') ;
  586. UYMAX = 0.18220;
  587. * Valeur de référence sur le maximum de la fonction de courant
  588. PSIM = 'MAXI' (PSI2) ;
  589. PSIMAX = 27.652 ;
  590. *
  591. ERT = 'ABS'( ELIT '-' ELITM) '/' ELITM ;
  592. ERU = 'ABS'( UYM '-' UYMAX) '/' UYMAX ;
  593. ERP = 'ABS'( PSIM '-' PSIMAX) '/' PSIMAX ;
  594. 'MESS' 'Erreur sur la température = ' ERT ;
  595. 'MESS' 'Erreur sur le max de UY = ' ERU ;
  596. 'MESS' 'Erreur sur le max de Psi = ' ERP ;
  597.  
  598. 'SI' (ERT '>' 0.002); 'ERREUR' 5 ; 'FINSI' ;
  599. 'SI' (ERU '>' 0.002); 'ERREUR' 5 ; 'FINSI' ;
  600. 'SI' (ERP '>' 0.002); 'ERREUR' 5 ; 'FINSI' ;
  601.  
  602. 'FINSI' ;
  603. 'FIN' ;
  604. *
  605. *
  606. *
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  

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