1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
|
*DECK THMH2O
SUBROUTINE THMH2O(ITIME,I,J,K,K0,PINLET,MFLOW,HMAVG,ENT,HD,IFLUID,
> IHCONV,KHCONV,ISUBM,RADCL,ZF,VCOOL,IDFM,PHI,XFL,EPS,SLIP,
> ACOOL,PCH,DZ,TCALO,RHO,RHOLAV,RHOG,TSCLAD,KWA,VGJprime,HLV)
*
*-----------------------------------------------------------------------
*
*Purpose:
* Nucleate boiling correlations along a single coolant channel.
*
*Copyright:
* Copyright (C) 2012 Ecole Polytechnique de Montreal.
*
*Author(s):
* A. Hebert, P. Gallet
*
*Parameters: input
* ITIME type of calculation (0=steady-state; 1=transient).
* I position of channel alon X-axis
* J position of channel alon Y-axis
* K position of channel alon Z-axis
* K0 onser of nuclear boiling point
* PINLET pressure in Pascal
* MFLOW massic coolant flow rate in Kg/m^2/s
* HMAVG averaged enthalpy
* ENT four values of enthalpy in J/Kg to be used in Gaussian
* integration
* HD hydraulic diameter in m
* IFLUID type of fluid (0=H2O; 1=D2O).
* IHCONV flag indicating HCONV chosen (0=default/1=user-provided).
* KHCONV fixed user-provided HCONV value in W/m^2/K.
* ISUBM subcooling model (0: one-phase; 1: Jens-Lottes model;
* 2: Saha-Zuber model).
* RADCL outer clad radius in m
* ZF parameters used to compute heat flux on clad surface in
* transient cases.
* PHI heat flow exchanged between clad and fluid in W/m^2.
* Given in steady-state cases.
* XFL input coolant flow quality
* EPS input coolant void fraction
* SLIP input slip ratio of vapor phase speed to liquid phase speed.
* ACOOL coolant cross section area in m^2.
* PCH heating perimeter in m.
* DZ axial mesh width in m.
* VCOOL local coolant velocity
* IDFM flag indicating if the drift flux model is to be used
* (0=HEM1(no drift velocity)/1=EPRI/2=MODEBSTION/3=GERAMP/4=CHEXAL)
*
*Parameters: output
* PHI heat flow exchanged between clad and fluid in W/m^2.
* Computed in transient cases.
* XFL output coolant flow quality
* EPS output coolant void fraction
* SLIP output slip ratio of vapor phase speed to liquid phase speed.
* TCALO coolant temperature in K
* RHO coolant density in Kg/m^3
* RHOLAV liquid density in kg/m^3
* RHOG vapour density in kg/m^3
* TSCLAD clad temperature in K
* KWA flow regime (=0: single-phase; =1: subcooled; =2: nucleate
* boiling; =3 superheated steam)
* VGJ drift velocity in m/s
* VGJprime
* HLV delta between liquid and vapour enthalpies
*
*-----------------------------------------------------------------------
*
*----
* SUBROUTINE ARGUMENTS
*----
INTEGER I,J,K,K0,IFLUID,IHCONV,ISUBM,KWA
REAL PINLET,MFLOW,HMAVG,ENT(4),HD,KHCONV,RADCL,ZF(2),PHI,TCALO,
> RHO,RHOLAV,TSCLAD,XFL,EPS,SLIP,ACOOL,PCH,DZ,VCOOL,VGJprime
*----
* LOCAL VARIABLES
*----
REAL W(4),HL(4),JL,JG,REL,PRL,VGJ,UL
CHARACTER HSMG*131
LOGICAL LFIRST
*----
* SAVE VARIABLES
*----
SAVE DHSUB,DSAT,W
DATA W /0.347855,0.652145,0.652145,0.347855/
*----
* COMPUTE THE PROPERTIES OF THE SATURATED STEAM
*----
IF(HMAVG.LT.0.0) CALL XABORT('THMH2O: NEGATIVE INPUT ENTHALPY.')
IF(IFLUID.EQ.0) THEN
CALL THMSAT(PINLET,TSAT)
CALL THMTX(TSAT,0.0,RHOL,HLSAT,ZKL,ZMUL,CPL)
CALL THMTX(TSAT,1.0,RHOG,HGSAT,ZKG,ZMUG,CPG)
ELSE IF(IFLUID.EQ.1) THEN
CALL THMHST(PINLET,TSAT)
CALL THMHTX(TSAT,0.0,RHOL,HLSAT,ZKL,ZMUL,CPL)
CALL THMHTX(TSAT,1.0,RHOG,HGSAT,ZKG,ZMUG,CPG)
ENDIF
*----
* COMPUTE THE DENSITY AND TEMPERATURE OF THE LIQUID
*----
HL(1)=MIN1(ENT(1),HLSAT)
HL(2)=MIN1(ENT(2),HLSAT)
HL(3)=MIN1(ENT(3),HLSAT)
HL(4)=MIN1(ENT(4),HLSAT)
CALL THMPH(IFLUID,PINLET,HL(1),R11,TL1)
CALL THMPH(IFLUID,PINLET,HL(2),R11,TL2)
CALL THMPH(IFLUID,PINLET,HL(3),R11,TL3)
CALL THMPH(IFLUID,PINLET,HL(4),R11,TL4)
IF(IFLUID.EQ.0) THEN
CALL THMPT(PINLET,TL1,RHO1,R2,R3,R4,CP1)
CALL THMPT(PINLET,TL2,RHO2,R2,R3,R4,CP2)
CALL THMPT(PINLET,TL3,RHO3,R2,R3,R4,CP3)
CALL THMPT(PINLET,TL4,RHO4,R2,R3,R4,CP4)
IF(ABS(TSAT-TL1).LT.0.1) CALL THMTX(TSAT,0.0,RHO1,R2,R3,R4,CP1)
IF(ABS(TSAT-TL2).LT.0.1) CALL THMTX(TSAT,0.0,RHO2,R2,R3,R4,CP2)
IF(ABS(TSAT-TL3).LT.0.1) CALL THMTX(TSAT,0.0,RHO3,R2,R3,R4,CP3)
IF(ABS(TSAT-TL4).LT.0.1) CALL THMTX(TSAT,0.0,RHO4,R2,R3,R4,CP4)
ELSE IF(IFLUID.EQ.1) THEN
CALL THMHPT(PINLET,TL1,RHO1,R2,R3,R4,CP1)
CALL THMHPT(PINLET,TL2,RHO2,R2,R3,R4,CP2)
CALL THMHPT(PINLET,TL3,RHO3,R2,R3,R4,CP3)
CALL THMHPT(PINLET,TL4,RHO4,R2,R3,R4,CP4)
IF(ABS(TSAT-TL1).LT.0.1) CALL THMHTX(TSAT,0.0,RHO1,R2,R3,R4,CP1)
IF(ABS(TSAT-TL2).LT.0.1) CALL THMHTX(TSAT,0.0,RHO2,R2,R3,R4,CP2)
IF(ABS(TSAT-TL3).LT.0.1) CALL THMHTX(TSAT,0.0,RHO3,R2,R3,R4,CP3)
IF(ABS(TSAT-TL4).LT.0.1) CALL THMHTX(TSAT,0.0,RHO4,R2,R3,R4,CP4)
ENDIF
TL=0.5*(W(1)*TL1+W(2)*TL2+W(3)*TL3+W(4)*TL4)
RHOLAV=0.5*(W(1)*RHO1+W(2)*RHO2+W(3)*RHO3+W(4)*RHO4)
CPLAV=0.5*(W(1)*CP1+W(2)*CP2+W(3)*CP3+W(4)*CP4)
*----
* COMPUTE THE STEAM FLOW QUALITY AND LIQUID ENTHALPY
* Reference: R. T. Lahey Jr. and F. J. Moody, "The thermal hydraulics
* of a Boiling water nuclear reactor," American Nuclear Society, 1977.
* Equation (5.177), page 224
* F2: Thermodynamic quality
*----
TSCLAD=600.0
IF(K0.GT.0) TSCLAD=TSAT+DSAT
XFL0=XFL
EPS0=EPS
SLIP0=SLIP
LFIRST=.TRUE.
HLAVG=HMAVG
F2=0.0
F3=0.0
IF(K0.GT.0) THEN
HLV=HGSAT-HLSAT
IF((HLV.GT.0.0).AND.(DHSUB.GT.0.0)) THEN
F2=(HMAVG-HLSAT)/HLV
F3=(DHSUB/HLV)*EXP(-(HMAVG-HLSAT)/DHSUB-1.0)
ENDIF
IF(HMAVG.GE.HGSAT) THEN
XFL=1.0
EPS=1.0
SLIP=1.0
HLAVG=0.0
ELSE
IF(ISUBM.EQ.1) THEN
* Use the Paul Gallet thesis model.
PI=RHOLAV*CPLAV*(TSCLAD-TL)/(RHOG*HLV)
XFL=XFL0+PCH*PHI*DZ/(MFLOW*ACOOL*HLV)/(1.0+PI)
ELSE IF(ISUBM.EQ.2) THEN
* Use a profile fit model.
XFL=MAX(XFL0,(F2+F3)/(1.0+F3))
ENDIF
HLAVG=MIN(HLSAT,(HMAVG-XFL*HGSAT)/(1.0-XFL))
ENDIF
*----
* RECOMPUTE THE LIQUID PROPERTIES
*----
IF(HLAVG.GT.0.0) THEN
CALL THMPH(IFLUID,PINLET,HLAVG,RHOL,TL)
IF(IFLUID.EQ.0) THEN
CALL THMPT(PINLET,TL,R1,R2,ZKL,ZMUL,CPL)
ELSE IF(IFLUID.EQ.1) THEN
CALL THMHPT(PINLET,TL,R1,R2,ZKL,ZMUL,CPL)
ENDIF
*----
* COMPUTE THE COOLANT VOID FRACTION AND SLIP RATIO
* A drift-flux model is proposed by means of the concentration
* parameter CO and the drift velocity VGJ (their correspondent
* correlations are supposed to work fine under different flow regimes.
*----
IF(HGSAT.GT.HLSAT) THEN
CO=1.13
PR=PINLET/10**6
SIGM=-7.2391E-6*PR**3+2.8345E-4*PR**2-5.1566E-3*PR+4.2324E-2
VGJ=1.18*((SIGM*9.81*(RHOL-RHOG))/RHOL**2)**0.25
F4=CO*((XFL*RHOL)+((1.0-XFL)*RHOG))+(RHOL*RHOG*VGJ/MFLOW)
EPS=(XFL*RHOL)/F4
JL=(1.0-XFL)*MFLOW/RHOL
JG=XFL*MFLOW/RHOG
IF(EPS.NE.0) SLIP=JG*(1.0-EPS)/(JL*EPS)
ENDIF
ELSE
* superheated steam
CALL THMPH(IFLUID,PINLET,HMAVG,RHOG,TCALO)
IF(IFLUID.EQ.0) THEN
CALL THMPT(PINLET,TCALO,R1,R2,ZKG,ZMUG,CPG)
ELSE IF(IFLUID.EQ.1) THEN
CALL THMHPT(PINLET,TCALO,R1,R2,ZKG,ZMUG,CPG)
ENDIF
ENDIF
ENDIF
*----
* COMPUTE THE FLUID PROPERTIES
* RHO: fluid density
* REL: Reynolds number of liquid phase
* PRL: Prandtl number of liquid phase
*----
IF(XFL.EQ.0.0) THEN
* One phase liquid
TB=TSAT-0.1
IF(TL.LT.TB) THEN
TCALO=TL
ELSE
TCALO=TB
ENDIF
IF(IFLUID.EQ.0) THEN
CALL THMPT(PINLET,TCALO,R1,R2,ZKONE,ZMUONE,CPONE)
ELSE IF(IFLUID.EQ.1) THEN
CALL THMHPT(PINLET,TCALO,R1,R2,ZKONE,ZMUONE,CPONE)
ENDIF
RHO=RHOLAV
REL=MFLOW*HD/ZMUONE
PRL=ZMUONE*CPONE/ZKONE
ELSE IF(HMAVG.LT.HGSAT) THEN
* Two-phase flow
IF((IFLUID.EQ.0).AND.(IDFM.GT.0)) THEN
CALL THMDFM(PINLET,VCOOL,HMAVG,HD,TL,TSAT,IDFM,EPS,XFL,
> RHO,RHOL,RHOG,VGJ,VGJprime,C0,HLV)
CALL THMTX(TCALO, 0.0, RHO11, H11, ZK11, ZMUL, CPL)
UL = VCOOL - (EPS / (1.0 - EPS))*RHOG/RHO * VGJprime
REL = ABS(UL*RHOL) * HD / ZMUL
PRL = ZMUL*CPL/ZKL
ELSE
REL=MFLOW*(1.0-XFL)*HD/ZMUL
PRL=ZMUL*CPL/ZKL
ENDIF
TCALO=EPS*TSAT+(1.0-EPS)*TL
ZKONE=ZKL
CPONE=CPL
RHO=EPS*RHOG+(1.0-EPS)*RHOL
JL=(1.0-XFL)*MFLOW/RHOL
JG=XFL*MFLOW/RHOG
IF(EPS.NE.0) THEN
SLIP=JG*(1.0-EPS)/(JL*EPS)
ENDIF
ELSE
* superheated steam
RHO=RHOG
REL=MFLOW*HD/ZMUG
PRL=ZMUG*CPG/ZKG
ENDIF
*----
* THERMAL EXCHANGE BETWEEN CLAD AND FLUID USING THE DITTUS AND BOELTER
* CORRELATION (SINGLE PHASE) OR CHEN CORRELATION (SATURATED BOILING)
*----
IF(IHCONV.EQ.0) THEN
ITER=0
KWA=99
DO
ITER=ITER+1
IF(ITER.GT.500) THEN
WRITE(HSMG,'(30HTHMH2O: HCONV FAILURE IN SLICE,I5,1H.)') K
CALL XABORT(HSMG)
ENDIF
HA=0.023*(ZKONE/HD)*REL**0.8*PRL**0.4
F=1.0
S=1.0
IF((XFL.EQ.XFL0).OR.(TSCLAD.LE.TSAT).OR.(KWA.EQ.0)) THEN
* Single-phase convection. Use Dittus-Boelter correlation
KWA=0
HB=0.0
K0=0
XFL=XFL0
EPS=EPS0
SLIP=SLIP0
ELSE IF(HMAVG.LT.HGSAT) THEN
* Subcooled convection. Use Dittus-Boelter and Forster-Zuber
* correlations
* XM: Martinelli parameter
* F: Reynolds number factor
* S: nucleate boiling suppression factor
* SIGM: surface tension in N/m
* HA: Dittus-Boelter coefficient
* HB: Forster-Zuber coefficient
*
IF(HMAVG.LT.HLSAT) THEN
KWA=1
ELSE
KWA=2
ENDIF
XM=(XFL/(1.0-XFL))**0.9*(RHOL/RHOG)**0.5*(ZMUG/ZMUL)**0.1
IF(XM.LE.0.100207) THEN
F=1.0
ELSE
F=2.35*(0.213+XM)**0.736
ENDIF
RE=REL*F**1.25
S=1.0/(1.0+2.53E-6*RE**1.17)
PR=PINLET/10**6
SIGM=-7.2391E-6*PR**3+2.8345E-4*PR**2-5.1566E-3*PR+4.2324E-2
HA=0.023*(ZKL/HD)*REL**0.8*PRL**0.4
DTSAT=TSCLAD-TSAT
IF(IFLUID.EQ.0) THEN
CALL THMSAP(PW, TSCLAD)
ELSE
CALL THMHSP(PW, TSCLAD)
ENDIF
DP=PW-PINLET
* Forster-Zuber equation
HLV=HGSAT-HLSAT
HB=0.00122*ZKL**0.79*CPL**0.45*RHOL**0.49/(ZMUL**0.29*
> SIGM**0.5*HLV**0.24*RHOG**0.24)*DTSAT**0.24*DP**0.75
ELSE
* Superheated steam. Use Mokry correlation
KWA=3
IF(IFLUID.EQ.0) THEN
CALL THMPT(PINLET,TSCLAD,RHOW,R2,R3,R4,R5)
ELSE IF(IFLUID.EQ.1) THEN
CALL THMHPT(PINLET,TSCLAD,RHOW,R2,R3,R4,R5)
ENDIF
HA=0.0061*(ZKG/HD)*REL**0.904*PRL**0.684*(RHOW/RHO)**0.564
HB=0.0
ENDIF
* Chen correlation
HCONV=F*HA+S*HB
IF(HCONV.LE.0.0) THEN
WRITE(HSMG,'(34HTHMH2O: DRY OUT REACHED IN CHANNEL,3I5)')
> I,J,K
CALL XABORT(HSMG)
ENDIF
IF(ITIME.EQ.0) THEN
TWAL=(PHI+S*HB*TSAT+F*HA*TCALO)/(S*HB+F*HA)
ELSE
ZNUM=ZF(1)+RADCL*S*HB*TSAT+RADCL*F*HA*TCALO
ZDEN=ZF(2)+RADCL*S*HB+RADCL*F*HA
TWAL=MAX(273.15,ZNUM/ZDEN)
PHI=MAX(0.0,(ZF(1)-TWAL*ZF(2))/RADCL)
ENDIF
IF(ABS(TSCLAD-TWAL).GT.1.0E-5*TSCLAD) THEN
TSCLAD=TWAL
ELSE
EXIT
ENDIF
ENDDO
ELSE IF(IHCONV.EQ.1) THEN
IF(ITIME.EQ.0) THEN
TSCLAD=TCALO+PHI/KHCONV
ELSE
RCHC=RADCL*KHCONV
TSCLAD=MAX(273.15,(ZF(1)+RCHC*TCALO)/(ZF(2)+RCHC))
PHI=(ZF(1)-TSCLAD*ZF(2))/RADCL
ENDIF
ENDIF
*----
* COMPUTE INITIAL BULK LIQUID ENTHALPY SUBCOOLING DHSUB
*----
IF((ISUBM.GT.0).AND.(K0.EQ.0).AND.LFIRST) THEN
DTSUB=0.0
IF(ISUBM.EQ.1) THEN
* Bowring correlation
* Reference: R. W. Bowring, "Physical Model, Based on Bubble
* Detachment, and Calculation of Steam Voidage in the Subcooled
* Region of a Heated Channel," OECD Report HPR-10, 1962.
* Equation3 (3) and (17)
VC=MFLOW/RHOL
ETA=14.0+0.1*PINLET/1.01325E+05
DTSUB=ETA*PHI/VC*1.0E-6
ELSE IF(ISUBM.EQ.2) THEN
* Saha-Zuber subcooling model
* PE: Peclet number
PE=MFLOW*CPL*HD/ZKL
IF(PE.LE.70000.0) THEN
DTSUB=PHI*HD/(455.0*ZKL)
ELSE
* reactor conditions
DTSUB=154.0*PHI/(MFLOW*CPL)
ENDIF
ENDIF
IF(TCALO.GE.TSAT-DTSUB) K0=K
DSAT=TSCLAD-TCALO-DTSUB
DHSUB=CPL*DTSUB
LFIRST=.FALSE.
ENDIF
RETURN
END
|