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

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: CALC_DIF_g(IER)
4     !  Purpose: Calculate the effective diffusivity of fluid phase        C
5     !                                                                      C
6     !  Author:M. Syamlal                                  Date: 13-FEB-98  C
7     !  Reviewer:                                          Date: dd-mmm-yy  C
8     !
9     !  Updated with the dilute mixture approximation for calculation of    C
10     !  multicomponent diffusion coefficients                               C
11     !  Author:N. Reuge                                    Date: 11-APR-07  C
12     !  Reviewer:                                          Date: dd-mmm-yy  C
13     !                                                                      C
14     !  Literature/Document References:                                     C
15     !                                                                      C
16     !  Variables referenced:                                               C
17     !  Variables modified:                                                 C
18     !                                                                      C
19     !  Local variables:                                                    C
20     !                                                                      C
21     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
22     
23           SUBROUTINE CALC_DIF_G()
24     !...Switches: -xf
25     !-----------------------------------------------
26     !   M o d u l e s
27     !-----------------------------------------------
28           USE param
29           USE param1
30           USE parallel
31           USE physprop
32           USE fldvar
33           USE geometry
34           USE indices
35           USE constant
36           USE scales
37           USE compar
38           USE sendrecv
39           USE run
40           USE functions
41           IMPLICIT NONE
42     !-----------------------------------------------
43     !   G l o b a l   P a r a m e t e r s
44     !-----------------------------------------------
45     !-----------------------------------------------
46     !   D u m m y   A r g u m e n t s
47     !-----------------------------------------------
48     
49     !                      Indices
50           INTEGER          IJK, N
51     
52           DOUBLE PRECISION Dab(3,3), Tg0, Pg0
53     
54     !-----------------------------------------------
55     
56     ! Default gas diffusion coefficient
57     ! Bird, Stewart, and Lightfoot (1960) -- CO2--N2 at 298.2 K
58           Dab(1,2) = 0.165D0       !cm^2/s
59           Tg0 = 298.2D0
60           Pg0 = 1.01D6             !dyne
61     
62           IF(UNITS == 'SI') THEN
63              Dab(1,2) = Dab(1,2)*0.0001D0   !m^2/s
64              Pg0 = Pg0/10.D0                !Pa
65           ENDIF
66     
67     
68     !********Gas diffusion coef for a system of 3 species***************
69     ! Species: SiH4, H2 & N2
70     ! Calculated using relation derived from Chapman and Enskog's theory
71     ! of gases - Reid, Prausnitz and Poling (1987)
72     
73     ! Binary diffusion coefficient SiH4/H2 at 873 K
74     !      Dab(1,2) = 3.78      ! cm^2/s
75     !      Dab(2,1) = Dab(1,2)
76     
77     ! Binary diffusion coefficient SiH4/N2 at 873 K
78     !      Dab(1,3) = 1.02      ! cm^2/s
79     !      Dab(3,1) = Dab(1,3)
80     
81     ! Binary diffusion coefficient H2/N2 at 873 K
82     !      Dab(2,3) = 4.52      ! cm^2/s
83     !      Dab(3,2) = Dab(2,3)
84     
85     !      Tg0 = 873.0
86     !      Pg0 = 1.01e6         ! dyne
87     
88     !      IF(UNITS == 'SI') THEN
89     !         DO N1 = 1, NMAX(0)-1
90     !            DO N2 = N1+1, NMAX(0)
91     !               Dab(N1,N2) = Dab(N1,N2)*0.0001D0   !m^2/s
92     !               Dab(N2,N1) = Dab(N1,N2)
93     !            ENDDO
94     !         ENDDO
95     !         Pg0 = Pg0/10.D0                    !Pa
96     !      ENDIF
97     
98     !*******************************************************************
99     
100           IF (DIF_G0 /= UNDEFINED) RETURN
101     
102     !!!!$omp  parallel do private(ijk) &
103     !!!!$omp& schedule(dynamic,chunk_size)
104     
105     ! Default calculation of diffusivities
106     ! Influence of gas temperature and gas pressure from Fuller relation
107           DO N = 1, NMAX(0)
108              DO IJK = IJKSTART3, IJKEND3
109                 IF (FLUID_AT(IJK)) THEN
110                    DIF_G(IJK,N) = ROP_G(IJK)*Dab(1,2)*(T_g(IJK)/Tg0)**1.75 * &
111                                   Pg0/(P_g(IJK)+P_REF)
112                 ELSE
113                    DIF_G(IJK,N) = ZERO
114                 ENDIF
115              ENDDO
116           ENDDO
117     
118     
119     !*******************************************************************
120     ! Caculation of diffusivities using the dilute mixture approximation for
121     ! multicomponent diffusion - Curtiss-Hirschfelder, Wilke & Blanc
122     ! Valid if the mass fraction of the carrier species > 0.9
123     
124     ! Influence of gas temperature and gas pressure from Fuller relation
125     !      DO N = 1, NMAX(0)
126     !         DO IJK = IJKSTART3, IJKEND3
127     !            IF (FLUID_AT(IJK)) THEN
128     !               IF ((1.0-X_g(IJK,N)) > 1.e-8) THEN
129     !                  SUMJ = ZERO
130     !                  DO N2 = 1, NMAX(0)
131     !                     IF (N2 /= N) SUMJ = SUMJ+X_g(IJK,N2)/Dab(N,N2)
132     !                  ENDDO
133     !                  DIF_G(IJK,N) = ROP_G(IJK)*(1-X_g(IJK,N))/SUMJ * &
134     !                                 (T_g(IJK)/Tg0)**1.75*Pg0/P_g(IJK)
135     !               ELSE
136     !                  DIF_G(IJK,N) = ROP_G(IJK)*Dab(1,2)
137     !               ENDIF
138     !            ELSE
139     !               DIF_G(IJK,N) = ZERO
140     !            ENDIF
141     !         ENDDO
142     !      ENDDO
143     !****************************************************************************
144     
145     
146           RETURN
147           END SUBROUTINE CALC_DIF_G
148     
149