1# 1 "/home/runner/work/MFC/MFC/src/common/m_derived_types.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
7# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
8# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
9# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
10# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
11# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
12# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
13# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
15# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
16# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
17# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
19# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
34# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
35# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
36# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
62# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
63# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
64# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
65# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
66# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
68# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
70# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
72# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 207 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 232 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 243 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 245 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 283 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 293 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 303 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 312 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 329 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 346 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 358 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 364 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 370 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 376 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
140# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
141# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
142# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
143# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
144# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
145# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
146# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
148# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
149# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
150# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
152# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
168# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
170# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
172# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
174# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
176# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
178# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
180# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 192 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 213 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 241 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 256 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 266 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 275 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 291 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 301 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 308 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
226# 21 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
228# 37 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
230# 50 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
232# 104 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
234# 119 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
238# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
240# 171 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 182 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
246# 204 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 225 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
252# 236 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 246 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 252 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
258# 258 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 264 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 270 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
264# 272 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 273 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
267# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
269# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
275# 63 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
277# 81 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
279# 88 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
281# 111 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
283# 127 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
285# 153 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
287# 159 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
289# 167 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
291# 6 "/home/runner/work/MFC/MFC/src/common/m_derived_types.fpp" 2
299 use m_thermochem,
only: num_species
305 real(
stp),
allocatable,
dimension(:, :, :) :: fp
310 real(
stp),
pointer,
dimension(:, :, :) :: sf => null()
315 real(
stp),
pointer,
dimension(:, :, :, :, :) :: sf => null()
320#ifdef MFC_MIXED_PRECISION
321 integer(kind=1),
pointer,
dimension(:, :, :) :: sf => null()
323 integer,
pointer,
dimension(:, :, :) :: sf => null()
329 real(
stp),
pointer,
dimension(:, :, :, :) :: sf => null()
334 real(
stp),
pointer,
dimension(:, :, :, :, :) :: sf => null()
338 integer,
allocatable,
dimension(:) :: view
393 real(
wp) :: pres_in, pres_out
394 real(
wp),
dimension(3) :: vel_in, vel_out
395 real(
wp),
dimension(num_fluids_max) :: alpha_rho_in, alpha_in
396 logical :: grcbc_in, grcbc_out, grcbc_vel_out
405 real(
wp),
dimension(3) :: centroid
406 real(
wp),
dimension(3) :: length
420 integer,
dimension(:),
allocatable :: rs
421 integer,
dimension(:),
allocatable :: vs
422 integer,
dimension(:),
allocatable :: ps
423 integer,
dimension(:),
allocatable :: ms
424 integer,
dimension(:, :),
allocatable :: moms
425 integer,
dimension(:, :, :),
allocatable :: fullmom
430 character(LEN=pathlen_max) :: filepath
433 real(
wp),
dimension(1:3) :: translate
436 real(
wp),
dimension(1:3) :: scale
439 real(
wp),
dimension(1:3) :: rotate
446 real(
wp) :: threshold
451 real(
wp),
dimension(1:3, 1:3) :: v
452 real(
wp),
dimension(1:3) :: n
456 real(
wp),
dimension(1:3) :: o
457 real(
wp),
dimension(1:3) :: d
461 real(
wp),
dimension(1:3) :: min
462 real(
wp),
dimension(1:3) :: max
474 real(
wp),
allocatable,
dimension(:, :, :) :: boundary_v
475 real(
wp),
allocatable,
dimension(:, :) :: interpolated_boundary_v
476 integer :: boundary_edge_count
477 integer :: total_vertices
478 integer :: interpolate
482 real(
wp),
allocatable,
dimension(:, :, :) :: trs_v
483 real(
wp),
allocatable,
dimension(:, :) :: trs_n
494 real(
wp) :: x_centroid, y_centroid, z_centroid
498 real(
wp) :: length_x, length_y, length_z
501 real(
wp),
dimension(3) :: radii
506 real(
wp) :: epsilon, beta
510 real(
wp),
dimension(2:9) :: a
513 logical :: non_axis_sym
516 real(
wp),
dimension(1:max_2d_fourier_modes) :: fourier_cos, fourier_sin
517 logical :: modal_clip_r_to_min
518 real(
wp) :: modal_r_min
519 logical :: modal_use_exp_form
522 real(
wp),
dimension(0:max_sph_harm_degree, -max_sph_harm_degree:max_sph_harm_degree) :: sph_har_coeff
524 real(
wp),
dimension(3) :: normal
528 logical,
dimension(0:num_patches_max - 1) :: alter_patch
538 integer :: smooth_patch_id
541 real(
wp) :: smooth_coeff
545 real(
wp),
dimension(num_fluids_max) :: alpha_rho
547 real(
wp),
dimension(3) :: vel
549 real(
wp),
dimension(num_fluids_max) :: alpha
560 real(
wp) :: bx, by, bz
563 real(
wp),
dimension(6) :: tau_e
576 real(
wp) :: y(1:num_species)
579 character(LEN=pathlen_max) :: model_filepath
582 real(
wp),
dimension(1:3) :: model_translate
585 real(
wp),
dimension(1:3) :: model_scale
588 real(
wp),
dimension(1:3) :: model_rotate
595 real(
wp) :: model_threshold
604 real(
wp) :: x_centroid, y_centroid, z_centroid
607 real(
wp) :: step_x_centroid, step_y_centroid, step_z_centroid
609 real(
wp),
dimension(1:3) :: centroid_offset
611 real(
wp),
dimension(1:3) :: angles
612 real(
wp),
dimension(1:3) :: step_angles
613 real(
wp),
dimension(1:3, 1:3) :: rotation_matrix
614 real(
wp),
dimension(1:3, 1:3) :: rotation_matrix_inverse
616 real(
wp) :: c, p, t, m
618 real(
wp) :: length_x, length_y, length_z
625 character(LEN=pathlen_max) :: model_filepath
628 real(
wp),
dimension(1:3) :: model_translate
631 real(
wp),
dimension(1:3) :: model_scale
634 real(
wp),
dimension(1:3) :: model_rotate
641 real(
wp) :: model_threshold
645 integer :: moving_ibm
646 real(
wp) :: mass, moment
647 real(
wp),
dimension(1:3) :: force, torque
648 real(
wp),
dimension(1:3) :: vel
649 real(
wp),
dimension(1:3) :: step_vel
650 real(
wp),
dimension(1:3) :: angular_vel
651 real(
wp),
dimension(1:3) :: step_angular_vel
660 real(
wp),
dimension(2) :: re
692 integer,
dimension(2) :: view
693 type(
vec3_dt),
allocatable,
dimension(:) :: var
711 real(
wp),
dimension(3) :: loc
715 real(
wp) :: wavelength
716 real(
wp) :: frequency
717 real(
wp) :: gauss_sigma_dist
718 real(
wp) :: gauss_sigma_time
722 real(
wp) :: foc_length
724 real(
wp) :: element_spacing_angle
725 real(
wp) :: element_polygon_ratio
726 real(
wp) :: rotate_angle
727 real(
wp) :: bb_bandwidth
728 real(
wp) :: bb_lowest_freq
729 integer :: num_elements
730 integer :: element_on
731 integer :: bb_num_freq
736 integer,
pointer,
dimension(:, :) :: coord => null()
737 real(
wp),
pointer,
dimension(:) :: val => null()
738 real(
wp),
pointer,
dimension(:) :: angle => null()
739 real(
wp),
pointer,
dimension(:, :) :: xyz_to_r_ratios => null()
745 integer,
dimension(3) :: loc
746 real(
wp),
dimension(3) :: ip_loc
747 integer,
dimension(3) :: ip_grid
748 real(
wp),
dimension(2, 2, 2) :: interp_coeffs
749 integer :: ib_patch_id
751 real(
wp),
dimension(1:3) :: levelset_norm
753 integer,
dimension(3) :: db
754 integer :: x_periodicity, y_periodicity, z_periodicity
759 character(LEN=name_len) :: name
764 character(LEN=name_len) :: cantera_file
772 integer :: gamma_method
773 integer :: transport_model
779 integer :: solver_approach
780 integer :: cluster_type
781 logical :: pressure_corrector
782 integer :: smooth_type
783 logical :: heattransfer_model
784 logical :: masstransfer_model
785 logical :: write_bubbles
786 logical :: write_bubbles_stats
789 real(
wp) :: charwidth
790 real(
wp) :: valmaxvoid
796 integer :: mn_max, np_max, mp_max, mnp_max
797 integer :: mn_min, np_min, mp_min, mnp_min
801 logical,
dimension(3) :: perturb_vel
802 real(
wp),
dimension(3) :: perturb_vel_freq
803 real(
wp),
dimension(3) :: perturb_vel_scale
804 real(
wp),
dimension(3, 3) :: perturb_vel_offset
806 logical,
dimension(1:num_fluids_max) :: perturb_dens
807 real(
wp),
dimension(1:num_fluids_max) :: perturb_dens_freq
808 real(
wp),
dimension(1:num_fluids_max) :: perturb_dens_scale
809 real(
wp),
dimension(1:num_fluids_max, 3) :: perturb_dens_offset
Compile-time constant parameters: default values, tolerances, and physical constants.
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Working-precision kind selection (half/single/double) and corresponding MPI datatype parameters.
Acoustic source parameters.
Derived type adding beginning (beg) and end bounds info as attributes.
bounds for the bubble dynamic variables
Lagrangian bubble parameters.
Max and min number of cells in a direction of each combination of x-,y-, and z-.
Derived type adding the field position (fp) as an attribute.
Ghost Point for Immersed Boundaries.
Defines parameters for a Model Patch.
Derived type adding initial condition (ic) patch parameters as attributes NOTE: The requirements for ...
Integer bounds for variables.
Derived type annexing an integer scalar field (SF).
Derived type annexing integral regions.
Derived type for levelset.
Derived type for levelset norm.
Derived type annexing the physical parameters (PP) of the fluids. These include the specific heat rat...
Derived type for bubble variables pb and mv at quadrature nodes (qbmm).
Left and right Riemann states for 3-component vectors.
Left and right Riemann states.
Derived type annexing a scalar field (SF).
Acoustic source source_spatial pre-calculated values.
Derived type annexing the physical parameters required for sub-grid bubble models.
Generic 3-component vector (e.g., spatial coordinates or field components) Named _dt (derived types: ...
Derived type annexing a vector field (VF).