File: /nfs/home/0/users/jenkins/mfix.git/model/cartesian_grid/cutcell_mod.f
1 MODULE cutcell
2
3 Use param
4 Use param1
5 USE progress_bar
6
7
8 INTEGER UNIT_CUT_CELL_LOG
9 PARAMETER (UNIT_CUT_CELL_LOG = 111)
10
11
12
13 LOGICAL :: CARTESIAN_GRID
14
15
16 LOGICAL :: RE_INDEXING
17
18
19 LOGICAL :: ADJUST_PROC_DOMAIN_SIZE
20
21
22 LOGICAL :: REPORT_BEST_DOMAIN_SIZE
23
24
25 INTEGER :: DIMENSION_MAX_CUT_CELL
26
27
28 DOUBLE PRECISION :: FAC_DIM_MAX_CUT_CELL
29
30
31
32
33
34
35
36
37
38
39
40 LOGICAL, DIMENSION(:), ALLOCATABLE :: INTERIOR_CELL_AT
41
42
43
44 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::XG_E
45 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::YG_N
46 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::ZG_T
47
48
49 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_U
50 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_U
51 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_U
52
53
54 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_V
55 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_V
56 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_V
57
58
59 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_W
60 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_W
61 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_W
62
63
64 LOGICAL, DIMENSION(:), ALLOCATABLE :: INTERSECT_X
65 LOGICAL, DIMENSION(:), ALLOCATABLE :: INTERSECT_Y
66 LOGICAL, DIMENSION(:), ALLOCATABLE :: INTERSECT_Z
67
68
69 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_int
70 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_int
71 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_int
72
73
74 DOUBLE PRECISION, DIMENSION(0:15):: X_NODE
75 DOUBLE PRECISION, DIMENSION(0:15):: Y_NODE
76 DOUBLE PRECISION, DIMENSION(0:15):: Z_NODE
77 DOUBLE PRECISION, DIMENSION(0:15):: F_NODE
78 INTEGER, DIMENSION(0:15) :: IJK_OF_NODE
79
80
81 INTEGER :: NUMBER_OF_NEW_POINTS
82 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_NEW_POINT
83 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_NEW_POINT
84 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_NEW_POINT
85
86
87 INTEGER :: NUMBER_OF_NEW_U_POINTS
88 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_NEW_U_POINT
89 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_NEW_U_POINT
90 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_NEW_U_POINT
91
92
93 INTEGER :: NUMBER_OF_NEW_V_POINTS
94 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_NEW_V_POINT
95 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_NEW_V_POINT
96 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_NEW_V_POINT
97
98
99 INTEGER :: NUMBER_OF_NEW_W_POINTS
100 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_NEW_W_POINT
101 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_NEW_W_POINT
102 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_NEW_W_POINT
103
104
105 INTEGER, DIMENSION(:), ALLOCATABLE :: NUMBER_OF_NODES
106 INTEGER, DIMENSION(:), ALLOCATABLE :: NUMBER_OF_U_NODES
107 INTEGER, DIMENSION(:), ALLOCATABLE :: NUMBER_OF_V_NODES
108 INTEGER, DIMENSION(:), ALLOCATABLE :: NUMBER_OF_W_NODES
109
110
111 INTEGER, DIMENSION(:,:), ALLOCATABLE :: CONNECTIVITY
112 INTEGER, DIMENSION(:,:), ALLOCATABLE :: CONNECTIVITY_U
113 INTEGER, DIMENSION(:,:), ALLOCATABLE :: CONNECTIVITY_V
114 INTEGER, DIMENSION(:,:), ALLOCATABLE :: CONNECTIVITY_W
115
116
117 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: PARTITION
118
119
120 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: NORMAL_S
121
122
123 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: REFP_S
124
125
126 LOGICAL, DIMENSION(:), ALLOCATABLE :: WALL_U_AT
127 LOGICAL, DIMENSION(:), ALLOCATABLE :: WALL_V_AT
128 LOGICAL, DIMENSION(:), ALLOCATABLE :: WALL_W_AT
129
130
131 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Area_CUT
132 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Area_U_CUT
133 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Area_V_CUT
134 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Area_W_CUT
135
136
137 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELX_Ue
138 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELX_Uw
139 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELY_Un
140 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELY_Us
141 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELZ_Ut
142 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELZ_Ub
143
144 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELX_Ve
145 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELX_Vw
146 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELY_Vn
147 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELY_Vs
148 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELZ_Vt
149 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELZ_Vb
150
151 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELX_We
152 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELX_Ww
153 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELY_Wn
154 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELY_Ws
155 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELZ_Wt
156 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELZ_Wb
157
158
159 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_U_ec
160 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_U_ec
161 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_U_ec
162
163 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_U_nc
164 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_U_nc
165 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_U_nc
166
167 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_U_tc
168 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_U_tc
169 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_U_tc
170
171 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_V_ec
172 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_V_ec
173 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_V_ec
174
175 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_V_nc
176 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_V_nc
177 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_V_nc
178
179 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_V_tc
180 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_V_tc
181 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_V_tc
182
183 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_W_ec
184 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_W_ec
185 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_W_ec
186
187 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_W_nc
188 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_W_nc
189 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_W_nc
190
191 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: X_W_tc
192 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Y_W_tc
193 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Z_W_tc
194
195
196 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELH_Scalar
197
198
199
200 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELH_U
201
202
203 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: NORMAL_U
204
205
206 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: REFP_U
207
208
209
210 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Ue
211 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Ue_bar
212
213 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_U_ne
214 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_U_nw
215
216 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_U_te
217 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_U_tw
218
219 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Ue_c
220 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_U_E
221
222 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Un
223 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Un_bar
224
225 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Un_c
226 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_U_N
227
228 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Ut
229 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Ut_bar
230
231 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Ut_c
232 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_U_T
233
234 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: A_UPG_E
235 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: A_UPG_W
236
237
238 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELH_V
239
240
241 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: NORMAL_V
242
243
244 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: REFP_V
245
246
247
248 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_V_ne
249 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_V_se
250
251 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Vn
252 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Vn_bar
253
254 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_V_nt
255 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_V_st
256
257 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Ve
258 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Ve_bar
259
260 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Ve_c
261 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_V_E
262
263 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Vn_c
264 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_V_N
265
266 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Vt
267 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Vt_bar
268
269 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Vt_c
270 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_V_T
271
272 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: A_VPG_N
273 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: A_VPG_S
274
275
276
277 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DELH_W
278
279
280 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: NORMAL_W
281
282
283 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: REFP_W
284
285
286
287 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_W_te
288 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_W_be
289
290 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_W_tn
291 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_W_bn
292
293 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Wt
294 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Wt_bar
295
296 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_We
297 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_We_bar
298
299 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_We_c
300 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_W_E
301
302 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Wn
303 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Theta_Wn_bar
304
305 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Wn_c
306 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_W_N
307
308 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ALPHA_Wt_c
309 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: NOC_W_T
310
311 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: A_WPG_T
312 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: A_WPG_B
313
314
315 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDX_E_U
316 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDY_N_U
317 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDZ_T_U
318
319
320 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDX_E_V
321 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDY_N_V
322 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDZ_T_V
323
324 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDX_E_W
325 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDY_N_W
326 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ONEoDZ_T_W
327
328
329
330 LOGICAL, DIMENSION(:), ALLOCATABLE :: ALONG_DOMAIN_BOUNDARY
331
332
333 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Xn_int
334 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Xn_U_int
335 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Xn_V_int
336 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Xn_W_int
337
338 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Ye_int
339 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Ye_U_int
340 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Ye_V_int
341 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Ye_W_int
342
343 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Zt_int
344 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Zt_U_int
345 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Zt_V_int
346 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: Zt_W_int
347
348
349 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_TREATMENT_AT
350 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_U_TREATMENT_AT
351 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_V_TREATMENT_AT
352 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_W_TREATMENT_AT
353
354
355 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_CELL_AT
356 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_U_CELL_AT
357 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_V_CELL_AT
358 LOGICAL, DIMENSION(:), ALLOCATABLE :: CUT_W_CELL_AT
359
360 LOGICAL, DIMENSION(:), ALLOCATABLE :: SMALL_CELL_AT
361 LOGICAL, DIMENSION(:), ALLOCATABLE :: BLOCKED_CELL_AT
362 INTEGER, DIMENSION(:), ALLOCATABLE :: SMALL_CELL_FLAG
363
364 LOGICAL, DIMENSION(:), ALLOCATABLE :: BLOCKED_U_CELL_AT
365 LOGICAL, DIMENSION(:), ALLOCATABLE :: BLOCKED_V_CELL_AT
366 LOGICAL, DIMENSION(:), ALLOCATABLE :: BLOCKED_W_CELL_AT
367
368 LOGICAL, DIMENSION(:), ALLOCATABLE :: STANDARD_CELL_AT
369 LOGICAL, DIMENSION(:), ALLOCATABLE :: STANDARD_U_CELL_AT
370 LOGICAL, DIMENSION(:), ALLOCATABLE :: STANDARD_V_CELL_AT
371 LOGICAL, DIMENSION(:), ALLOCATABLE :: STANDARD_W_CELL_AT
372
373
374 DOUBLE PRECISION, DIMENSION(3) :: TOL_SNAP
375
376
377 DOUBLE PRECISION :: TOL_DELH
378
379
380 DOUBLE PRECISION :: TOL_MERGE
381
382
383 DOUBLE PRECISION :: TOL_SMALL_CELL
384 DOUBLE PRECISION :: TOL_SMALL_AREA
385
386 DOUBLE PRECISION :: ALPHA_MAX
387
388
389 LOGICAL :: NOC,NOC_UG,NOC_VG,NOC_WG,NOC_US,NOC_VS,NOC_WS,NOC_TRDG,NOC_TRDS
390 LOGICAL :: CUT_TAU_UG,CUT_TAU_VG,CUT_TAU_WG,CUT_TAU_US,CUT_TAU_VS,CUT_TAU_WS
391
392
393 INTEGER :: PG_OPTION
394
395
396 INTEGER NUMBER_OF_U_CUT_CELLS
397 INTEGER NUMBER_OF_V_CUT_CELLS
398 INTEGER NUMBER_OF_W_CUT_CELLS
399 INTEGER NUMBER_OF_SMALL_CELLS
400
401 INTEGER NUMBER_OF_U_WALL_CELLS
402 INTEGER NUMBER_OF_V_WALL_CELLS
403 INTEGER NUMBER_OF_W_WALL_CELLS
404
405
406 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: VORTICITY
407 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: LAMBDA2
408
409
410 INTEGER, DIMENSION(15) :: ORDER
411
412
413 LOGICAL, DIMENSION(:), ALLOCATABLE :: SNAP
414
415 INTEGER, DIMENSION(10) :: CG_SAFE_MODE
416 LOGICAL :: PRINT_WARNINGS
417 LOGICAL :: SET_CORNER_CELLS
418
419
420 INTEGER, DIMENSION(:), ALLOCATABLE :: U_MASTER_OF
421 INTEGER, DIMENSION(:), ALLOCATABLE :: V_MASTER_OF
422 INTEGER, DIMENSION(:), ALLOCATABLE :: W_MASTER_OF
423
424 INTEGER :: N_USR_DEF
425
426 LOGICAL :: USE_POLYGON
427
428 LOGICAL :: USE_STL
429
430 LOGICAL :: USE_MSH
431
432
433 INTEGER, DIMENSION(:), ALLOCATABLE :: BC_ID
434 INTEGER, DIMENSION(:), ALLOCATABLE :: BC_U_ID
435 INTEGER, DIMENSION(:), ALLOCATABLE :: BC_V_ID
436 INTEGER, DIMENSION(:), ALLOCATABLE :: BC_W_ID
437
438 INTEGER :: NSW_GHOST_BC_ID
439
440
441 DOUBLE PRECISION, DIMENSION(9):: CG_UR_FAC
442
443
444 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE ::DEBUG_CG
445
446 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::U_g_CC
447 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::V_g_CC
448 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::W_g_CC
449
450 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE ::U_s_CC
451 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE ::V_s_CC
452 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE ::W_s_CC
453
454 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: TRD_G_OUT
455 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: PP_G_OUT
456 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: EPP_OUT
457
458 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: dudx_OUT
459 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: dvdy_OUT
460 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: delv_OUT
461
462 LOGICAL :: PARTIAL_CHECK_03
463
464
465 LOGICAL :: CG_HEADER_WAS_PRINTED = .FALSE.
466
467 LOGICAL, DIMENSION(:), ALLOCATABLE ::SCALAR_NODE_ATWALL
468
469 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE ::SCALAR_NODE_XYZ
470
471 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::Ovol_around_node
472
473
474 LOGICAL, DIMENSION(:), ALLOCATABLE :: POTENTIAL_CUT_CELL_AT
475
476 INTEGER, PARAMETER :: MAX_CP = 100
477
478 DOUBLE PRECISION, DIMENSION(0:MAX_CP) :: CPX,CPY,CPZ
479 DOUBLE PRECISION, DIMENSION(MAX_CP) :: ERX,ERY,ERZ
480 INTEGER, DIMENSION(MAX_CP) :: NCX,NCY,NCZ
481 DOUBLE PRECISION, DIMENSION(MAX_CP) :: FIRST_DX,LAST_DX
482 DOUBLE PRECISION, DIMENSION(MAX_CP) :: FIRST_DY,LAST_DY
483 DOUBLE PRECISION, DIMENSION(MAX_CP) :: FIRST_DZ,LAST_DZ
484
485
486 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: F_AT
487
488 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DWALL
489
490 INTEGER :: NODESI_REPORT,NODESJ_REPORT,NODESK_REPORT
491
492 LOGICAL :: MINIMIZE_SEND_RECV
493
494 LOGICAL :: DWALL_BRUTE_FORCE
495
496 END MODULE cutcell
497