File: N:\mfix\model\des\calc_gamma_des.f

1     #include "version.inc"
2     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
3     !  Subroutine: DES_CALC_GAMMA                                          !
4     !                                                                      !
5     !  Purpose: Calculate the heat transfer coefficient (GAMMAxSA) for     !
6     !  particle-fluid heat transfer.                                       !
7     !                                                                      !
8     !  Author: J.Musser                                   Date: 16-Jun-10  !
9     !                                                                      !
10     !  Comments:                                                           !
11     !                                                                      !
12     !  REF: Ranz, W.E. and Marshall, W.R., "Friction and transfer          !
13     !       coefficients for single particles and packed beds," Chemical   !
14     !       Engineering Science, Vol. 48, No. 5, pp 247-253, 1925.         !
15     !                                                                      !
16     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
17           SUBROUTINE CALC_GAMMA_DES(NP, pGAMMA)
18     
19           USE compar
20           USE constant
21           USE des_thermo
22           USE discretelement
23           USE exit, only: mfix_exit
24           USE fldvar
25           USE geometry
26           USE indices
27           USE param1
28           USE physprop
29           USE fun_avg
30           USE functions
31     
32           IMPLICIT NONE
33     
34     ! Passed variables
35     !---------------------------------------------------------------------//
36     ! Index value of particle
37           INTEGER, INTENT(IN) :: NP
38     ! Convective heat transfer coefficient
39           DOUBLE PRECISION, INTENT(OUT) :: pGAMMA
40     
41     ! Local variables
42     !---------------------------------------------------------------------//
43     ! Fluid cell indices
44           INTEGER IMJK, IJMK, IJKM
45     ! Double precision value for 1/3
46           DOUBLE PRECISION, PARAMETER  :: THIRD = (1.0d0/3.0d0)
47     
48           DOUBLE PRECISION N_Pr  ! Prandtl Number
49           DOUBLE PRECISION N_Re  ! Reynolds Number
50           DOUBLE PRECISION N_Nu  ! Nusselt Number
51     
52     ! Magnitude of slip velocity
53           DOUBLE PRECISION SLIP
54     ! Fluid velocity
55           DOUBLE PRECISION cUg, cVg, cWg
56           DOUBLE PRECISION Us, Vs, Ws
57     ! Index value of fluid cell
58           INTEGER :: IJK
59     !---------------------------------------------------------------------//
60     
61           IJK = PIJK(NP,4)
62     ! Initialization
63           IMJK = IM_OF(IJK)
64           IJMK = JM_OF(IJK)
65           IJKM = KM_OF(IJK)
66     
67           SELECT CASE(DES_CONV_CORR_ENUM)
68     
69              CASE (RANZ_1952) ! (Ranz and Mrshall, 1952)
70     ! Initialize variables
71                 SLIP = ZERO
72                 N_Re = ZERO
73                 N_Nu = ZERO
74     ! Gas velocity in fluid cell IJK
75                 cUg = AVG_X_E(U_g(IMJK), U_g(IJK), 1)
76                 cVg = AVG_Y_N(V_g(IJMK), V_g(IJK))
77     ! Particle Velocity
78                 Us = DES_VEL_NEW(NP,1)
79                 Vs = DES_VEL_NEW(NP,2)
80     
81     ! Calculate the magnitude of the slip velocity
82                 IF(NO_K) THEN
83                    SLIP = SQRT((cUg-Us)**2 + (cVg-Vs)**2)
84                 ELSE
85                    cWg = AVG_Z_T(W_g(IJKM), W_g(IJK))
86                    Ws = DES_VEL_NEW(NP,3)
87                    SLIP = SQRT((cUg-Us)**2 + (cVg-Vs)**2 + (cWg-Ws)**2)
88                 ENDIF
89     
90     ! Calculate the Prandtl Number
91                 IF(K_G(IJK) > ZERO) THEN
92                    N_Pr = (C_PG(IJK)*MU_G(IJK))/K_G(IJK)
93                 ELSE
94                    N_Pr = LARGE_NUMBER
95                 ENDIF
96     
97     ! Calculate the particle Reynolds Number
98                 IF(MU_G(IJK) > ZERO) THEN
99                    N_Re = (2.0d0*DES_RADIUS(NP)*SLIP*RO_g(IJK)) / MU_g(IJK)
100                 ELSE
101                    N_Re = LARGE_NUMBER
102                 ENDIF
103     
104     ! Calculate the Nusselt Number
105                 N_Nu = 2.0d0 + 0.6d0 *((N_Re)**HALF * (N_Pr)**THIRD)
106     
107     ! Calculate the convective heat transfer coefficient
108                 pGAMMA = (N_Nu * K_G(IJK))/(2.0d0 * DES_RADIUS(NP))
109     
110              CASE DEFAULT
111                 WRITE(*,*)'INVALID DES CONVECTION MODEL'
112                 ERROR_STOP 'INVALID DES CONVECTION MODEL'
113                 CALL MFIX_EXIT(myPE)
114           END SELECT
115     
116           RETURN
117           END SUBROUTINE CALC_GAMMA_DES
118