MFIX  2016-1
vtk_mod.f
Go to the documentation of this file.
1  MODULE vtk
2 
3  Use param1
4 ! Maximum number of solids phases.
5  use param, only: dim_m
6 ! Maximum number of gas phase species
7  use param, only: dim_n_g
8 ! Maximum number of solids phase species
9  use param, only: dim_n_s
10 ! Maximum number of scalar equations
11  use param, only: dim_scalar
12 ! Maximum number of DEM solids phase species
13 use param, only: dimension_n_s
14 
15 
16 
23 
24  LOGICAL :: write_vtk_files
26  LOGICAL :: reset_frame_at_time_zero=.true.
27  CHARACTER (LEN=255) :: vtu_dir
28  CHARACTER (LEN=255) :: vtk_filename,frame_char,vtu_filename,pvd_filename,pvtu_filename
29  CHARACTER (LEN=255) :: vtu_frame_filename='VTU_FRAME_INDEX.TXT'
30  CHARACTER (LEN=512) :: buffer
31 
32  CHARACTER (LEN=1), PARAMETER :: end_rec = char(10)
33 
34  INTEGER :: boundary_unit=122
35  INTEGER :: vtk_unit=123,vtu_unit=124,pvd_unit=125
36  INTEGER :: pvtu_unit=126,vtu_frame_unit=127
37  INTEGER, PARAMETER :: dim_vtk_var = 20
38  INTEGER, DIMENSION(DIM_VTK_VAR) :: vtk_var
39 
40 
42 
43  integer, allocatable :: cleaned_connectivity(:,:)
44  REAL, allocatable :: coords_of_points(:,:)
45 
46  integer, allocatable :: global_i_of(:)
47  integer, allocatable :: global_j_of(:)
48  integer, allocatable :: global_k_of(:)
49  integer, allocatable :: global_connectivity(:,:)
50  integer, allocatable :: global_cleaned_connectivity(:,:)
51  integer, allocatable :: global_number_of_nodes(:)
52 
53  REAL, allocatable :: global_coords_of_points(:,:)
54 
55  LOGICAL, allocatable :: global_interior_cell_at(:)
56  LOGICAL, allocatable :: global_blocked_cell_at(:)
57  LOGICAL, allocatable :: global_standard_cell_at(:)
58  LOGICAL, allocatable :: global_cut_cell_at(:)
59  LOGICAL, allocatable :: global_snap(:)
60  DOUBLE PRECISION, allocatable :: global_f_at(:)
61 
62  double precision, allocatable :: global_x_new_point(:)
63  double precision, allocatable :: global_y_new_point(:)
64  double precision, allocatable :: global_z_new_point(:)
65 
67 
68 
70 
72 
73  LOGICAL :: write_ani_cutcell
74 
75 
76  INTEGER :: vtu_offset
77 
78  LOGICAL, allocatable :: belongs_to_vtk_subdomain(:)
79  ! LOGICAL, allocatable :: PART_BELONGS_TO_VTK_SUBDOMAIN(:)
80 
81  INTEGER, PARAMETER :: dimension_vtk = 100
82 ! Max size for VTK_nRR
83  INTEGER, PARAMETER :: vtk_nrrmax = 100
84 
85 ! Current VTK region
86  INTEGER :: vtk_region
87 
88 ! Time interval at which vtk files are saved
89  DOUBLE PRECISION :: vtk_dt(dimension_vtk)
90 
91 ! Flag to distiguish between regular file (VTK_DBG_FILE=.FALSE., default value)
92 ! and debug file (VTK_DBG_FILE=.TRUE.)
94 
95 ! Current vtk time
96  DOUBLE PRECISION :: vtk_time(dimension_vtk)
97 
98 ! Type of data in vtk region: 'C':cell data, 'P': particle data
99  CHARACTER(LEN=1) :: vtk_data(dimension_vtk)
100 
101 ! FRAME index of vtk file
102  INTEGER :: frame(dimension_vtk)
103 
104 ! PVD file initialization flag
106 
107 ! Logical variable to determine whether an vtk region is defined
109 
110 ! VTK region West face, X-coordinate
111  DOUBLE PRECISION :: vtk_x_w (dimension_vtk)
112 
113 ! VTK region East face, X-coordinate
114  DOUBLE PRECISION :: vtk_x_e (dimension_vtk)
115 
116 ! VTK region South face, Y-coordinate
117  DOUBLE PRECISION :: vtk_y_s (dimension_vtk)
118 
119 ! VTK region North face, Y-coordinate
120  DOUBLE PRECISION :: vtk_y_n (dimension_vtk)
121 
122 ! VTK region Bottom face, Z-coordinate
123  DOUBLE PRECISION :: vtk_z_b (dimension_vtk)
124 
125 ! VTK region Top face, Z-coordinate
126  DOUBLE PRECISION :: vtk_z_t (dimension_vtk)
127 
128 ! VTK number of slices in x-direction
129  INTEGER :: vtk_nxs(dimension_vtk)
130 
131 ! VTK number of slices in y-direction
132  INTEGER :: vtk_nys(dimension_vtk)
133 
134 ! VTK number of slices in z-direction
135  INTEGER :: vtk_nzs(dimension_vtk)
136 
137 ! VTK slice tolerance
138  DOUBLE PRECISION :: vtk_slice_tol(dimension_vtk)
139 
140 ! Flag to write only cut cell data in VTK file
142 
143 ! VTK filename base
144  CHARACTER(LEN=255) :: vtk_filebase(dimension_vtk)
145 
146 ! Gas phase volume fraction
147  LOGICAL :: vtk_ep_g (dimension_vtk)
148 
149 ! Gas pressure
150  LOGICAL :: vtk_p_g (dimension_vtk)
151 
152 ! Solids pressure
154 
155 ! X-component of gas velocity
156  LOGICAL :: vtk_u_g(dimension_vtk)
157 
158 ! X-component of solids phase velocity
159  LOGICAL :: vtk_u_s(dimension_vtk, dim_m)
160 
161 ! Y-component of gas velocity
162  LOGICAL :: vtk_v_g(dimension_vtk)
163 
164 ! Y-component of solids phase velocity
165  LOGICAL :: vtk_v_s(dimension_vtk, dim_m)
166 
167 ! Z-component of gas velocity
168  LOGICAL :: vtk_w_g(dimension_vtk)
169 
170 ! Z-component of solids phase velocity
171  LOGICAL :: vtk_w_s(dimension_vtk, dim_m)
172 
173 ! Gas velocity vector
175 
176 ! Solids velocity vector
177  LOGICAL :: vtk_vel_s(dimension_vtk, dim_m)
178 
179 ! Macroscopic density of solids phases
180  LOGICAL :: vtk_rop_s(dimension_vtk, dim_m)
181 
182 ! Solids phase volume fraction
183  LOGICAL :: vtk_ep_s (dimension_vtk, dim_m)
184 
185 ! Gas temperature
186  LOGICAL :: vtk_t_g(dimension_vtk)
187 
188 ! Solids temperature
189  LOGICAL :: vtk_t_s(dimension_vtk, dim_m)
190 
191 ! Gas species mass fractions
192  LOGICAL :: vtk_x_g(dimension_vtk, dim_n_g)
193 
194 ! Solids species mass fractions
195  LOGICAL :: vtk_x_s(dimension_vtk, dim_m, dim_n_s)
196 
197 ! Granular temperature
198  LOGICAL :: vtk_theta_m(dimension_vtk, dim_m)
199 
200 ! Scalar value
201  LOGICAL :: vtk_scalar(dimension_vtk, dim_scalar)
202 
203 ! Reaction rates
205 
206 ! K & Epsilon values
209 
210 ! Vorticity magnitude
212 
213 ! Lambda_2 (vortex core indicator)
215 
216 ! Grid partition
218 
219 ! Boundary condition ID
221 
222 ! Wall distance
224 
225 ! Facet count (DES)
227 
228 ! Neighboring facets (DES)
230 
231 ! Cell IJK index
232  LOGICAL :: vtk_ijk(dimension_vtk)
233 
234 ! Cut face normal vector
236 
237 ! Debug variable
238  LOGICAL :: vtk_debug(dimension_vtk,15)
239 
240  INTEGER, DIMENSION(DIMENSION_VTK,DIM_VTK_VAR) :: vtk_varlist
241 
242 ! VTK Particle selection: 'C': center, 'P': entire particle, 'I': particle intersect
243  CHARACTER(LEN=1) :: vtk_select_mode(dimension_vtk)
244 
245 ! Particle radius
247 
248 ! Particle velocity
250 
251 ! Particle angular velocity
253 
254 ! Particle orientation
256 
257 ! Particle user-defined variable
259 
260 ! Particle temperature
262 
263 ! Particle species mass fraction
264  LOGICAL :: vtk_part_x_s(dimension_vtk,100)
265 
266 ! Particle cohesion
268 
269  END MODULE vtk
270 
character(len=255) vtu_filename
Definition: vtk_mod.f:28
logical, dimension(dimension_vtk) vtk_v_g
Definition: vtk_mod.f:162
integer, parameter dim_n_g
Definition: param_mod.f:69
double precision, dimension(dimension_vtk) vtk_slice_tol
Definition: vtk_mod.f:138
logical, dimension(:), allocatable global_blocked_cell_at
Definition: vtk_mod.f:56
logical, dimension(dimension_vtk) vtk_defined
Definition: vtk_mod.f:108
logical, dimension(dimension_vtk) vtk_part_vel
Definition: vtk_mod.f:249
character(len=255) vtu_dir
Definition: vtk_mod.f:27
logical, dimension(dimension_vtk, dim_m) vtk_w_s
Definition: vtk_mod.f:171
integer number_of_cut_cells
Definition: vtk_mod.f:18
logical, dimension(dimension_vtk, dim_m) vtk_u_s
Definition: vtk_mod.f:159
logical time_dependent_filename
Definition: vtk_mod.f:25
real, dimension(:,:), allocatable global_coords_of_points
Definition: vtk_mod.f:53
double precision, dimension(:), allocatable global_f_at
Definition: vtk_mod.f:60
logical, dimension(:), allocatable global_interior_cell_at
Definition: vtk_mod.f:55
integer, dimension(:,:), allocatable cleaned_connectivity
Definition: vtk_mod.f:43
double precision, dimension(:), allocatable global_x_new_point
Definition: vtk_mod.f:62
integer number_of_vtk_parts
Definition: vtk_mod.f:22
integer boundary_unit
Definition: vtk_mod.f:34
integer, dimension(:,:), allocatable global_connectivity
Definition: vtk_mod.f:49
logical, dimension(dimension_vtk) vtk_t_g
Definition: vtk_mod.f:186
logical, dimension(dimension_vtk) vtk_dbg_file
Definition: vtk_mod.f:93
integer number_of_vtk_cells
Definition: vtk_mod.f:21
logical write_vtk_files
Definition: vtk_mod.f:24
integer pvtu_unit
Definition: vtk_mod.f:36
integer, dimension(:), allocatable global_number_of_nodes
Definition: vtk_mod.f:51
double precision, dimension(dimension_vtk) vtk_x_e
Definition: vtk_mod.f:114
integer, parameter dim_vtk_var
Definition: vtk_mod.f:37
logical reset_frame_at_time_zero
Definition: vtk_mod.f:26
logical, dimension(dimension_vtk) vtk_p_star
Definition: vtk_mod.f:153
logical, dimension(dimension_vtk) vtk_part_orientation
Definition: vtk_mod.f:255
integer, parameter dim_scalar
Definition: param_mod.f:85
character(len=1), dimension(dimension_vtk) vtk_select_mode
Definition: vtk_mod.f:243
double precision, dimension(:), allocatable global_y_new_point
Definition: vtk_mod.f:63
integer, parameter dim_m
Definition: param_mod.f:67
integer, dimension(:), allocatable global_j_of
Definition: vtk_mod.f:47
integer, dimension(dimension_vtk) vtk_nxs
Definition: vtk_mod.f:129
double precision, dimension(:), allocatable global_z_new_point
Definition: vtk_mod.f:64
character(len=255) frame_char
Definition: vtk_mod.f:28
Definition: vtk_mod.f:1
logical, dimension(dimension_vtk) pvd_file_initialized
Definition: vtk_mod.f:105
double precision, dimension(dimension_vtk) vtk_y_n
Definition: vtk_mod.f:120
logical, dimension(dimension_vtk) vtk_part_diameter
Definition: vtk_mod.f:246
character(len=512) buffer
Definition: vtk_mod.f:30
logical, dimension(dimension_vtk, dim_m) vtk_ep_s
Definition: vtk_mod.f:183
logical, dimension(:), allocatable global_snap
Definition: vtk_mod.f:59
logical, dimension(dimension_vtk) vtk_u_g
Definition: vtk_mod.f:156
logical, dimension(dimension_vtk) vtk_dwall
Definition: vtk_mod.f:223
character(len=1), dimension(dimension_vtk) vtk_data
Definition: vtk_mod.f:99
integer, dimension(dimension_vtk) frame
Definition: vtk_mod.f:102
logical, dimension(dimension_vtk, vtk_nrrmax) vtk_rrate
Definition: vtk_mod.f:204
logical, dimension(dimension_vtk, 100) vtk_part_x_s
Definition: vtk_mod.f:264
integer poly_counter
Definition: vtk_mod.f:41
logical, dimension(dimension_vtk) vtk_nb_facet_des
Definition: vtk_mod.f:229
integer pvd_unit
Definition: vtk_mod.f:35
logical, dimension(dimension_vtk, dim_m) vtk_t_s
Definition: vtk_mod.f:189
logical, dimension(dimension_vtk, dim_m) vtk_vel_s
Definition: vtk_mod.f:177
integer, parameter vtk_nrrmax
Definition: vtk_mod.f:83
logical, dimension(dimension_vtk) vtk_ep_g
Definition: vtk_mod.f:147
integer, dimension(:), allocatable global_i_of
Definition: vtk_mod.f:46
logical, dimension(dimension_vtk, dim_scalar) vtk_scalar
Definition: vtk_mod.f:201
double precision, dimension(dimension_vtk) vtk_dt
Definition: vtk_mod.f:89
logical, dimension(dimension_vtk) vtk_lambda_2
Definition: vtk_mod.f:214
logical, dimension(dimension_vtk) vtk_normal
Definition: vtk_mod.f:235
integer vtk_region
Definition: vtk_mod.f:86
logical, dimension(dimension_vtk) vtk_w_g
Definition: vtk_mod.f:168
logical, dimension(dimension_vtk) vtk_k_turb_g
Definition: vtk_mod.f:207
integer, dimension(dim_vtk_var) vtk_var
Definition: vtk_mod.f:38
integer number_of_blocked_cells
Definition: vtk_mod.f:19
double precision, dimension(dimension_vtk) vtk_y_s
Definition: vtk_mod.f:117
integer vtu_offset
Definition: vtk_mod.f:76
logical, dimension(dimension_vtk) vtk_part_cohesion
Definition: vtk_mod.f:267
logical, dimension(dimension_vtk, dim_n_g) vtk_x_g
Definition: vtk_mod.f:192
logical, dimension(dimension_vtk) vtk_part_temp
Definition: vtk_mod.f:261
logical, dimension(dimension_vtk) vtk_part_angular_vel
Definition: vtk_mod.f:252
logical, dimension(dimension_vtk, dim_m) vtk_theta_m
Definition: vtk_mod.f:198
integer, dimension(:,:), allocatable global_cleaned_connectivity
Definition: vtk_mod.f:50
logical, dimension(dimension_vtk, dim_m, dim_n_s) vtk_x_s
Definition: vtk_mod.f:195
logical, dimension(dimension_vtk, 15) vtk_debug
Definition: vtk_mod.f:238
character(len=1), parameter end_rec
Definition: vtk_mod.f:32
logical global_var_allocated
Definition: vtk_mod.f:69
integer number_of_cells
Definition: vtk_mod.f:17
integer vtk_unit
Definition: vtk_mod.f:35
logical, dimension(dimension_vtk) vtk_bc_id
Definition: vtk_mod.f:220
logical, dimension(dimension_vtk, 3) vtk_part_usr_var
Definition: vtk_mod.f:258
Definition: param_mod.f:2
logical, dimension(dimension_vtk) vtk_vel_g
Definition: vtk_mod.f:174
logical, dimension(dimension_vtk) vtk_facet_count_des
Definition: vtk_mod.f:226
logical, dimension(dimension_vtk) vtk_p_g
Definition: vtk_mod.f:150
integer number_of_points
Definition: vtk_mod.f:41
character(len=255) vtk_filename
Definition: vtk_mod.f:28
logical, dimension(dimension_vtk, dim_m) vtk_rop_s
Definition: vtk_mod.f:180
logical, dimension(dimension_vtk) vtk_partition
Definition: vtk_mod.f:217
logical, dimension(dimension_vtk, dim_m) vtk_v_s
Definition: vtk_mod.f:165
logical, dimension(:), allocatable global_standard_cell_at
Definition: vtk_mod.f:57
logical write_ani_cutcell
Definition: vtk_mod.f:73
double precision, dimension(dimension_vtk) vtk_time
Definition: vtk_mod.f:96
logical, dimension(dimension_vtk) vtk_cutcell_only
Definition: vtk_mod.f:141
integer global_number_of_new_points
Definition: vtk_mod.f:66
double precision, dimension(dimension_vtk) vtk_z_b
Definition: vtk_mod.f:123
integer, dimension(dimension_vtk) vtk_nys
Definition: vtk_mod.f:132
integer, parameter dim_n_s
Definition: param_mod.f:71
logical, dimension(dimension_vtk) vtk_e_turb_g
Definition: vtk_mod.f:208
logical, dimension(dimension_vtk) vtk_vorticity
Definition: vtk_mod.f:211
integer, dimension(:), allocatable global_k_of
Definition: vtk_mod.f:48
character(len=255), dimension(dimension_vtk) vtk_filebase
Definition: vtk_mod.f:144
integer number_of_standard_cells
Definition: vtk_mod.f:20
integer vtu_frame_unit
Definition: vtk_mod.f:36
logical grid_info_printed_on_screen
Definition: vtk_mod.f:71
double precision, dimension(dimension_vtk) vtk_z_t
Definition: vtk_mod.f:126
logical, dimension(:), allocatable belongs_to_vtk_subdomain
Definition: vtk_mod.f:78
integer, parameter dimension_vtk
Definition: vtk_mod.f:81
real, dimension(:,:), allocatable coords_of_points
Definition: vtk_mod.f:44
integer dimension_n_s
Definition: param_mod.f:21
integer, dimension(dimension_vtk, dim_vtk_var) vtk_varlist
Definition: vtk_mod.f:240
double precision, dimension(dimension_vtk) vtk_x_w
Definition: vtk_mod.f:111
logical, dimension(:), allocatable global_cut_cell_at
Definition: vtk_mod.f:58
logical, dimension(dimension_vtk) vtk_ijk
Definition: vtk_mod.f:232
integer, dimension(dimension_vtk) vtk_nzs
Definition: vtk_mod.f:135
character(len=255) vtu_frame_filename
Definition: vtk_mod.f:29
integer vtu_unit
Definition: vtk_mod.f:35