MFIX  2016-1
cutcell_mod.f
Go to the documentation of this file.
1  MODULE cutcell
2 
3  ! Use param
4  ! Use param1
5  USE progress_bar
6 
7 ! CUT_CELL.LOG unit number
9  parameter(unit_cut_cell_log = 111)
10 
11 ! Flag to activate Cartesian grid
12 
13  LOGICAL :: cartesian_grid
14 
15 ! Flag to activate cell re-indexing
16  LOGICAL :: re_indexing
17 
18 ! Flag to activate adjustment of each processor domain size
20 
21 ! Flag to report best domain size on each processor and quit
23 
24 ! maximum number of cut cells
26 
27 ! Factor used to allocate cut cells arrays
28  DOUBLE PRECISION :: fac_dim_max_cut_cell
29 
30 ! Flag to identify interior cells.
31 ! This flag is true for any cell within the range
32 ! istart1 <= i <= iend1 and so on for j and k.
33 ! Caution: it is local to each processor and this array
34 ! is not shared accross processor boundaries.
35 ! For example, consider 1-D decomposition over two procs.
36 ! on each proc, INTERIOR_CELL_AT will be true for
37 ! istart1 <= i <= iend1. On processor 1, it will be false
38 ! at i=iend2 even though i=iend2 is an interior cell in the
39 ! global sense!
40  LOGICAL, DIMENSION(:), ALLOCATABLE :: interior_cell_at
41 
42 ! One-Dimensional Arrays for East, North, Top location of
43 ! original (uncut) scalar cells
44  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::xg_e
45  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::yg_n
46  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE ::zg_t
47 
48 ! location of U-momentum nodes
49  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: x_u
50  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: y_u
51  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: z_u
52 
53 ! location of V-momentum nodes
54  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: x_v
55  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: y_v
56  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: z_v
57 
58 ! location of W-momentum nodes
59  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: x_w
60  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: y_w
61  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: z_w
62 
63 ! Intersection flags
64  LOGICAL, DIMENSION(:), ALLOCATABLE :: intersect_x
65  LOGICAL, DIMENSION(:), ALLOCATABLE :: intersect_y
66  LOGICAL, DIMENSION(:), ALLOCATABLE :: intersect_z
67 
68 ! Location of intersections
69  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: x_int
70  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: y_int
71  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: z_int
72 
73 ! Location of original (uncut) corner cell nodes
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 ! Location of new (along intersecting edges) nodes
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 ! Location of new (along intersecting edges) nodes
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 ! Location of new (along intersecting edges) nodes
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 ! Location of new (along intersecting edges) nodes
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 ! Number of nodes
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 ! Connectivity
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 ! Processor assign to cell IJK
117  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: partition
118 
119 ! Normal Vector Defining cut face in Scalar Cell
120  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: normal_s
121 
122 ! Reference point Defining cut face in Scalar Cell
123  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: refp_s
124 
125 ! Flags for Wall momentum cells
126  LOGICAL, DIMENSION(:), ALLOCATABLE :: wall_u_at
127  LOGICAL, DIMENSION(:), ALLOCATABLE :: wall_v_at
128  LOGICAL, DIMENSION(:), ALLOCATABLE :: wall_w_at
129 
130 ! Areas of cut faces
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 ! Distances from cell center to face center
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 ! Location of face centers
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 ! Distance to cut face in Scalar Cell
196  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: delh_scalar
197 
198 
199 ! Distance to cut face in U-Momentum Cell
200  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: delh_u
201 
202 ! Normal Vector Defining cut face in U-Momentum Cell
203  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: normal_u
204 
205 ! Reference point Defining cut face in W-Momentum Cell
206  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: refp_u
207 
208 
209 ! Correction factors for U-Momentum Cell
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 ! Distance to cut face in V-Momentum Cell
238  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: delh_v
239 
240 ! Normal Vector Defining cut face in V-Momentum Cell
241  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: normal_v
242 
243 ! Reference point Defining cut face in V-Momentum Cell
244  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: refp_v
245 
246 
247 ! Correction factors for V-Momentum Cell
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 ! Distance to cut face in W-Momentum Cell
277  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: delh_w
278 
279 ! Normal Vector Defining cut face in W-Momentum Cell
280  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: normal_w
281 
282 ! Reference point Defining cut face in W-Momentum Cell
283  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: refp_w
284 
285 
286 ! Correction factors for W-Momentum Cell
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 ! 1/dx, 1/dy, 1/dz
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 ! Location of intersection points
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 ! Cut cell treatment flags
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 ! Various cell flags
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 ! Tolerance for snapping procedure
374  DOUBLE PRECISION, DIMENSION(3) :: tol_snap
375 
376 ! Tolerances for wall distance
377  DOUBLE PRECISION :: tol_delh
378 
379 ! Tolerance for merging nodes
380  DOUBLE PRECISION :: tol_merge
381 
382 ! Tolerance for detecting small scalar cells
383  DOUBLE PRECISION :: tol_small_cell
384  DOUBLE PRECISION :: tol_small_area
385 ! Maximum value of ALPHA correction factor
386  DOUBLE PRECISION :: alpha_max
387 
388 ! Flags to include effect of cut cells
391 
392 ! pressure gradient option flag
393  INTEGER :: pg_option
394 
395 ! Number of cells
400 
404 
405 ! Vorticity and lambda2
406  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: vorticity
407  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: lambda2
408 
409 ! Re-ordering array
410  INTEGER, DIMENSION(15) :: order
411 
412 ! Snapping flag
413  LOGICAL, DIMENSION(:), ALLOCATABLE :: snap
414 
415  INTEGER, DIMENSION(10) :: cg_safe_mode
416  LOGICAL :: print_warnings
417  LOGICAL :: set_corner_cells
418 
419 ! Master cell of wall cell (FSW)
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 ! Boundary condition flag
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 ! Under-relaxation flag applied to cut cells
441  DOUBLE PRECISION, DIMENSION(9):: cg_ur_fac
442 
443 ! Debugging_variables
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 ! Keep track of whether the CG Hader was printed on screen
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 ! Snapping flag
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 ! Control point location
479  DOUBLE PRECISION, DIMENSION(MAX_CP) :: erx,ery,erz ! Expansion Ratio
480  INTEGER, DIMENSION(MAX_CP) :: ncx,ncy,ncz ! Number of cell in a segment
481  DOUBLE PRECISION, DIMENSION(MAX_CP) :: first_dx,last_dx! DX values at segment extremities
482  DOUBLE PRECISION, DIMENSION(MAX_CP) :: first_dy,last_dy! DY values at segment extremities
483  DOUBLE PRECISION, DIMENSION(MAX_CP) :: first_dz,last_dz! DZ values at segment extremities
484 
485 
486  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: f_at
487 
488  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: dwall
489 ! Grid partition for reporting best size
491 
493 
494  LOGICAL :: dwall_brute_force
495 
496  END MODULE cutcell
integer number_of_new_v_points
Definition: cutcell_mod.f:93
double precision, dimension(:), allocatable theta_wn
Definition: cutcell_mod.f:302
double precision, dimension(:,:), allocatable scalar_node_xyz
Definition: cutcell_mod.f:469
double precision, dimension(max_cp) last_dy
Definition: cutcell_mod.f:482
integer number_of_v_cut_cells
Definition: cutcell_mod.f:397
double precision, dimension(:), allocatable delx_we
Definition: cutcell_mod.f:151
double precision, dimension(:,:), allocatable normal_u
Definition: cutcell_mod.f:203
double precision, dimension(:), allocatable theta_un
Definition: cutcell_mod.f:222
logical cut_tau_wg
Definition: cutcell_mod.f:390
integer, dimension(:,:), allocatable connectivity_u
Definition: cutcell_mod.f:112
logical re_indexing
Definition: cutcell_mod.f:16
double precision, dimension(max_cp) last_dz
Definition: cutcell_mod.f:483
double precision, dimension(:), allocatable y_v
Definition: cutcell_mod.f:55
double precision, dimension(:), allocatable alpha_ut_c
Definition: cutcell_mod.f:231
double precision, dimension(:), allocatable theta_w_tn
Definition: cutcell_mod.f:290
double precision, dimension(:), allocatable dely_vn
Definition: cutcell_mod.f:146
logical noc_ws
Definition: cutcell_mod.f:389
double precision tol_small_area
Definition: cutcell_mod.f:384
double precision, dimension(:), allocatable y_v_nc
Definition: cutcell_mod.f:176
double precision, dimension(:), allocatable z_u
Definition: cutcell_mod.f:51
double precision, dimension(:), allocatable noc_v_t
Definition: cutcell_mod.f:270
logical, dimension(:), allocatable potential_cut_cell_at
Definition: cutcell_mod.f:474
logical, dimension(:), allocatable wall_u_at
Definition: cutcell_mod.f:126
logical, dimension(:), allocatable cut_u_cell_at
Definition: cutcell_mod.f:356
logical, dimension(:), allocatable standard_u_cell_at
Definition: cutcell_mod.f:369
double precision, dimension(:), allocatable x_new_v_point
Definition: cutcell_mod.f:94
double precision, dimension(:), allocatable oneodx_e_w
Definition: cutcell_mod.f:324
double precision, dimension(:), allocatable w_g_cc
Definition: cutcell_mod.f:448
integer, dimension(max_cp) ncz
Definition: cutcell_mod.f:480
double precision, dimension(:,:), allocatable debug_cg
Definition: cutcell_mod.f:444
double precision, dimension(:), allocatable delx_uw
Definition: cutcell_mod.f:138
logical noc_vg
Definition: cutcell_mod.f:389
double precision, dimension(:), allocatable alpha_vt_c
Definition: cutcell_mod.f:269
double precision, dimension(:), allocatable yg_n
Definition: cutcell_mod.f:45
double precision, dimension(:), allocatable xn_int
Definition: cutcell_mod.f:333
logical partial_check_03
Definition: cutcell_mod.f:462
double precision, dimension(:), allocatable theta_u_ne
Definition: cutcell_mod.f:213
double precision, dimension(:), allocatable oneodx_e_v
Definition: cutcell_mod.f:320
double precision, dimension(:), allocatable dely_ws
Definition: cutcell_mod.f:154
double precision, dimension(:), allocatable xn_w_int
Definition: cutcell_mod.f:336
double precision, dimension(:), allocatable xg_e
Definition: cutcell_mod.f:44
double precision alpha_max
Definition: cutcell_mod.f:386
double precision, dimension(:), allocatable a_wpg_t
Definition: cutcell_mod.f:311
double precision, dimension(:), allocatable ye_int
Definition: cutcell_mod.f:338
double precision, dimension(:), allocatable x_v_nc
Definition: cutcell_mod.f:175
double precision, dimension(:), allocatable a_vpg_s
Definition: cutcell_mod.f:273
double precision, dimension(:), allocatable z_v_nc
Definition: cutcell_mod.f:177
double precision, dimension(:), allocatable zt_u_int
Definition: cutcell_mod.f:344
double precision, dimension(:), allocatable delh_u
Definition: cutcell_mod.f:200
integer number_of_w_cut_cells
Definition: cutcell_mod.f:398
double precision, dimension(:), allocatable y_new_u_point
Definition: cutcell_mod.f:89
double precision, dimension(:), allocatable oneodz_t_w
Definition: cutcell_mod.f:326
double precision, dimension(:), allocatable delv_out
Definition: cutcell_mod.f:460
double precision, dimension(:), allocatable x_new_w_point
Definition: cutcell_mod.f:100
double precision, dimension(:), allocatable z_u_nc
Definition: cutcell_mod.f:165
integer, dimension(15) order
Definition: cutcell_mod.f:410
double precision fac_dim_max_cut_cell
Definition: cutcell_mod.f:28
double precision, dimension(:), allocatable noc_w_n
Definition: cutcell_mod.f:306
double precision, dimension(0:15) z_node
Definition: cutcell_mod.f:76
integer, dimension(:), allocatable number_of_w_nodes
Definition: cutcell_mod.f:108
double precision, dimension(:), allocatable x_v_ec
Definition: cutcell_mod.f:171
double precision, dimension(:), allocatable ye_w_int
Definition: cutcell_mod.f:341
double precision, dimension(:), allocatable theta_u_nw
Definition: cutcell_mod.f:214
integer, dimension(:), allocatable small_cell_flag
Definition: cutcell_mod.f:362
double precision, dimension(:), allocatable x_u
Definition: cutcell_mod.f:49
integer, dimension(max_cp) ncx
Definition: cutcell_mod.f:480
double precision, dimension(:), allocatable noc_v_n
Definition: cutcell_mod.f:264
double precision, dimension(:), allocatable xn_v_int
Definition: cutcell_mod.f:335
double precision, dimension(:), allocatable y_new_v_point
Definition: cutcell_mod.f:95
double precision, dimension(:), allocatable alpha_ve_c
Definition: cutcell_mod.f:260
integer, dimension(10) cg_safe_mode
Definition: cutcell_mod.f:415
logical adjust_proc_domain_size
Definition: cutcell_mod.f:19
double precision, dimension(0:15) y_node
Definition: cutcell_mod.f:75
integer number_of_new_u_points
Definition: cutcell_mod.f:87
double precision, dimension(:), allocatable theta_w_bn
Definition: cutcell_mod.f:291
double precision, dimension(:), allocatable x_w_ec
Definition: cutcell_mod.f:183
logical, dimension(:), allocatable wall_v_at
Definition: cutcell_mod.f:127
logical, dimension(:), allocatable small_cell_at
Definition: cutcell_mod.f:360
logical print_warnings
Definition: cutcell_mod.f:416
integer number_of_w_wall_cells
Definition: cutcell_mod.f:403
logical, dimension(:), allocatable standard_w_cell_at
Definition: cutcell_mod.f:371
double precision, dimension(0:max_cp) cpz
Definition: cutcell_mod.f:478
double precision, dimension(max_cp) first_dz
Definition: cutcell_mod.f:483
double precision, dimension(:), allocatable delx_ww
Definition: cutcell_mod.f:152
double precision, dimension(:), allocatable theta_wn_bar
Definition: cutcell_mod.f:303
double precision, dimension(:), allocatable theta_wt
Definition: cutcell_mod.f:293
double precision, dimension(:), allocatable delx_ue
Definition: cutcell_mod.f:137
double precision, dimension(:), allocatable x_v_tc
Definition: cutcell_mod.f:179
logical noc_ug
Definition: cutcell_mod.f:389
double precision, dimension(:), allocatable y_w_ec
Definition: cutcell_mod.f:184
double precision, dimension(:), allocatable z_u_ec
Definition: cutcell_mod.f:161
double precision, dimension(:), allocatable noc_u_n
Definition: cutcell_mod.f:226
double precision, dimension(:,:), allocatable normal_s
Definition: cutcell_mod.f:120
double precision, dimension(:), allocatable x_new_u_point
Definition: cutcell_mod.f:88
integer nodesj_report
Definition: cutcell_mod.f:490
integer, dimension(:), allocatable w_master_of
Definition: cutcell_mod.f:422
double precision, dimension(:), allocatable z_w_nc
Definition: cutcell_mod.f:189
double precision, dimension(:), allocatable delz_wt
Definition: cutcell_mod.f:155
double precision, dimension(:), allocatable y_w
Definition: cutcell_mod.f:60
logical cut_tau_us
Definition: cutcell_mod.f:390
integer number_of_new_points
Definition: cutcell_mod.f:81
logical cg_header_was_printed
Definition: cutcell_mod.f:465
double precision, dimension(:), allocatable z_v
Definition: cutcell_mod.f:56
logical, dimension(:), allocatable cut_u_treatment_at
Definition: cutcell_mod.f:350
double precision, dimension(:), allocatable delh_v
Definition: cutcell_mod.f:238
double precision, dimension(:), allocatable delz_vt
Definition: cutcell_mod.f:148
double precision, dimension(:), allocatable oneody_n_u
Definition: cutcell_mod.f:316
double precision, dimension(0:max_cp) cpy
Definition: cutcell_mod.f:478
double precision, dimension(:), allocatable alpha_ue_c
Definition: cutcell_mod.f:219
double precision, dimension(:), allocatable zt_v_int
Definition: cutcell_mod.f:345
logical noc_us
Definition: cutcell_mod.f:389
double precision, dimension(9) cg_ur_fac
Definition: cutcell_mod.f:441
double precision, dimension(:), allocatable theta_we_bar
Definition: cutcell_mod.f:297
double precision, dimension(:), allocatable x_int
Definition: cutcell_mod.f:69
double precision, dimension(:), allocatable u_g_cc
Definition: cutcell_mod.f:446
double precision, dimension(:), allocatable dely_vs
Definition: cutcell_mod.f:147
double precision, dimension(:), allocatable theta_ut
Definition: cutcell_mod.f:228
double precision, dimension(:,:), allocatable refp_v
Definition: cutcell_mod.f:244
double precision, dimension(:), allocatable x_w_nc
Definition: cutcell_mod.f:187
double precision, dimension(:), allocatable alpha_wt_c
Definition: cutcell_mod.f:308
double precision, dimension(:), allocatable theta_wt_bar
Definition: cutcell_mod.f:294
double precision, dimension(:), allocatable oneodx_e_u
Definition: cutcell_mod.f:315
double precision, dimension(:), allocatable dely_wn
Definition: cutcell_mod.f:153
logical noc
Definition: cutcell_mod.f:389
double precision, dimension(max_cp) erz
Definition: cutcell_mod.f:479
double precision, dimension(:), allocatable f_at
Definition: cutcell_mod.f:486
double precision, dimension(:), allocatable alpha_wn_c
Definition: cutcell_mod.f:305
logical, dimension(:), allocatable blocked_w_cell_at
Definition: cutcell_mod.f:366
double precision, dimension(:), allocatable theta_u_tw
Definition: cutcell_mod.f:217
double precision, dimension(:), allocatable partition
Definition: cutcell_mod.f:117
double precision, dimension(:), allocatable theta_vn_bar
Definition: cutcell_mod.f:252
double precision, dimension(:), allocatable z_new_v_point
Definition: cutcell_mod.f:96
logical noc_wg
Definition: cutcell_mod.f:389
integer nodesi_report
Definition: cutcell_mod.f:490
integer, dimension(:), allocatable bc_u_id
Definition: cutcell_mod.f:434
double precision, dimension(:), allocatable noc_w_e
Definition: cutcell_mod.f:300
double precision, dimension(0:max_cp) cpx
Definition: cutcell_mod.f:478
double precision, dimension(:), allocatable x_w
Definition: cutcell_mod.f:59
double precision, dimension(:), allocatable area_v_cut
Definition: cutcell_mod.f:133
double precision, dimension(:), allocatable x_u_tc
Definition: cutcell_mod.f:167
logical use_stl
Definition: cutcell_mod.f:428
double precision, dimension(:), allocatable z_new_w_point
Definition: cutcell_mod.f:102
double precision tol_small_cell
Definition: cutcell_mod.f:383
double precision, dimension(:), allocatable theta_vt_bar
Definition: cutcell_mod.f:267
logical dwall_brute_force
Definition: cutcell_mod.f:494
double precision, dimension(:), allocatable dely_us
Definition: cutcell_mod.f:140
double precision, dimension(:), allocatable y_u_tc
Definition: cutcell_mod.f:168
double precision, dimension(:), allocatable y_v_ec
Definition: cutcell_mod.f:172
logical, dimension(:), allocatable wall_w_at
Definition: cutcell_mod.f:128
double precision, dimension(:), allocatable theta_v_ne
Definition: cutcell_mod.f:248
double precision, dimension(:), allocatable z_v_ec
Definition: cutcell_mod.f:173
double precision, dimension(:), allocatable x_w_tc
Definition: cutcell_mod.f:191
double precision, dimension(:), allocatable theta_ut_bar
Definition: cutcell_mod.f:229
integer, dimension(:), allocatable bc_w_id
Definition: cutcell_mod.f:436
double precision, dimension(:), allocatable alpha_un_c
Definition: cutcell_mod.f:225
double precision, dimension(:,:), allocatable w_s_cc
Definition: cutcell_mod.f:452
double precision, dimension(:), allocatable noc_u_t
Definition: cutcell_mod.f:232
integer nodesk_report
Definition: cutcell_mod.f:490
double precision, dimension(:), allocatable delz_wb
Definition: cutcell_mod.f:156
double precision, dimension(:,:), allocatable v_s_cc
Definition: cutcell_mod.f:451
double precision, dimension(:), allocatable z_w_tc
Definition: cutcell_mod.f:193
logical cut_tau_ug
Definition: cutcell_mod.f:390
double precision, dimension(:), allocatable oneody_n_v
Definition: cutcell_mod.f:321
double precision, dimension(:), allocatable theta_un_bar
Definition: cutcell_mod.f:223
double precision, dimension(:), allocatable y_w_nc
Definition: cutcell_mod.f:188
double precision, dimension(:), allocatable theta_vn
Definition: cutcell_mod.f:251
double precision, dimension(:), allocatable zt_w_int
Definition: cutcell_mod.f:346
logical, dimension(:), allocatable blocked_u_cell_at
Definition: cutcell_mod.f:364
double precision, dimension(:), allocatable alpha_we_c
Definition: cutcell_mod.f:299
double precision, dimension(:), allocatable ovol_around_node
Definition: cutcell_mod.f:471
logical minimize_send_recv
Definition: cutcell_mod.f:492
integer, dimension(:), allocatable number_of_u_nodes
Definition: cutcell_mod.f:106
integer pg_option
Definition: cutcell_mod.f:393
integer number_of_u_wall_cells
Definition: cutcell_mod.f:401
double precision, dimension(:), allocatable zt_int
Definition: cutcell_mod.f:343
logical, dimension(:), allocatable cut_w_cell_at
Definition: cutcell_mod.f:358
double precision, dimension(:), allocatable x_u_ec
Definition: cutcell_mod.f:159
double precision, dimension(:), allocatable v_g_cc
Definition: cutcell_mod.f:447
double precision, dimension(:,:), allocatable refp_s
Definition: cutcell_mod.f:123
logical noc_trdg
Definition: cutcell_mod.f:389
integer n_usr_def
Definition: cutcell_mod.f:424
logical, dimension(:), allocatable cut_treatment_at
Definition: cutcell_mod.f:349
double precision, dimension(3) tol_snap
Definition: cutcell_mod.f:374
integer number_of_u_cut_cells
Definition: cutcell_mod.f:396
double precision, dimension(:), allocatable noc_u_e
Definition: cutcell_mod.f:220
double precision, dimension(:), allocatable theta_ue
Definition: cutcell_mod.f:210
logical cut_tau_vg
Definition: cutcell_mod.f:390
double precision, dimension(:), allocatable z_new_point
Definition: cutcell_mod.f:84
double precision, dimension(:), allocatable y_new_point
Definition: cutcell_mod.f:83
logical, dimension(:), allocatable intersect_z
Definition: cutcell_mod.f:66
double precision, dimension(:), allocatable x_v
Definition: cutcell_mod.f:54
integer, dimension(max_cp) ncy
Definition: cutcell_mod.f:480
double precision, dimension(:), allocatable x_new_point
Definition: cutcell_mod.f:82
integer, dimension(:), allocatable number_of_nodes
Definition: cutcell_mod.f:105
double precision, dimension(max_cp) erx
Definition: cutcell_mod.f:479
double precision, dimension(:,:), allocatable refp_u
Definition: cutcell_mod.f:206
double precision, dimension(:), allocatable theta_v_nt
Definition: cutcell_mod.f:254
double precision, dimension(max_cp) ery
Definition: cutcell_mod.f:479
double precision, dimension(:,:), allocatable refp_w
Definition: cutcell_mod.f:283
integer, dimension(:), allocatable bc_v_id
Definition: cutcell_mod.f:435
double precision, dimension(:), allocatable pp_g_out
Definition: cutcell_mod.f:455
double precision, dimension(:), allocatable oneodz_t_u
Definition: cutcell_mod.f:317
double precision, dimension(:), allocatable delh_w
Definition: cutcell_mod.f:277
logical cartesian_grid
Definition: cutcell_mod.f:13
double precision, dimension(:), allocatable theta_v_se
Definition: cutcell_mod.f:249
logical, dimension(:), allocatable cut_w_treatment_at
Definition: cutcell_mod.f:352
logical, dimension(:), allocatable cut_v_cell_at
Definition: cutcell_mod.f:357
double precision, dimension(:), allocatable delh_scalar
Definition: cutcell_mod.f:196
double precision, dimension(:), allocatable delz_ub
Definition: cutcell_mod.f:142
double precision, dimension(:), allocatable vorticity
Definition: cutcell_mod.f:406
double precision, dimension(:), allocatable epp_out
Definition: cutcell_mod.f:456
logical, dimension(:), allocatable interior_cell_at
Definition: cutcell_mod.f:40
double precision, dimension(:), allocatable delx_vw
Definition: cutcell_mod.f:145
double precision, dimension(:,:), allocatable normal_w
Definition: cutcell_mod.f:280
double precision, dimension(:), allocatable xn_u_int
Definition: cutcell_mod.f:334
double precision, dimension(:), allocatable dudx_out
Definition: cutcell_mod.f:458
logical, dimension(:), allocatable cut_cell_at
Definition: cutcell_mod.f:355
integer dimension_max_cut_cell
Definition: cutcell_mod.f:25
double precision, dimension(:), allocatable theta_ue_bar
Definition: cutcell_mod.f:211
logical, dimension(:), allocatable cut_v_treatment_at
Definition: cutcell_mod.f:351
integer, dimension(:,:), allocatable connectivity_w
Definition: cutcell_mod.f:114
double precision, dimension(:), allocatable noc_w_t
Definition: cutcell_mod.f:309
logical use_msh
Definition: cutcell_mod.f:430
double precision, dimension(:), allocatable area_cut
Definition: cutcell_mod.f:131
integer number_of_small_cells
Definition: cutcell_mod.f:399
double precision, dimension(:), allocatable y_new_w_point
Definition: cutcell_mod.f:101
double precision, dimension(max_cp) last_dx
Definition: cutcell_mod.f:481
double precision, dimension(:), allocatable theta_w_te
Definition: cutcell_mod.f:287
logical use_polygon
Definition: cutcell_mod.f:426
integer, dimension(:), allocatable bc_id
Definition: cutcell_mod.f:433
double precision, dimension(:), allocatable y_w_tc
Definition: cutcell_mod.f:192
double precision, dimension(:), allocatable z_w_ec
Definition: cutcell_mod.f:185
double precision, dimension(:), allocatable y_u_ec
Definition: cutcell_mod.f:160
double precision, dimension(:), allocatable a_upg_w
Definition: cutcell_mod.f:235
integer, dimension(:,:), allocatable connectivity_v
Definition: cutcell_mod.f:113
integer number_of_v_wall_cells
Definition: cutcell_mod.f:402
double precision, dimension(:), allocatable theta_ve_bar
Definition: cutcell_mod.f:258
double precision, dimension(:), allocatable y_u_nc
Definition: cutcell_mod.f:164
double precision, dimension(max_cp) first_dx
Definition: cutcell_mod.f:481
logical, dimension(:), allocatable standard_cell_at
Definition: cutcell_mod.f:368
logical, dimension(:), allocatable intersect_x
Definition: cutcell_mod.f:64
double precision tol_delh
Definition: cutcell_mod.f:377
double precision, dimension(:), allocatable y_int
Definition: cutcell_mod.f:70
logical set_corner_cells
Definition: cutcell_mod.f:417
logical, dimension(:), allocatable standard_v_cell_at
Definition: cutcell_mod.f:370
double precision, dimension(:), allocatable area_w_cut
Definition: cutcell_mod.f:134
double precision, dimension(:), allocatable theta_w_be
Definition: cutcell_mod.f:288
logical, dimension(:), allocatable scalar_node_atwall
Definition: cutcell_mod.f:467
double precision, dimension(:,:), allocatable u_s_cc
Definition: cutcell_mod.f:450
double precision, dimension(:), allocatable delz_vb
Definition: cutcell_mod.f:149
double precision, dimension(:), allocatable theta_vt
Definition: cutcell_mod.f:266
double precision, dimension(:), allocatable area_u_cut
Definition: cutcell_mod.f:132
logical, dimension(:), allocatable blocked_v_cell_at
Definition: cutcell_mod.f:365
double precision, dimension(:), allocatable theta_we
Definition: cutcell_mod.f:296
integer nsw_ghost_bc_id
Definition: cutcell_mod.f:438
logical report_best_domain_size
Definition: cutcell_mod.f:22
logical, dimension(:), allocatable intersect_y
Definition: cutcell_mod.f:65
double precision, dimension(:), allocatable dwall
Definition: cutcell_mod.f:488
double precision, dimension(:), allocatable oneodz_t_v
Definition: cutcell_mod.f:322
integer, dimension(:), allocatable u_master_of
Definition: cutcell_mod.f:420
double precision, dimension(:), allocatable a_vpg_n
Definition: cutcell_mod.f:272
double precision, dimension(:), allocatable lambda2
Definition: cutcell_mod.f:407
double precision, dimension(:), allocatable z_v_tc
Definition: cutcell_mod.f:181
double precision, dimension(:), allocatable z_w
Definition: cutcell_mod.f:61
double precision, dimension(:), allocatable delz_ut
Definition: cutcell_mod.f:141
double precision, dimension(:), allocatable z_int
Definition: cutcell_mod.f:71
integer, dimension(:), allocatable number_of_v_nodes
Definition: cutcell_mod.f:107
logical, dimension(:), allocatable blocked_cell_at
Definition: cutcell_mod.f:361
double precision, dimension(:), allocatable oneody_n_w
Definition: cutcell_mod.f:325
double precision, dimension(:), allocatable dely_un
Definition: cutcell_mod.f:139
double precision, dimension(:,:), allocatable normal_v
Definition: cutcell_mod.f:241
integer, parameter max_cp
Definition: cutcell_mod.f:476
double precision, dimension(:), allocatable zg_t
Definition: cutcell_mod.f:46
double precision, dimension(:), allocatable a_wpg_b
Definition: cutcell_mod.f:312
double precision, dimension(:), allocatable theta_v_st
Definition: cutcell_mod.f:255
double precision, dimension(:), allocatable theta_u_te
Definition: cutcell_mod.f:216
double precision, dimension(0:15) f_node
Definition: cutcell_mod.f:77
logical, dimension(:), allocatable along_domain_boundary
Definition: cutcell_mod.f:330
double precision tol_merge
Definition: cutcell_mod.f:380
logical noc_vs
Definition: cutcell_mod.f:389
double precision, dimension(:), allocatable ye_u_int
Definition: cutcell_mod.f:339
integer, dimension(0:15) ijk_of_node
Definition: cutcell_mod.f:78
double precision, dimension(:), allocatable z_new_u_point
Definition: cutcell_mod.f:90
double precision, dimension(:), allocatable noc_v_e
Definition: cutcell_mod.f:261
logical cut_tau_vs
Definition: cutcell_mod.f:390
double precision, dimension(:), allocatable theta_ve
Definition: cutcell_mod.f:257
double precision, dimension(:), allocatable dvdy_out
Definition: cutcell_mod.f:459
integer number_of_new_w_points
Definition: cutcell_mod.f:99
double precision, dimension(:), allocatable y_u
Definition: cutcell_mod.f:50
double precision, dimension(:), allocatable trd_g_out
Definition: cutcell_mod.f:454
integer, dimension(:), allocatable v_master_of
Definition: cutcell_mod.f:421
double precision, dimension(0:15) x_node
Definition: cutcell_mod.f:74
double precision, dimension(:), allocatable alpha_vn_c
Definition: cutcell_mod.f:263
double precision, dimension(:), allocatable ye_v_int
Definition: cutcell_mod.f:340
integer, dimension(:,:), allocatable connectivity
Definition: cutcell_mod.f:111
double precision, dimension(:), allocatable delx_ve
Definition: cutcell_mod.f:144
double precision, dimension(:), allocatable z_u_tc
Definition: cutcell_mod.f:169
integer unit_cut_cell_log
Definition: cutcell_mod.f:8
double precision, dimension(:), allocatable a_upg_e
Definition: cutcell_mod.f:234
logical, dimension(:), allocatable snap
Definition: cutcell_mod.f:413
double precision, dimension(:), allocatable x_u_nc
Definition: cutcell_mod.f:163
double precision, dimension(max_cp) first_dy
Definition: cutcell_mod.f:482
double precision, dimension(:), allocatable y_v_tc
Definition: cutcell_mod.f:180