Télécharger Th1D-T3D-mono.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : Th1D-T3D-mono.dgibi
  2. *
  3. 'OPTI' 'ECHO' 0 ;
  4. *******************************************
  5. *******************************************
  6.  
  7. **********************************************************************************************
  8. *
  9. * NOM DE FICHIER : Th1D-T3D-mono.dgibi
  10. *
  11. * DESCRIPTION : Modelisation thermique 3D - thermohydraulique 1D monophasique
  12. *
  13. **********************************************************************************************
  14. * CAS TEST CORRESPONDANT AU RAPPORT DM2S/STMF/LMES/RT/12-013/A :
  15. * Calculs thermohydrauliques HCLL/TBM realises avec le code CAST3M "fluide"
  16. * Etude du refroidissement de la couverture tritigene du reacteur a fusion
  17. * par un ecoulement d'helium
  18. *
  19. **********************************************************************************************
  20. * A U T E U R S
  21. **********************************************************************************************
  22. *
  23. * Giacomo AIELLO - CEA/DEN/DANS/DM2S/SEMT/BCCR - mel : giacomo.aiello@cea.fr
  24. * Jean-Louis LASZLO - CEA/DEN/DANS/DM2S/STMF/LMES - mel : jean-louis.laszlo@cea.fr
  25. * Stephane GOUNAND - CEA/DEN/DANS/DM2S/SFMF/LMSF - mel : gounand@semt2.smts.cea.fr
  26. *
  27. **********************************************************************************************
  28. **********************************************************************************************
  29. *
  30. *
  31. * TEST RAPIDE : la variable logique complet = FAUX;
  32. * TEST NOMINAL : la variable logique complet = VRAI;
  33. *
  34. *
  35. **********************************************************************************************
  36. * Exemple de resultats *
  37. **********************************************************************************************
  38. * Variable logique COMPLET FAUX VRAI
  39. * ******* **** ****
  40. * Nombre iterations 1 seule test
  41. * convergence
  42. * Maillage grossier nominal
  43. *
  44. * Debit massique commun fluide 1 et 2 0.11 kg/s 0.11 kg/s
  45. * Flux impose 92.4 kW 92.4 kW
  46. *
  47. * Temperature minimale solide 298.8 degres C 303.5 degres C
  48. * Temperature maximale solide 449.0 degres C 517.3 degres C
  49. *
  50. * Temperature minimale fluide 1 300.0 degres C 300.0 degres C
  51. * Temperature maximale fluide 1 380.5 degres C 383.7 degres C
  52. **********************************************************************************************
  53. *
  54. *
  55. * VARIABLES LOGIQUES
  56. *
  57. **********************************************************************************************
  58.  
  59. complet = FAUX ; comm TEST RAPIDE ;
  60. *complet = VRAI ; comm TEST NOMINAL ;
  61.  
  62. * EchColb = VRAI ; comm loi echange thermique COLBURN ;
  63. EchColb = FAUX ; comm loi echange thermique GNIELINSKI ;
  64.  
  65.  
  66. **********************************************************************************************
  67. **********************************************************************************************
  68. *** PROCEDURES
  69. **********************************************************************************************
  70. **********************************************************************************************
  71.  
  72. debproc spabas spass*flottant ori*point ;
  73. v9 = spass ** 0.5 ;
  74. P2 = ori PLUS ( v9 0. 0. ) ;
  75. Lig9 = DROI 1 ori P2 ;
  76. sp9 = Lig9 TRAN 1 ( 0. v9 0. ) ;
  77. elim sp9 1.E-6 ;
  78. finpro sp9 ;
  79.  
  80. debproc loupe eye c0*chpoint m0*maillage tjt0*mot gross0*flottant
  81. c/flottant ;
  82. * 1 pour UX - 2 pour UY - 3 pour UZ
  83. xmt = 'COORDONNEE' 1 m0 ;
  84. ymt = 'COORDONNEE' 2 m0 ;
  85. dxmt = 'NOMC' 'UX' ('*' xmt gross0) 'NATURE' 'DISCRET' ;
  86. dymt = 'NOMC' 'UY' ('*' ymt gross0) 'NATURE' 'DISCRET' ;
  87. orig0 = 'FORME' ;
  88. 'FORME' dxmt ;
  89. 'FORME' dymt ;
  90. SI ( EXIS c ) ;
  91. trac cach eye c0 m0 titr tjt0 ;
  92. SINON ;
  93. trac cach eye c0 m0 (cont m0 ) titr tjt0 ;
  94. FINSI ;
  95. 'FORME' orig0 ;
  96. finproc ;
  97.  
  98. DEBP PARTSURF TABCONV*TABLE;
  99. TABCONV . PART = TABLE;
  100.  
  101. NBOUCT = NBNO TABCONV.SURFCONV ;
  102. REPE BOUC NBOUCT ;
  103. SI (&bouc EGA 1 );
  104. NEWPART = ELEM TABCONV . SURFCONV APPUYE
  105. LARGEMENT TABCONV . SIN;
  106. TOTPART = NEWPART;
  107. PINI = BARY NEWPART;
  108. SINON ;
  109. NEWPART = ELEM TABCONV . SURFCONV APPUYE LARGEMENT TOTPART;
  110. SI ((NBNO NEWPART) EGA (NBNO TOTPART));
  111. QUITTER BOUC;
  112. SINON ;
  113. NEWPART = DIFF NEWPART TOTPART;
  114. TOTPART = TOTPART et NEWPART;
  115. FINSI;
  116. PFIN = BARY NEWPART;
  117. FINSI;
  118. TABCONV . PART . &bouc = NEWPART;
  119. FIN bouc;
  120. FINP;
  121.  
  122. DEBPROC FLUI1D_2 TABCONV*TABLE
  123. DECAX*FLOTTANT DECAY*FLOTTANT kdec*FLOTTANT spa9*FLOTTANT ;
  124. TABCONV . FAC0 = TABLE ;
  125. TABCONV . ELE0 = TABLE ;
  126.  
  127. DECAX = kdec * DECAX ;
  128. DECAY = kdec * DECAY ;
  129.  
  130. Npart = DIME TABCONV .'PART' ;
  131. PINI = BARY TABCONV .'PART'. 1 ;
  132. PINI = PINI PLUS ( DECAX DECAY 0. ) ;
  133. SurBas = spabas spa9 PINI ;
  134. TABCONV .'BAFLU' = SurBas ;
  135.  
  136. *mess Npart ;
  137.  
  138. kfac = 0 ; comm initialisation compteur ;
  139. REPE BOUC Npart ;
  140. NS = NBEL TABCONV .'PART'.&bouc ;
  141. *mess NS ;
  142. Slat = ( mesu ( TABCONV .'PART'.&bouc ));
  143. HautF = Slat / ( 4. * ( spa9 ** 0.5 )) ;
  144. * mess &bouc spa9 hautf slat ;
  145. opti elem cub8 ;
  146. si ( ega &bouc 1 ) ;
  147. NEWFLU = SurBas VOLU 1 'TRAN' ( 0. 0. HautF ) ;
  148. TOTFLU = NEWFLU ;
  149. NEWSOL = TABCONV .'PART'.&bouc ;
  150. TOTSOL = NEWSOL ;
  151. SINON ;
  152. NEWFLU = ( FACE 2 NEWFLU ) volu 1 'TRAN' ( 0. 0. HautF ) ;
  153. TOTFLU = TOTFLU ET NEWFLU ;
  154. NEWSOL = TABCONV .'PART'.&bouc ;
  155. TOTSOL = TOTSOL et NEWSOL ;
  156. FINSI ;
  157.  
  158. repe w ( NBEL TABCONV .'PART'.&bouc ) ;
  159. kfac = kfac + 1 ;
  160. * mess &bouc &w kfac ;
  161. TABCONV . FAC0 . kfac = TABCONV .'PART'.&bouc ELEM &w ;
  162. TABCONV . ELE0 . kfac = NEWFLU ;
  163. fin w ;
  164.  
  165. FIN bouc;
  166.  
  167. TABCONV .'MTFLU' = totflu ;
  168. TABCONV .'OUFLU' = FACE 2 NEWFLU ;
  169.  
  170. FINP ;
  171.  
  172.  
  173. debproc matcon0 tfa00*TABLE tel00*TABLE ;
  174. *** CREATION DE LA MATRICE DE COUPLAGE *
  175. *** ---------------------------------- *
  176. nitab = 'DIME' tfa00 ;
  177. 'REPETER' iitab nitab ;
  178. ifac = tfa00 . &iitab ;
  179. iqfac = 'CHANGER' ifac 'QUAF' ;
  180. miqfac = 'MODELISER' iqfac 'NAVIER_STOKES' discr ;
  181. ciqfac = ('DOMA' miqfac 'CENTRE') 'POIN' 1 ;
  182. iele = tel00 . &iitab ;
  183. iqele = 'CHANGER' iele 'QUAF' ;
  184. miqele = 'MODELISER' iqele 'NAVIER_STOKES' discr ;
  185. ciqele = ('DOMA' miqele 'CENTRE') 'POIN' 1 ;
  186. * Attention ('MESU' iele) ne fonctionne pas en axisymetrique
  187. volele = 'MAXIMUM' ('DOMA' miqele 'VOLUME') ;
  188. clfc = 'MANUEL' 'SEG2' ciqfac ciqele ;
  189. mlcf = 'MANUEL' 'RIGIDITE' clfc ('MOTS' 'T') 'QUEL'
  190. ('PROG' 0.D0 1.D0) ('PROG' 0.D0 0.D0) ;
  191. mlfc = 'MANUEL' 'RIGIDITE' clfc ('MOTS' 'T') 'QUEL'
  192. ('PROG' 0.D0 0.D0)
  193. ('PROG' ('/' 1.D0 volele) 0.D0) ;
  194. 'SI' ('EGA' &iitab 1) ;
  195. cfc00 = clfc ;
  196. mcf00 = mlcf ;
  197. mfc00 = mlfc ;
  198. 'SINON' ;
  199. cfc00 = 'ET' cfc00 clfc ;
  200. mcf00 = 'ET' mcf00 mlcf ;
  201. mfc00 = 'ET' mfc00 mlfc ;
  202. 'FINSI' ;
  203. 'FIN' iitab ;
  204. finpro cfc00 mcf00 mfc00 ;
  205.  
  206. DEBPROC tcpu9 a/flottant ;
  207. TABTPS = TEMP 'NOEC';
  208. tcpu = TABTPS.'TEMPS_CPU'.'INITIAL';
  209. tcpus = '/' ('FLOTTANT' tcpu) 100.D0 ;
  210. SI ( exis a ) ;
  211. RESPRO tcpus ;
  212. SINON ;
  213. 'MESSAGE' ( et ('CHAINE' 'tcpus = ' tcpus) ' secondes') ;
  214. FINSI ;
  215. FINPROC ;
  216. DEBPROC PRPHE8 prt7C*'LISTREEL' roo*'LISTREEL' muo*'LISTREEL'
  217. cpo*'LISTREEL' lambo*'LISTREEL' T/'CHPOINT'
  218. TL/'LISTREEL' TS/'FLOTTANT' ;
  219. prt7 = prt7C + ( prog ( dime prt7C ) * 273.15 ) ; comm en Kelvin ;
  220.  
  221. 'SI' ('EXISTE' T) ;
  222. rhohe8 = 'IPOL' T prt7 roo ;
  223. muhe8 = 'IPOL' T prt7 muo ;
  224. lhe8 = 'IPOL' T prt7 lambo ;
  225. cphe8 = 'IPOL' T prt7 cpo ;
  226. 'RESPRO' rhohe8 muhe8 lhe8 cphe8 ;
  227. 'FINSI' ;
  228.  
  229. 'SI' ('EXISTE' TL) ;
  230. rhohe8 = 'IPOL' TL prt7 roo ;
  231. muhe8 = 'IPOL' TL prt7 muo ;
  232. lhe8 = 'IPOL' TL prt7 lambo ;
  233. cphe8 = 'IPOL' TL prt7 cpo ;
  234. 'RESPRO' rhohe8 muhe8 lhe8 cphe8 ;
  235. 'FINSI' ;
  236.  
  237. 'SI' ('EXISTE' TS) ;
  238. rhohe8 = 'IPOL' TS prt7 roo ;
  239. muhe8 = 'IPOL' TS prt7 muo ;
  240. lhe8 = 'IPOL' TS prt7 lambo ;
  241. cphe8 = 'IPOL' TS prt7 cpo ;
  242. 'RESPRO' rhohe8 muhe8 lhe8 cphe8 ;
  243. 'FINSI' ;
  244. 'FINPROC' ;
  245.  
  246. DEBPROC PTH_HE8 X/'CHPOINT' XL/'LISTREEL' XS/'FLOTTANT' ;
  247. TABHE8 = TABLE ;
  248. 'SI' ('EXISTE' X) ;
  249. rhohe8 muhe8 lhe8 cphe8 =
  250. PRPHE8 PROGTHe PROGRHO PROGMU PROGCP PROGLAM X ;
  251. 'FINSI' ;
  252.  
  253. 'SI' ('EXISTE' XL) ;
  254. rhohe8 muhe8 lhe8 cphe8 =
  255. PRPHE8 PROGTHe PROGRHO PROGMU PROGCP PROGLAM XL ;
  256. 'FINSI' ;
  257.  
  258. 'SI' ('EXISTE' XS) ;
  259. rhohe8 muhe8 lhe8 cphe8 =
  260. PRPHE8 PROGTHe PROGRHO PROGMU PROGCP PROGLAM XS ;
  261. 'FINSI' ;
  262. TABHE8 . 'ROG' = rhohe8 ;
  263. TABHE8 . 'MUG' = muhe8 ;
  264. TABHE8 . 'LAMG' = lhe8 ;
  265. TABHE8 . 'CPG' = cphe8 ;
  266. FINPRO TABHE8 ;
  267.  
  268. DEBPROC PRACIER prt7C*'LISTREEL' roo*'LISTREEL'
  269. cpo*'LISTREEL' lambo*'LISTREEL' T/'CHPOINT'
  270. TL/'LISTREEL' TS/'FLOTTANT' ;
  271. prt7 = prt7C + ( prog ( dime prt7C ) * 273.15 ) ; comm en Kelvin ;
  272. 'SI' ('EXISTE' T) ;
  273. rhoaci = 'IPOL' T prt7 roo ;
  274. laci = 'IPOL' T prt7 lambo ;
  275. cpaci = 'IPOL' T prt7 cpo ;
  276. 'RESPRO' rhoaci laci cpaci ;
  277. 'FINSI' ;
  278.  
  279. 'SI' ('EXISTE' TL) ;
  280. rhoaci = 'IPOL' TL prt7 roo ;
  281. laci = 'IPOL' TL prt7 lambo ;
  282. cpaci = 'IPOL' TL prt7 cpo ;
  283. 'RESPRO' rhoaci laci cpaci ;
  284. 'FINSI' ;
  285.  
  286. 'SI' ('EXISTE' TS) ;
  287. rhoaci = 'IPOL' TS prt7 roo ;
  288. laci = 'IPOL' TS prt7 lambo ;
  289. cpaci = 'IPOL' TS prt7 cpo ;
  290. 'RESPRO' rhoaci laci cpaci ;
  291. 'FINSI' ;
  292. 'FINPROC' ;
  293.  
  294. DEBPROC PTH_ACI X/'CHPOINT' XL/'LISTREEL' XS/'FLOTTANT' ;
  295. TABACI = TABLE ;
  296. 'SI' ('EXISTE' X) ;
  297. rhohe8 lhe8 cphe8 =
  298. PRACIER PROGTAc ROACIER CPACIER LAMACIER X ;
  299. 'FINSI' ;
  300.  
  301. 'SI' ('EXISTE' XL) ;
  302. rhohe8 lhe8 cphe8 =
  303. PRACIER PROGTAc ROACIER CPACIER LAMACIER XL ;
  304. 'FINSI' ;
  305.  
  306. 'SI' ('EXISTE' XS) ;
  307. rhohe8 lhe8 cphe8 =
  308. PRACIER PROGTAc ROACIER CPACIER LAMACIER XS ;
  309. 'FINSI' ;
  310. TABACI . 'ROS' = rhohe8 ;
  311. TABACI . 'LAMS' = lhe8 ;
  312. TABACI . 'CPS' = cphe8 ;
  313. FINPRO TABACI ;
  314.  
  315. 'DEBPROC' chpobor mess1/'MOT' T/'FLOTTANT' TC/'CHPOINT' ;
  316. *Elle permet d'afficher les valeurs minimales et maximales d'un
  317. *champoint avec message optionnel
  318. MesEx0 = EXISTE mess1 ;
  319. 'SI' ('EXISTE' TC) ;
  320. SI MesEx0 ;
  321. mess mess1 ' : ' ( MINI TC ) ( MAXI TC) ;
  322. SINON ;
  323. mess ( MINI TC ) ( MAXI TC) ;
  324. FINSI ;
  325. FINSi ;
  326. 'SI' ('EXISTE' T) ;
  327. SI MesEx0 ;
  328. mess mess1 ' : ' T ;
  329. SINON ;
  330. mess T ;
  331. FINSI ;
  332. FINSi ;
  333. FINPROC ;
  334.  
  335. debproc ecform c1*MOT c2*MOT c3*MOT v0*FLOTTANT ;
  336. c1 = et c1 ' = ' ;
  337. c3 = et ' ' c3 ;
  338. c20 = ( chaine 'FORMAT' c2 v0) ;
  339. mess (et (et c1 c20 ) c3) ;
  340. finproc ;
  341.  
  342. **********************************************************************************************
  343. **********************************************************************************************
  344. *** FIN PROCEDURES
  345. **********************************************************************************************
  346. **********************************************************************************************
  347.  
  348.  
  349. **********************************************************************************************
  350. *
  351. * DONNEES GEOMETRIE
  352. *
  353. **********************************************************************************************
  354.  
  355. OPTION TRAC PSC ;
  356.  
  357. OPTI ELEM TET4;
  358.  
  359. DENS 0.003;
  360.  
  361. R = 0.575; comm profondeur radiale ;
  362. H = 1.660; comm hauteur totale ;
  363.  
  364. RFW = 0.100; comm rayon de courbure de la FW ;
  365. PITCHFW = 0.0219; comm pitch entre canaux ;
  366. EPFW = 0.030; comm epaisseur totale FW ;
  367.  
  368. DCT = 0.015; comm dimensions des canaux de refroidissement ;
  369. DCP = 0.015;
  370.  
  371. DPL = 0.0035; comm distance des canaux de la surface exposee au plasma ;
  372.  
  373. DCH = (PITCHFW - DCT) / 2.;
  374.  
  375.  
  376. EPS0 = 1.E-6 ;
  377.  
  378. ***********************************************************************
  379. *
  380. * MAILLAGE
  381. *
  382. ***********************************************************************
  383.  
  384. si complet ;
  385. N1V1 = 3 ;
  386. N2V1 = 20 ;
  387. NV2 = 8 ;
  388. NV3 = 40 ;
  389. NV7 = 6 ;
  390. sinon ;
  391. * N1V1 = 3 ;
  392. * N2V1 = 3 ;
  393. * NV2 = 4 ;
  394. * NV3 = 4 ;
  395. * NV7 = 6 ;
  396. * modif gounand
  397. N1V1 = 2 ;
  398. N2V1 = 2 ;
  399. NV2 = 2 ;
  400. NV3 = 2 ;
  401. NV7 = 2 ;
  402. FINSI ;
  403.  
  404. NV4 = NV2 ;
  405. NV5 = N2V1 ;
  406. NV6 = N1V1 ;
  407. NV8 = N1V1 ;
  408. NV9 = N2V1 ;
  409. NV10 = NV2 ;
  410. NV11 = NV3 ;
  411. NV12 = NV2 ;
  412. N1V13 = N2V1 ;
  413. N2V13 = N1V1 ;
  414.  
  415.  
  416. P1 = 0. 0. 0. ;
  417. P2 = 0. PITCHFW 0.;
  418. P3 = 0. PITCHFW ( -1. * EPFW );
  419. P4 = 0. 0. (-1. * EPFW);
  420.  
  421.  
  422. PC1 = 0. DCH ( -1. * DPL);
  423. PC2 = 0. (DCH + DCT) ( -1. * DPL);
  424. PC3 = 0. (DCH + DCT) ( -1. * (DPL + DCP) );
  425. PC4 = 0. DCH ( -1. * (DPL + DCP) );
  426.  
  427.  
  428.  
  429.  
  430. L1 = D P1 P2;
  431. L2 = D P2 P3;
  432. L3 = D P3 P4;
  433. L4 = D P4 P1;
  434.  
  435. LC1 = D PC1 PC2;
  436. LC2 = D PC2 PC3;
  437. LC3 = D PC3 PC4;
  438. LC4 = D PC4 PC1;
  439.  
  440. C1 = L1 et L2 et L3 et L4;
  441. C2 = LC1 et LC2 et LC3 et LC4;
  442.  
  443. S1 = SURF ( C1 et (INVE C2) ) PLAN;
  444. V1 = VOLU TRAN N1V1 (PITCHFW 0. 0.) S1;
  445. V1 = VOLU TRAN N2V1 ( (R - RFW - PITCHFW) 0. 0.) V1;
  446.  
  447.  
  448. S2 = FACE 2 V1;
  449. V2 = VOLU ROTA NV2 90. S2
  450. ( (R - RFW) 0. (-1 * RFW))
  451. ( (R - RFW) PITCHFW (-1 * RFW));
  452.  
  453.  
  454.  
  455. S3 = FACE 2 V2;
  456. V3 = VOLU TRAN NV3 ( 0. 0. (-1 * (H - (2. * RFW)))) S3;
  457.  
  458. S4 = FACE 2 V3;
  459. V4 = VOLU ROTA NV4 90. S4
  460. ( (R - RFW) 0. (-1 * (H - RFW)))
  461. ( (R - RFW) PITCHFW (-1 * (H - RFW)));
  462.  
  463. S5 = FACE 2 V4;
  464. V5 = VOLU TRAN NV5 ( (-1. * (R - RFW - PITCHFW) ) 0. 0.) S5;
  465.  
  466.  
  467. S6 = FACE 2 V5;
  468. S7 = PROJ (1. 0. 0.) S6 PLAN
  469. ( (0. 0. (-1. * H) ))
  470. ( (PITCHFW) (PITCHFW) (-1. * H) )
  471. ( 0. 0. 0.);
  472. V6 = VOLU NV6 S6 S7;
  473.  
  474.  
  475. S8 = PROJ S7 (0. 1. 0.) PLAN
  476. ( 0. (2*PITCHFW) H )
  477. ( PITCHFW (PITCHFW) H )
  478. ( 0. (2*PITCHFW) 0.);
  479. V7 = VOLU NV7 S7 S8;
  480.  
  481.  
  482.  
  483. S9 = PROJ S8 (-1. 0. 0.) PLAN
  484. (PITCHFW. 0. 0.)
  485. (PITCHFW 1. 0.)
  486. (PITCHFW 0. 1.);
  487. V8 = VOLU NV8 S8 S9;
  488.  
  489. V9 = VOLU TRAN NV9 ( (R - RFW - PITCHFW) 0. 0.) S9;
  490.  
  491. S10 = FACE 2 V9;
  492. V10 = VOLU ROTA NV10 -90. S10
  493. ( (R - RFW) 0. (-1 * (H - RFW)))
  494. ( (R - RFW) PITCHFW (-1 * (H - RFW)));
  495.  
  496. S11 = FACE 2 V10;
  497. V11 = VOLU TRAN NV11 ( 0. 0. (H - (2. * RFW))) S11;
  498.  
  499.  
  500. S12 = FACE 2 V11;
  501. V12 = VOLU ROTA NV12 -90. S12
  502. ( (R - RFW) 0. (-1 * RFW))
  503. ( (R - RFW) PITCHFW (-1 * RFW));
  504.  
  505. S13 = FACE 2 V12;
  506. V13 = VOLU TRAN N1V13 ( (-1. * (R - RFW - PITCHFW)) 0. 0.) S13;
  507. V13 = VOLU TRAN N2V13 ( (-1.*PITCHFW) 0. 0.) V13;
  508.  
  509.  
  510. VTUBE = V1 ET V2 ET V3 ET V4 ET V5 ET V6 ET V7 ET V8
  511. ET V9 ET V10 ET V11 ET V12 ET V13;
  512.  
  513. ELIM EPS0 VTUBE;
  514.  
  515. mess ( nbel vtube ) ( nbno vtube );
  516.  
  517.  
  518. VTUBE = REGE VTUBE;
  519.  
  520. VTUBE2 = VTUBE SYME PLAN
  521. (0. 0. (H / -2.))
  522. (0. 1. (H / -2.))
  523. (1. 0. (H / -2.));
  524.  
  525. VTUBE2 = DEPL PLUS VTUBE2 (0. (2*PITCHFW) 0.);
  526.  
  527. VFW = VTUBE et VTUBE2;
  528. ELIM EPS0 VFW;
  529. VFW = REGE VFW;
  530.  
  531. TRAC CACH VFW;
  532.  
  533.  
  534. OPTI SAUV 'MAILLAGE.SAUV';
  535. SAUV VFW;
  536.  
  537. *******************************************************************
  538. *******************************************************************
  539. *** **
  540. *** COUPLAGE THERMIQUE 3D - THERMOHYDRAULIQUE 1D **
  541. *** **
  542. *******************************************************************
  543. *******************************************************************
  544.  
  545. OPTI DIME 3 ELEM CUB8 ;
  546.  
  547.  
  548. OPTI REST 'MAILLAGE.SAUV'; comm Restitution du maillage ;
  549.  
  550.  
  551. *** #################################################################*
  552. *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
  553. *** DECLARATIONS
  554. *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
  555. *** #################################################################*
  556.  
  557.  
  558. oeilx = 1.e30 0. 0. ;
  559. oeily = 0. 1.e30 0. ;
  560. oeilz = 0. 0. 1.e30 ;
  561. oeil = 1.e30 1.e30 1.e30 ;
  562. epselim = 1.e-7 ;
  563.  
  564. discr = 'LINE' ; comm elements lineaires ;
  565. * discr = 'QUAF' ; comm elements quadratiques ;
  566.  
  567. nomsov='Th1D-T3D-mono.sauv' ;
  568.  
  569. TFLUec = 300. ;
  570. PsatB = 1.75 ; comm pression absolue en bars ;
  571. ppa = PsatB * 1.e5 ; comm pression absolue en Pa ;
  572. CK = 273.15 ; comm Celsius en Kelvin ;
  573. TFLUek = TFLUec + CK ;
  574. F_SPLSM = 0.5E6 ; comm flux surface plasma ;
  575. F_SBZ = 0.1E6 ; comm flux surface interne ;
  576.  
  577. nitr1 = 1 ;
  578. omgr1 = 1. ;
  579. SI (non complet) ;
  580. nb_bouc = 1 ;
  581. SINON ;
  582. nb_bouc = 40 ; comm boucle de calcul ;
  583. FINSI ;
  584.  
  585. Nusslam = 4.364 ; comm Nusselt en laminaire tube circulaire ;
  586. seuilam = 2300. ; comm transition laminaire turbulent ;
  587.  
  588. *** Loi de convection forcee en regime turbulent (COLBURN)
  589. A_colb = 0.023 ;
  590. B_colb = 0.8D0 ;
  591. C_colb = ('/' 1.D0 3.D0) ;
  592.  
  593. *** Loi de convection forcee en regime turbulent (Gnielinski)
  594. A_gnie = 1.7372 ;
  595. B_gnie = 1.964 ;
  596. C_gnie = -3.8215 ;
  597. s_23 = 2. / 3. ;
  598.  
  599.  
  600. *** Methode d'inversion
  601. MetInv = 'DIRECT' ; comm robuste mais lent ;
  602. *** MetInv = 'ITERAT' ; comm moins robuste mais plus rapide ;
  603. SI ( EGA MetInv 'DIRECT' ) ;
  604. IndInv = 1 ;
  605. SINON ;
  606. IndInv = 3 ;
  607. FINSI ;
  608.  
  609. RegEcoM = TABLE ;
  610. RegEcoD = TABLE ;
  611. RTUR = 'TURB' ;
  612. RLAM = 'LAMI' ;
  613.  
  614.  
  615. *** DONNEES RELATIVES A L ECOULEMENT:
  616. GTUBE = 1.3 / 12. ; comm debit massique kg par seconde ;
  617. SEC = 0.015 * 0.015 ; comm section de passage ;
  618. PMOUL = 0.015 * 4. ; comm perimetre mouille ;
  619. DIAM = 4 * SEC / PMOUL ; comm diametre hydraulique ;
  620.  
  621. *****************************************************************
  622. *** PROPRIETES MATERIAUX
  623. *****************************************************************
  624. *** ici les temperatures PROGTAc sont en degres CELSIUS
  625. PROGTAc = PROG 20. 100. 200. 300. 400. 500. 600. ;
  626. LAMACIER = PROG 25.9 27.0 28.1 28.8 29.2 29.0 28.5 ;
  627. CPACIER = PROG 446. 486. 524. 564. 621. 701. 805. ;
  628. ROACIER = PROG 7758. 7756. 7752. 7750. 7746.7 7743. 7740. ;
  629.  
  630.  
  631. *** Conducibilite Thermique ACIER
  632. EVOCDST = EVOL MANU
  633. 'T' PROGTAc
  634. 'K' LAMACIER ;
  635.  
  636. *** On n'utilise pas ces valeurs
  637. *** Chaleur specifique ACIER
  638. EVOCPST = EVOL MANU
  639. 'T' PROGTAc
  640. 'C' CPACIER ;
  641. *** DENSITE ACIER
  642. EVOROST = EVOL MANU
  643. 'T' PROGTAc
  644. 'RHO' ROACIER ;
  645.  
  646.  
  647. *
  648. *** HELIUM 8 MPA
  649. *
  650. *** ATTENTION: LES PROGRESSIONS DOIVENT AVOIR LA MEME LONGEUR
  651. *** ici les temperatures PROGTHe sont en degres CELSIUS
  652. PROGTHe = PROG 250. 260. 270. 280. 290. 300. 310. 320. 330. 340.
  653. 350. 360. 370. 380. 390. 400. 410. 420. 430. 440. 450.
  654. 460. 470. 480. 490. 500. 510. 520. 530. 540. 550. ;
  655. PROGRHO = PROG
  656. 7.2195 7.0872 6.9596 6.8365 6.7176 6.6029 6.4919 6.3847 6.2809 6.1804
  657. 6.0831 5.9888 5.8974 5.8087 5.7227 5.6391 5.5580 5.4791 5.4025 5.3280
  658. 5.2554 5.1849 5.1162 5.0493 4.9841 4.9206 4.8587 4.7983 4.7394 4.6819
  659. 4.6258 ;
  660.  
  661. PROGCP = PROG
  662. 5183.9 5184.2 5184.5 5184.8 5185.1 5185.4 5185.6 5185.9 5186.1 5186.3
  663. 5186.5 5186.7 5186.9 5187.1 5187.3 5187.4 5187.6 5187.7 5187.9 5188.0
  664. 5188.1 5188.3 5188.4 5188.5 5188.6 5188.7 5188.8 5188.9 5188.9 5189.0
  665. 5189.1 ;
  666.  
  667. PROGLAM = PROG
  668. 0.23121 0.23432 0.23741 0.24049 0.24354
  669. 0.24658 0.24960 0.25261 0.25560 0.25857
  670. 0.26152 0.26446 0.26738 0.27029 0.27318
  671. 0.27606 0.27892 0.28176 0.28460 0.28741
  672. 0.29022 0.29300 0.29578 0.29854 0.30129
  673. 0.30402 0.30675 0.30946 0.31215 0.31484 0.31751;
  674.  
  675. PROGMU = PROG
  676. 2.86840E-05 2.90485E-05 2.94108E-05 2.97711E-05 3.01293E-05
  677. 3.04856E-05 3.08401E-05 3.11927E-05 3.15435E-05 3.18927E-05
  678. 3.22402E-05 3.25862E-05 3.29307E-05 3.32737E-05 3.36154E-05
  679. 3.39557E-05 3.42947E-05 3.46325E-05 3.49691E-05 3.53045E-05
  680. 3.56389E-05 3.59722E-05 3.63046E-05 3.66360E-05 3.69664E-05
  681. 3.72960E-05 3.76248E-05 3.79527E-05 3.82799E-05 3.86064E-05
  682. 3.89322E-05;
  683.  
  684. EVOROHE = EVOL MANU 'T' PROGTHe 'RHO' PROGRHO;
  685. EVOCPHE = EVOL MANU 'T' PROGTHe 'CP' PROGCP;
  686. EVOMUHE = EVOL MANU 'T' PROGTHe 'MU' PROGMU;
  687. EVOLAMHE = EVOL MANU 'T' PROGTHe 'LAM' PROGLAM;
  688.  
  689.  
  690. *** helium : la procedure PTH_HE8 sort ro mu lambda cp
  691. *** acier : la procedure PTH_ACI sort ro lambda cp
  692.  
  693.  
  694. ****************************************************************
  695. *** IDENTIFICATION DES SURFACES D ECHANGE
  696. ****************************************************************
  697.  
  698.  
  699. XMIN = MINI (COOR 1 VFW);
  700. ELXMIN = ELEM (ENVE VFW) APPUYE
  701. (POINT VFW PLAN
  702. (XMIN 0. 0.)
  703. (XMIN 1. 0.)
  704. (XMIN 0. 1.));
  705.  
  706. CTUBES = CCON (CONT ELXMIN);
  707.  
  708. * SIN1 = CTUBES . 2;
  709. * SIN2 = CTUBES . 6;
  710. *bp2016 : on ne sait pas a priori comment range CCON
  711. pSIN1 = 0.0000 7.66500E-02 -1.6490 ;
  712. pSIN2 = 0.0000 1.09500E-02 -1.10000E-02;
  713. repe bccon (DIME CTUBES);
  714. SIN1t = CTUBES . &bccon;
  715. n1t = NBEL SIN1t;
  716. si (n1t ega 20);
  717. p1t = BARY SIN1t;
  718. x1 = norm (p1t moin pSIN1);
  719. x2 = norm (p1t moin pSIN2);
  720. mess &bccon ': ' x1 x2;
  721. si (x1 < 1.E-4); isin1 = &bccon; finsi;
  722. si (x2 < 1.E-4); isin2 = &bccon; finsi;
  723. finsi;
  724. fin bccon;
  725. SIN1 = CTUBES . isin1;
  726. SIN2 = CTUBES . isin2;
  727.  
  728. EXPTUBES = CCON (DIFF (ENVE VFW) ELXMIN);
  729.  
  730. list EXPTUBES ;
  731.  
  732.  
  733. * SCONV1 = EXPTUBES . 2;
  734. * SCONV2 = EXPTUBES . 3;
  735. pconv1 = 0.28682 6.57000E-02 -0.77540;
  736. pconv2 = 0.28682 2.19000E-02 -0.88460;
  737. repe bccon (DIME EXPTUBES);
  738. SCONV1t = EXPTUBES . &bccon;
  739. n1t = NBEL SCONV1t;
  740. * p1t = BARY SCONV1t;
  741. * MESS &bccon ' : ' n1t (coor p1t 1) (coor p1t 2) (coor p1t 3);
  742. * 2 : 600 0.28682 6.57000E-02 -0.77540
  743. * 3 : 600 0.28682 2.19000E-02 -0.88460
  744. si (n1t ega 600);
  745. p1t = BARY SCONV1t;
  746. x1 = norm (p1t moin pconv1);
  747. x2 = norm (p1t moin pconv2);
  748. mess &bccon ': ' x1 x2;
  749. si (x1 < 1.E-4); iconv1 = &bccon; finsi;
  750. si (x2 < 1.E-4); iconv2 = &bccon; finsi;
  751. finsi;
  752. fin bccon;
  753. SCONV1 = EXPTUBES . iconv1;
  754. SCONV2 = EXPTUBES . iconv2;
  755.  
  756.  
  757. ****************************************************************
  758. *** PARTITIONNEMENT DES SURFACES D ECHANGE
  759. ****************************************************************
  760.  
  761.  
  762. TUBE1 = TABLE;
  763. TUBE2 = TABLE;
  764.  
  765. TUBE1 . 'G' = GTUBE;
  766. TUBE1 . 'PM' = PMOUL;
  767. TUBE1 . 'DH' = DIAM;
  768. TUBE1 . 'RHO' = EVOROHE;
  769. TUBE1 . 'LAM' = EVOLAMHE;
  770. TUBE1 . 'CP' = EVOCPHE;
  771. TUBE1 . 'MU' = EVOMUHE;
  772.  
  773. TUBE2 . 'G' = GTUBE;
  774. TUBE2 . 'PM' = PMOUL;
  775. TUBE2 . 'DH' = DIAM;
  776. TUBE2 . 'RHO' = EVOROHE;
  777. TUBE2 . 'LAM' = EVOLAMHE;
  778. TUBE2 . 'CP' = EVOCPHE;
  779. TUBE2 . 'MU' = EVOMUHE;
  780.  
  781. Spass1 = TUBE1 . 'PM' * TUBE1 . 'DH' / 4. ;
  782. Spass2 = TUBE2 . 'PM' * TUBE2 . 'DH' / 4. ;
  783.  
  784.  
  785. TUBE1 . SIN = SIN1;
  786. TUBE2 . SIN = SIN2;
  787. TUBE1 . SURFCONV = SCONV1;
  788. TUBE2 . SURFCONV = SCONV2;
  789.  
  790. *** Flux de chaleur sur la FW
  791. YMAX = MAXI (COOR 2 VFW);
  792. YMIN = MINI (COOR 2 VFW);
  793.  
  794. ELYMIN = ELEM (ENVE VFW) APPUYE
  795. (POINT VFW PLAN
  796. (0. YMIN 0.)
  797. (1. YMIN 0.)
  798. (0. YMIN 1.) );
  799.  
  800. ELYMAX = ELEM (ENVE VFW) APPUYE
  801. (POINT VFW PLAN
  802. (0. YMAX 0.)
  803. (1. YMAX 0.)
  804. (0. YMAX 1.) );
  805.  
  806. ENVEXT = DIFF (ENVE VFW)
  807. (ELYMAX et ELYMIN et ELXMIN et
  808. TUBE1 . SURFCONV et TUBE2 . SURFCONV);
  809.  
  810. * SFW2 = (CCON ENVEXT) . 2;
  811. * SFW1 = (CCON ENVEXT) . 1;
  812. psfw1 = 0.28310 4.38000E-02 -0.83000;
  813. psfw2 = 0.29199 4.38000E-02 -0.83000;
  814. ENVCCON = CCON ENVEXT;
  815. repe bccon (DIME ENVCCON);
  816. sfw1t = ENVCCON . &bccon;
  817. n1t = NBEL sfw1t;
  818. p1t = BARY sfw1t;
  819. * MESS &bccon ' : ' n1t (coor p1t 1) (coor p1t 2) (coor p1t 3);
  820. x1 = norm (p1t moin psfw1);
  821. x2 = norm (p1t moin psfw2);
  822. mess &bccon ': ' x1 x2;
  823. si (x1 < 1.E-4); isfw1 = &bccon; finsi;
  824. si (x2 < 1.E-4); isfw2 = &bccon; finsi;
  825. fin bccon;
  826. SFW2 = ENVCCON . isfw2;
  827. SFW1 = ENVCCON . isfw1;
  828.  
  829. ZMAX = MAXI (COOR 3 SFW2);
  830. ELSIDE = ELEM SFW2 APPUYE
  831. (POINT SFW2 PLAN
  832. (0. 0. ZMAX)
  833. (1. 0. ZMAX)
  834. (0. 1. ZMAX) 0.0001);
  835.  
  836. XMAX = MAXI (COOR 1 ELSIDE);
  837. SPLSM = ELEM SFW2 APPUYE
  838. (POINT (COOR 1 SFW2) EGSUPE (XMAX - 0.0001));
  839.  
  840. xmil ymil zmil = coor splsm ;
  841. pmil = ( maxi xmil ) (0.5 * ((mini ymil) + ( maxi ymil)))
  842. (0.5 * ((mini zmil ) + ( maxi zmil))) ;
  843.  
  844. ZMAX = MAXI (COOR 3 SFW1);
  845. ELSIDE = ELEM SFW1 APPUYE
  846. (POINT SFW1 PLAN
  847. (0. 0. ZMAX)
  848. (1. 0. ZMAX)
  849. (0. 1. ZMAX) 0.0001);
  850.  
  851. XMAX = MAXI (COOR 1 ELSIDE);
  852. SBZ = ELEM SFW1 APPUYE
  853. (POINT (COOR 1 SFW1) EGSUPE (XMAX - 0.0001));
  854.  
  855. W_SPLSM = F_SPLSM * ( mesu SPLSM ) ;
  856. W_SBZ = F_SBZ * ( mesu SBZ ) ;
  857.  
  858. XTT YTT ZTT = COOR VFW ;
  859. decx = 2. * (( MAXI XTT ) - ( MINI XTT )) ;
  860. decy = 2. * (( MAXI YTT ) - ( MINI YTT )) ;
  861.  
  862. PARTSURF TUBE1 ;
  863. FLUI1D_2 TUBE1 decx decy 1.0 Spass1 ;
  864.  
  865. PARTSURF TUBE2;
  866. FLUI1D_2 TUBE2 decx decy 1.1 Spass2 ;
  867.  
  868.  
  869.  
  870. sc1 = tube1.surfconv ;
  871. sc2 = tube2.surfconv ;
  872.  
  873. *trac cach ( vfw et tube1.mtflu et tube2.mtflu ) ;
  874.  
  875.  
  876. elim epselim ( tube1.baflu et tube1.mtflu et sc1 ) ;
  877. pelim1 = '*' ('**' ('/' ('MESURE' tube1.mtflu) ('NBEL' tube1.mtflu))
  878. ('/' 1.D0 ('VALEUR' 'DIME'))) 1.D-3 ;
  879.  
  880. 'ELIMINATION' (sc1 et VFW ) pelim1 ;
  881. 'ELIMINATION' (tube1.baflu et tube1.mtflu ) pelim1 ;
  882.  
  883. elim epselim ( tube2.baflu et tube2.mtflu et sc2 ) ;
  884. pelim2 = '*' ('**' ('/' ('MESURE' tube2.mtflu) ('NBEL' tube2.mtflu))
  885. ('/' 1.D0 ('VALEUR' 'DIME'))) 1.D-3 ;
  886.  
  887. 'ELIMINATION' (sc2 et VFW ) pelim2 ;
  888. 'ELIMINATION' (tube2.baflu et tube2.mtflu ) pelim2 ;
  889.  
  890. *** On va construire le chpoint des produits scalaires de la normale
  891. *** a la face SPLSM et le vecteur unitaire i (1. 0. 0. ), egal au cosinus
  892. *** de la normale et du vecteur i, pour ponderer le flux impose et
  893. *** faire en sorte que sa direction soit donc constante. On cree un
  894. *** nouveau maillage SPLSM2 oriente vers l'exterieur. _SPLSM2 et $SPLSM2
  895. *** sont respectivement les elements QUAF et le modele Navier-Stokes
  896. *** correspondant.
  897. *** Idem avec la face SBZ
  898.  
  899. *** On va multiplier ce produit scalaire par le flux impose.
  900.  
  901. ListXm = prog ;
  902. repe x ( nbno splsm ) ;
  903. ListXm = ListXm et ( prog 1. 0. 0. ) ;
  904. fin x ;
  905. splsm = inve ( orie SPLSM 'POINT' ( 0. 0. 0. )) ;
  906. SBZ = inve ( orie SBZ 'POINT' ( 0. 0. 0. )) ;
  907. CHPx1 = MANU 'CHPO' splsm
  908. ('MOTS' 'UX' 'UY' 'UZ') ListXm ;
  909. CHPx2 = MANU 'CHPO' sbz
  910. ('MOTS' 'UX' 'UY' 'UZ') ListXm ;
  911.  
  912. *** Generation des QUAFs
  913. *** --------------------
  914. _baflu1 = 'CHANGER' tube1.baflu 'QUAF' ;
  915. _mtflu1 = 'CHANGER' tube1.mtflu 'QUAF' ;
  916. _Clim1 = 'CHANGER' sc1 'QUAF' ;
  917. _VFW = 'CHANGER' VFW 'QUAF' ;
  918.  
  919. _baflu2 = 'CHANGER' tube2.baflu 'QUAF' ;
  920. _mtflu2 = 'CHANGER' tube2.mtflu 'QUAF' ;
  921. _Clim2 = 'CHANGER' sc2 'QUAF' ;
  922. _SPLSM = 'CHANGER' SPLSM 'QUAF' ;
  923. _SBZ = 'CHANGER' SBZ 'QUAF' ;
  924.  
  925.  
  926. 'TEMPS' 'ZERO' ;
  927. cfc1 mcf1 mfc1 = matcon0 ( tube1 . fac0 ) ( tube1 . ele0 ) ;
  928.  
  929. *** Elimination des points doubles
  930. *** ------------------------------
  931. 'ELIMINATION' ( _baflu1 'ET' _mtflu1 'ET' cfc1 ) pelim1 ;
  932. 'ELIMINATION' ( _Clim1 'ET' _VFW 'ET' cfc1 ) pelim1 ;
  933.  
  934. mscal = 'MOTS' 'SCAL' ;
  935. 'OPTI' 'INCO' mscal mscal ;
  936. mcf1 = 'CHANGER' mcf1 'INCO' ('MOTS' 'T') ('MOTS' 'SCAL')
  937. ('MOTS' 'Q') ('MOTS' 'SCAL') ;
  938. mfc1 = 'CHANGER' mfc1 'INCO' ('MOTS' 'T') ('MOTS' 'SCAL')
  939. ('MOTS' 'Q') ('MOTS' 'SCAL') ;
  940.  
  941. cfc2 mcf2 mfc2 = matcon0 ( tube2 . fac0 ) ( tube2 . ele0 ) ;
  942.  
  943.  
  944.  
  945.  
  946. *** Elimination des points doubles
  947. *** ------------------------------
  948. 'ELIMINATION' ( _baflu2 'ET' _mtflu2 'ET' cfc2 ) pelim2 ;
  949. 'ELIMINATION' ( _Clim2 'ET' _VFW 'ET' cfc2 ) pelim2 ;
  950.  
  951. mcf2 = 'CHANGER' mcf2 'INCO' ('MOTS' 'T') ('MOTS' 'SCAL')
  952. ('MOTS' 'Q') ('MOTS' 'SCAL') ;
  953. mfc2 = 'CHANGER' mfc2 'INCO' ('MOTS' 'T') ('MOTS' 'SCAL')
  954. ('MOTS' 'Q') ('MOTS' 'SCAL') ;
  955. TCpu1 = tcpu9 0. ; comm temps ecoule ;
  956.  
  957.  
  958.  
  959. *** ***** Densite de puissance neutronique
  960. afw = 2.7116 ;
  961. bfw = 13.673 ;
  962. cfw = 3.3047 ;
  963. dfw = 5.425 ;
  964. FACTF = 0.78/0.75;
  965.  
  966.  
  967. Pr_Xfw = PROG 0. PAS 0.001 1 ;
  968. Pr_NWLfw = FACTF * ( (afw * (EXP ( -1. * bfw * Pr_Xfw))) +
  969. (cfw * (EXP ( -1. * dfw * Pr_Xfw)))
  970. );
  971. EVQfw = EVOL MANU 'XRAD' Pr_Xfw 'FW' Pr_NWLfw ;
  972. X_TOT = (COOR 1 VFW);
  973. NWP_fw = IPOL X_TOT Pr_Xfw Pr_NWLfw;
  974. NWP_fw = NWP_fw * 1.E6;
  975.  
  976.  
  977.  
  978. *** Recapitulatif
  979. *** -------------
  980. opti echo 0 ;
  981. Mess 'Recapitulatif : ' ;
  982. Mess '-------------' ;
  983.  
  984. SI ( EGA MetInv 'DIRECT' ) ;
  985. Mess 'Methode d inversion directe, robuste mais lente' ;
  986. SINON ;
  987. 'Methode d inversion iterative, moins robuste mais plus rapide';
  988. FINSI ;
  989.  
  990. SI EchColb ;
  991. MESS 'Loi echange turbulent COLBURN' ;
  992. SINON ;
  993. MESS 'Loi echange turbulent Gnielinski' ;
  994. FINSI ;
  995.  
  996. SI (non complet) ;
  997. MESS 'Calcul test avec ' nb_bouc ' iterations' ;
  998. SINON ;
  999. MESS 'Calcul nominal avec ' nb_bouc ' iterations' ;
  1000. FINSI ;
  1001.  
  1002. *gounand opti echo 1 ;
  1003.  
  1004. ***********************************************************
  1005. * *
  1006. *** PREPARATION DU CALCUL *
  1007. * *
  1008. ***********************************************************
  1009. *
  1010. *** Modeles Navier-Stokes
  1011. *** ---------------------
  1012.  
  1013. $baflu1 = 'MODELISER' _baflu1 'NAVIER_STOKES' discr ;
  1014. $mtflu1 = 'MODELISER' _mtflu1 'NAVIER_STOKES' discr ;
  1015. $Clim1 = 'MODELISER' _Clim1 'NAVIER_STOKES' discr ;
  1016. $baflu2 = 'MODELISER' _baflu2 'NAVIER_STOKES' discr ;
  1017. $mtflu2 = 'MODELISER' _mtflu2 'NAVIER_STOKES' discr ;
  1018. $Clim2 = 'MODELISER' _Clim2 'NAVIER_STOKES' discr ;
  1019. $VFW = 'MODELISER' _VFW 'NAVIER_STOKES' discr ;
  1020. $SPLSM = 'MODELISER' _SPLSM 'NAVIER_STOKES' discr ;
  1021. $SBZ = 'MODELISER' _SBZ 'NAVIER_STOKES' discr ;
  1022.  
  1023.  
  1024. FSPLSM9 = F_SPLSM * ( PSCA ( doma $SPLSM NORMALEV )
  1025. CHPx1 ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ')) ;
  1026. FSBZ9 = F_SBZ * ( PSCA ( doma $SBZ NORMALEV )
  1027. CHPx2 ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ')) ;
  1028.  
  1029. trac cach FSPLSM9 splsm titr 'flux impose sur face SPLSM - W/m2' ;
  1030. trac cach FSBZ9 sbz titr 'flux impose sur face SBZ - W/m2' ;
  1031.  
  1032.  
  1033. NWP_fwe = NOEL $VFW NWP_fw ; comm sources ;
  1034. VoSol = ( maxi ( resu ( DOMA $VFW 'VOLUME' ))) ;
  1035. SouSol = ( maxi ( resu NWP_fw )) ;
  1036.  
  1037.  
  1038.  
  1039. *** Initialisation des tables pour les calculs Thermiques structures et fluides
  1040.  
  1041. rvsol = 'EQEX' 'ITMA' 1 'NITER' nitr1 'FIDT' 1000 'OMEGA' omgr1 ;
  1042.  
  1043. rvsol = 'EQEX' rvsol
  1044. 'OPTI' 'EF' 'IMPL'
  1045. 'ZONE' $VFW 'OPER' 'LAPN' 'Lacier' 'INCO' 'TSOL'
  1046. 'ZONE' $Clim1 'OPER' 'ECHI' 'H1' 'T1' 'INCO' 'TSOL' 'TSOL'
  1047. 'ZONE' $Clim2 'OPER' 'ECHI' 'H2' 'T2' 'INCO' 'TSOL' 'TSOL'
  1048. ;
  1049.  
  1050.  
  1051. rvsol = 'EQEX' rvsol
  1052. 'OPTI' 'EF' 'IMPL'
  1053. 'ZONE' $VFW 'OPER' 'FIMP' 'Soursol' 'INCO' 'TSOL'
  1054. 'ZONE' $SPLSM 'OPER' 'FIMP' FSPLSM9 'INCO' 'TSOL'
  1055. 'ZONE' $SBZ 'OPER' 'FIMP' FSBZ9 'INCO' 'TSOL'
  1056. ;
  1057.  
  1058. rvsol . 'METHINV' . 'TYPINV' = IndInv ;
  1059.  
  1060. *** Dans l'eau
  1061.  
  1062. rvflu = 'EQEX' 'ITMA' 1 'NITER' 1 'FIDT' 1000 ;
  1063. rvflu = 'EQEX' rvflu
  1064. 'OPTI' 'EF' 'IMPL' 'CENTREE' 'NOCONS'
  1065. 'ZONE' $mtflu1 'OPER' 'KONV' 'RCPFLU1' 'UFLU1' 'LFLU1' 'INCO' 'TFLU'
  1066. 'ZONE' $mtflu2 'OPER' 'KONV' 'RCPFLU2' 'UFLU2' 'LFLU2' 'INCO' 'TFLU'
  1067. ;
  1068.  
  1069. rvflu = 'EQEX' rvflu
  1070. 'OPTI' 'EF' 'IMPL'
  1071. 'ZONE' $mtflu1 'OPER' 'LAPN' 'LFLU1' 'INCO' 'TFLU'
  1072. 'ZONE' $mtflu1 'OPER' 'FIMP' 'PFLU1' 'INCO' 'TFLU'
  1073. 'ZONE' $mtflu2 'OPER' 'LAPN' 'LFLU2' 'INCO' 'TFLU'
  1074. 'ZONE' $mtflu2 'OPER' 'FIMP' 'PFLU2' 'INCO' 'TFLU'
  1075. ;
  1076.  
  1077.  
  1078. *** Conditions aux limites en temperature lames d'eau
  1079.  
  1080. rvflu = 'EQEX' rvflu
  1081. 'CLIM' 'TFLU' 'TIMP' ('DOMA' $baflu1 'MAILLAGE') TFLUek
  1082. 'CLIM' 'TFLU' 'TIMP' ('DOMA' $baflu2 'MAILLAGE') TFLUek
  1083. ;
  1084.  
  1085. *** Initialisation de toutes les variables avant le calcul
  1086.  
  1087. rvi = 'TABLE' 'INCO' ;
  1088. rvsol . 'INCO' = rvi ;
  1089. rvflu . 'INCO' = rvi ;
  1090. rvi . 'TSOL' = 'KCHT' $VFW 'SCAL' 'SOMMET' TFLUek ;
  1091.  
  1092. LamAci = ( pth_aci TFLUek ) . 'LAMS' ;
  1093.  
  1094. rvi . 'Lacier' = 'KCHT' $VFW 'SCAL' 'CENTRE' LamAci ;
  1095. rvi . 'Soursol' = 'KCHT' $VFW 'SCAL' 'CENTRE' NWP_fwe ;
  1096.  
  1097.  
  1098. rvi . 'T1' = 'KCHT' $Clim1 'SCAL' 'CENTRE' 0.D0 ;
  1099. rvi . 'F1' = 'KCHT' $Clim1 'SCAL' 'CENTRE' 0.D0 ;
  1100. rvi . 'H1' = 'KCHT' $Clim1 'SCAL' 'CENTRE' 0.D0 ;
  1101. rvi . 'T2' = 'KCHT' $Clim2 'SCAL' 'CENTRE' 0.D0 ;
  1102. rvi . 'F2' = 'KCHT' $Clim2 'SCAL' 'CENTRE' 0.D0 ;
  1103. rvi . 'H2' = 'KCHT' $Clim2 'SCAL' 'CENTRE' 0.D0 ;
  1104.  
  1105. rvi . 'TFLU' = 'KCHT' ( $mtflu1 et $mtflu2 ) 'SCAL' 'SOMMET' TFLUek ;
  1106. rvi . 'PFLU1'= 'KCHT' $mtflu1 'SCAL' 'CENTRE' 0.D0 ;
  1107. rvi . 'PFLU2'= 'KCHT' $mtflu2 'SCAL' 'CENTRE' 0.D0 ;
  1108.  
  1109. *** Copy of the fields to do the convergence check :
  1110. thep = 'COPIER' (rvi . 'TFLU') ;
  1111. tcbp = 'COPIER' (rvi . 'TSOL') ;
  1112.  
  1113. *** Initialisation des proprietes physiques de l'helium :
  1114. Rt_He8 = PTH_HE8 TFLUek ;
  1115. rflu = Rt_He8 . 'ROG' ;
  1116. muflu = Rt_He8 . 'MUG' ;
  1117. lflu = Rt_He8 . 'LAMG' ;
  1118. cpflu = Rt_He8 . 'CPG' ;
  1119.  
  1120. rvi . 'LFLU1' = 'KCHT' $mtflu1 'SCAL' 'CENTRE' lflu ;
  1121. rvi . 'RCPFLU1' = 'KCHT' $mtflu1 'SCAL' 'CENTRE' ('*' rflu cpflu) ;
  1122. rvi . 'LFLU2' = 'KCHT' $mtflu2 'SCAL' 'CENTRE' lflu ;
  1123. rvi . 'RCPFLU2' = 'KCHT' $mtflu2 'SCAL' 'CENTRE' ('*' rflu cpflu) ;
  1124.  
  1125.  
  1126. *** TUBEx . 'G' est un debit massique en kg/s
  1127. uflu1 = (( TUBE1 . 'G' / Spass1 ) / rflu) ;
  1128. uflu2 = (( TUBE2 . 'G' / Spass2 ) / rflu) ;
  1129. rvi . 'UFLU1' = 'KCHT' $mtflu1 'VECT' 'SOMMET' ( 0.D0 0.D0 uflu1 ) ;
  1130. rvi . 'UFLU2' = 'KCHT' $mtflu2 'VECT' 'SOMMET' ( 0.D0 0.D0 uflu2 ) ;
  1131.  
  1132. reyn6 = rflu * uflu1 * diam / muflu ;
  1133. mess diam reyn6 uflu1 ;
  1134.  
  1135.  
  1136.  
  1137.  
  1138. ****************************************************************************
  1139. *** BOUCLE DE CALCUL *
  1140. *** *
  1141. ****************************************************************************
  1142.  
  1143. 'TEMPS' 'ZERO' ;
  1144.  
  1145. 'REPETER' bouc nb_bouc ;
  1146.  
  1147. MESS' 1) Calcul de la Tre moy dans les fluides' ;
  1148. tmyflu1 = 'NOEL' $mtflu1 (rvi . 'TFLU') ;
  1149. t_flu1 = ( REDU (rvi . 'TFLU') tube1.mtflu ) ;
  1150. tmyflu2 = 'NOEL' $mtflu2 (rvi . 'TFLU') ;
  1151. t_flu2 = ( REDU (rvi . 'TFLU') tube2.mtflu ) ;
  1152.  
  1153. 'MESSAGE' 'Maxi Tre moy fluide 1 (degres C) : '
  1154. ('-' ('MAXIMUM' tmyflu1) CK) ;
  1155. 'MESSAGE' 'Maxi Tre moy fluide 2 (degres C) : '
  1156. ('-' ('MAXIMUM' tmyflu2) CK) ;
  1157. chpobor 'Tre fluide 1 mini & maxi en C ' ( t_flu1 - CK );
  1158. chpobor 'Tre fluide 2 mini & maxi en C ' ( t_flu2 - CK );
  1159.  
  1160.  
  1161. MESS '* 2) Transfert sur l interface';
  1162. tmtif1 = '*' mcf1 tmyflu1 ;
  1163. tmtif2 = '*' mcf2 tmyflu2 ;
  1164. rvi . 'T1' = 'KCHT' $clim1 'SCAL' 'CENTRE' tmtif1 ;
  1165. rvi . 'T2' = 'KCHT' $clim2 'SCAL' 'CENTRE' tmtif2 ;
  1166. chpobor 'Tre interface 1 (Celsius )' (( rvi . 'T1' ) - CK ) ;
  1167. chpobor 'Tre interface 2 (Celsius )' (( rvi . 'T2' ) - CK ) ;
  1168.  
  1169. MESS ' 3) Calcul du coefficient d echange a l interface ' ;
  1170. *** 3) Calcul du coefficient d'echange a l'interface
  1171. *** et des proprietes physiques du solide
  1172. *** a partir des temperatures a l'instant precedent.
  1173. *** Temperature de melange
  1174. tm1 = rvi . 'T1' ;
  1175. tm2 = rvi . 'T2' ;
  1176. *** Temperature a la paroi
  1177. tp1 = 'NOEL' $clim1 (rvi . 'TSOL') ;
  1178. tp2 = 'NOEL' $clim2 (rvi . 'TSOL') ;
  1179. *** Temperature de film
  1180. tfi1 = '*' ('+' tm1 tp1) 0.5D0 ;
  1181. tfi2 = '*' ('+' tm2 tp2) 0.5D0 ;
  1182. pptfil1 = PTH_HE8 tfi1 ;
  1183. mufil1 = pptfil1 . 'MUG' ;
  1184. lfil1 = pptfil1 . 'LAMG';
  1185. cpfil1 = pptfil1 . 'CPG' ;
  1186. pptfil2 = PTH_HE8 tfi2 ;
  1187. mufil2 = pptfil2 . 'MUG' ;
  1188. lfil2 = pptfil2 . 'LAMG';
  1189. cpfil2 = pptfil2 . 'CPG' ;
  1190. pranfil1 = '*' ('*' mufil1 cpfil1) ('INVERSE' lfil1) ;
  1191. pranfil2 = '*' ('*' mufil2 cpfil2) ('INVERSE' lfil2) ;
  1192.  
  1193.  
  1194. SI ( EGA &bouc 1 ) ;
  1195. *** Calcul des nombres de Reynolds a partir de la temperature fluide (une fois)
  1196. opti echo 0 ;
  1197.  
  1198. pptfil9 = PTH_HE8 ( mini t_flu1 ) ;
  1199. rofil9 = pptfil9 . 'ROG' ;
  1200. mufil9 = pptfil9 . 'MUG' ;
  1201. lfil9 = pptfil9 . 'LAMG';
  1202. cpfil9 = pptfil9 . 'CPG' ;
  1203. Reflu1 = ( ( TUBE1 . 'G' ) * ( TUBE1 . 'DH' ) / Spass1 ) / mufil9 ;
  1204.  
  1205. pptfil9 = PTH_HE8 ( mini t_flu2 ) ;
  1206. rofil9 = pptfil9 . 'ROG' ;
  1207. mufil9 = pptfil9 . 'MUG' ;
  1208. lfil9 = pptfil9 . 'LAMG';
  1209. cpfil9 = pptfil9 . 'CPG' ;
  1210. Reflu2 = ( ( TUBE2 . 'G' ) * ( TUBE2 . 'DH' ) / Spass2 ) / mufil9 ;
  1211. Mess 'Nb de Reynolds ' ;
  1212. chpobor 'interne fluide 1 ' Reflu1 ;
  1213. chpobor 'interne fluide 2 ' Reflu2 ;
  1214.  
  1215. SI ( Reflu1 > seuilam ) ;
  1216. RegEcoM.1 = RTUR ;
  1217. SINON ;
  1218. RegEcoM.1 = RLAM ;
  1219. FINSI ;
  1220.  
  1221. SI ( Reflu2 > seuilam ) ;
  1222. RegEcoM.2 = RTUR ;
  1223. SINON ;
  1224. RegEcoM.2 = RLAM ;
  1225. FINSI ;
  1226.  
  1227. *gounand opti echo 1 ;
  1228. FINSI ; comm Calcul des nombres de Reynolds ;
  1229.  
  1230. SI ( EGA RegEcoM.1 RTUR ) ; comm fluide UN ;
  1231.  
  1232. SI EchColb ;
  1233. *** Colburn
  1234. nuss1 = A_colb '*' ('**' Reflu1 B_colb)
  1235. '*' ('**' pranfil1 C_colb) ;
  1236. SINON ;
  1237.  
  1238. *** Gnielinski
  1239. ReyGnie = Reflu1 - 1000. ;
  1240. ReyLogG = LOG Reflu1 ;
  1241.  
  1242. K_gnie = A_gnie * (LOG (Reflu1 /
  1243. (( B_gnie * ReyLogG ) + C_gnie ))) ;
  1244. F_frot = 0.5 / ( K_gnie ** 2. ) ;
  1245. F_frot2 = F_frot ** 0.5 ;
  1246.  
  1247. chpobor 'Reyn - 1000. ' ReyGnie ;
  1248. chpobor 'coeff frott ' ( 2. * F_frot );
  1249.  
  1250. PrGnie = ((pranfil1 ** s_23 ) - 1. ) ;
  1251. chpobor 'Pr**2/3 - 1 ' PrGnie ;
  1252. nuss1 = F_frot * pranfil1 * ReyGnie /
  1253. ( 1. + (12.7 * F_frot2 * PrGnie )) ;
  1254. FINSI ;
  1255.  
  1256. SINON ;
  1257. nuss1 = Nusslam ;
  1258. nuss2 = Nusslam ;
  1259. FINSI ;
  1260.  
  1261. SI ( EGA RegEcoM.1 RTUR ) ; comm fluide DEUX ;
  1262.  
  1263. SI EchColb ;
  1264. *** Colburn
  1265. nuss2 = A_colb '*' ('**' Reflu2 B_colb)
  1266. '*' ('**' pranfil2 C_colb) ;
  1267. SINON ;
  1268.  
  1269. *** Gnielinski
  1270. ReyGnie = Reflu2 - 1000. ;
  1271. ReyLogG = LOG Reflu2 ;
  1272.  
  1273. K_gnie = A_gnie * (LOG (Reflu2 /
  1274. (( B_gnie * ReyLogG ) + C_gnie ))) ;
  1275. F_frot = 0.5 / ( K_gnie ** 2. ) ;
  1276. F_frot2 = F_frot ** 0.5 ;
  1277.  
  1278. chpobor 'Reyn - 1000. ' ReyGnie ;
  1279. chpobor 'coeff frott ' ( 2. * F_frot );
  1280.  
  1281. PrGnie = ((pranfil2 ** s_23 ) - 1. ) ;
  1282. chpobor 'Pr**2/3 - 1 ' PrGnie ;
  1283. nuss2 = F_frot * pranfil2 * ReyGnie /
  1284. ( 1. + (12.7 * F_frot2 * PrGnie )) ;
  1285. FINSI ;
  1286.  
  1287. SINON ;
  1288. nuss1 = Nusslam ;
  1289. nuss2 = Nusslam ;
  1290. FINSI ;
  1291.  
  1292. mess 'regime fluide 1 : ' RegEcoM.1 ;
  1293. mess 'regime fluide 2 : ' RegEcoM.2 ;
  1294.  
  1295. *** Coefficients d'echange
  1296. cech1 = nuss1 * lfil1 / ( TUBE1 . 'DH' ) ;
  1297. cech2 = nuss2 * lfil2 / ( TUBE2 . 'DH' ) ;
  1298.  
  1299.  
  1300. mess 'Diametres hydrauliques' ;
  1301. chpobor 'fluide 1 ' ( TUBE1 . 'DH' ) ;
  1302. chpobor 'fluide 2 ' ( TUBE2 . 'DH' ) ;
  1303.  
  1304. mess 'Conductivites ' ;
  1305. chpobor 'fluide 1 ' lfil1 ;
  1306. chpobor 'fluide 2 ' lfil2 ;
  1307.  
  1308. mess 'Nb de Prandtl ' ;
  1309. chpobor 'fluide 1 ' pranfil1;
  1310. chpobor 'fluide 2 ' pranfil2;
  1311.  
  1312. mess 'Nb de Nusselt ' ;
  1313. chpobor 'fluide 1 ' nuss1;
  1314. chpobor 'fluide 2 ' nuss2;
  1315.  
  1316. rvi . 'H1' = 'KCHT' $clim1 'SCAL' 'CENTRE' cech1 ;
  1317. rvi . 'H2' = 'KCHT' $clim2 'SCAL' 'CENTRE' cech2 ;
  1318. chpobor 'champ rvi echange 1 ' ( rvi . 'H1' ) ;
  1319. chpobor 'champ rvi echange 2 ' ( rvi . 'H2' ) ;
  1320.  
  1321. *** Proprietes physiques du solide
  1322. tinter9 = 'NOEL' $VFW (rvi . 'TSOL') ;
  1323. lcb = ( pth_aci tinter9 ) . 'LAMS' ;
  1324. rvi . 'Lacier' = 'KCHT' $VFW 'SCAL' 'CENTRE' lcb ;
  1325.  
  1326.  
  1327. '3bis) Activation des sources internes dans structures (en W/m3)' ;
  1328. *** 3bis) Activation des sources internes dans les des structures (en W/m3)
  1329. *** Commentaires :
  1330. *** Comme lors de l'initialisation : on calcule la masse volumique de
  1331. *** chaque corps a partir de la temperature. Puis on en deduit les
  1332. *** puissances des sources internes.
  1333.  
  1334.  
  1335.  
  1336. MESS ' 4) Resolution de la thermique dans les structures ' ;
  1337. *** 4) Resolution de la thermique dans les structures
  1338. EXEC rvsol ;
  1339. opti echo 0 ;
  1340. chpobor 'temperatures solides mini & maxi en Celsius (apres rvsol)'
  1341. (( rvi.tsol ) - CK ) ;
  1342. *gounand opti echo 1 ;
  1343.  
  1344.  
  1345. MESS ' 5) Calcul du flux de chaleur aux interfaces Solides/Fluides' ;
  1346. *** 5) Calcul du flux de chaleur aux interfaces Solides/Fluides
  1347.  
  1348. *** solide/Fluide 1
  1349. rvmdia1 = 'EQEX' 'OPTI' 'VF' 'IMPL'
  1350. 'ZONE' $clim1 'OPER' 'MDIA' 'H1' 'INCO' 'TSOL' 'F1' ;
  1351. rvmdia1 . 'INCO' = rvi ;
  1352. smdia1 mmdia1 = 'MDIA' (rvmdia1 . '1MDIA') ;
  1353. rvmdia2 = 'EQEX' 'OPTI' 'VF' 'IMPL'
  1354. 'ZONE' $clim1 'OPER' 'MDIA' 'H1' 'INCO' 'T1' 'F1' ;
  1355. rvmdia2 . 'INCO' = rvi ;
  1356. smdia2 mmdia2 = 'MDIA' (rvmdia2 . '1MDIA') ;
  1357. flx1 = 'NOMC' 'SCAL' ('-' ('KOPS' mmdia1 '*'
  1358. ('NOMC' 'TSOL' (rvi . 'TSOL')))
  1359. ('KOPS' mmdia2 '*'
  1360. ('NOMC' 'T1' (rvi . 'T1')))) ;
  1361. 'MESSAGE'
  1362. 'Flux integre sur interface solide/Fluide 1 (W) :'
  1363. ('MAXIMUM' ('RESULT' flx1)) ;
  1364.  
  1365. *** solide/Fluide 2
  1366. rvmdia1 = 'EQEX' 'OPTI' 'VF' 'IMPL'
  1367. 'ZONE' $clim2 'OPER' 'MDIA' 'H2' 'INCO' 'TSOL' 'F2' ;
  1368. rvmdia1 . 'INCO' = rvi ;
  1369. smdia1 mmdia1 = 'MDIA' (rvmdia1 . '1MDIA') ;
  1370. rvmdia2 = 'EQEX' 'OPTI' 'VF' 'IMPL'
  1371. 'ZONE' $clim2 'OPER' 'MDIA' 'H2' 'INCO' 'T2' 'F2' ;
  1372. rvmdia2 . 'INCO' = rvi ;
  1373. smdia2 mmdia2 = 'MDIA' (rvmdia2 . '1MDIA') ;
  1374. flx2 = 'NOMC' 'SCAL' ('-' ('KOPS' mmdia1 '*'
  1375. ('NOMC' 'TSOL' (rvi . 'TSOL')))
  1376. ('KOPS' mmdia2 '*'
  1377. ('NOMC' 'T2' (rvi . 'T2')))) ;
  1378. 'MESSAGE'
  1379. 'Flux integre sur interface solide/Fluide 2 (W) :'
  1380. ('MAXIMUM' ('RESULT' flx2)) ;
  1381.  
  1382.  
  1383. *** 6) Transfert en une puissance volumique dans le fluide
  1384. rvi . 'F1' = flx1 ; comm fluide un ;
  1385. pflx1 = '*' mfc1 flx1 ;
  1386. rvi . 'PFLU1' = 'KCHT' $mtflu1 'SCAL' 'CENTRE' pflx1 ;
  1387. mess 'Puissance volumique fournie au fluide 1 : ' ;
  1388. chpobor 'interface fluide 1 tube solide ' pflx1 ;
  1389. chpobor ( rvi . 'PFLU1' ) ;
  1390. rvi . 'F2' = flx2 ; comm fluide deux ;
  1391. pflx2 = '*' mfc2 flx2 ;
  1392. rvi . 'PFLU2' = 'KCHT' $mtflu2 'SCAL' 'CENTRE' pflx2 ;
  1393. mess 'Puissance volumique fournie au fluide 2 : ' ;
  1394. chpobor 'interface fluide 2 tube solide ' pflx2 ;
  1395. chpobor ( rvi . 'PFLU2' ) ;
  1396.  
  1397. MESS '6bis) Activation des sources internes dans le fluide (en W/m3)' ;
  1398. *** 6bis) Activation des sources internes dans le fluide (en W/m3)
  1399. *** Commentaires :
  1400. *** Comme lors de l'initialisation : on calcule la masse volumique de
  1401. *** chaque corps a partir de la temperature. Puis on en deduit les
  1402. *** puissances des sources internes.
  1403.  
  1404.  
  1405. MESS ' 7) Calcul des proprietes physiques fluide ' ;
  1406. *** 7) Calcul des proprietes physiques fluide
  1407. *** a partir des variables a l'instant precedent.
  1408. ***
  1409. *** Fluide 1 :
  1410. dmtflu1 = DOMA $mtflu1 'MAILLAGE' ;
  1411. Tflus = REDU dmtflu1 (rvi . 'TFLU') ;
  1412. Tfluc = 'NOEL' $mtflu1 (rvi . 'TFLU') ;
  1413.  
  1414. ppthe8s = PTH_HE8 Tflus ;
  1415. ppthe8c = PTH_HE8 Tfluc ;
  1416. rhes = ppthe8s . 'ROG' ;
  1417. muhes = ppthe8s . 'MUG' ;
  1418. lhes = ppthe8s . 'LAMG' ;
  1419. cphes = ppthe8s . 'CPG' ;
  1420. rhec = ppthe8c . 'ROG' ;
  1421. muhec = ppthe8c . 'MUG' ;
  1422. lhec = ppthe8c . 'LAMG' ;
  1423. cphec = ppthe8c . 'CPG' ;
  1424.  
  1425. uflu1s = ELNO $mtflu1 (KOPS ( TUBE1 . 'G' / Spass1) / rhec) ;
  1426. uflu1s = NOMC 'UZ' uflu1s ;
  1427. rvi . 'RCPFLU1' = 'KCHT' $mtflu1 'SCAL' 'CENTRE' ('*' rhec cphec) ;
  1428. rvi . 'LFLU1' = 'KCHT' $mtflu1 'SCAL' 'CENTRE' lhec ;
  1429. rvi . 'UFLU1' = 'KCHT' $mtflu1 'VECT' 'SOMMET' uflu1s ;
  1430.  
  1431. fb1 = (exco uz (rvi . 'UFLU1')) ;
  1432. chpobor 'rvi . uflu1 : ' fb1 ;
  1433.  
  1434. *** Fluide 2 :
  1435. dmtflu2 = DOMA $mtflu2 'MAILLAGE' ;
  1436. Tflus = REDU dmtflu2 (rvi . 'TFLU') ;
  1437. Tfluc = 'NOEL' $mtflu2 (rvi . 'TFLU') ;
  1438.  
  1439. ppthe8s = PTH_HE8 Tflus ;
  1440. ppthe8c = PTH_HE8 Tfluc ;
  1441. rhes = ppthe8s . 'ROG' ;
  1442. muhes = ppthe8s . 'MUG' ;
  1443. lhes = ppthe8s . 'LAMG' ;
  1444. cphes = ppthe8s . 'CPG' ;
  1445. rhec = ppthe8c . 'ROG' ;
  1446. muhec = ppthe8c . 'MUG' ;
  1447. lhec = ppthe8c . 'LAMG' ;
  1448. cphec = ppthe8c . 'CPG' ;
  1449.  
  1450. uflu2s = ELNO $mtflu2 (KOPS ( TUBE2 . 'G' / Spass2) / rhec) ;
  1451. uflu2s = NOMC 'UZ' uflu2s ;
  1452. rvi . 'RCPFLU2' = 'KCHT' $mtflu2 'SCAL' 'CENTRE' ('*' rhec cphec) ;
  1453. rvi . 'LFLU2' = 'KCHT' $mtflu2 'SCAL' 'CENTRE' lhec ;
  1454. rvi . 'UFLU2' = 'KCHT' $mtflu2 'VECT' 'SOMMET' uflu2s ;
  1455.  
  1456. fb2 = (exco uz (rvi . 'UFLU2')) ;
  1457. chpobor 'rvi . uflu2 : ' fb2 ;
  1458.  
  1459.  
  1460. MESS ' 8) Calcul de la temperature dans l eau' ;
  1461. *** 8) Calcul de la temperature dans l'eau
  1462. EXEC rvflu ;
  1463. chpobor 'temperature fluide (Celsius) : ' ((rvi . 'TFLU') - CK );
  1464.  
  1465. *** Convergence :
  1466. then = 'COPIER' (rvi . 'TFLU') ;
  1467. tcbn = 'COPIER' (rvi . 'TSOL') ;
  1468. errhe = '/' ('MAXIMUM' ('-' then thep) 'ABS')
  1469. ('MAXIMUM' thep 'ABS') ;
  1470. errcb = '/' ('MAXIMUM' ('-' tcbn tcbp) 'ABS')
  1471. ('MAXIMUM' tcbp 'ABS') ;
  1472. 'MESSAGE' ('CHAINE' 'Iteration ' &bouc) ;
  1473. 'MESSAGE' ('CHAINE' ' errhe = ' errhe) ;
  1474. 'MESSAGE' ('CHAINE' ' errcb = ' errcb) ;
  1475. thep = then ;
  1476. tcbp = tcbn ;
  1477. testcvg = 'ET' (errhe '<' 1.D-4) (errcb '<' 1.D-4) ;
  1478. 'SI' testcvg ;
  1479. maxiter = faux ;
  1480. 'QUITTER' bouc ;
  1481. 'FINSI' ;
  1482.  
  1483. fin bouc ;
  1484.  
  1485. TCpu2 = tcpu9 0. ;
  1486.  
  1487.  
  1488. ************************************************************************
  1489. *** **------------ FIN DU CALCUL ------------------------------********
  1490. ************************************************************************
  1491.  
  1492.  
  1493.  
  1494. ***********************************************************************
  1495. *** POST TRAITEMENT SOMMAIRE
  1496. ***********************************************************************
  1497.  
  1498.  
  1499. *** Calcul des Temperatures et les vitesses
  1500. *** ---------------------------------------
  1501. tk = rvi.tsol ; comm temperatures solides en K ;
  1502. tc = tk - ck ; comm temperatures solides en C ;
  1503. t_tn = rvsol . 'INCO' . 'TSOL' ;
  1504.  
  1505. TsoliC = (rvi . 'TSOL') - CK ;
  1506. TfluiC = (rvi . 'TFLU') - CK ;
  1507.  
  1508. *** Verification des bilans de puissance
  1509. Wsolid = 'MAXIMUM' ('RESULT'(( rvi . 'Soursol' ) *
  1510. ( 'DOMA' $VFW 'VOLUME' ))) ;
  1511.  
  1512. opti echo 0 ;
  1513.  
  1514. Ecform 'Diametre passage fluide 1 '
  1515. '(F5.3)' 'm' ( TUBE1 . 'DH' ) ;
  1516. Ecform 'Diametre passage fluide 2 '
  1517. '(F5.3)' 'm' ( TUBE2 . 'DH' ) ;
  1518.  
  1519. Ecform 'Surface de passage fluide 1 '
  1520. '(E12.5)' 'm2' Spass1 ;
  1521. Ecform 'Surface de passage fluide 2 '
  1522. '(E12.5)' 'm2' Spass2 ;
  1523.  
  1524. Ecform 'Debit massique fluide 1 '
  1525. '(F5.2)' 'kg/s' ( TUBE1 . 'G' ) ;
  1526. Ecform 'Debit massique fluide 2 '
  1527. '(F5.2)' 'kg/s' ( TUBE2 . 'G' ) ;
  1528.  
  1529.  
  1530. Ecform 'Volume solide '
  1531. '(E12.5)' 'm3' VoSol ;
  1532.  
  1533. Ecform 'Densite de puissance interne '
  1534. '(E12.5)' 'W/m3' Sousol ;
  1535. chpobor 'X_TOT (pour sources) : ' X_TOT ;
  1536.  
  1537. Ecform 'Puissance surfacique plasma '
  1538. '(E12.5)' 'W' W_SPLSM ;
  1539. Ecform 'Puissance surfacique interne '
  1540. '(E12.5)' 'W' W_SBZ ;
  1541. WsolTot = Wsolid + W_SPLSM + W_SBZ ;
  1542. WfluTot = ('MAXIMUM' ('RESULT' flx1)) + ('MAXIMUM' ('RESULT' flx2)) ;
  1543.  
  1544. Chpobor 'Coefficient echange fluide 1 (W/m2.K) ' Cech1 ;
  1545. Chpobor 'Coefficient echange fluide 2 (W/m2.K) ' Cech2 ;
  1546.  
  1547. ecform
  1548. 'Flux interface solide/Fluide 1 '
  1549. '(E12.5)' 'W' ('MAXIMUM' ('RESULT' flx1)) ;
  1550. ecform
  1551. 'Flux interface solide/Fluide 2 '
  1552. '(E12.5)' 'W' ('MAXIMUM' ('RESULT' flx2)) ;
  1553.  
  1554. ecform
  1555. 'Puissance totale solide '
  1556. '(E12.5)' 'W' WsolTot ;
  1557.  
  1558. ecform
  1559. 'Puissance totale fluide '
  1560. '(E12.5)' 'W' WfluTot ;
  1561.  
  1562. chpobor 'temperatures solides min & max (Celsius) '
  1563. ((redu ( rvi . 'TSOL' ) VFW) - CK ) ;
  1564.  
  1565. chpobor 'temp. fluides min & max (Celsius) fluide 1 '
  1566. ((redu ( rvi . 'TFLU' ) tube1.mtflu ) - CK ) ;
  1567. chpobor 'temp. fluides min & max (Celsius) fluide 2 '
  1568. ((redu ( rvi . 'TFLU' ) tube2.mtflu ) - CK ) ;
  1569.  
  1570.  
  1571. si complet ;
  1572. opti echo 1 ;
  1573. sinon ;
  1574. opti echo 0 ;
  1575. finsi ;
  1576.  
  1577. si complet ;
  1578.  
  1579. *** Evolution fluide 1
  1580. *** ------------------
  1581. tfc9 = redu TfluiC tube1.mtflu ;
  1582. tfc9c = noel $mtflu1 tfc9 ;
  1583. mtfc9c = doma $mtflu1 centre ;
  1584. repe x (nbno mtfc9c ) ;
  1585. pt = mtfc9c point &x ;
  1586. val89 = coor 3 pt ;
  1587. wal89 = extr tfc9c scal pt ;
  1588. si ( ega &x 1 ) ;
  1589. dqqc = val89 ;
  1590. drrc = wal89 ;
  1591. sinon ;
  1592. dqqc = dqqc et val89 ;
  1593. drrc = drrc et wal89 ;
  1594. finsi ;
  1595. fin x ;
  1596. mindqqc = mini dqqc ;
  1597. ndqqc = dime dqqc ;
  1598. dqqc = dqqc - ( prog ndqqc * mindqqc ) ;
  1599. evtfint1 = evol manu 'Z' dqqc drrc ;
  1600.  
  1601. *** Evolution fluide 2
  1602. *** ------------------
  1603. tfc9 = redu TfluiC tube2.mtflu ;
  1604. tfc9c = noel $mtflu2 tfc9 ;
  1605. mtfc9c = doma $mtflu2 centre ;
  1606. repe x (nbno mtfc9c ) ;
  1607. pt = mtfc9c point &x ;
  1608. val89 = coor 3 pt ;
  1609. wal89 = extr tfc9c scal pt ;
  1610. si ( ega &x 1 ) ;
  1611. dqqc = val89 ;
  1612. drrc = wal89 ;
  1613. sinon ;
  1614. dqqc = dqqc et val89 ;
  1615. drrc = drrc et wal89 ;
  1616. finsi ;
  1617. fin x ;
  1618. mindqqc = mini dqqc ;
  1619. ndqqc = dime dqqc ;
  1620. dqqc = dqqc - ( prog ndqqc * mindqqc ) ;
  1621. evtfint2 = evol manu 'Z' dqqc drrc ;
  1622. *** Chercher les abscisses curvilignes
  1623.  
  1624. trac cach TsoliC VFW titr 'Temperature solide' ;
  1625. trac cach TsoliC sc1 titr 'Temperature interface solide-fluide 1' ;
  1626. trac cach TsoliC sc2 titr 'Temperature interface solide-fluide 2' ;
  1627. trac cach TfluiC tube1.mtflu titr 'Temperature fluide 1' ;
  1628. trac cach TfluiC tube2.mtflu titr 'Temperature fluide 2' ;
  1629. trac TfluiC ( tube1.mtflu et tube2.mtflu )
  1630. titr 'Temperatures fluides 1 et 2 ' ;
  1631. dess ( evtfint1 et evtfint2 ) mima
  1632. titr 'Temperatures fluides 1 et 2 vs abscisse curviligne' ;
  1633. dess EVQfw mima titr 'sources' ;
  1634.  
  1635. factech = 2. ;
  1636.  
  1637. loupe oeil TsoliC VFW
  1638. 'Temperature solide' factech 0. ;
  1639. loupe oeil TsoliC sc1
  1640. 'Temperature interface solide-fluide 1' factech ;
  1641. loupe oeil TsoliC sc2
  1642. 'Temperature interface solide-fluide 2' factech ;
  1643. loupe oeil TfluiC tube1.mtflu
  1644. 'Temperature fluide 1' factech 5. ;
  1645. loupe oeil TfluiC tube2.mtflu
  1646. 'Temperature fluide 2' factech 5. ;
  1647. loupe oeil TfluiC ( tube1.mtflu et tube2.mtflu )
  1648. 'Temperatures fluides 1 et 2' factech 0. ;
  1649.  
  1650. finsi ;
  1651. ************************************************************************
  1652. ****************FIN DU POST-TRAITEMENT SOMMAIRE*************************
  1653. ************************************************************************
  1654.  
  1655. 'TEMPS' 'ZERO' ;
  1656.  
  1657. chpvide matvide = 'KOPS' 'MATRIK' ;
  1658. rvsol . METHINV.'MATASS'=matvide;
  1659. rvsol . METHINV.'MAPREC'=matvide;
  1660. rvflu . METHINV.'MATASS'=matvide;
  1661. rvflu . METHINV.'MAPREC'=matvide;
  1662. menage;
  1663. TCpu3 = tcpu9 0. ;
  1664.  
  1665. opti echo 0 ;
  1666. mess 'Duree calcul matrices des connectivites : ' TCpu1 ;
  1667. mess 'Duree calcul iteratif : ' TCpu2 ;
  1668. mess 'Duree menage : ' TCpu3 ;
  1669. opti echo 1 ;
  1670.  
  1671. FIN ;
  1672.  
  1673.  
  1674.  

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