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     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
5     !
6     !  Module name: ALLOCATE_ARRAYS
7     !  Purpose: allocate arrays
8     !                                                                      C
9     !  Author: Jeff Dietiker                              Date: 21-Feb-08  C
10     !  Reviewer:
11     !
12     !-----------------------------------------------
13     !   M o d u l e s
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