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# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
15# 12 "/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# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
34# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
35# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
36# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
38# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
47# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
58# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
59# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
60# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
74# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
75# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
76# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
78# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
79# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
81# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
83# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
85# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
87# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
89# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
91# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
93# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
95# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
97# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
99# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
105# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
107# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
109# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
111# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
152# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
154# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
156# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
158# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
160# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
162# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
164# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
166# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
168# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
170# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
172# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
174# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
176# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
177# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
178# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
179# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
181# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
183# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
185# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
186# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
189# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
190# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
193# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
194# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
195# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
197# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
198# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
200# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
202# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
204# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
206# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
208# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
210# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
212# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
214# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
216# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
218# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
242# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
244# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
246# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
248# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
250# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
252# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
254# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
256# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
258# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
260# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
262# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
264# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
266# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
268# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
270# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
272# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
274# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
277# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
298# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
304# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
307# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
310# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
313# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
316# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
319# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
322# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
325# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
328# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
331# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
333# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
334# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
336# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
338# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
343# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
346# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
349# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
352# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
355# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
358# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
360# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
362# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
364# 7 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp" 2
383 logical,
intent(in) :: check_total_cells
384 integer(kind=8),
intent(in) :: n_global
387# 32 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
394 character(len=18) :: numstr
395 integer(kind=8) :: min_cells
396 integer(kind=8),
intent(in) :: n_global
398 min_cells = int(2, kind=8)**int(min(1, m) + min(1, n) + min(1, p), kind=8)*int(
num_procs, kind=8)
401 if (n_global < min_cells)
then
402# 45 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
403 call s_prohibit_abort(
"n_global < min_cells",
"Total number of cells must be at least (2^[number of dimensions])*num_procs, " //
"which is currently " // trim(numstr))
404# 45 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
406# 48 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
413# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
414 if (num_fluids > 3)
then
415# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
416 call s_prohibit_abort(
"num_fluids > 3",
"num_fluids <= 3 for AMDFLang when Case optimization is off")
417# 55 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
419# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
420 if ((bubbles_euler .or. bubbles_lagrange) .and. nb > 3)
then
421# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
422 call s_prohibit_abort(.or..and.
"(bubbles_euler bubbles_lagrange) nb > 3",
"nb <= 3 for AMDFLang when Case optimization is off")
423# 56 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
425# 57 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
427 if (sys_size > 70)
then
428# 58 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
429 call s_prohibit_abort(
"sys_size > 70",
"sys_size <= 70 for AMDFLang when Case optimization is off")
430# 58 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
432# 60 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
433# 61 "/home/runner/work/MFC/MFC/src/common/m_checker_common.fpp"
Shared input validation checks for grid dimensions and AMD GPU compiler limits.
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(n_global)
Verify that the total number of grid cells meets the minimum required by the number of dimensions and...
impure subroutine, public s_check_inputs_common(check_total_cells, n_global)
Checks compatibility of parameters in the input file. Used by all three stages.
Global parameters for the post-process: domain geometry, equation of state, and output database setti...
integer num_procs
Number of processors.
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 gather and scatter operations for distributing post-process grid and flow-variable data.