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# 207 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 232 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 243 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 245 "/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# 283 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 293 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 303 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 312 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 329 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 346 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 358 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 364 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 370 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 376 "/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# 192 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 213 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 241 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 256 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 266 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 275 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 291 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 301 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 308 "/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
237# 21 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 37 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
241# 50 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
243# 76 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 91 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 102 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
249# 115 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 154 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
255# 165 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 176 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 187 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
261# 198 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 208 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
267# 220 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 226 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 232 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
273# 234 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 235 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
276# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
278# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
284# 63 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
286# 81 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
288# 88 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
290# 111 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
292# 127 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
294# 153 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
296# 159 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
298# 167 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
300# 7 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp" 2
307 use m_mpi_proxy !< message passing interface (mpi) module proxy
323#ifndef MFC_SIMULATION
326# 35 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
330#ifndef MFC_SIMULATION
334 character(len=18) :: numstr
335 integer(kind=8) :: min_cells
337 min_cells = int(2, kind=8)**int(min(1,
m) + min(1,
n) + min(1,
p), kind=8)*int(
num_procs, kind=8)
340 if (nglobal < min_cells)
then
341# 48 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
342 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))
343# 48 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
345# 51 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
353# 59 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
355# 59 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
356 call s_prohibit_abort(
"num_fluids > 3",
"num_fluids <= 3 for AMDFLang when Case optimization is off")
357# 59 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
360# 60 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
361 call s_prohibit_abort(.or..and.
"(bubbles_euler bubbles_lagrange) nb > 3",
"nb <= 3 for AMDFLang when Case optimization is off")
362# 60 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
364 if (
chemistry .and. num_species /= 10)
then
365# 61 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
366 call s_prohibit_abort(.and.
"chemistry num_species /= 10",
"num_species = 10 for AMDFLang when Case optimization is off")
367# 61 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
369# 63 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
373#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
Checks that simulation parameters stay within AMD GPU compiler limits when case optimization is disab...
impure subroutine s_check_total_cells
Verifies that the total number of grid cells meets the minimum required by the number of dimensions a...
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)
Converts an integer to its trimmed string representation.
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.