MFIX  2016-1
fldvar_mod.f
Go to the documentation of this file.
1 ! -*- f90 -*-
2 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
3 ! C
4 ! Module: fldvar C
5 ! Purpose: Common block containing field variables data C
6 ! C
7 ! Author: M. Syamlal Date: dd-mmm-yy C
8 ! Reviewer: Date: dd-mmm-yy C
9 ! C
10 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
11  MODULE fldvar
12 
13 
14 ! Void fraction
15  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ep_g
16 ! Store the void/volume fraction or value of 1 depending on setting of
17 ! governing equations
18  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: epg_jfac
19  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: epg_ifac
20  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: eps_ifac
21 
22 ! Previous-time-step value of Void fraction
23  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ep_go
24 
25 ! Gas pressure
26  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_g
27 
28 ! Previous-time-step value of Gas pressure
29  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_go
30 
31 ! Gas density
32  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ro_g
33 
34 ! Previous-time-step value of Gas density
35  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ro_go
36 
37 ! Macroscopic gas density
38  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: rop_g
39 
40 ! Previous-time-step value of macroscopic gas density
41  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: rop_go
42 
43 
44 ! Solids phase densities
45  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: ro_s
46 
47 ! Previous-time-step value Solids phase densities
48  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: ro_so
49 
50 ! Macroscopic density of solids phases
51  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: rop_s
52 
53 ! Previous-time-step value of macroscopic density of solids phases
54  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: rop_so
55 
56 ! Macroscopic density of particle diameter
57  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: d_p
58 
59 ! Previous-time-step value of particle diameter
60  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: d_po
61 
62 ! Gas phase temperature
63  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: t_g
64 
65 ! Solids phase temperature
66  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: t_s
67 
68 ! Previous-time-step value of Gas phase temperature
69  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: t_go
70 
71 ! Previous-time-step value of Solids phase temperature
72  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: t_so
73 
74 ! Gas species mass fraction
75  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: x_g
76 
77 ! Solids species mass fraction
78  DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: x_s
79 
80 ! Previous-time-step value of Gas species mass fraction
81  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: x_go
82 
83 ! Previous-time-step value of Solids species mass fraction
84  DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: x_so
85 
86 ! x-component of gas velocity
87  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: u_g
88 
89 ! Previous-time-step value of x-component of gas velocity
90  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: u_go
91 
92 ! x-component of solids phase velocity
93  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: u_s
94 
95 ! Previous-time-step value of x-component of solids phase velocity
96  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: u_so
97 
98 ! y-component of gas velocity
99  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: v_g
100 
101 ! Previous time-step value of y-component of gas velocity
102  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: v_go
103 
104 ! y-component of solids phase velocity
105  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: v_s
106 
107 ! Previous time-step value of y-component of solids phase velocity
108  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: v_so
109 
110 ! z-component of gas velocity
111  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: w_g
112 
113 ! Previous time-step value of z-component of gas velocity
114  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: w_go
115 
116 ! z-component of solids phase velocity
117  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: w_s
118 
119 ! Previous time-step value of z-component of solids phase velocity
120  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: w_so
121 
122 ! Solids pressure as a result of granular motion
123  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: p_s
124 
125 ! Solids pressure as a result of granular motion
126 ! Collisional Contribution
127  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: p_s_c
128 
129 ! Solids pressure as a result of granular motion
130 ! Viscous Contribution
131  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_s_v
132 
133 ! Solids pressure as a result of granular motion
134 ! Frictional Contribution
135  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_s_f
136 
137 ! Solids pressure as a result of granular motion
138 ! Plastic Contribution
139  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_s_p
140 
141 ! Solids pressure that maintains EP_g >= EP_star
142  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_star
143 
144 ! Previous-time-step value of Solids pressure that maintains
145 ! EP_g >= EP_star
146  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: p_staro
147 
148 ! Granular temperature of mth phase
149  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: theta_m
150 
151 ! Previous-time-step value of Granular temperature of mth phase
152  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: theta_mo
153 
154 ! User-defined Scalars
155  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: scalar
156 
157 ! Previous time-step value of User-defined Scalars
158  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: scalaro
159 
160 ! K and Epsilon for Gas turbulence
161  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: k_turb_g
162  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: e_turb_g
163 
164 ! Previous time-step value of K and Epsilon
165  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: k_turb_go
166  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: e_turb_go
167 
168 
169 !--------------------------------------------------------------------------> J.Musser TBR
170  DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: ep_ss
171  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: err_array
172 
173 
174  CONTAINS
175 
176 ! Function to calculate the solids phase M volume fraction.
177  DOUBLE PRECISION FUNCTION ep_s(IJK, xxM)
178  IMPLICIT NONE
179  INTEGER, INTENT(IN) :: IJK ! spatial index
180  INTEGER, INTENT(IN) :: xxM ! solids phase index
181  ep_s = rop_s(ijk, xxm)/ro_s(ijk,xxm)
182  END FUNCTION
183 
184 
185 !!!HPF$ align EP_g(:) with TT(:)
186 !!!HPF$ align EP_go(:) with TT(:)
187 !!!HPF$ align P_g(:) with TT(:)
188 !!!HPF$ align P_go(:) with TT(:)
189 !!!HPF$ align RO_g(:) with TT(:)
190 !!!HPF$ align RO_go(:) with TT(:)
191 !!!HPF$ align ROP_g(:) with TT(:)
192 !!!HPF$ align ROP_go(:) with TT(:)
193 !!!HPF$ align D_p(:, *) with TT(:)
194 !!!HPF$ align D_po(:, *) with TT(:)
195 !!!HPF$ align ROP_s(:, *) with TT(:)
196 !!!HPF$ align ROP_so(:, *) with TT(:)
197 !!!HPF$ align T_g(:) with TT(:)
198 !!!HPF$ align T_s(:, *) with TT(:)
199 !!!HPF$ align T_go(:) with TT(:)
200 !!!HPF$ align T_so(:, *) with TT(:)
201 !!!HPF$ align X_g(:, *) with TT(:)
202 !!!HPF$ align X_s(:, *, *) with TT(:)
203 !!!HPF$ align X_go(:, *) with TT(:)
204 !!!HPF$ align X_so(:, *, *) with TT(:)
205 !!!HPF$ align U_g(:) with TT(:)
206 !!!HPF$ align U_go(:) with TT(:)
207 !!!HPF$ align U_s(:, *) with TT(:)
208 !!!HPF$ align U_so(:, *) with TT(:)
209 !!!HPF$ align V_g(:) with TT(:)
210 !!!HPF$ align V_go(:) with TT(:)
211 !!!HPF$ align V_s(:, *) with TT(:)
212 !!!HPF$ align V_so(:, *) with TT(:)
213 !!!HPF$ align W_g(:) with TT(:)
214 !!!HPF$ align W_go(:) with TT(:)
215 !!!HPF$ align W_s(:, *) with TT(:)
216 !!!HPF$ align W_so(:, *) with TT(:)
217 !!!HPF$ align P_s(:, *) with TT(:)
218 !!!HPF$ align P_s_c(:, *) with TT(:)
219 !!!HPF$ align P_star(:) with TT(:)
220 !!!HPF$ align P_staro(:) with TT(:)
221 !!!HPF$ align THETA_m(:, *) with TT(:)
222 !!!HPF$ align THETA_mo(:, *) with TT(:)
223 
224 
225  END MODULE fldvar
double precision, dimension(:,:), allocatable v_s
Definition: fldvar_mod.f:105
double precision, dimension(:,:), allocatable v_so
Definition: fldvar_mod.f:108
double precision, dimension(:), allocatable e_turb_go
Definition: fldvar_mod.f:166
double precision, dimension(:,:,:), allocatable ep_ss
Definition: fldvar_mod.f:170
double precision, dimension(:), allocatable ep_g
Definition: fldvar_mod.f:15
double precision, dimension(:,:), allocatable ro_so
Definition: fldvar_mod.f:48
double precision, dimension(:), allocatable k_turb_g
Definition: fldvar_mod.f:161
double precision, dimension(:,:,:), allocatable x_so
Definition: fldvar_mod.f:84
double precision, dimension(:,:), allocatable w_s
Definition: fldvar_mod.f:117
double precision, dimension(:), allocatable epg_jfac
Definition: fldvar_mod.f:18
double precision, dimension(:), allocatable t_g
Definition: fldvar_mod.f:63
double precision, dimension(:), allocatable k_turb_go
Definition: fldvar_mod.f:165
double precision, dimension(:), allocatable p_s_f
Definition: fldvar_mod.f:135
double precision, dimension(:,:), allocatable scalar
Definition: fldvar_mod.f:155
double precision, dimension(:), allocatable p_g
Definition: fldvar_mod.f:26
double precision, dimension(:), allocatable ep_go
Definition: fldvar_mod.f:23
double precision, dimension(:,:), allocatable err_array
Definition: fldvar_mod.f:171
double precision, dimension(:), allocatable v_go
Definition: fldvar_mod.f:102
double precision, dimension(:,:), allocatable t_so
Definition: fldvar_mod.f:72
double precision, dimension(:), allocatable t_go
Definition: fldvar_mod.f:69
double precision, dimension(:), allocatable u_go
Definition: fldvar_mod.f:90
double precision, dimension(:,:), allocatable d_po
Definition: fldvar_mod.f:60
double precision, dimension(:,:), allocatable u_s
Definition: fldvar_mod.f:93
double precision, dimension(:,:), allocatable scalaro
Definition: fldvar_mod.f:158
double precision, dimension(:), allocatable p_s_v
Definition: fldvar_mod.f:131
double precision, dimension(:,:), allocatable p_s_c
Definition: fldvar_mod.f:127
double precision, dimension(:,:), allocatable theta_mo
Definition: fldvar_mod.f:152
double precision, dimension(:,:), allocatable d_p
Definition: fldvar_mod.f:57
double precision, dimension(:,:,:), allocatable x_s
Definition: fldvar_mod.f:78
double precision, dimension(:,:), allocatable t_s
Definition: fldvar_mod.f:66
double precision, dimension(:,:), allocatable x_g
Definition: fldvar_mod.f:75
double precision, dimension(:,:), allocatable theta_m
Definition: fldvar_mod.f:149
double precision, dimension(:), allocatable v_g
Definition: fldvar_mod.f:99
double precision, dimension(:), allocatable p_s_p
Definition: fldvar_mod.f:139
double precision, dimension(:), allocatable w_g
Definition: fldvar_mod.f:111
double precision, dimension(:,:), allocatable u_so
Definition: fldvar_mod.f:96
double precision, dimension(:,:), allocatable rop_so
Definition: fldvar_mod.f:54
double precision, dimension(:,:), allocatable w_so
Definition: fldvar_mod.f:120
double precision, dimension(:), allocatable w_go
Definition: fldvar_mod.f:114
double precision, dimension(:,:), allocatable ro_s
Definition: fldvar_mod.f:45
double precision, dimension(:), allocatable epg_ifac
Definition: fldvar_mod.f:19
double precision, dimension(:), allocatable rop_go
Definition: fldvar_mod.f:41
double precision, dimension(:,:), allocatable p_s
Definition: fldvar_mod.f:123
double precision, dimension(:), allocatable p_star
Definition: fldvar_mod.f:142
double precision, dimension(:,:), allocatable x_go
Definition: fldvar_mod.f:81
double precision, dimension(:), allocatable u_g
Definition: fldvar_mod.f:87
double precision function ep_s(IJK, xxM)
Definition: fldvar_mod.f:178
double precision, dimension(:), allocatable p_staro
Definition: fldvar_mod.f:146
double precision, dimension(:,:), allocatable eps_ifac
Definition: fldvar_mod.f:20
double precision, dimension(:,:), allocatable rop_s
Definition: fldvar_mod.f:51
double precision, dimension(:), allocatable p_go
Definition: fldvar_mod.f:29
double precision, dimension(:), allocatable e_turb_g
Definition: fldvar_mod.f:162
double precision, dimension(:), allocatable ro_g
Definition: fldvar_mod.f:32
double precision, dimension(:), allocatable rop_g
Definition: fldvar_mod.f:38
double precision, dimension(:), allocatable ro_go
Definition: fldvar_mod.f:35