1# 1 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
12# 9 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
15# 14 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
16# 6 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp" 2
17# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
18# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
19# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
20# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
24# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
26# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
30# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
34# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
36# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
45# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
46# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
47# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
59# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
73# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
75# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
77# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
81# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
83# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
85# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
87# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
93# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
95# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
97# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
99# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
105# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
107# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
109# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
111# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
151# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
152# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
153# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
155# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
157# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
163# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
167# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
173# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
177# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
179# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
181# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
183# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
185# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
187# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
189# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
191# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
193# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
195# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
197# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
199# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
201# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
203# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
205# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
207# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
238# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
241# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
268# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
277# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
294# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
297# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
299# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
304# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
307# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
310# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
313# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
319# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
321# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
325# 7 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp" 2
344#ifndef MFC_SIMULATION
347# 31 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
351#ifndef MFC_SIMULATION
355 character(len=18) :: numstr
356 integer(kind=8) :: min_cells
358 min_cells = int(2, kind=8)**int(min(1,
m) + min(1,
n) + min(1,
p), kind=8)*int(
num_procs, kind=8)
361 if (nglobal < min_cells)
then
362# 44 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
363 call s_prohibit_abort(
"nGlobal < min_cells",
"Total number of cells must be at least (2^[number of dimensions])*num_procs, " //
"which is currently " // trim(numstr))
364# 44 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
366# 47 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
374# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
376# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
377 call s_prohibit_abort(
"num_fluids > 3",
"num_fluids <= 3 for AMDFLang when Case optimization is off")
378# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
381# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
382 call s_prohibit_abort(.or..and.
"(bubbles_euler bubbles_lagrange) nb > 3",
"nb <= 3 for AMDFLang when Case optimization is off")
383# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
385 if (
chemistry .and. num_species /= 10)
then
386# 57 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
387 call s_prohibit_abort(.and.
"chemistry num_species /= 10",
"num_species = 10 for AMDFLang when Case optimization is off")
388# 57 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
390# 59 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
394#ifndef MFC_POST_PROCESS
Shared input validation checks for grid dimensions and AMD GPU compiler limits.
impure subroutine, public s_check_inputs_common
Checks compatibility of parameters in the input file. Used by all three stages.
impure subroutine s_check_amd
Check that simulation parameters stay within AMD GPU compiler limits when case optimization is disabl...
impure subroutine s_check_total_cells
Verify that the total number of grid cells meets the minimum required by the number of dimensions and...
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
logical bubbles_euler
Bubbles euler on/off.
logical, parameter chemistry
Chemistry modeling.
integer num_fluids
number of fluids in the simulation
logical bubbles_lagrange
Lagrangian subgrid bubble model switch.
integer num_procs
Number of processors.
integer nb
Number of eq. bubble sizes.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
elemental subroutine, public s_int_to_str(i, res)
Convert an integer to its trimmed string representation.
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.