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

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: field_variables.inc                                    C
4     !  Purpose: Common block containing field variables data               C
5     !                                                                      C
6     !  Author: M. Syamlal                                 Date: dd-mmm-yy  C
7     !  Reviewer:                                          Date: dd-mmm-yy  C
8     !                                                                      C
9     !  Revision Number:                                                    C
10     !  Purpose:                                                            C
11     !  Author:                                            Date: dd-mmm-yy  C
12     !  Reviewer:                                          Date: dd-mmm-yy  C
13     !                                                                      C
14     !  Literature/Document References: None                                C
15     !                                                                      C
16     !  Variables referenced: None                                          C
17     !  Variables modified: None                                            C
18     !                                                                      C
19     !  Local variables: None                                               C
20     !                                                                      C
21     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
22           MODULE fldvar
23     
24           Use param
25           Use param1
26     
27     
28     !
29     !                      Void fraction
30           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  EP_g
31     !
32     !                      Previous-time-step value of Void fraction
33           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  EP_go
34     !
35     !                      Gas pressure
36           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_g
37     !
38     !                      Previous-time-step value of Gas pressure
39           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_go
40     !
41     !                      Gas density
42           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  RO_g
43     !
44     !                      Previous-time-step value of Gas density
45           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  RO_go
46     !
47     !                      Macroscopic gas density
48           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  ROP_g
49     !
50     !                      Previous-time-step value of macroscopic gas density
51           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  ROP_go
52     !
53     
54     !                      Solids phase densities
55           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: RO_S
56     !                      Previous-time-step value Solids phase densities
57           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: RO_So
58     
59     
60     !                      Macroscopic density of solids phases
61           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  ROP_s
62     !
63     !                      Previous-time-step value of macroscopic density of
64     !                      solids phases
65           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  ROP_so
66     
67     !                      Macroscopic density of particle diameter
68           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  D_p
69     !
70     !                      Previous-time-step value of particle diameter
71           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  D_po
72     
73     !                      Gas phase temperature
74           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  T_g
75     !
76     !                      Solids phase temperature
77           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  T_s
78     !
79     !                      Previous-time-step value of Gas phase temperature
80           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  T_go
81     !
82     !                      Previous-time-step value of Solids phase temperature
83           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  T_so
84     !
85     !                      Gas species mass fraction
86           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  X_g
87     !
88     !                      Solids species mass fraction
89           DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE ::  X_s
90     !
91     !                      Previous-time-step value of Gas species mass fraction
92           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  X_go
93     !
94     !                      Previous-time-step value of Solids species mass fraction
95           DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE ::  X_so
96     !
97     !                      x-component of gas velocity
98           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  U_g
99     !
100     !                      Previous-time-step value of x-component of gas velocity
101           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  U_go
102     !
103     !                      x-component of solids phase velocity
104           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  U_s
105     !
106     !                      Previous-time-step value of x-component of solids phase
107     !                      velocity
108           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  U_so
109     !
110     !                      y-component of gas velocity
111           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  V_g
112     !
113     !                      Previous time-step value of y-component of gas velocity
114           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  V_go
115     !
116     !                      y-component of solids phase velocity
117           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  V_s
118     !
119     !                      Previous time-step value of y-component of solids phase
120     !                      velocity
121           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  V_so
122     !
123     !                      z-component of gas velocity
124           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  W_g
125     !
126     !                      Previous time-step value of z-component of gas velocity
127           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  W_go
128     !
129     !                      z-component of solids phase velocity
130           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  W_s
131     !
132     !                      Previous time-step value of z-component of solids phase
133     !                      velocity
134           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  W_so
135     !
136     !                      Solids pressure as a result of granular motion
137           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  P_s
138     !
139     !                      Solids pressure as a result of granular motion
140     !                      Collisional Contribution
141           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  P_s_c
142     !
143     !                      Solids pressure as a result of granular motion
144     !                      Viscous Contribution
145           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_s_v
146     !
147     !                      Solids pressure as a result of granular motion
148     !                      Frictional Contribution
149           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_s_f
150     !                      Solids pressure as a result of granular motion
151     !                      Plastic Contribution
152           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_s_p
153     !
154     !                      Solids pressure that maintains EP_g >= EP_star
155           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_star
156     !
157     !                      Previous-time-step value of Solids pressure that maintains EP_g >= EP_star
158           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  P_staro
159     !
160     !                      Granular temperature of mth phase
161           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  THETA_m
162     !
163     !                      Previous-time-step value of Granular temperature of mth phase
164           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  THETA_mo
165     !
166     !
167     !                      User-defined Scalars
168           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  Scalar
169     !
170     !                      Previous time-step value of User-defined Scalars
171           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  Scalaro
172     !
173     !
174     !                      K and Epsilon for Gas turbulence
175           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  K_Turb_G
176           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  E_Turb_G
177     !
178     !                      Previous time-step value of K and Epsilon
179           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  K_Turb_Go
180           DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::  E_Turb_Go
181     
182     
183     
184     !--------------------------------------------------------------------------> J.Musser TBR
185           DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: EP_SS
186           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: ERR_ARRAY
187     
188     ! Function to calculate the solids phase M volume fraction.
189     
190     CONTAINS
191     
192      ! Solids volume fraction function
193     DOUBLE PRECISION FUNCTION EP_s(IJK, xxM)
194       IMPLICIT NONE
195       INTEGER xxM           ! Solids phase dummy index
196       INTEGER IJK
197     
198       EP_s = ROP_s(IJK, xxM)/RO_S(IJK,xxM)
199     END FUNCTION
200     
201     !!!HPF$ align EP_g(:) with TT(:)
202     !!!HPF$ align EP_go(:) with TT(:)
203     !!!HPF$ align P_g(:) with TT(:)
204     !!!HPF$ align P_go(:) with TT(:)
205     !!!HPF$ align RO_g(:) with TT(:)
206     !!!HPF$ align RO_go(:) with TT(:)
207     !!!HPF$ align ROP_g(:) with TT(:)
208     !!!HPF$ align ROP_go(:) with TT(:)
209     !!!HPF$ align D_p(:, *) with TT(:)
210     !!!HPF$ align D_po(:, *) with TT(:)
211     !!!HPF$ align ROP_s(:, *) with TT(:)
212     !!!HPF$ align ROP_so(:, *) with TT(:)
213     !!!HPF$ align T_g(:) with TT(:)
214     !!!HPF$ align T_s(:, *) with TT(:)
215     !!!HPF$ align T_go(:) with TT(:)
216     !!!HPF$ align T_so(:, *) with TT(:)
217     !!!HPF$ align X_g(:, *) with TT(:)
218     !!!HPF$ align X_s(:, *, *) with TT(:)
219     !!!HPF$ align X_go(:, *) with TT(:)
220     !!!HPF$ align X_so(:, *, *) with TT(:)
221     !!!HPF$ align U_g(:) with TT(:)
222     !!!HPF$ align U_go(:) with TT(:)
223     !!!HPF$ align U_s(:, *) with TT(:)
224     !!!HPF$ align U_so(:, *) with TT(:)
225     !!!HPF$ align V_g(:) with TT(:)
226     !!!HPF$ align V_go(:) with TT(:)
227     !!!HPF$ align V_s(:, *) with TT(:)
228     !!!HPF$ align V_so(:, *) with TT(:)
229     !!!HPF$ align W_g(:) with TT(:)
230     !!!HPF$ align W_go(:) with TT(:)
231     !!!HPF$ align W_s(:, *) with TT(:)
232     !!!HPF$ align W_so(:, *) with TT(:)
233     !!!HPF$ align P_s(:, *) with TT(:)
234     !!!HPF$ align P_s_c(:, *) with TT(:)
235     !!!HPF$ align P_star(:) with TT(:)
236     !!!HPF$ align P_staro(:) with TT(:)
237     !!!HPF$ align THETA_m(:, *) with TT(:)
238     !!!HPF$ align THETA_mo(:, *) with TT(:)
239     
240     
241           END MODULE fldvar
242