File: /nfs/home/0/users/jenkins/mfix.git/model/calc_gama.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2     !                                                                      !
3     !  Subroutine: CALC_GAMA                                               !
4     !  Author: M. Syamlal                                 Date: 15-JUL-92  !
5     !                                                                      !
6     !  Purpose: Calculate gas-solids heat transfer coefficients            !
7     !                                                                      !
8     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
9           SUBROUTINE CALC_GAMA(HEAT_TR)
10     !
11     !-----------------------------------------------
12     !   M o d u l e s
13     !-----------------------------------------------
14           USE param
15           USE param1
16           USE parallel
17           USE physprop
18           USE geometry
19           USE fldvar
20           USE energy
21           USE rxns
22           USE indices
23           USE compar
24           USE sendrecv
25           USE discretelement
26           USE functions
27     
28           IMPLICIT NONE
29     
30     !-----------------------------------------------
31     ! Dummy Arguments
32     !-----------------------------------------------
33     !                      Flag for exchange functions
34           LOGICAL          HEAT_TR(0:DIMENSION_M, 0:DIMENSION_M)
35     
36     !-----------------------------------------------
37     ! Local Variables
38     !-----------------------------------------------
39     !                      Indices
40           INTEGER          I, IJK
41     
42     !                      Solids phase
43           INTEGER          M
44     
45     !                      Cell center value of U_g, Vg, and Wg [Recall
46     !                      U_g(IJK) refers to U_g at I+1/2, J, K
47     !                      V_g(IJK) refers to V_g at I, J+1/2, K and
48     !                      W_g [W_G(IJK) refers to W_G at I, J, K+1/2]
49           DOUBLE PRECISION UGC, VGC, WGC
50     
51     !                      Cell center value of U_sm, V_sm, W_sm
52           DOUBLE PRECISION USCM, VSCM, WSCM
53     
54     !                      Gas-solids relative velocity
55           DOUBLE PRECISION VREL
56     
57     !                      function of Prandtl number, Pr^(1/3)
58           DOUBLE PRECISION Pr1o3
59     
60     !                      Reynolds number, Re
61           DOUBLE PRECISION Re
62     
63     !                      EP_g^2
64           DOUBLE PRECISION EP_g2
65     
66     !                      a factor
67           DOUBLE PRECISION FAC
68     
69           INTEGER          LM
70     
71     !-----------------------------------------------
72     
73           IF (DISCRETE_ELEMENT) RETURN
74     
75     ! this needs to be generalized
76           DO M = 1, SMAX
77              IF (HEAT_TR(0,M)) THEN
78     
79                 DO IJK = ijkstart3, ijkend3
80     
81                    IF (FLUIDorP_FLOW_AT(IJK)) THEN
82                       I = I_OF(IJK)
83                       EP_G2 = EP_G(IJK)*EP_G(IJK)
84     
85     ! Calculate Prandtl number to the 1/3 power
86                       if(K_G(IJK) > ZERO) then
87                         PR1O3 = (C_PG(IJK)*MU_G(IJK)/K_G(IJK))**(1.D0/3.D0)
88                       else
89                         PR1O3 = LARGE_NUMBER
90                       endif
91     
92     ! Calculate velocity components at the cell center for gas phase
93                       UGC = HALF*(U_G(IJK)+U_G(IM_OF(IJK)))
94                       VGC = HALF*(V_G(IJK)+V_G(JM_OF(IJK)))
95                       WGC = HALF*(W_G(IJK)+W_G(KM_OF(IJK)))
96     
97     ! Calculate velocity components at the cell center for solids phase m
98                       USCM = HALF*(U_S(IJK,M)+U_S(IM_OF(IJK),M))
99                       VSCM = HALF*(V_S(IJK,M)+V_S(JM_OF(IJK),M))
100                       WSCM = HALF*(W_S(IJK,M)+W_S(KM_OF(IJK),M))
101     
102     ! Calculate the magnitude of gas-solids relative velocity
103                       VREL=SQRT((UGC-USCM)**2+(VGC-VSCM)**2+(WGC-WSCM)**2)
104     
105                       if(MU_G(IJK) > ZERO)then
106                          RE = EP_G(IJK)*D_P(IJK,M)*VREL*RO_G(IJK)/MU_G(IJK)
107                       else
108                          RE = LARGE_NUMBER
109                       endif
110     
111     ! Calculate gas-solids heat transfer coefficient (Gunn 1978)
112                       GAMA_GS(IJK,M) = ((7.D0 - 10.D0*EP_G(IJK)+5.D0*EP_G2)*(ONE+0.7D0*RE**&
113                          0.2D0*PR1O3)+(1.33D0 - 2.4D0*EP_G(IJK)+1.2D0*EP_G2)*RE**0.7D0*PR1O3)*(&
114                          K_G(IJK)/D_P(IJK,M))*(6.D0*EP_S(IJK,M)/D_P(IJK,M))
115     
116     ! Correct the heat transfer coefficient for transpiration
117     ! Bird, Stewart, and Lightfoot (1960, p.663)
118                       IF (GAMA_GS(IJK,M) > SMALL_NUMBER) THEN
119                          LM = 1
120                          FAC = R_PHASE(IJK,LM)*C_PG(IJK)/GAMA_GS(IJK,M)
121                          IF (ABS(FAC) < 0.1D0) THEN
122                             GAMA_GS(IJK,M)=GAMA_GS(IJK,M)/(ONE+FAC/2.D0+FAC*FAC/6.D0)
123                          ELSE
124                             IF (R_PHASE(IJK,LM) > ZERO) THEN
125                                GAMA_GS(IJK,M) = R_PHASE(IJK,LM)*C_PG(IJK)*EXP((-FAC&
126                                   ))/(ONE - EXP((-FAC)))
127                             ELSE
128                                GAMA_GS(IJK,M) = R_PHASE(IJK,LM)*C_PG(IJK)/(EXP(FAC)&
129                                    - ONE)
130                             ENDIF
131                          ENDIF
132                       ENDIF   ! end if gama_gs(ijk,M) > 0
133     
134                    ENDIF   ! end if (fluidorp_flow_at(ijk)
135                 ENDDO    ! end do loop (ijk=ijkstart3,ijkend3)
136              ENDIF    ! end if (heat_tr(0,m))
137           ENDDO    ! end do loop (m=1,smax)
138     
139           call send_recv(GAMA_GS,2)
140     
141           RETURN
142           END SUBROUTINE CALC_GAMA
143