@@ -431,55 +431,99 @@ def ShahCondensation(x,AS,G,D,p):
431
431
#A single value is given
432
432
return ShahCondensation (x_min ,AS ,G ,D ,p )
433
433
434
- def f_h_cp_supercritical (Tout ,Tin ,AS ,OD ,ID ,mdot ,p ):
435
-
436
- def SuperCriticalCondensation (T ,AS ,OD ,ID ,mdot ,p ):
434
+ def Petterson_supercritical_average (Tout ,Tin ,T_w ,AS ,G ,OD ,ID ,D_l ,mdot ,p ,q_flux_w ):
435
+ '''
436
+ Petterson et al. (2000), Heat transfer and pressure drop for flow supercritical and subcritical CO2 in microchannel tubes
437
+ All details for this correlation are available in Ding Li Thesis (Appendix B):
438
+ "INVESTIGATION OF AN EJECTOR-EXPANSION DEVICE IN A TRANSCRITICAL CARBON DIOXIDE CYCLE FOR MILITARY ECU APPLICATIONS"
439
+ '''
440
+
441
+ def Petterson_supercritical (T ,T_w ,AS ,G ,OD ,ID ,D_l ,mdot ,p ,q_flux_w ):
442
+ AS .update (CP .PT_INPUTS ,p ,T_w )
443
+ h_w = AS .hmass () #[J/kg]
444
+ mu_w = AS .viscosity () #[Pa-s OR kg/m-s]
445
+ cp_w = AS .cpmass () #[J/kg-K]
446
+ k_w = AS .conductivity () #[W/m-K]
447
+ rho_w = AS .rhomass () #[kg/m^3]
448
+ Pr_w = cp_w * mu_w / k_w #[-]
449
+
437
450
AS .update (CP .PT_INPUTS ,p ,T )
451
+ h = AS .hmass () #[J/kg]
438
452
mu = AS .viscosity () #[Pa-s OR kg/m-s]
439
453
cp = AS .cpmass () #[J/kg-K]
440
454
k = AS .conductivity () #[W/m-K]
441
455
rho = AS .rhomass () #[kg/m^3]
442
456
Pr = cp * mu / k #[-]
443
-
457
+
444
458
Dh = OD - ID
445
459
Area = pi * (OD ** 2 - ID ** 2 )/ 4.0
446
460
u = mdot / (Area * rho )
447
461
Re = rho * u * Dh / mu
448
-
449
- # Friction factor of Churchill (Darcy Friction factor where f_laminar=64/Re)
450
- e_D = 0
451
- A = ((- 2.457 * log ( (7.0 / Re )** (0.9 ) + 0.27 * e_D )))** 16
452
- B = (37530.0 / Re )** 16
453
- f = 8 * ((8 / Re )** 12.0 + 1 / (A + B )** (1.5 ))** (1 / 12 )
454
-
455
- # Heat Transfer coefficient of Gnielinski
456
- Nu = (f / 8 )* (Re - 1000 )* Pr / (1 + 12.7 * sqrt (f / 8 )* (Pr ** (2 / 3 )- 1 )) #[-]
457
- h = k * Nu / Dh #W/m^2-K
462
+ Re_w = Re #rho_w*u*Dh/mu_w
463
+
464
+ if G > 350 :
465
+ e_D = 0 #smooth pipe
466
+ f = (- 1.8 * log (6.9 / Re + (1 / 3.7 * e_D )** 1.11 ))** (- 2 )
467
+ Nu_m = (f / 8 )* (Re - 1000 )* Pr / (1 + 12.7 * sqrt (f / 8 )* (Pr ** (2 / 3 )- 1 )) * (1 + (D_l )** (2 / 3 ))
468
+ Nu = Nu_m * (Pr / Pr_w )** 0.11
469
+
470
+ else : # G<350
471
+
472
+ M = 0.001 #[kg/J]
473
+ K = 0.00041 #[kg/J]
474
+
475
+ cp_avg = (h - h_w )/ (T - T_w )
476
+
477
+ if cp_avg / cp_w <= 1 :
478
+ n = 0.66 - K * (q_flux_w / G )
479
+ else : #cp_avg/cp_w <1
480
+ n = 0.9 - K * (q_flux_w / G )
481
+
482
+ f0 = (0.79 * log (Re )- 1.64 )** (- 2 )
483
+
484
+ g = 9.81
485
+ #coefficient of thermal expansion
486
+ beta = AS .isobaric_expansion_coefficient () #[1/K]
487
+ #Grashoff number
488
+ Gr = g * beta * (T_w - T )* Dh ** 3 / (mu / rho )** 2
489
+ if Gr / Re ** 2 < 5e-4 :
490
+ f = f0 * (mu_w / mu )** 0.22
491
+ elif Gr / Re ** 2 >= 5e-4 and G / Re ** 2 < 0.3 :
492
+ f = 2.15 * f0 * (mu_w / mu )** 0.22 * (Gr / Re )** 0.1
493
+ else : #use f0 for friction factor
494
+ f = f0
495
+
496
+ Nu_w_ppk = (f0 / 8 )* Re_w * Pr_w / (1.07 + 12.7 * sqrt (f / 8 )* (Pr_w ** (2 / 3 )- 1 ))
497
+
498
+ Nu = Nu_w_ppk * (1 - M * q_flux_w / G ) * (cp_avg / cp_w )** n
499
+
500
+ h = k * Nu / Dh #[W/m^2-K]
501
+
458
502
return (h ,f ,cp ,rho )
459
-
460
- def SuperCriticalCondensation_h (T ,AS ,OD ,ID ,mdot ,p ):
503
+
504
+ def SuperCriticalCondensation_h (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ):
461
505
'''return h value'''
462
- return SuperCriticalCondensation (T ,AS ,OD ,ID ,mdot ,p )[0 ]
463
- def SuperCriticalCondensation_f (T ,AS ,OD ,ID ,mdot ,p ):
506
+ return Petterson_supercritical (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w )[0 ]
507
+ def SuperCriticalCondensation_f (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ):
464
508
'''return f value'''
465
- return SuperCriticalCondensation (T ,AS ,OD ,ID ,mdot ,p )[1 ]
466
- def SuperCriticalCondensation_cp (T ,AS ,OD ,ID ,mdot ,p ):
509
+ return Petterson_supercritical (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w )[1 ]
510
+ def SuperCriticalCondensation_cp (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ):
467
511
'''return cp value'''
468
- return SuperCriticalCondensation (T ,AS ,OD ,ID ,mdot ,p )[2 ]
469
- def SuperCriticalCondensation_rho (T ,AS ,OD ,ID ,mdot ,p ):
512
+ return Petterson_supercritical (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w )[2 ]
513
+ def SuperCriticalCondensation_rho (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ):
470
514
'''return rho value'''
471
- return SuperCriticalCondensation (T ,AS ,OD ,ID ,mdot ,p )[3 ]
515
+ return Petterson_supercritical (T ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w )[3 ]
472
516
473
517
if not Tout == Tin :
474
518
#A proper range is given
475
- h = quad (SuperCriticalCondensation_h ,Tin ,Tout ,args = (AS ,OD ,ID ,mdot ,p ))[0 ]/ (Tout - Tin )
476
- f = quad (SuperCriticalCondensation_f ,Tin ,Tout ,args = (AS ,OD ,ID ,mdot ,p ))[0 ]/ (Tout - Tin )
477
- cp = quad (SuperCriticalCondensation_cp ,Tin ,Tout ,args = (AS ,OD ,ID ,mdot ,p ))[0 ]/ (Tout - Tin )
478
- rho = quad (SuperCriticalCondensation_rho ,Tin ,Tout ,args = (AS ,OD ,ID ,mdot ,p ))[0 ]/ (Tout - Tin )
519
+ h = quad (SuperCriticalCondensation_h ,Tin ,Tout ,args = (T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ))[0 ]/ (Tout - Tin )
520
+ f = quad (SuperCriticalCondensation_f ,Tin ,Tout ,args = (T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ))[0 ]/ (Tout - Tin )
521
+ cp = quad (SuperCriticalCondensation_cp ,Tin ,Tout ,args = (T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ))[0 ]/ (Tout - Tin )
522
+ rho = quad (SuperCriticalCondensation_rho ,Tin ,Tout ,args = (T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w ))[0 ]/ (Tout - Tin )
479
523
return (h ,f ,cp ,rho )
480
524
else :
481
525
#A single value is given
482
- return SuperCriticalCondensation (Tout ,AS ,OD ,ID ,mdot ,p )
526
+ return Petterson_supercritical (Tout ,T_w , AS ,G , OD ,ID ,D_l , mdot ,p , q_flux_w )
483
527
484
528
def f_h_1phase_Tube (mdot ,ID ,T , p ,AS ,Phase = 'Single' ):
485
529
"""
0 commit comments