File: /nfs/home/0/users/jenkins/mfix.git/model/cartesian_grid/allocate_cut_cell_arrays.f
1
2 SUBROUTINE ALLOCATE_CUT_CELL_ARRAYS
3
4
5
6
7
8
9
10
11
12
13
14
15 USE param
16 USE param1
17 Use indices
18
19 USE cutcell
20 USE stl
21 USE discretelement
22
23 IMPLICIT NONE
24
25 DIMENSION_MAX_CUT_CELL = INT(FAC_DIM_MAX_CUT_CELL*DIMENSION_3G)
26
27 Allocate( INTERIOR_CELL_AT (DIMENSION_3) )
28
29 Allocate( XG_E(0:DIMENSION_I) )
30 Allocate( YG_N(0:DIMENSION_J) )
31 Allocate( ZG_T(0:DIMENSION_K) )
32
33 Allocate( X_U (DIMENSION_3) )
34 Allocate( Y_U (DIMENSION_3) )
35 Allocate( Z_U (DIMENSION_3) )
36
37 Allocate( X_V (DIMENSION_3) )
38 Allocate( Y_V (DIMENSION_3) )
39 Allocate( Z_V (DIMENSION_3) )
40
41 Allocate( X_W (DIMENSION_3) )
42 Allocate( Y_W (DIMENSION_3) )
43 Allocate( Z_W (DIMENSION_3) )
44
45 Allocate( INTERSECT_X (DIMENSION_3) )
46 Allocate( INTERSECT_Y (DIMENSION_3) )
47 Allocate( INTERSECT_Z (DIMENSION_3) )
48
49 Allocate( X_int (DIMENSION_3) )
50 Allocate( Y_int (DIMENSION_3) )
51 Allocate( Z_int (DIMENSION_3) )
52
53 Allocate( X_NEW_POINT (DIMENSION_MAX_CUT_CELL) )
54 Allocate( Y_NEW_POINT (DIMENSION_MAX_CUT_CELL) )
55 Allocate( Z_NEW_POINT (DIMENSION_MAX_CUT_CELL) )
56
57 Allocate( X_NEW_U_POINT (DIMENSION_MAX_CUT_CELL) )
58 Allocate( Y_NEW_U_POINT (DIMENSION_MAX_CUT_CELL) )
59 Allocate( Z_NEW_U_POINT (DIMENSION_MAX_CUT_CELL) )
60
61 Allocate( X_NEW_V_POINT (DIMENSION_MAX_CUT_CELL) )
62 Allocate( Y_NEW_V_POINT (DIMENSION_MAX_CUT_CELL) )
63 Allocate( Z_NEW_V_POINT (DIMENSION_MAX_CUT_CELL) )
64
65 Allocate( X_NEW_W_POINT (DIMENSION_MAX_CUT_CELL) )
66 Allocate( Y_NEW_W_POINT (DIMENSION_MAX_CUT_CELL) )
67 Allocate( Z_NEW_W_POINT (DIMENSION_MAX_CUT_CELL) )
68
69 Allocate( NUMBER_OF_NODES (DIMENSION_3) )
70 Allocate( NUMBER_OF_U_NODES (DIMENSION_3) )
71 Allocate( NUMBER_OF_V_NODES (DIMENSION_3) )
72 Allocate( NUMBER_OF_W_NODES (DIMENSION_3) )
73
74 NUMBER_OF_NODES = 0
75 NUMBER_OF_U_NODES = 0
76 NUMBER_OF_V_NODES = 0
77 NUMBER_OF_W_NODES = 0
78
79 Allocate( CONNECTIVITY (DIMENSION_3,15) )
80 Allocate( CONNECTIVITY_U (DIMENSION_3,15) )
81 Allocate( CONNECTIVITY_V (DIMENSION_3,15) )
82 Allocate( CONNECTIVITY_W (DIMENSION_3,15) )
83
84 Allocate( PARTITION (DIMENSION_3) )
85
86 Allocate( WALL_U_AT (DIMENSION_3) )
87 Allocate( WALL_V_AT (DIMENSION_3) )
88 Allocate( WALL_W_AT (DIMENSION_3) )
89
90 WALL_U_AT = .FALSE.
91 WALL_V_AT = .FALSE.
92 WALL_W_AT = .FALSE.
93
94 Allocate( Area_CUT (DIMENSION_3) )
95 Allocate( Area_U_CUT (DIMENSION_3) )
96 Allocate( Area_V_CUT (DIMENSION_3) )
97 Allocate( Area_W_CUT (DIMENSION_3) )
98
99
100 Allocate( DELX_Ue (DIMENSION_3) )
101 Allocate( DELX_Uw (DIMENSION_3) )
102 Allocate( DELY_Un (DIMENSION_3) )
103 Allocate( DELY_Us (DIMENSION_3) )
104 Allocate( DELZ_Ut (DIMENSION_3) )
105 Allocate( DELZ_Ub (DIMENSION_3) )
106
107 Allocate( DELX_Ve (DIMENSION_3) )
108 Allocate( DELX_Vw (DIMENSION_3) )
109 Allocate( DELY_Vn (DIMENSION_3) )
110 Allocate( DELY_Vs (DIMENSION_3) )
111 Allocate( DELZ_Vt (DIMENSION_3) )
112 Allocate( DELZ_Vb (DIMENSION_3) )
113
114 Allocate( DELX_We (DIMENSION_3) )
115 Allocate( DELX_Ww (DIMENSION_3) )
116 Allocate( DELY_Wn (DIMENSION_3) )
117 Allocate( DELY_Ws (DIMENSION_3) )
118 Allocate( DELZ_Wt (DIMENSION_3) )
119 Allocate( DELZ_Wb (DIMENSION_3) )
120
121 Allocate( X_U_ec (DIMENSION_3) )
122 Allocate( Y_U_ec (DIMENSION_3) )
123 Allocate( Z_U_ec (DIMENSION_3) )
124 Allocate( X_U_nc (DIMENSION_3) )
125 Allocate( Y_U_nc (DIMENSION_3) )
126 Allocate( Z_U_nc (DIMENSION_3) )
127 Allocate( X_U_tc (DIMENSION_3) )
128 Allocate( Y_U_tc (DIMENSION_3) )
129 Allocate( Z_U_tc (DIMENSION_3) )
130
131 Allocate( X_V_ec (DIMENSION_3) )
132 Allocate( Y_V_ec (DIMENSION_3) )
133 Allocate( Z_V_ec (DIMENSION_3) )
134 Allocate( X_V_nc (DIMENSION_3) )
135 Allocate( Y_V_nc (DIMENSION_3) )
136 Allocate( Z_V_nc (DIMENSION_3) )
137 Allocate( X_V_tc (DIMENSION_3) )
138 Allocate( Y_V_tc (DIMENSION_3) )
139 Allocate( Z_V_tc (DIMENSION_3) )
140
141 Allocate( X_W_ec (DIMENSION_3) )
142 Allocate( Y_W_ec (DIMENSION_3) )
143 Allocate( Z_W_ec (DIMENSION_3) )
144 Allocate( X_W_nc (DIMENSION_3) )
145 Allocate( Y_W_nc (DIMENSION_3) )
146 Allocate( Z_W_nc (DIMENSION_3) )
147 Allocate( X_W_tc (DIMENSION_3) )
148 Allocate( Y_W_tc (DIMENSION_3) )
149 Allocate( Z_W_tc (DIMENSION_3) )
150
151 Allocate( DELH_Scalar (DIMENSION_3) )
152
153 Allocate( DELH_U (DIMENSION_3) )
154 Allocate( Theta_Ue (DIMENSION_3) )
155 Allocate( Theta_Ue_bar (DIMENSION_3) )
156 Allocate( Theta_U_ne (DIMENSION_3) )
157 Allocate( Theta_U_nw (DIMENSION_3) )
158 Allocate( Theta_U_te (DIMENSION_3) )
159 Allocate( Theta_U_tw (DIMENSION_3) )
160 Allocate( ALPHA_Ue_c (DIMENSION_3) )
161 Allocate( NOC_U_E (DIMENSION_3) )
162 Allocate( Theta_Un (DIMENSION_3) )
163 Allocate( Theta_Un_bar (DIMENSION_3) )
164 Allocate( ALPHA_Un_c (DIMENSION_3) )
165 Allocate( NOC_U_N (DIMENSION_3) )
166 Allocate( Theta_Ut (DIMENSION_3) )
167 Allocate( Theta_Ut_bar (DIMENSION_3) )
168 Allocate( ALPHA_Ut_c (DIMENSION_3) )
169 Allocate( NOC_U_T (DIMENSION_3) )
170 Allocate( A_UPG_E (DIMENSION_3) )
171 Allocate( A_UPG_W (DIMENSION_3) )
172
173 Allocate( DELH_V (DIMENSION_3) )
174 Allocate( Theta_V_ne (DIMENSION_3) )
175 Allocate( Theta_V_se (DIMENSION_3) )
176 Allocate( Theta_Vn (DIMENSION_3) )
177 Allocate( Theta_Vn_bar (DIMENSION_3) )
178 Allocate( Theta_V_nt (DIMENSION_3) )
179 Allocate( Theta_V_st (DIMENSION_3) )
180 Allocate( Theta_Ve (DIMENSION_3) )
181 Allocate( Theta_Ve_bar (DIMENSION_3) )
182 Allocate( ALPHA_Ve_c (DIMENSION_3) )
183 Allocate( NOC_V_E (DIMENSION_3) )
184 Allocate( ALPHA_Vn_c (DIMENSION_3) )
185 Allocate( NOC_V_N (DIMENSION_3) )
186 Allocate( Theta_Vt (DIMENSION_3) )
187 Allocate( Theta_Vt_bar (DIMENSION_3) )
188 Allocate( ALPHA_Vt_c (DIMENSION_3) )
189 Allocate( NOC_V_T (DIMENSION_3) )
190 Allocate( A_VPG_N (DIMENSION_3) )
191 Allocate( A_VPG_S (DIMENSION_3) )
192
193 Allocate( DELH_W (DIMENSION_3) )
194 Allocate( Theta_W_te (DIMENSION_3) )
195 Allocate( Theta_W_be (DIMENSION_3) )
196 Allocate( Theta_W_tn (DIMENSION_3) )
197 Allocate( Theta_W_bn (DIMENSION_3) )
198 Allocate( Theta_Wt (DIMENSION_3) )
199 Allocate( Theta_Wt_bar (DIMENSION_3) )
200 Allocate( Theta_We (DIMENSION_3) )
201 Allocate( Theta_We_bar (DIMENSION_3) )
202 Allocate( ALPHA_We_c (DIMENSION_3) )
203 Allocate( NOC_W_E (DIMENSION_3) )
204 Allocate( Theta_Wn (DIMENSION_3) )
205 Allocate( Theta_Wn_bar (DIMENSION_3) )
206 Allocate( ALPHA_Wn_c (DIMENSION_3) )
207 Allocate( NOC_W_N (DIMENSION_3) )
208 Allocate( ALPHA_Wt_c (DIMENSION_3) )
209 Allocate( NOC_W_T (DIMENSION_3) )
210 Allocate( A_WPG_T (DIMENSION_3) )
211 Allocate( A_WPG_B (DIMENSION_3) )
212
213
214 Allocate( NORMAL_S (DIMENSION_3,3) )
215 Allocate( NORMAL_U (DIMENSION_3,3) )
216 Allocate( NORMAL_V (DIMENSION_3,3) )
217 Allocate( NORMAL_W (DIMENSION_3,3) )
218
219 Allocate( REFP_S (DIMENSION_3,3) )
220 Allocate( REFP_U (DIMENSION_3,3) )
221 Allocate( REFP_V (DIMENSION_3,3) )
222 Allocate( REFP_W (DIMENSION_3,3) )
223
224 Allocate( ONEoDX_E_U (DIMENSION_3) )
225 Allocate( ONEoDY_N_U (DIMENSION_3) )
226 Allocate( ONEoDZ_T_U (DIMENSION_3) )
227
228 Allocate( ONEoDX_E_V (DIMENSION_3) )
229 Allocate( ONEoDY_N_V (DIMENSION_3) )
230 Allocate( ONEoDZ_T_V (DIMENSION_3) )
231
232 Allocate( ONEoDX_E_W (DIMENSION_3) )
233 Allocate( ONEoDY_N_W (DIMENSION_3) )
234 Allocate( ONEoDZ_T_W (DIMENSION_3) )
235
236 Allocate( Xn_int (DIMENSION_3) )
237 Allocate( Xn_U_int (DIMENSION_3) )
238 Allocate( Xn_V_int (DIMENSION_3) )
239 Allocate( Xn_W_int (DIMENSION_3) )
240
241 Allocate( Ye_int (DIMENSION_3) )
242 Allocate( Ye_U_int (DIMENSION_3) )
243 Allocate( Ye_V_int (DIMENSION_3) )
244 Allocate( Ye_W_int (DIMENSION_3) )
245
246 Allocate( Zt_int (DIMENSION_3) )
247 Allocate( Zt_U_int (DIMENSION_3) )
248 Allocate( Zt_V_int (DIMENSION_3) )
249 Allocate( Zt_W_int (DIMENSION_3) )
250
251 Allocate( SNAP (DIMENSION_3) )
252
253 SNAP = .FALSE.
254
255 Allocate( CUT_TREATMENT_AT (DIMENSION_3) )
256 Allocate( CUT_U_TREATMENT_AT (DIMENSION_3) )
257 Allocate( CUT_V_TREATMENT_AT (DIMENSION_3) )
258 Allocate( CUT_W_TREATMENT_AT (DIMENSION_3) )
259
260
261 CUT_TREATMENT_AT = .FALSE.
262 CUT_U_TREATMENT_AT = .FALSE.
263 CUT_V_TREATMENT_AT = .FALSE.
264 CUT_W_TREATMENT_AT = .FALSE.
265
266 Allocate( CUT_CELL_AT (DIMENSION_3) )
267 Allocate( CUT_U_CELL_AT (DIMENSION_3) )
268 Allocate( CUT_V_CELL_AT (DIMENSION_3) )
269 Allocate( CUT_W_CELL_AT (DIMENSION_3) )
270
271 CUT_CELL_AT = .FALSE.
272 CUT_U_CELL_AT = .FALSE.
273 CUT_V_CELL_AT = .FALSE.
274 CUT_W_CELL_AT = .FALSE.
275
276 Allocate( SMALL_CELL_AT (DIMENSION_3) )
277 SMALL_CELL_AT = .FALSE.
278
279 Allocate( SMALL_CELL_FLAG (DIMENSION_3) )
280 SMALL_CELL_FLAG = 0
281
282 Allocate( BLOCKED_CELL_AT (DIMENSION_3) )
283 Allocate( BLOCKED_U_CELL_AT (DIMENSION_3) )
284 Allocate( BLOCKED_V_CELL_AT (DIMENSION_3) )
285 Allocate( BLOCKED_W_CELL_AT (DIMENSION_3) )
286
287 BLOCKED_CELL_AT = .FALSE.
288 BLOCKED_U_CELL_AT = .FALSE.
289 BLOCKED_V_CELL_AT = .FALSE.
290 BLOCKED_W_CELL_AT = .FALSE.
291
292 Allocate( STANDARD_CELL_AT (DIMENSION_3) )
293 Allocate( STANDARD_U_CELL_AT (DIMENSION_3) )
294 Allocate( STANDARD_V_CELL_AT (DIMENSION_3) )
295 Allocate( STANDARD_W_CELL_AT (DIMENSION_3) )
296
297
298 Allocate( VORTICITY (DIMENSION_3) )
299 Allocate( LAMBDA2 (DIMENSION_3) )
300
301 Allocate( TRD_G_OUT (DIMENSION_3) )
302 Allocate( PP_G_OUT (DIMENSION_3) )
303 Allocate( EPP_OUT (DIMENSION_3) )
304
305 Allocate( dudx_OUT (DIMENSION_3) )
306 Allocate( dvdy_OUT (DIMENSION_3) )
307 Allocate( delv_OUT (DIMENSION_3) )
308
309 Allocate( U_MASTER_OF (DIMENSION_3) )
310 Allocate( V_MASTER_OF (DIMENSION_3) )
311 Allocate( W_MASTER_OF (DIMENSION_3) )
312
313 Allocate( BC_ID (DIMENSION_3) )
314 Allocate( BC_U_ID (DIMENSION_3) )
315 Allocate( BC_V_ID (DIMENSION_3) )
316 Allocate( BC_W_ID (DIMENSION_3) )
317
318 BC_ID = 0
319 BC_U_ID = 0
320 BC_V_ID = 0
321 BC_W_ID = 0
322
323 Allocate( DEBUG_CG (DIMENSION_3,15) )
324
325 Allocate( U_g_CC (DIMENSION_3) )
326 Allocate( V_g_CC (DIMENSION_3) )
327 Allocate( W_g_CC (DIMENSION_3) )
328
329 Allocate( U_s_CC (DIMENSION_3, DIMENSION_M) )
330 Allocate( V_s_CC (DIMENSION_3, DIMENSION_M) )
331 Allocate( W_s_CC (DIMENSION_3, DIMENSION_M) )
332
333 ALLOCATE(N_FACET_AT(DIMENSION_3))
334 N_FACET_AT = 0
335
336 ALLOCATE(LIST_FACET_AT(DIMENSION_3,DIM_FACETS_PER_CELL))
337
338 ALLOCATE(POTENTIAL_CUT_CELL_AT(DIMENSION_3))
339
340
341 Allocate( F_AT (DIMENSION_3) )
342
343 Allocate( DWALL (DIMENSION_3) )
344
345
346 RETURN
347 END SUBROUTINE ALLOCATE_CUT_CELL_ARRAYS
348
349
350