Télécharger couplage_TH1D_Th3D_2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : couplage_TH1D_Th3D_2.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************************
  5. * NOM : couplage_TH1D_Th3D_2.dgibi
  6. * DESCRIPTION :
  7. *
  8. * Voir rapport DM2S/SFME/LTMF/RT/03-012/B
  9. * Modélisation couplée thermique 3D-thermohydraulique 1D d'un coeur de
  10. * réacteur à caloporteur gaz.
  11. *
  12. *
  13. *
  14. * LANGAGE : GIBIANE-CAST3M
  15. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  16. * mél : gounand@semt2.smts.cea.fr
  17. **********************************************************************
  18. * VERSION : v1, 29/04/2003, version initiale
  19. * HISTORIQUE : v1, 29/04/2003, création
  20. * HISTORIQUE :
  21. * HISTORIQUE :
  22. ************************************************************************
  23. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  24. * en cas de modification de ce sous-programme afin de faciliter
  25. * la maintenance !
  26. ************************************************************************
  27. *
  28. * interact = VRAI : pour une utilisation interactive
  29. * graph = VRAI : pour tracer des choses
  30. * irrad = VRAI : si le combustible est irradié
  31. * pvar = VRAI : si la puissance dégagée dans le combustible à un
  32. * profil sinusoïdale (en fonction de z)
  33. * discr = LINE ou QUAF : discrétisation linéaire (suffisante)
  34. * ou quadratique
  35. interact= FAUX ;
  36. graph = FAUX ;
  37. irrad = VRAI ;
  38. pvar = VRAI ;
  39. discr = 'LINE' ;
  40. *discr = 'QUAF' ;
  41. ************************************************************************
  42. *
  43. * Début des procédures
  44. *
  45. 'OPTION' 'ECHO' 0 ;
  46. * NOM : ERRREL
  47. * DESCRIPTION : Calcul d'une erreur relative
  48. 'DEBPROC' ERRREL ;
  49. 'ARGUMENT' val*'FLOTTANT' ;
  50. 'ARGUMENT' valref*'FLOTTANT' ;
  51. *
  52. 'SI' ('<' ('ABS' valref) 1.D-10) ;
  53. echref = 1.D0 ;
  54. 'SINON' ;
  55. echref = valref ;
  56. 'FINSI' ;
  57. *
  58. errabs = 'ABS' ('/' ('-' val valref) echref);
  59. *
  60. 'RESPRO' errabs ;
  61. 'FINPROC' ;
  62. * NOM : TRACCHPO
  63. * DESCRIPTION : Tracé d'un chpoint avec titre optionnel.
  64. 'DEBPROC' TRACCHPO ;
  65. 'ARGUMENT' pn*'CHPOINT ' ;
  66. 'ARGUMENT' mt*'MAILLAGE' ;
  67. 'ARGUMENT' mt2/'MAILLAGE' ;
  68. 'ARGUMENT' oeil/'POINT ' ;
  69. 'ARGUMENT' tit/'MOT ' ;
  70. 'SI' ('EXISTE' tit) ;
  71. titpn = 'CHAINE' 'FORMAT' formflot tit titglob ;
  72. 'SINON' ;
  73. titpn = 'CHAINE' 'FORMAT' formflot titglob ;
  74. 'FINSI' ;
  75. rescal = pn ;
  76. 'SI' ('EXISTE' oeil) ;
  77. 'SI' ('EXISTE' mt2) ;
  78. 'TRACER' 'CACH' oeil rescal mt mt2 'TITR' titpn nbisov ;
  79. 'SINON' ;
  80. 'TRACER' 'CACH' oeil rescal mt mt 'TITR' titpn nbisov ;
  81. 'FINSI' ;
  82. 'SINON' ;
  83. 'SI' ('EXISTE' mt2) ;
  84. 'TRACER' 'CACH' rescal mt mt2 'TITR' titpn nbisov ;
  85. 'SINON' ;
  86. 'TRACER' 'CACH' rescal mt mt 'TITR' titpn nbisov ;
  87. 'FINSI' ;
  88. 'FINSI' ;
  89. 'FINPROC' ;
  90. * NOM : TRACCHML
  91. * DESCRIPTION : Trace un CHPOINT défini sur les centres des éléments
  92. * (valeur constante par élément) avec titre optionnel
  93. 'DEBPROC' TRACCHML ;
  94. 'ARGUMENT' chml*'CHPOINT ' ;
  95. 'ARGUMENT' $mt*'MMODEL ' ;
  96. 'ARGUMENT' mt2/'MAILLAGE' ;
  97. 'ARGUMENT' oeil/'POINT ' ;
  98. 'ARGUMENT' tit/'MOT ' ;
  99. 'SI' ('EXISTE' tit) ;
  100. titpn = 'CHAINE' 'FORMAT' formflot tit titglob ;
  101. 'SINON' ;
  102. titpn = 'CHAINE' 'FORMAT' formflot titglob ;
  103. 'FINSI' ;
  104. rescal = 'KCHA' $mt chml 'CHAM' ;
  105. modbid = 'MODELISER' ('DOMA' $mt 'MAILLAGE') 'THERMIQUE' ;
  106. 'SI' ('EXISTE' oeil) ;
  107. 'SI' ('EXISTE' mt2) ;
  108. 'TRACER' 'CACH' oeil rescal modbid mt2 'TITR' titpn nbisov ;
  109. 'SINON' ;
  110. 'TRACER' 'CACH' oeil rescal modbid mt 'TITR' titpn nbisov ;
  111. 'FINSI' ;
  112. 'SINON' ;
  113. 'SI' ('EXISTE' mt2) ;
  114. 'TRACER' 'CACH' rescal modbid mt2 'TITR' titpn nbisov ;
  115. 'SINON' ;
  116. 'TRACER' 'CACH' rescal modbid mt 'TITR' titpn nbisov ;
  117. 'FINSI' ;
  118. 'FINSI' ;
  119. 'FINPROC' ;
  120. * NOM : PRPHE
  121. * Proprietes thermiques de l Helium 4
  122. * Input : PTOT : pression en Pa ou en bars
  123. * T ou TS : temperature sous forme de CHPOINT ou FLOTTANT
  124. *
  125. * Output : RHOHE : densite de l helium (USI) de meme type que T ou TS
  126. * MUHE : viscosite
  127. * LHE : conductivite thermique
  128. * CPHE : capacité calorifique a pression constante
  129. 'DEBPROC' PRPHE PTOT*'FLOTTANT' T/'CHPOINT' TS/'FLOTTANT' ;
  130. PREF = 101325. ;
  131. 'SI' ('&lt;EG' PTOT PREF) ;
  132. P = PTOT '*' PREF ;
  133. 'FINSI' ;
  134. RHE = 2077.22 ;
  135. CPHE = 5193. ;
  136. C1 = 9.489433E-04 ;
  137. C2 = 9.528079E-04 ;
  138. C3 = 3.420680E-02 ;
  139. C4 = 2.739470E-03 ;
  140. C5 = 9.409120E-04 ;
  141. 'SI' ('EXIST' T ) ;
  142. B = 'INVE' (T '*' C5 '+' 1.0) ;
  143. B = B '*' C4 '-' (( 'INVE' (T '*' C3 '-' 1.0)) '*' C2);
  144. B = B '+' C1 ;
  145. RHOHE = ('INVE' (T '*' RHE '+' (B '*' P))) '*' P ;
  146. MUHE = ( T '**' 0.687) '*' 3.953E-07 ;
  147. LHE = ( T '**' 0.701 ) '*' 2.774E-03 ;
  148. 'RESPROC' RHOHE MUHE LHE CPHE ;
  149. 'FINSI' ;
  150. 'SI' ('EXIST' TS ) ;
  151. B = 1.0 '/' (TS '*' C5 '+' 1.0) ;
  152. B = B '*' C4 '-' (C2 '/' (TS '*' C3 '-' 1.0)) ;
  153. B = B '+' C1 ;
  154. RHOHE = (P '/' (TS '*' RHE '+' (B '*' P)));
  155. MUHE = ( TS '**' 0.687) '*' 3.953E-07 ;
  156. LHE = ( TS '**' 0.701 ) '*' 2.774E-03 ;
  157. 'RESPROC' RHOHE MUHE LHE CPHE ;
  158. 'FINSI' ;
  159. 'FINPROC' ;
  160. * NOM : PRPCB
  161. * Conductivité thermique d'un combustible CerCer
  162. * Input : T ou TS : temperature sous forme de CHPOINT ou FLOTTANT
  163. * (en K)
  164. * Domaine de validité : 500 a 1300 degres C
  165. * PORO : Porosité de taille contrôlée
  166. * BETA : Coefficient pour la prise en compte de la porosité
  167. * dans la loi de Maxwell-Eucken
  168. * IRRAD : Combustible irradié ou pas ?
  169. * Si irradié, on choisit un taux de combustion de 10 at%
  170. * pour le (U,PU)C et une température d'irradiation
  171. * égale à 1125°C pour le SiC .
  172. * FVOL : Fraction volumique d'inclusions (U,Pu)C
  173. * Le reste est de la matrice (SiC)
  174. * Output : LUPU : conductivité thermique du (U,Pu) de meme type que T
  175. * LSIC : conductivité thermique du Sic de meme type que T
  176. * LCB : conductivité thermique du combustible CerCer
  177. 'DEBPROC' PRPCB PORO*'FLOTTANT' BETA*'FLOTTANT'
  178. IRRAD*'LOGIQUE' FVOL*'FLOTTANT'
  179. T/'CHPOINT' TS/'FLOTTANT' ;
  180. * (U,Pu)C
  181. C1 = 12.76D0 ;
  182. C2 = 8.71D-3 ;
  183. C3 = -1.88D-6 ;
  184. * SiC
  185. A = 42.58D0 ;
  186. B = -1.5564D4 ;
  187. C = 1.2977D7 ;
  188. D = -1.8458D9 ;
  189. * SiC irradié
  190. E = 3.91112D-2 ;
  191. F = 2.24732D-3 ;
  192. TIRRADC = 1125.D0 ;
  193. 'SI' ('EXISTE' T) ;
  194. TC = '-' T 273.15D0 ;
  195. TC2 = '**' TC 2 ;
  196. * (U,Pu)C non irradie et 100% dense
  197. LUPU1 = '+' ('+' ('*' TC C2) ('*' TC2 C3))
  198. C1 ;
  199. * (U,Pu)C non irradie poreux
  200. CPOR = '/' ('-' 1.D0 PORO) ('+' 1.D0 ('*' BETA PORO)) ;
  201. LUPU2 = '*' LUPU1 CPOR ;
  202. * (U,Pu)C irradie poreux
  203. 'SI' IRRAD ;
  204. CIRRAD = ('-' 1.D0 ('*' 0.02D0 10.D0)) ;
  205. LUPU = '*' LUPU2 CIRRAD ;
  206. 'SINON' ;
  207. LUPU = LUPU2 ;
  208. 'FINSI' ;
  209. * SiC non irradie et 100% dense
  210. IT = 'INVERSE' T ;
  211. IT2 = '**' IT 2 ;
  212. IT3 = '*' IT2 IT ;
  213. LSIC1 = '+' ('+' ('*' IT B)
  214. ('+' ('*' IT2 C) ('*' IT3 D)))
  215. A ;
  216. * SiC irradie
  217. 'SI' IRRAD ;
  218. CIRRAD = '*' ('EXP' ('*' TIRRADC F))
  219. E ;
  220. LSIC = '*' LSIC1 CIRRAD ;
  221. 'SINON' ;
  222. LSIC = LSIC1 ;
  223. 'FINSI' ;
  224. * CerCer
  225. LMAT = LSIC ;
  226. LINCL = LUPU ;
  227. LMAT2 = '*' LMAT 2.D0 ;
  228. LMI = '-' LMAT LINCL ;
  229. NUMER = '+' LINCL
  230. ('+' LMAT2
  231. ('*' LMI ('*' -2.D0 FVOL))) ;
  232. DENOM = '+' LINCL
  233. ('+' LMAT2
  234. ('*' LMI FVOL)) ;
  235. LCB = '*' LMAT ('*' NUMER ('INVERSE' DENOM)) ;
  236. 'RESPROC' LUPU LSIC LCB ;
  237. 'FINSI' ;
  238. 'SI' ('EXISTE' TS) ;
  239. TSC = '-' TS 273.15D0 ;
  240. TSC2 = '**' TSC 2 ;
  241. * (U,Pu)C non irradie et 100% dense
  242. LUPU1 = '+' ('+' ('*' TSC C2) ('*' TSC2 C3))
  243. C1 ;
  244. * (U,Pu)C non irradie poreux
  245. CPOR = '/' ('-' 1.D0 PORO) ('+' 1.D0 ('*' BETA PORO)) ;
  246. LUPU2 = '*' LUPU1 CPOR ;
  247. * (U,Pu)C irradie poreux
  248. 'SI' IRRAD ;
  249. CIRRAD = ('-' 1.D0 ('*' 0.02D0 10.D0)) ;
  250. LUPU = '*' LUPU2 CIRRAD ;
  251. 'SINON' ;
  252. LUPU = LUPU2 ;
  253. 'FINSI' ;
  254. * SiC non irradie et 100% dense
  255. ITS = '/' 1.D0 TS ;
  256. ITS2 = '**' ITS 2 ;
  257. ITS3 = '*' ITS2 ITS ;
  258. LSIC1 = '+' ('+' ('*' ITS B)
  259. ('+' ('*' ITS2 C) ('*' ITS3 D)))
  260. A ;
  261. * SiC irradie
  262. 'SI' IRRAD ;
  263. CIRRAD = '*' ('EXP' ('*' TIRRADC F))
  264. E ;
  265. LSIC = '*' LSIC1 CIRRAD ;
  266. 'SINON' ;
  267. LSIC = LSIC1 ;
  268. 'FINSI' ;
  269. * CerCer
  270. LMAT = LSIC ;
  271. LINCL = LUPU ;
  272. LMAT2 = '*' LMAT 2.D0 ;
  273. LMI = '-' LMAT LINCL ;
  274. NUMER = '+' LINCL
  275. ('+' LMAT2
  276. ('*' LMI ('*' -2.D0 FVOL))) ;
  277. DENOM = '+' LINCL
  278. ('+' LMAT2
  279. ('*' LMI FVOL)) ;
  280. LCB = '*' LMAT ('*' NUMER ('/' 1.D0 DENOM)) ;
  281. 'RESPROC' LUPU LSIC LCB ;
  282. 'FINSI' ;
  283. 'FINPROC' ;
  284. * NOM : CALCUL
  285. * DESCRIPTION : Boucle de calcul
  286. * bouche = VRAI si le canal d'helium central est bouche
  287. * = FAUX sinon
  288. 'DEBPROC' CALCUL ;
  289. 'ARGUMENT' bouche*'LOGIQUE ' ;
  290. *
  291. * Puissance volumique dans le combustible
  292. *
  293. voltot = haut '*' pas '*' pas '*' t30 '*' 0.5D0 ;
  294. volcb = 'MAXIMUM' ('RESULT' ('DOMA' $mtcb 'VOLUME')) ;
  295. pmoy = '*' pvol ('/' voltot volcb) ;
  296. 'SI' ('NON' pvar) ;
  297. pcb = pmoy ;
  298. 'SINON' ;
  299. gamma = 1.5D0 ;
  300. raddeg = '/' 180.D0 PI ;
  301. zcb = 'COORDONNEE' 3 ('DOMA' $mtcb 'CENTRE') ;
  302. zmoy = '/' haut 2.D0 ;
  303. zcb = '+' zcb ('*' zmoy -1.D0) ;
  304. pmax = '*' pmoy ('/' gamma ('SIN' ('*' raddeg gamma))) ;
  305. fccos = '/' (2.D0 '*' gamma '*' raddeg) haut ;
  306. pcb1 = '*' ('COS' ('*' zcb fccos)) pmax ;
  307. chvol = 'DOMA' $mtcb 'VOLUME' ;
  308. puis1 = 'MAXIMUM' ('RESULT' ('*' chvol pmoy)) ;
  309. puis2 = 'MAXIMUM' ('RESULT' ('*' chvol pcb1)) ;
  310. 'SI' ('NON' ('EGA' puis1 puis2 ('*' 0.01 ('ABS' puis2)))) ;
  311. 'MESSAGE' ('CHAINE' 'puis1 = ' puis1 ) ;
  312. 'MESSAGE' ('CHAINE' 'puis2 = ' puis2 ) ;
  313. 'ERREUR' 'Les deux puissances devraient etre a peu pres egales' ;
  314. 'FINSI' ;
  315. * Correction
  316. facor = '/' puis1 puis2 ;
  317. pcb2 = '*' pcb1 facor ;
  318. pcb = 'KCHT' $mtcb 'SCAL' 'CENTRE' pcb2 ;
  319. 'FINSI' ;
  320. *
  321. * Débit d'hélium
  322. *
  323. qhe = qhenom ;
  324. 'MESSAGE' ('CHAINE' 'Débit=' qhe ' kg.m-2.s-1') ;
  325. *
  326. * Initialisation des tables pour les calculs thermiques
  327. * dans le combustible et dans l'hélium
  328. *
  329. rvcb = 'EQEX' 'ITMA' 1 'NITER' 1 'FIDT' 1000 ;
  330. rvcb = 'EQEX' rvcb
  331. 'OPTI' 'EF' 'IMPL'
  332. 'ZONE' $mtcb 'OPER' 'LAPN' 'LCB' 'INCO' 'TCB'
  333. ;
  334. rvcb = 'EQEX' rvcb
  335. 'OPTI' 'EF' 'IMPL'
  336. 'ZONE' $mtcb 'OPER' 'FIMP' 'PCB' 'INCO' 'TCB'
  337. ;
  338. rvcb = 'EQEX' rvcb
  339. 'OPTI' 'EF' 'IMPL'
  340. 'ZONE' $mtif 'OPER' 'ECHI' 'H' 'T0' 'INCO' 'TCB' 'TCB'
  341. ;
  342. rvhe = 'EQEX' 'ITMA' 1 'NITER' 1 'FIDT' 1000 ;
  343. rvhe = 'EQEX' rvhe
  344. 'OPTI' 'EF' 'IMPL' 'CENTREE' 'NOCONS'
  345. 'ZONE' $mthe 'OPER' 'KONV' 'RCPHE' 'UHE' 'LHE' 'INCO' 'THE'
  346. ;
  347. rvhe = 'EQEX' rvhe
  348. 'OPTI' 'EF' 'IMPL'
  349. 'ZONE' $mthe 'OPER' 'LAPN' 'LHE' 'INCO' 'THE'
  350. ;
  351. rvhe = 'EQEX' rvhe
  352. 'OPTI' 'EF' 'IMPL'
  353. 'ZONE' $mthe 'OPER' 'FIMP' 'PHE' 'INCO' 'THE'
  354. ;
  355. rvhe = 'EQEX' rvhe
  356. 'CLIM' 'THE' 'TIMP' ('DOMA' $bahe 'MAILLAGE') theek ;
  357. rvi = 'TABLE' 'INCO' ;
  358. rvcb . 'INCO' = rvi ;
  359. rvhe . 'INCO' = rvi ;
  360. rvi . 'TCB' = 'KCHT' $mtcb 'SCAL' 'SOMMET' theek ;
  361. lupu lsic lcb = PRPCB por bet irrad fvo theek ;
  362. rvi . 'LCB' = 'KCHT' $mtcb 'SCAL' 'CENTRE' lcb ;
  363. rvi . 'PCB' = pcb ;
  364. rvi . 'T0' = 'KCHT' $mtif 'SCAL' 'CENTRE' 0.D0 ;
  365. rvi . 'F0' = 'KCHT' $mtif 'SCAL' 'CENTRE' 0.D0 ;
  366. rvi . 'H' = 'KCHT' $mtif 'SCAL' 'CENTRE' 0.D0 ;
  367. rvi . 'THE' = 'KCHT' $mthe 'SCAL' 'SOMMET' theek ;
  368. rvi . 'PHE' = 'KCHT' $mthe 'SCAL' 'CENTRE' 0.D0 ;
  369. *
  370. * Initialisation des propriétés physiques de l'hélium
  371. *
  372. rhe muhe lhe cphe = PRPHE prhe theek ;
  373. uhe = '/' qhe rhe ;
  374. rvi . 'RCPHE' = 'KCHT' $mthe 'SCAL' 'CENTRE' ('*' rhe cphe) ;
  375. rvi . 'LHE' = 'KCHT' $mthe 'SCAL' 'CENTRE' lhe ;
  376. rvi . 'UHE' = 'KCHT' $mthe 'VECT' 'SOMMET' (0.D0 0.D0 uhe) ;
  377. rvi . 'QHE' = qhe ;
  378. ***************************************
  379. *
  380. * BOUCLE DE CALCUL
  381. *
  382. ***************************************
  383. 'REPETER' bouc 10 ;
  384. * 1) Calcul de la température moyenne dans l'hélium
  385. tmoyhe = 'NOEL' $mthe (rvi . 'THE') ;
  386. 'MESSAGE' 'Maxi Temperature moyenne helium (degres C) : '
  387. ('-' ('MAXIMUM' tmoyhe) 273.15D0) ;
  388. * 2) Transfert sur l'interface
  389. tmtif = '*' mcf tmoyhe ;
  390. rvi . 'T0' = 'KCHT' $mtif 'SCAL' 'CENTRE' tmtif ;
  391. * 3) Calcul du coefficient d'échange à l'interface
  392. * et des propriétés physiques du combustible
  393. * à partir des températures à l'instant précédent.
  394. * Température de mélange
  395. tm = rvi . 'T0' ;
  396. * Température à la paroi
  397. tp = 'NOEL' $mtif (rvi . 'TCB') ;
  398. t0 = '*' ('+' tm tp) 0.5D0 ;
  399. * t0 = rvi . 'T0' ;
  400. rho0 mu0 l0 cp0 = PRPHE prhe t0 ;
  401. pran0 = '*' ('*' mu0 cp0) ('INVERSE' l0) ;
  402. reyn0 = '*' ('*' qhe diam) ('INVERSE' mu0) ;
  403. * Corrélation de Colburn
  404. nuss0 = 0.023 '*' ('**' reyn0 0.8D0)
  405. '*' ('**' pran0 ('/' 1.D0 3.D0)) ;
  406. h0 = '/' ('*' nuss0 l0) diam ;
  407. 'SI' (bouche) ;
  408. h0b = 'KCHT' $mtifb 'SCAL' 'CENTRE' h0 ;
  409. h0a = 'KCHT' $mtifa 'SCAL' 'CENTRE' 0.D0 ;
  410. rvi . 'H' = 'KCHT' $mtif 'SCAL' 'CENTRE' (h0a 'ET' h0b) ;
  411. 'SINON' ;
  412. rvi . 'H' = 'KCHT' $mtif 'SCAL' 'CENTRE' h0 ;
  413. 'FINSI' ;
  414. * Propriétés physiques du combustible
  415. tcbck = 'NOEL' $mtcb (rvi . 'TCB') ;
  416. lupu lsic lcb = PRPCB por bet irrad fvo tcbck ;
  417. rvi . 'LCB' = 'KCHT' $mtcb 'SCAL' 'CENTRE' lcb ;
  418. * 4) Résolution de la thermique dans le combustible
  419. EXEC rvcb ;
  420. * 5) Calcul du flux de chaleur à la surface du combustible
  421. rvmdia1 = 'EQEX' 'OPTI' 'VF' 'IMPL'
  422. 'ZONE' $mtif 'OPER' 'MDIA' 'H' 'INCO' 'TCB' 'F0' ;
  423. rvmdia1 . 'INCO' = rvi ;
  424. smdia1 mmdia1 = 'MDIA' (rvmdia1 . '1MDIA') ;
  425. rvmdia2 = 'EQEX' 'OPTI' 'VF' 'IMPL'
  426. 'ZONE' $mtif 'OPER' 'MDIA' 'H' 'INCO' 'T0' 'F0' ;
  427. rvmdia2 . 'INCO' = rvi ;
  428. smdia2 mmdia2 = 'MDIA' (rvmdia2 . '1MDIA') ;
  429. f0 = 'NOMC' 'SCAL' ('-' ('KOPS' mmdia1 '*'
  430. ('NOMC' 'TCB' (rvi . 'TCB')))
  431. ('KOPS' mmdia2 '*'
  432. ('NOMC' 'T0' (rvi . 'T0'))))
  433. ;
  434. 'MESSAGE' 'Flux integre sur la paroi (W) : '
  435. ('MAXIMUM' ('RESULT' f0)) ;
  436. * 6) Transfert en une puissance volumique dans l'hélium
  437. rvi . 'F0' = f0 ;
  438. phe = '*' mfc f0 ;
  439. rvi . 'PHE' = 'KCHT' $mthe 'SCAL' 'CENTRE' phe ;
  440. *
  441. * 7) Calcul des propriétés de physiques de l'hélium
  442. * a partir des propriétés à l'instant précédent.
  443. *
  444. theck = 'NOEL' $mthe (rvi . 'THE') ;
  445. thesk = rvi . 'THE' ;
  446. rhec muhec lhec cphec = PRPHE prhe theck ;
  447. rhes muhes lhes cphes = PRPHE prhe thesk ;
  448. uhes = 'NOMC' 'UZ' ('*' qhe ('INVERSE' rhes)) ;
  449. rvi . 'RCPHE' = 'KCHT' $mthe 'SCAL' 'CENTRE' ('*' rhec cphec) ;
  450. rvi . 'LHE' = 'KCHT' $mthe 'SCAL' 'CENTRE' lhec ;
  451. rvi . 'UHE' = 'KCHT' $mthe 'VECT' 'SOMMET' uhes ;
  452. * 8) Calcul de la température dans l'hélium
  453. EXEC rvhe ;
  454. 'FIN' bouc ;
  455. 'RESPRO' rvi ;
  456. *
  457. * End of procedure file CALCUL
  458. *
  459. 'FINPROC' ;
  460. *
  461. * Fin des procédures
  462. *
  463. ************************************************************************
  464. 'OPTION' 'ECHO' 1 ;
  465. 'TEMPS' 'ZERO' ;
  466. 'OPTION' 'DIME' 3 ;
  467. 'OPTION' 'ISOV' 'SULI' ;
  468. nbisov = 25 ;
  469. 'SI' ('NON' interact) ;
  470. 'OPTION' 'TRAC' 'PSC' ;
  471. 'OPTION' 'ECHO' 0 ;
  472. 'SINON' ;
  473. 'OPTION' 'TRAC' 'X' ;
  474. 'FINSI' ;
  475. formflot ='(1PE9.2)' ;
  476. ***************************************
  477. *
  478. * MAILLAGE
  479. *
  480. ***************************************
  481. * géométrie
  482. pas = 21.1D-3 ;
  483. diam = 16.5D-3 ;
  484. haut = 2.D0 ;
  485. *nbase = 10 ;
  486. *nhaut = 20 ;
  487. nbase = 7 ;
  488. nhaut = 15 ;
  489. *
  490. * Physique
  491. *
  492. * gaz
  493. prhe = 90.D0 ;
  494. * débit d'hélium (kg.m-2.s-1)
  495. qhenom = 210.D0 ;
  496. ** en K !
  497. theec = 480.D0 ;
  498. theek = '+' theec 273.15D0 ;
  499. *
  500. * Combustible
  501. *
  502. *
  503. * Porosité (15%) et coefficient beta (2)
  504. *
  505. por = 0.15D0 ;
  506. bet = 2.D0 ;
  507. *
  508. * Fraction volumique d'inclusions (U,Pu)C (70% pour
  509. * le combustible performant)
  510. *
  511. fvo = 0.7D0 ;
  512. *
  513. * Attention a la définition de la puissance volumique.
  514. * Ici, c'est la puissance totale dégagée par le combustible
  515. * divisée par le volume total (combustible+refroidissement)
  516. * Donc, il y a une correction pour avoir la puissance générée par unité
  517. * de volume de combustible (cf. variable pvol)
  518. *
  519. pvol = 1.D+8 ;
  520. titglob = 'CHAINE' ' ' ;
  521. 'SI' irrad ;
  522. titglob = 'CHAINE' titglob 'Cb irradie' ;
  523. 'SINON' ;
  524. titglob = 'CHAINE' titglob 'Cb neuf' ;
  525. 'FINSI' ;
  526. q = '/' pas 2.D0 ;
  527. R = '/' diam 2.D0 ;
  528. s30 = 'SIN' 30.D0 ;
  529. c30 = 'COS' 30.D0 ;
  530. t30 = '/' s30 c30 ;
  531. * longueurs de chaque ligne
  532. lcera = ('*' ('/' PI 6.D0) R) ;
  533. lcerb = ('*' ('/' PI 2.D0) R) ;
  534. lpdia = '-' pas diam ;
  535. lgdia = '-' ('/' pas c30) R ;
  536. lhex = '-' ('*' pas t30) R ;
  537. * On choisit comme échelle la plus petite des longueurs
  538. lbase = 'MINIMUM' ('PROG' lcera lcerb lpdia lgdia lhex) ;
  539. * On calcule les facteurs qui permettent d'avoir un maillage
  540. * a peu près régulier en longueurs
  541. fcera = '/' lcera lbase ;
  542. fcerb = '/' lcerb lbase ;
  543. fpdia = '/' lpdia lbase ;
  544. fgdia = '/' lgdia lbase ;
  545. fhex = '/' lhex lbase ;
  546. * maillage
  547. rbase = 'FLOTTANT' nbase ;
  548. ncera = '*' rbase fcera ;
  549. ncerb = '*' rbase fcerb ;
  550. nhex = '*' rbase fhex ;
  551. npdia = '*' rbase fpdia ;
  552. ngdia = '*' rbase fgdia ;
  553. *
  554. ncera = 'ENTIER' ('+' ncera 0.99D0) ;
  555. ncerb = 'ENTIER' ('+' ncerb 0.99D0) ;
  556. nhex = 'ENTIER' ('+' nhex 0.99D0) ;
  557. npdia = 'ENTIER' ('+' npdia 0.99D0) ;
  558. ngdia = 'ENTIER' ('+' ngdia 0.99D0) ;
  559. 'SI' ('EGA' discr 'LINE') ;
  560. 'OPTION' 'DIME' 2 'ELEM' 'QUA4' ;
  561. 'SINON' ;
  562. 'OPTION' 'DIME' 2 'ELEM' 'QUA8' ;
  563. 'FINSI' ;
  564. * définition des points pour le combustible
  565. p0 = 0.D0 0.D0 ;
  566. p1 = R 0.D0 ;
  567. p2 = ('-' pas R) 0.D0 ;
  568. p3 = pas 0.D0 ;
  569. p4 = pas R ;
  570. p5 = pas ('*' pas t30) ;
  571. p6 = ('*' R c30) ('*' R s30) ;
  572. * définition des lignes pour le combustible
  573. l1 = 'DROIT' npdia p1 p2 ;
  574. l2 = 'CERCLE' ncerb p2 p3 p4 ;
  575. l3 = 'DROIT' nhex p4 p5 ;
  576. l4 = 'DROIT' ngdia p5 p6 ;
  577. l5 = 'CERCLE' ncera p6 p0 p1 ;
  578. * définition des surfaces pour le combustible
  579. ctn = l1 'ET' l2 'ET' l3 'ET' l4 'ET' l5 ;
  580. stcb = 'SURFACE' ctn 'PLANE' ;
  581. * définition des points pour l'hélium (deux triangles isocèles de
  582. * surfaces égales aux secteurs circulaires)
  583. Rpa = '*' R ('**' ('/' PI 3.D0) 0.5D0) ;
  584. p7 = Rpa 0.D0 ;
  585. p8 = ('*' Rpa c30) ('*' Rpa s30) ;
  586. sthea = 'MANUEL' 'TRI3' p0 p7 p8 ;
  587. Rpb = '*' R ('**' ('/' PI 2.D0) 0.5D0) ;
  588. p9 = ('-' pas Rpb) 0.D0 ;
  589. p10 = pas Rpb ;
  590. stheb = 'MANUEL' 'TRI3' p9 p3 p10 ;
  591. 'SI' ('NON' ('EGA' discr 'LINE')) ;
  592. sthea = 'CHANGER' 'QUADRATIQUE' sthea ;
  593. stheb = 'CHANGER' 'QUADRATIQUE' stheb ;
  594. 'FINSI' ;
  595. *'TRACER' (stcb 'ET' sthea 'ET' stheb) ;
  596. *
  597. 'SI' ('EGA' discr 'LINE') ;
  598. 'OPTION' 'DIME' 3 'ELEM' 'CUB8' ;
  599. 'SINON' ;
  600. 'OPTION' 'DIME' 3 'ELEM' 'CU20' ;
  601. 'FINSI' ;
  602. hnh = '/' haut ('FLOTTANT' nhaut) ;
  603. vechau = 0.D0 0.D0 hnh ;
  604. * définition des éléments dans une hauteur élémentaire
  605. bahea = sthea ;
  606. baheb = stheb ;
  607. mthea1 = 'VOLUME' sthea 1 'TRAN' vechau ;
  608. mtheb1 = 'VOLUME' stheb 1 'TRAN' vechau ;
  609. mtifa1 = 'TRANSLATION' l5 1 vechau ;
  610. mtifb1 = 'TRANSLATION' l2 1 vechau ;
  611. mtcb1 = 'VOLUME' stcb 1 'TRAN' vechau ;
  612. mthea = mthea1 ;
  613. mtheb = mtheb1 ;
  614. mtifa = mtifa1 ;
  615. mtifb = mtifb1 ;
  616. mtcb = mtcb1 ;
  617. tabfac = 'TABLE' ;
  618. tabele = 'TABLE' ;
  619. icpt = 1 ;
  620. nmtifa1 = 'NBEL' mtifa1 ;
  621. 'REPETER' imtifa1 nmtifa1 ;
  622. lmtifa1 = 'ELEM' mtifa1 &imtifa1 ;
  623. tabfac . icpt = lmtifa1 ;
  624. tabele . icpt = mthea1 ;
  625. icpt = '+' icpt 1 ;
  626. 'FIN' imtifa1 ;
  627. nmtifb1 = 'NBEL' mtifb1 ;
  628. 'REPETER' imtifb1 nmtifb1 ;
  629. lmtifb1 = 'ELEM' mtifb1 &imtifb1 ;
  630. tabfac . icpt = lmtifb1 ;
  631. tabele . icpt = mtheb1 ;
  632. icpt = '+' icpt 1 ;
  633. 'FIN' imtifb1 ;
  634. * Génération par translation de la hauteur
  635. 'REPETER' ihaut ('-' nhaut 1) ;
  636. vectran = 0.D0 0.D0 ('*' hnh ('FLOTTANT' &ihaut)) ;
  637. mthea2 mtifa2 mtheb2 mtifb2 mtcb2 =
  638. 'PLUS' mthea1 mtifa1 mtheb1 mtifb1 mtcb1 vectran ;
  639. nmtifa2 = 'NBEL' mtifa2 ;
  640. 'REPETER' imtifa2 nmtifa2 ;
  641. lmtifa2 = 'ELEM' mtifa2 &imtifa2 ;
  642. tabfac . icpt = lmtifa2 ;
  643. tabele . icpt = mthea2 ;
  644. icpt = '+' icpt 1 ;
  645. 'FIN' imtifa2 ;
  646. nmtifb2 = 'NBEL' mtifb2 ;
  647. 'REPETER' imtifb2 nmtifb2 ;
  648. lmtifb2 = 'ELEM' mtifb2 &imtifb2 ;
  649. tabfac . icpt = lmtifb2 ;
  650. tabele . icpt = mtheb2 ;
  651. icpt = '+' icpt 1 ;
  652. 'FIN' imtifb2 ;
  653. mthea = 'ET' mthea2 mthea ;
  654. mtifa = 'ET' mtifa2 mtifa ;
  655. mtheb = 'ET' mtheb2 mtheb ;
  656. mtifb = 'ET' mtifb2 mtifb ;
  657. mtcb = 'ET' mtcb2 mtcb ;
  658. 'FIN' ihaut ;
  659. bahe = 'ET' bahea baheb ;
  660. mthe = 'ET' mthea mtheb ;
  661. mtif = 'ET' mtifa mtifb ;
  662. * Génération des lignes dans l'hélium
  663. vechaut = 0.D0 0.D0 haut ;
  664. lighea1 = p0 'DROIT' nhaut ('PLUS' p0 vechaut) ;
  665. lighea2 = p7 'DROIT' nhaut ('PLUS' p7 vechaut) ;
  666. lighea3 = p8 'DROIT' nhaut ('PLUS' p8 vechaut) ;
  667. ligheb1 = p9 'DROIT' nhaut ('PLUS' p9 vechaut) ;
  668. ligheb2 = p3 'DROIT' nhaut ('PLUS' p3 vechaut) ;
  669. ligheb3 = p10 'DROIT' nhaut ('PLUS' p10 vechaut) ;
  670. lighea = lighea1 'ET' lighea2 'ET' lighea3 ;
  671. ligheb = ligheb1 'ET' ligheb2 'ET' ligheb3 ;
  672. lighe = 'ET' lighea ligheb ;
  673. mt = ('ET' mthe mtcb) ;
  674. pelim = '*' ('**' ('/' ('MESURE' mt) ('NBEL' mt))
  675. ('/' 1.D0 ('VALEUR' 'DIME')))
  676. 1.D-3 ;
  677. 'ELIMINATION' (mtif 'ET' mtcb) pelim ;
  678. 'ELIMINATION' (mthe 'ET' bahe 'ET' lighe)
  679. pelim ;
  680. *
  681. * Génération des QUAFs
  682. *
  683. _bahe = 'CHANGER' bahe 'QUAF' ;
  684. _bahea = 'CHANGER' bahea 'QUAF' ;
  685. _baheb = 'CHANGER' baheb 'QUAF' ;
  686. _mthe = 'CHANGER' mthe 'QUAF' ;
  687. _mthea = 'CHANGER' mthea 'QUAF' ;
  688. _mtheb = 'CHANGER' mtheb 'QUAF' ;
  689. _mtif = 'CHANGER' mtif 'QUAF' ;
  690. _mtifa = 'CHANGER' mtifa 'QUAF' ;
  691. _mtifb = 'CHANGER' mtifb 'QUAF' ;
  692. _mtcb = 'CHANGER' mtcb 'QUAF' ;
  693. ***************************************
  694. *
  695. * CREATION DE LA MATRICE DE COUPLAGE
  696. *
  697. ***************************************
  698. *
  699. * Génération de connectivites face-centre cfc
  700. * et des matrices de passage centre-face pour projeter T0
  701. * et face-centre pour ramener une intégrale de flux
  702. * a une puissance volumique
  703. *
  704. nitab = 'DIME' tabfac ;
  705. 'REPETER' iitab nitab ;
  706. ifac = tabfac . &iitab ;
  707. iqfac = 'CHANGER' ifac 'QUAF' ;
  708. miqfac = 'MODELISER' iqfac 'NAVIER_STOKES' 'QUAF';
  709. ciqfac = ('DOMA' miqfac 'CENTRE') 'POIN' 1 ;
  710. iele = tabele . &iitab ;
  711. iqele = 'CHANGER' iele 'QUAF' ;
  712. miqele = 'MODELISER' iqele 'NAVIER_STOKES' 'QUAF';
  713. ciqele = ('DOMA' miqele 'CENTRE') 'POIN' 1 ;
  714. * Attention ('MESU' iele) ne fonctionne pas en axisymetrique
  715. volele = 'MAXIMUM' ('DOMA' miqele 'VOLUME') ;
  716. clfc = 'MANUEL' 'SEG2' ciqfac ciqele ;
  717. mlcf = 'MANUEL' 'RIGIDITE' clfc ('MOTS' 'T') 'QUEL'
  718. ('PROG' 0.D0 1.D0) ('PROG' 0.D0 0.D0) ;
  719. mlfc = 'MANUEL' 'RIGIDITE' clfc ('MOTS' 'T') 'QUEL'
  720. ('PROG' 0.D0 0.D0)
  721. ('PROG' ('/' 1.D0 volele) 0.D0) ;
  722. 'SI' ('EGA' &iitab 1) ;
  723. cfc = clfc ;
  724. mcf = mlcf ;
  725. mfc = mlfc ;
  726. 'SINON' ;
  727. cfc = 'ET' cfc clfc ;
  728. mcf = 'ET' mcf mlcf ;
  729. mfc = 'ET' mfc mlfc ;
  730. 'FINSI' ;
  731. 'FIN' iitab ;
  732. 'ELIMINATION' (_bahe 'ET' _bahea 'ET' _baheb
  733. 'ET' _mthe 'ET' _mthea 'ET' _mtheb 'ET' cfc) pelim ;
  734. 'ELIMINATION' (_mtcb 'ET'
  735. _mtif 'ET' _mtifa 'ET' _mtifb 'ET' cfc) pelim ;
  736. mcf = 'CHANGER' mcf 'INCO' ('MOTS' 'T') ('MOTS' 'SCAL')
  737. ('MOTS' 'Q') ('MOTS' 'SCAL') ;
  738. mfc = 'CHANGER' mfc 'INCO' ('MOTS' 'T') ('MOTS' 'SCAL')
  739. ('MOTS' 'Q') ('MOTS' 'SCAL') ;
  740. ***************************************
  741. *
  742. * PREPARATION DU CALCUL
  743. *
  744. ***************************************
  745. *
  746. * Modèles Navier-Stokes
  747. *
  748. $bahe = 'MODELISER' _bahe 'NAVIER_STOKES' discr ;
  749. $bahea = 'MODELISER' _bahea 'NAVIER_STOKES' discr ;
  750. $baheb = 'MODELISER' _baheb 'NAVIER_STOKES' discr ;
  751. $mthe = 'MODELISER' _mthe 'NAVIER_STOKES' discr ;
  752. $mthea = 'MODELISER' _mthea 'NAVIER_STOKES' discr ;
  753. $mtheb = 'MODELISER' _mtheb 'NAVIER_STOKES' discr ;
  754. $mtif = 'MODELISER' _mtif 'NAVIER_STOKES' discr ;
  755. $mtifa = 'MODELISER' _mtifa 'NAVIER_STOKES' discr ;
  756. $mtifb = 'MODELISER' _mtifb 'NAVIER_STOKES' discr ;
  757. $mtcb = 'MODELISER' _mtcb 'NAVIER_STOKES' discr ;
  758. rvi = CALCUL FAUX ;
  759. rwi = CALCUL VRAI ;
  760.  
  761. TABTPS = TEMP 'NOEC';
  762. tcpu = TABTPS.'TEMPS_CPU'.'INITIAL' ;
  763. tcpus = '/' ('FLOTTANT' tcpu) 100.D0 ;
  764. 'MESSAGE' ('CHAINE' 'tcpus=' tcpus) ;
  765. ***************************************
  766. *
  767. * POST-TRAITEMENT
  768. *
  769. ***************************************
  770. 'SI' graph ;
  771. *
  772. * Maillage (+ changement d'échelle adéquat)
  773. *
  774. _mt = 'ET' _mthe _mtcb ;
  775. mt = 'ET' mthe mtcb ;
  776. zmt = 'COORDONNEE' 3 _mt ;
  777. factech = ('-' ('/' 1.D0 75.D0) 1.D0) ;
  778. dxmt = 'NOMC' 'UZ' ('*' zmt factech) 'NATURE' 'DISCRET' ;
  779. orig = 'FORME' ;
  780. 'FORME' dxmt ;
  781. xmthea ymthea zmthea = 'COORDONNEE' mthea ;
  782. factech = ('-' ('/' 1.D0 4.D0) 1.D0) ;
  783. dxmta = 'ET'
  784. ('NOMC' 'UX' ('*' xmthea factech) 'NATURE' 'DISCRET')
  785. ('NOMC' 'UY' ('*' ymthea factech) 'NATURE' 'DISCRET')
  786. ;
  787. xmtheb ymtheb zmtheb = 'COORDONNEE' mtheb ;
  788. dxmtb = 'ET'
  789. ('NOMC' 'UX' ('*' ('-' xmtheb pas) factech)
  790. 'NATURE' 'DISCRET')
  791. ('NOMC' 'UY' ('*' ymtheb factech) 'NATURE' 'DISCRET')
  792. ;
  793. dxmt = dxmta 'ET' dxmtb ;
  794. * manipulation maillage et champ de temperature
  795. tcbn = ('-' (rvi . 'TCB') 273.15D0) ;
  796. tcbb = ('-' (rwi . 'TCB') 273.15D0) ;
  797. tcbn2 tcbb2 mtcb2 = tcbn tcbb mtcb 'TOURNER' 150.D0
  798. (0.D0 0.D0 0.D0) (0.D0 0.D0 1.D0) ;
  799. then = ('-' (rvi . 'THE') 273.15D0) ;
  800. theb = ('-' (rwi . 'THE') 273.15D0) ;
  801. then2 theb2 mthe2 = then theb mthe 'PLUS' dxmt ;
  802. xmt ymt zmt = 'COORDONNEE' _mt ;
  803. mxmt = 'MAXIMUM' xmt ;
  804. mymt = 'MAXIMUM' ymt ;
  805. mzmt = 'MAXIMUM' zmt ;
  806. oeil = (('*' mxmt 3.D0) ('*' mymt -4.D0) ('*' mzmt 2.85D0)) ;
  807. oeil2 = (('*' mxmt 3.D0) ('*' mymt 4.D0) ('*' mzmt 1.85D0)) ;
  808. mail = mtcb 'ET' mthe2 ;
  809. npomail = 'NBNO' mail ;
  810. nelmail = 'NBEL' mail ;
  811. titmail = 'CHAINE' 'Maillage ' 'NBPO=' npomail
  812. ' NBELEM=' nelmail titglob ;
  813. 'TRACER' oeil 'CACH' mail 'TITR' titmail ;
  814. *
  815. * Tracé des températures, du coefficient d'échange et de la
  816. * composante verticale des vitesses
  817. *
  818. 'REPETER' bctem 3 ;
  819. 'SI' ('EGA' &bctem 1) ;
  820. tcbc = tcbn ;
  821. tcbc2 = tcbn2 ;
  822. thec = then ;
  823. thec2 = then2 ;
  824. h = rvi . 'H' ;
  825. uz = 'EXCO' 'UZ' (rvi . 'UHE') ;
  826. tit2 = 'CHAINE' ' Nominal' ;
  827. 'FINSI' ;
  828. 'SI' ('EGA' &bctem 2) ;
  829. tcbc = tcbb ;
  830. tcbc2 = tcbb2 ;
  831. thec = theb ;
  832. thec2 = theb2 ;
  833. h = rwi . 'H' ;
  834. uz = 'EXCO' 'UZ' (rwi . 'UHE') ;
  835. tit2 = 'CHAINE' ' Accidentel' ;
  836. 'FINSI' ;
  837. 'SI' ('EGA' &bctem 3) ;
  838. tcbc = '-' tcbb tcbn ;
  839. tcbc2 = '-' tcbb2 tcbn2 ;
  840. thec = '-' theb then ;
  841. thec2 = '-' theb2 then2 ;
  842. h = '-' (rwi . 'H') (rvi . 'H') ;
  843. uz = '-' ('EXCO' 'UZ' (rwi . 'UHE'))
  844. ('EXCO' 'UZ' (rvi . 'UHE')) ;
  845. tit2 = 'CHAINE' ' Acc. - Nom.' ;
  846. 'FINSI' ;
  847. tit = 'CHAINE' 'Temp. (°C)' tit2 ;
  848. tracchpo oeil (tcbc 'ET' tcbc2 'ET' thec2)
  849. (mtcb 'ET' mtcb2 'ET' mthe2)
  850. tit ;
  851. tit = 'CHAINE' 'Temp. Comb. (°C)' tit2 ;
  852. * tracchpo oeil tcbc mtcb tit ;
  853. * tracchpo oeil tcbc2 mtcb2 tit ;
  854. tracchpo oeil (tcbc 'ET' tcbc2) (mtcb 'ET' mtcb2) tit ;
  855. * tracchpo oeil tcbc2 mtcb2 tit ;
  856. * Coefficient d'echange
  857. tit = 'CHAINE' 'Coeff. echange (W.m-2.K-1)' tit2 ;
  858. tracchml oeil $mtif h mtif tit ;
  859. tit = 'CHAINE' 'Temp. He (°C)' tit2 ;
  860. tracchpo oeil thec mthe tit ;
  861. tit = 'CHAINE' 'Uz He (m.s-1)' tit2 ;
  862. tracchpo oeil uz mthe tit ;
  863. 'FIN' bctem ;
  864. 'FORME' orig ;
  865. *
  866. * Evolutions temperature et vitesse
  867. * dans les deux tubes d'hélium nominal et bouche
  868. *
  869. evthean = 'EVOL' 'CHPO' then lighea1 ;
  870. evthebn = 'EVOL' 'CHPO' then ligheb1 ;
  871. evtheab = 'EVOL' 'JAUN' 'CHPO' theb lighea1 ;
  872. evthebb = 'EVOL' 'JAUN' 'CHPO' theb ligheb1 ;
  873. evthe = evthean 'ET' evthebn 'ET' evtheab 'ET' evthebb ;
  874. titthe = 'CHAINE' 'Température Helium' titglob ;
  875. titxthe = 'CHAINE' 's (m)' ;
  876. titythe = 'CHAINE' 'T (°C)' ;
  877. tthe = 'TABLE' ;
  878. tthe . 1 = 'CHAINE' 'MARQ CROI' ;
  879. tthe . 2 = 'CHAINE' 'MARQ PLUS' ;
  880. tthe . 3 = 'CHAINE' 'MARQ CROI' ;
  881. tthe . 4 = 'CHAINE' 'MARQ PLUS' ;
  882. tthe . 'TITRE' = 'TABLE' ;
  883. tthe . 'TITRE' . 1 = 'CHAINE' 'Central nominal' ;
  884. tthe . 'TITRE' . 2 = 'CHAINE' 'Externe nominal' ;
  885. tthe . 'TITRE' . 3 = 'CHAINE' 'Central accidentel' ;
  886. tthe . 'TITRE' . 4 = 'CHAINE' 'Externe accidentel' ;
  887. 'DESSIN' evthe 'TITR' titthe 'TITX' titxthe 'TITY' titythe
  888. 'LEGE' 'MIMA' tthe ;
  889. *
  890. uhen = 'EXCO' 'UZ' (rvi . 'UHE') ;
  891. uheb = 'EXCO' 'UZ' (rwi . 'UHE') ;
  892. evuhean = 'EVOL' 'CHPO' uhen lighea1 ;
  893. evuhebn = 'EVOL' 'CHPO' uhen ligheb1 ;
  894. evuheab = 'EVOL' 'JAUN' 'CHPO' uheb lighea1 ;
  895. evuhebb = 'EVOL' 'JAUN' 'CHPO' uheb ligheb1 ;
  896. evuhe = evuhean 'ET' evuhebn 'ET' evuheab 'ET' evuhebb ;
  897. tituhe = 'CHAINE' 'Vitesse verticale Helium' titglob ;
  898. titxuhe = 'CHAINE' 's (m)' ;
  899. tityuhe = 'CHAINE' 'uz (m.s-1)' ;
  900. tuhe = 'TABLE' ;
  901. tuhe . 1 = 'CHAINE' 'MARQ CROI' ;
  902. tuhe . 2 = 'CHAINE' 'MARQ PLUS' ;
  903. tuhe . 3 = 'CHAINE' 'MARQ CROI' ;
  904. tuhe . 4 = 'CHAINE' 'MARQ PLUS' ;
  905. tuhe . 'TITRE' = 'TABLE' ;
  906. tuhe . 'TITRE' . 1 = 'CHAINE' 'Central nominal' ;
  907. tuhe . 'TITRE' . 2 = 'CHAINE' 'Externe nominal' ;
  908. tuhe . 'TITRE' . 3 = 'CHAINE' 'Central accidentel' ;
  909. tuhe . 'TITRE' . 4 = 'CHAINE' 'Externe accidentel' ;
  910. 'DESSIN' evuhe 'TITR' tituhe 'TITX' titxuhe 'TITY' tityuhe
  911. 'LEGE' 'MIMA' tuhe ;
  912. 'FINSI' ;
  913. *
  914. * Tableau recapitulatif et vérifications diverses
  915. *
  916. optecho = 'VALEUR' 'ECHO' ;
  917. testerr = FAUX ;
  918. 'OPTION' 'ECHO' 0 ;
  919. 'MESSAGE' '**************' ;
  920. 'MESSAGE' ('CHAINE' 'couplage_TH1D_Th3D_2 :' titglob) ;
  921. mail = mtcb 'ET' mthe ;
  922. npomail = 'NBNO' mail ;
  923. nelmail = 'NBEL' mail ;
  924. 'MESSAGE' ('CHAINE' 'nb. points=' npomail ' ; nb. elem=' nelmail) ;
  925. 'MESSAGE' ('CHAINE' 'Temps CPU (s)=' tcpus) ;
  926. 'MESSAGE' '-----------' ;
  927. 'MESSAGE' 'Verifications :' ;
  928. 'REPETER' bclsit 2 ;
  929. 'SI' ('EGA' &bclsit 1) ;
  930. thec = rvi . 'THE' ;
  931. uhec = rvi . 'UHE' ;
  932. titsit = 'CHAINE' 'Nominal' ;
  933. 'FINSI' ;
  934. 'SI' ('EGA' &bclsit 2) ;
  935. thec = rwi . 'THE' ;
  936. uhec = rwi . 'UHE' ;
  937. titsit = 'CHAINE' 'Accidentel' ;
  938. 'FINSI' ;
  939. 'MESSAGE' ('CHAINE' '--> ' titsit) ;
  940. 'REPETER' bcltub 2 ;
  941. 'SI' ('EGA' &bcltub 1) ;
  942. lighe1 = lighea1 ;
  943. lighe2 = lighea2 ;
  944. lighe3 = lighea3 ;
  945. tittub = 'CHAINE' 'Canal Central' ;
  946. 'FINSI' ;
  947. 'SI' ('EGA' &bcltub 2) ;
  948. lighe1 = ligheb1 ;
  949. lighe2 = ligheb2 ;
  950. lighe3 = ligheb3 ;
  951. tittub = 'CHAINE' 'Canal Externe' ;
  952. 'FINSI' ;
  953. 'MESSAGE' ('CHAINE' '----> ' tittub) ;
  954. * Symétrie température dans lhélium
  955. evthe1 = 'EVOL' 'CHPO' thec lighe1 ;
  956. evthe2 = 'EVOL' 'CHPO' thec lighe2 ;
  957. evthe3 = 'EVOL' 'CHPO' thec lighe3 ;
  958. the1 = 'EXTRAIRE' evthe1 'ORDO' ;
  959. the2 = 'EXTRAIRE' evthe2 'ORDO' ;
  960. the3 = 'EXTRAIRE' evthe3 'ORDO' ;
  961. the2m1 = 'MAXIMUM' ('-' the2 the1) 'ABS' ;
  962. the3m1 = 'MAXIMUM' ('-' the3 the1) 'ABS' ;
  963. testsym1 = > the2m1 1.D-5 ;
  964. testsym2 = > the3m1 1.D-5 ;
  965. 'MESSAGE' 'Symétrie température dans lhélium :' ;
  966. 'MESSAGE' ('CHAINE' 'the2m1=' the2m1) ;
  967. 'MESSAGE' ('CHAINE' 'the3m1=' the3m1) ;
  968. 'SI' ('OU' testsym1 testsym2) ;
  969. 'MESSAGE' '!!Temperature non symetrique dans lhelium' ;
  970. 'FINSI' ;
  971. testerr = testerr 'OU' testsym1 'OU' testsym2 ;
  972. * Symétrie Uz dans lhélium
  973. evuzhe1 = 'EVOL' 'CHPO' uhec 'UZ' lighe1 ;
  974. evuzhe2 = 'EVOL' 'CHPO' uhec 'UZ' lighe2 ;
  975. evuzhe3 = 'EVOL' 'CHPO' uhec 'UZ' lighe3 ;
  976. uzhe1 = 'EXTRAIRE' evuzhe1 'ORDO' ;
  977. uzhe2 = 'EXTRAIRE' evuzhe2 'ORDO' ;
  978. uzhe3 = 'EXTRAIRE' evuzhe3 'ORDO' ;
  979. uzhe2m1 = 'MAXIMUM' ('-' uzhe2 uzhe1) 'ABS' ;
  980. uzhe3m1 = 'MAXIMUM' ('-' uzhe3 uzhe1) 'ABS' ;
  981. testsym1 = > uzhe2m1 1.D-5 ;
  982. testsym2 = > uzhe3m1 1.D-5 ;
  983. 'MESSAGE' 'Symétrie Uz dans lhélium :' ;
  984. 'MESSAGE' ('CHAINE' 'uzhe2m1=' uzhe2m1) ;
  985. 'MESSAGE' ('CHAINE' 'uzhe3m1=' uzhe3m1) ;
  986. 'SI' ('OU' testsym1 testsym2) ;
  987. 'MESSAGE' '!!Uz non symetrique dans lhelium' ;
  988. 'FINSI' ;
  989. testerr = testerr 'OU' testsym1 'OU' testsym2 ;
  990. 'FIN' bcltub ;
  991. * Nullité Vitesse horizontale dans lhélium
  992. uhex = 'EXCO' uhec 'UX' ;
  993. uhey = 'EXCO' uhec 'UY' ;
  994. muhex = 'MAXIMUM' uhex 'ABS' ;
  995. muhey = 'MAXIMUM' uhey 'ABS' ;
  996. testsymx = > muhex 1.D-5 ;
  997. testsymy = > muhey 1.D-5 ;
  998. 'MESSAGE' 'Nullité Vitesse horizontale dans lhelium :' ;
  999. 'MESSAGE' ('CHAINE' 'maxuhex=' muhex) ;
  1000. 'MESSAGE' ('CHAINE' 'maxuhey=' muhey) ;
  1001. 'SI' ('OU' testsymx testsymy) ;
  1002. 'MESSAGE' '!!Composante UX ou UY non nulle dans lhelium' ;
  1003. 'FINSI' ;
  1004. testerr = testerr 'OU' testsymx 'OU' testsymy ;
  1005. 'FIN' bclsit ;
  1006. *
  1007. * Verification des bilans d'énergie
  1008. *
  1009. 'MESSAGE' '-----------' ;
  1010. 'MESSAGE' 'Bilans denergie :' ;
  1011. 'REPETER' bclsit 2 ;
  1012. 'SI' ('EGA' &bclsit 1) ;
  1013. rti = rvi ;
  1014. titsit = 'CHAINE' 'Nominal' ;
  1015. 'FINSI' ;
  1016. 'SI' ('EGA' &bclsit 2) ;
  1017. rti = rwi ;
  1018. titsit = 'CHAINE' 'Accidentel' ;
  1019. 'FINSI' ;
  1020. 'MESSAGE' ('CHAINE' '--> ' titsit) ;
  1021. * Puissance dégagée dans le combustible
  1022. pcb = rti . 'PCB' ;
  1023. chvolcb = 'DOMA' $mtcb 'VOLUME' ;
  1024. pdegcb = 'MAXIMUM' ('RESULT' ('*' chvolcb pcb)) ;
  1025. * Flux intégré sur la paroi
  1026. f0 = rti . 'F0' ;
  1027. pdegif = 'MAXIMUM' ('RESULT' f0) ;
  1028. errpif = '*' (ERRREL pdegif pdegcb) 100.D0 ;
  1029. * Puissance acquise par l'hélium
  1030. * Température en sortie (en K)
  1031. the = rti . 'THE' ;
  1032. evthea = 'EVOL' 'CHPO' the lighea1 ;
  1033. thea = 'EXTRAIRE' evthea 'ORDO' ;
  1034. tsora = 'EXTRAIRE' thea ('DIME' thea) ;
  1035. tenta = 'EXTRAIRE' thea 1 ;
  1036. shea = 'MAXIMUM' ('RESULT' ('DOMA' $bahea 'VOLUME')) ;
  1037. evtheb = 'EVOL' 'CHPO' the ligheb1 ;
  1038. theb = 'EXTRAIRE' evtheb 'ORDO' ;
  1039. tsorb = 'EXTRAIRE' theb ('DIME' theb) ;
  1040. tentb = 'EXTRAIRE' theb 1 ;
  1041. sheb = 'MAXIMUM' ('RESULT' ('DOMA' $baheb 'VOLUME')) ;
  1042. * On utilise le fait que le cp de l'hélium
  1043. * est constant
  1044. rhe muhe lhe cphe = PRPHE prhe tenta ;
  1045. qhe = rti . 'QHE' ;
  1046. pdeghea = qhe '*' shea '*' cphe '*' ('-' tsora tenta) ;
  1047. pdegheb = qhe '*' sheb '*' cphe '*' ('-' tsorb tentb) ;
  1048. pdeghe = '+' pdeghea pdegheb ;
  1049. errphe = '*' (ERRREL pdeghe pdegcb) 100.D0 ;
  1050. 'MESSAGE' ('CHAINE' 'pdegcb=' pdegcb) ;
  1051. 'MESSAGE' ('CHAINE' 'pdegif=' pdegif
  1052. ' ; errpif=' errpif ' %') ;
  1053. 'MESSAGE' ('CHAINE' 'pdeghe=' pdeghe
  1054. ' ; errphe=' errphe ' %') ;
  1055. * Ce sont des erreurs en % (i.e. limite à 0.1%)
  1056. testene1 = > errpif 1.D-1 ;
  1057. testene2 = > errphe 1.D-1 ;
  1058. 'SI' ('OU' testene1 testene2) ;
  1059. 'MESSAGE' '!!Pb. conservation de lenergie' ;
  1060. 'FINSI' ;
  1061. testerr = testerr 'OU' testene1 'OU' testene2 ;
  1062. * Verification du péclet de maille dans l'helium
  1063. vmoyhe = 'NOEL' $mthe ('EXCO' 'UZ' (rti . 'UHE')) ;
  1064. lmoyhea = '/' ('DOMA' $mthea 'VOLUME') shea ;
  1065. lmoyheb = '/' ('DOMA' $mtheb 'VOLUME') sheb ;
  1066. lmoyhe = lmoyhea 'ET' lmoyheb ;
  1067. alphhe = '/' (rti. 'LHE') (rti . 'RCPHE') ;
  1068. peclhe = '/' ('*' vmoyhe lmoyhe) alphhe ;
  1069. pemin = 'MINIMUM' peclhe ;
  1070. pemax = 'MAXIMUM' peclhe ;
  1071. 'MESSAGE' 'Peclet de maille helium :' ;
  1072. 'MESSAGE' ('CHAINE' 'pemin=' pemin) ;
  1073. 'MESSAGE' ('CHAINE' 'pemax=' pemax) ;
  1074. 'FIN' bclsit ;
  1075. * Temperature de sortie helium et temp. max combustible
  1076. 'MESSAGE' '-----------' ;
  1077. 'MESSAGE' 'Resultats Helium :' ;
  1078. 'REPETER' bclsit 2 ;
  1079. 'SI' ('EGA' &bclsit 1) ;
  1080. rti = rvi ;
  1081. titsit = 'CHAINE' 'Nominal' ;
  1082. 'FINSI' ;
  1083. 'SI' ('EGA' &bclsit 2) ;
  1084. rti = rwi ;
  1085. titsit = 'CHAINE' 'Accidentel' ;
  1086. 'FINSI' ;
  1087. 'MESSAGE' ('CHAINE' '--> ' titsit) ;
  1088. the = rti . 'THE' ;
  1089. uhe = 'EXCO' 'UZ' (rti . 'UHE') ;
  1090. 'REPETER' bcltub 2 ;
  1091. 'SI' ('EGA' &bcltub 1) ;
  1092. lighe = lighea1 ;
  1093. tittub = 'CHAINE' 'Canal Central' ;
  1094. 'FINSI' ;
  1095. 'SI' ('EGA' &bcltub 2) ;
  1096. lighe = ligheb1 ;
  1097. tittub = 'CHAINE' 'Canal Externe' ;
  1098. 'FINSI' ;
  1099. 'MESSAGE' ('CHAINE' '----> ' tittub) ;
  1100. evthe = 'EVOL' 'CHPO' the lighe ;
  1101. evuhe = 'EVOL' 'CHPO' uhe lighe ;
  1102. othe = 'EXTRAIRE' evthe 'ORDO' ;
  1103. ouhe = 'EXTRAIRE' evuhe 'ORDO' ;
  1104. thee = 'EXTRAIRE' othe 1 ;
  1105. thes = 'EXTRAIRE' othe ('DIME' othe) ;
  1106. uhee = 'EXTRAIRE' ouhe 1 ;
  1107. uhes = 'EXTRAIRE' ouhe ('DIME' ouhe) ;
  1108. 'MESSAGE' ('CHAINE' 'Vit. entree helium =' uhee ' m.s-1') ;
  1109. 'MESSAGE' ('CHAINE' 'Vit. sortie helium =' uhes ' m.s-1') ;
  1110. 'MESSAGE' ('CHAINE' 'Temp. entree helium =' ('-' thee 273.15D0)
  1111. ' degres C') ;
  1112. 'MESSAGE' ('CHAINE' 'Temp. sortie helium =' ('-' thes 273.15D0)
  1113. ' degres C') ;
  1114. 'FIN' bcltub ;
  1115. 'FIN' bclsit ;
  1116. * Tests sur Tmax (02/12/03)
  1117. 'MESSAGE' '-----------' ;
  1118. 'MESSAGE' 'Resultats Combustible :' ;
  1119. 'REPETER' bclsit 2 ;
  1120. 'SI' ('EGA' &bclsit 1) ;
  1121. rti = rvi ;
  1122. titsit = 'CHAINE' 'Nominal' ;
  1123. 'SI' irrad ;
  1124. tmref = 1.15428D3 ; altref = 1.2D0 ;
  1125. 'SINON' ;
  1126. tmref = 1.10115D3 ; altref = 1.2D0 ;
  1127. 'FINSI' ;
  1128. 'FINSI' ;
  1129. 'SI' ('EGA' &bclsit 2) ;
  1130. rti = rwi ;
  1131. titsit = 'CHAINE' 'Accidentel' ;
  1132. 'SI' irrad ;
  1133. tmref = 1.59486D3 ; altref = 1.2D0 ;
  1134. 'SINON' ;
  1135. tmref = 1.46246D3 ; altref = 1.2D0 ;
  1136. 'FINSI' ;
  1137. 'FINSI' ;
  1138. 'MESSAGE' ('CHAINE' '--> ' titsit) ;
  1139. tcb = rti . 'TCB' ;
  1140. tmincbc = '-' ('MINIMUM' tcb) 273.15D0 ;
  1141. amincbc = 'MAXIMUM' ('COORDONNEE' 3 (tcb 'POIN' 'MINI' 'ABS')) ;
  1142. tmaxcbc = '-' ('MAXIMUM' tcb) 273.15D0 ;
  1143. amaxcbc = 'MAXIMUM' ('COORDONNEE' 3 (tcb 'POIN' 'MAXI' 'ABS')) ;
  1144. 'MESSAGE' ('CHAINE' 'Temp. min combustible=' tmincbc ' degres C') ;
  1145. 'MESSAGE' ('CHAINE' ' altitude =' amincbc ' m') ;
  1146. 'MESSAGE' ('CHAINE' 'Temp. max combustible=' tmaxcbc ' degres C') ;
  1147. 'MESSAGE' ('CHAINE' ' altitude =' amaxcbc ' m') ;
  1148. * Tests sur Tmax (02/12/03)
  1149. * On utilise une discrétisation linéaire et une puissance variable
  1150. 'SI' ('ET' ('EGA' discr 'LINE') pvar) ;
  1151. errtm = '*' (ERRREL tmaxcbc tmref) 100.D0 ;
  1152. erral = '*' (ERRREL amaxcbc altref) 100.D0 ;
  1153. 'MESSAGE' ('CHAINE' 'Temp. max cb ref =' tmref ' degres C') ;
  1154. 'MESSAGE' ('CHAINE' ' alt. ref =' altref ' m') ;
  1155. testtmax = 'OU' (> errtm 1.D-1) (> erral 1.D-1) ;
  1156. 'SI' testtmax ;
  1157. 'MESSAGE' '!! Pb. sur Tmax' ;
  1158. 'FINSI' ;
  1159. testerr = testerr 'OU' testtmax ;
  1160. 'FINSI' ;
  1161. 'FIN' bclsit ;
  1162. 'MESSAGE' '**************' ;
  1163. 'OPTION' 'ECHO' optecho ;
  1164. *!
  1165. *! Error checking
  1166. *!
  1167. 'SI' testerr ;
  1168. 'MESSAGE' 'Il y a eu des erreurs' ;
  1169. 'ERREUR' 5 ;
  1170. 'FINSI' ;
  1171. 'SI' interact ;
  1172. 'OPTION' 'DONN' 5 ;
  1173. 'FINSI' ;
  1174. *
  1175. * End of dgibi file couplage_TH1D_Th3D_2
  1176. *
  1177. 'FIN' ;
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  

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