File: N:\mfix\model\calc_gama.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Subroutine: CALC_GAMA                                               C
4     !                                                                      C
5     !  Purpose: Calculate gas-solids heat transfer coefficients            C
6     !                                                                      C
7     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
8           SUBROUTINE CALC_GAMA(M)
9     
10     ! Modules
11     !---------------------------------------------------------------------//
12           USE sendrecv, only: send_recv
13           USE energy, only: gama_gs
14           USE usr_prop, only: usr_gama, calc_usr_prop
15           USE usr_prop, only: gassolids_heattransfer
16           IMPLICIT NONE
17     
18     ! Dummy arguments
19     !---------------------------------------------------------------------//
20     ! solids phase index
21           INTEGER, INTENT(IN) :: M
22     !---------------------------------------------------------------------//
23     
24           IF (USR_GAMA(M)) THEN
25              CALL CALC_USR_PROP(GasSolids_HeatTransfer,lm=M)
26           ELSE
27              CALL CALC_DEFAULT_GAMA_GS(M)
28           ENDIF
29           call send_recv(GAMA_GS,2)
30     
31           RETURN
32           END SUBROUTINE CALC_GAMA
33     
34     
35     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
36     !                                                                      C
37     !  Subroutine: CALC_DEFAULT_GAMA_GS                                    C
38     !  Purpose: Compute the default value for the gas-solids heat transfer C
39     !  coefficients.                                                       C
40     !                                                                      C
41     !  Author: M. Syamlal                                 Date: 15-JUL-92  C
42     !                                                                      C
43     !  Literature/Document References:                                     C
44     !  Gunn, D. J., (1978), International Journal of Heat and Mass         C
45     !    Transfer, Vol. 21, p 467-476.                                     C
46     !  Bird, Stewart, and Lightfoot (1960, p.663)                          C
47     !                                                                      C
48     !                                                                      C
49     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
50           SUBROUTINE CALC_DEFAULT_GAMA_GS(M)
51     
52     ! Modules
53     !---------------------------------------------------------------------//
54           USE compar, only: ijkstart3, ijkend3
55           USE energy, only: gama_gs
56           USE fldvar, only: u_g, v_g, w_g, u_s, v_s, w_s
57           USE fldvar, only: ep_g, ro_g, d_p, ep_s
58           Use fun_avg, only: avg_x_e, avg_y_n, avg_z_t
59           USE functions, only: fluidorp_flow_at
60           use functions, only: im_of, jm_of, km_of
61           use indices, only: i_of
62           USE param1, only: zero, half, one, small_number, large_number
63           USE physprop, only: mu_g, k_g, c_pg
64           USE rxns, only: r_phase
65           IMPLICIT NONE
66     
67     ! Dummy Arguments
68     !---------------------------------------------------------------------//
69     ! solids phase index
70           INTEGER, INTENT(IN) :: M
71     
72     ! Local Variables
73     !---------------------------------------------------------------------//
74     ! Indices
75           INTEGER :: I, IJK, IMJK, IJMK, IJKM
76     ! Cell center value of U_g, Vg, and Wg 
77           DOUBLE PRECISION :: UGC, VGC, WGC
78     ! Cell center value of U_sm, V_sm, W_sm
79           DOUBLE PRECISION :: USCM, VSCM, WSCM
80     ! Gas-solids relative velocity
81           DOUBLE PRECISION :: VREL
82     ! function of Prandtl number, Pr^(1/3)
83           DOUBLE PRECISION :: Pr1o3
84     ! Reynolds number, Re
85           DOUBLE PRECISION :: Re
86     ! EP_g^2
87           DOUBLE PRECISION :: EP_g2
88     ! a factor
89           DOUBLE PRECISION :: FAC
90     ! index for storing interphase mass transfer coefficients in the upper
91     ! triangle of the matrix. 
92           INTEGER :: LM
93     !---------------------------------------------------------------------//
94     
95           DO IJK = ijkstart3, ijkend3
96              IF (FLUIDorP_FLOW_AT(IJK)) THEN
97                 I = I_OF(IJK)
98                 IMJK = IM_OF(IJK)
99                 IJMK = JM_OF(IJK)
100                 IJKM = KM_OF(IJK)
101                 EP_G2 = EP_G(IJK)*EP_G(IJK)
102     
103     ! Calculate Prandtl number to the 1/3 power
104                 if(K_G(IJK) > ZERO) then
105                   PR1O3 = (C_PG(IJK)*MU_G(IJK)/K_G(IJK))**(1.D0/3.D0)
106                 else
107                   PR1O3 = LARGE_NUMBER
108                 endif
109     
110     ! Calculate velocity components at i, j, k
111                 UGC = AVG_X_E(U_G(IMJK),U_G(IJK),I)
112                 VGC = AVG_Y_N(V_G(IJMK),V_G(IJK))
113                 WGC = AVG_Z_T(W_G(IJKM),W_G(IJK))
114     
115                 USCM = AVG_X_E(U_S(IMJK,M),U_S(IJK,M),I)
116                 VSCM = AVG_Y_N(V_S(IJMK,M),V_S(IJK,M))
117                 WSCM = AVG_Z_T(W_S(IJKM,M),W_S(IJK,M))
118     
119     ! Calculate the magnitude of gas-solids relative velocity
120                 VREL=SQRT((UGC-USCM)**2+(VGC-VSCM)**2+(WGC-WSCM)**2)
121     
122                 if(MU_G(IJK) > ZERO)then
123                    RE = EP_G(IJK)*D_P(IJK,M)*VREL*RO_G(IJK)/MU_G(IJK)
124                 else
125                    RE = LARGE_NUMBER
126                 endif
127     
128     ! Calculate gas-solids heat transfer coefficient (Gunn 1978)
129                 GAMA_GS(IJK,M) = ((7.D0 - 10.D0*EP_G(IJK)+5.D0*EP_G2)*&
130                                   (ONE+0.7D0*RE**0.2D0*PR1O3)+&
131                                   (1.33D0 - 2.4D0*EP_G(IJK)+1.2D0*EP_G2)*&
132                                   RE**0.7D0*PR1O3)*(K_G(IJK)/D_P(IJK,M))*&
133                                   (6.D0*EP_S(IJK,M)/D_P(IJK,M))
134     
135     ! Correct the heat transfer coefficient for transpiration
136     ! Bird, Stewart, and Lightfoot (1960, p.663)
137                 IF (GAMA_GS(IJK,M) > SMALL_NUMBER) THEN
138     ! Only the effect of gas-solids heat transfer is accounted for so find
139     ! corresponding lm index for gas-solids mass transfer
140                    LM = 1+ (M-1)*M/2
141                    FAC = R_PHASE(IJK,LM)*C_PG(IJK)/GAMA_GS(IJK,M)
142                    IF (ABS(FAC) < 0.1D0) THEN
143                       GAMA_GS(IJK,M) = GAMA_GS(IJK,M)/&
144                                        (ONE+FAC/2.D0+FAC*FAC/6.D0)
145                    ELSE
146                       IF (R_PHASE(IJK,LM) > ZERO) THEN
147                          GAMA_GS(IJK,M) = R_PHASE(IJK,LM)*C_PG(IJK)*&
148                                           EXP((-FAC))/(ONE - EXP((-FAC)))
149                       ELSE
150                          GAMA_GS(IJK,M) = R_PHASE(IJK,LM)*C_PG(IJK)/&
151                                           (EXP(FAC) - ONE)
152                       ENDIF
153                    ENDIF
154                 ENDIF   ! end if gama_gs(ijk,M) > 0
155     
156              ENDIF   ! end if (fluidorp_flow_at(ijk)
157           ENDDO    ! end do loop (ijk=ijkstart3,ijkend3)
158     
159     
160           RETURN
161           END SUBROUTINE CALC_DEFAULT_GAMA_GS
162