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# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 244 "/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# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 377 "/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# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 311 "/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
227# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
230# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
233# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
288# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
293# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
296# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
299# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
302# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
305# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
308# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
310# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
312# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 6 "/home/runner/work/MFC/MFC/src/common/m_derived_types.fpp" 2
321 use m_thermochem,
only: num_species
327 real(
stp),
allocatable,
dimension(:,:,:) :: fp
332 real(
stp),
pointer,
dimension(:,:,:) :: sf => null()
337 real(
stp),
pointer,
dimension(:,:,:,:,:) :: sf => null()
342#ifdef MFC_MIXED_PRECISION
343 integer(kind=1),
pointer,
dimension(:,:,:) :: sf => null()
345 integer,
pointer,
dimension(:,:,:) :: sf => null()
351 real(
stp),
pointer,
dimension(:,:,:,:) :: sf => null()
356 real(
stp),
pointer,
dimension(:,:,:,:,:) :: sf => null()
360 integer,
allocatable,
dimension(:) :: view
414 real(
wp) :: pres_in, pres_out
415 real(
wp),
dimension(3) :: vel_in, vel_out
416 real(
wp),
dimension(num_fluids_max) :: alpha_rho_in, alpha_in
417 logical :: grcbc_in, grcbc_out, grcbc_vel_out
425 real(
wp),
dimension(3) :: centroid
426 real(
wp),
dimension(3) :: length
440 integer,
dimension(:),
allocatable :: rs
441 integer,
dimension(:),
allocatable :: vs
442 integer,
dimension(:),
allocatable :: ps
443 integer,
dimension(:),
allocatable :: ms
444 integer,
dimension(:,:),
allocatable :: moms
445 integer,
dimension(:,:,:),
allocatable :: fullmom
450 character(LEN=pathlen_max) :: filepath
451 real(
wp),
dimension(1:3) :: translate
452 real(
wp),
dimension(1:3) :: scale
453 real(
wp),
dimension(1:3) :: rotate
455 real(
wp) :: threshold
459 real(
wp),
dimension(1:3,1:3) :: v
460 real(
wp),
dimension(1:3) :: n
464 real(
wp),
dimension(1:3) :: o
465 real(
wp),
dimension(1:3) :: d
469 real(
wp),
dimension(1:3) :: min
470 real(
wp),
dimension(1:3) :: max
481 real(
wp),
allocatable,
dimension(:,:,:) :: boundary_v
482 real(
wp),
allocatable,
dimension(:,:) :: interpolated_boundary_v
483 integer :: boundary_edge_count
484 integer :: total_vertices
485 integer :: interpolate
489 real(
wp),
allocatable,
dimension(:,:,:) :: trs_v
490 real(
wp),
allocatable,
dimension(:,:) :: trs_n
499 real(
wp) :: x_centroid, y_centroid, z_centroid
500 real(
wp) :: length_x, length_y, length_z
502 real(
wp),
dimension(3) :: radii
503 real(
wp) :: epsilon, beta
504 real(
wp),
dimension(2:9) :: a
505 logical :: non_axis_sym
508 real(
wp),
dimension(1:max_2d_fourier_modes) :: fourier_cos, fourier_sin
509 logical :: modal_clip_r_to_min
510 real(
wp) :: modal_r_min
511 logical :: modal_use_exp_form
513 real(
wp),
dimension(0:max_sph_harm_degree,-max_sph_harm_degree:max_sph_harm_degree) :: sph_har_coeff
514 real(
wp),
dimension(3) :: normal
515 logical,
dimension(0:num_patches_max - 1) :: alter_patch
517 integer :: smooth_patch_id
518 real(
wp) :: smooth_coeff
519 real(
wp),
dimension(num_fluids_max) :: alpha_rho
521 real(
wp),
dimension(3) :: vel
523 real(
wp),
dimension(num_fluids_max) :: alpha
529 real(
wp) :: bx, by, bz
530 real(
wp),
dimension(6) :: tau_e
537 real(
wp) :: y(1:num_species)
540 character(LEN=pathlen_max) :: model_filepath
541 real(
wp),
dimension(1:3) :: model_translate
542 real(
wp),
dimension(1:3) :: model_scale
544 real(
wp),
dimension(1:3) :: model_rotate
546 real(
wp) :: model_threshold
552 real(
wp) :: x_centroid, y_centroid, z_centroid
554 real(
wp) :: step_x_centroid, step_y_centroid, step_z_centroid
555 real(
wp),
dimension(1:3) :: centroid_offset
556 real(
wp),
dimension(1:3) :: angles
557 real(
wp),
dimension(1:3) :: step_angles
559 real(
wp),
dimension(1:3,1:3) :: rotation_matrix
561 real(
wp),
dimension(1:3,1:3) :: rotation_matrix_inverse
562 real(
wp) :: c, p, t, m
563 real(
wp) :: length_x, length_y, length_z
569 character(LEN=pathlen_max) :: model_filepath
570 real(
wp),
dimension(1:3) :: model_translate
571 real(
wp),
dimension(1:3) :: model_scale
573 real(
wp),
dimension(1:3) :: model_rotate
575 real(
wp) :: model_threshold
576 integer :: moving_ibm
577 real(
wp) :: mass, moment
578 real(
wp),
dimension(1:3) :: force, torque
579 real(
wp),
dimension(1:3) :: vel
580 real(
wp),
dimension(1:3) :: step_vel
581 real(
wp),
dimension(1:3) :: angular_vel
582 real(
wp),
dimension(1:3) :: step_angular_vel
590 real(
wp),
dimension(2) :: re
622 integer,
dimension(2) :: view
623 type(
vec3_dt),
allocatable,
dimension(:) :: var
641 real(
wp),
dimension(3) :: loc
645 real(
wp) :: wavelength
646 real(
wp) :: frequency
647 real(
wp) :: gauss_sigma_dist
648 real(
wp) :: gauss_sigma_time
652 real(
wp) :: foc_length
654 real(
wp) :: element_spacing_angle
656 real(
wp) :: element_polygon_ratio
657 real(
wp) :: rotate_angle
658 real(
wp) :: bb_bandwidth
659 real(
wp) :: bb_lowest_freq
660 integer :: num_elements
661 integer :: element_on
662 integer :: bb_num_freq
667 integer,
pointer,
dimension(:,:) :: coord => null()
668 real(
wp),
pointer,
dimension(:) :: val => null()
669 real(
wp),
pointer,
dimension(:) :: angle => null()
670 real(
wp),
pointer,
dimension(:,:) :: xyz_to_r_ratios => null()
675 integer,
dimension(3) :: loc
676 real(
wp),
dimension(3) :: ip_loc
677 integer,
dimension(3) :: ip_grid
678 real(
wp),
dimension(2, 2, 2) :: interp_coeffs
679 integer :: ib_patch_id
681 real(
wp),
dimension(1:3) :: levelset_norm
683 integer,
dimension(3) :: db
684 integer :: x_periodicity, y_periodicity, z_periodicity
689 character(LEN=name_len) :: name
694 character(LEN=name_len) :: cantera_file
701 integer :: gamma_method
702 integer :: transport_model
708 integer :: solver_approach
709 integer :: cluster_type
710 logical :: pressure_corrector
711 integer :: smooth_type
712 logical :: heattransfer_model
713 logical :: masstransfer_model
714 logical :: write_bubbles
715 logical :: write_bubbles_stats
718 real(
wp) :: charwidth
719 real(
wp) :: valmaxvoid
724 integer :: mn_max, np_max, mp_max, mnp_max
725 integer :: mn_min, np_min, mp_min, mnp_min
729 logical,
dimension(3) :: perturb_vel
730 real(
wp),
dimension(3) :: perturb_vel_freq
731 real(
wp),
dimension(3) :: perturb_vel_scale
732 real(
wp),
dimension(3, 3) :: perturb_vel_offset
733 logical,
dimension(1:num_fluids_max) :: perturb_dens
734 real(
wp),
dimension(1:num_fluids_max) :: perturb_dens_freq
735 real(
wp),
dimension(1:num_fluids_max) :: perturb_dens_scale
736 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.
integer, parameter wp
Change to single_precision if needed.
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).