1# 1 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
8# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
9# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
10# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
11# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
12# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
13# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
14# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
15# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
17# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
18# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
19# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
36# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
37# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
38# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
64# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
65# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
66# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
67# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
68# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
70# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
72# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 207 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 232 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 243 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 245 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 283 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 293 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 303 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 312 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 329 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 346 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 358 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 364 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 370 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 376 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
142# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
143# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
144# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
145# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
146# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
147# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
148# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
150# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
151# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
152# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
170# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
172# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
174# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
176# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
178# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
180# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 192 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 213 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 241 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 256 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 266 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 275 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 291 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 301 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 308 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
228# 21 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
230# 37 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
232# 50 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
234# 76 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 91 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
238# 102 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
240# 115 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 154 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
246# 165 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 176 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 187 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
252# 198 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 208 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
258# 220 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 226 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 232 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
264# 234 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 235 "/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# 8 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp" 2
299 use m_mpi_proxy !< message passing interface (mpi) module proxy
301 use m_data_output !< procedures to write the grid data and the
305 use mpi !< message passing interface (mpi) module
328 do i = 1, num_patches_max
332 if (
patch_ib(i)%geometry == dflt_int)
then
333# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
334 call s_prohibit_abort(
"patch_ib(i)%geometry == dflt_int",
"IB patch undefined. patch_ib("//trim(
istr)//
")%geometry must be set.")
335# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
337# 50 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
342 else if (
patch_ib(i)%geometry == 3)
then
344 else if (
patch_ib(i)%geometry == 8)
then
346 else if (
patch_ib(i)%geometry == 9)
then
348 else if (
patch_ib(i)%geometry == 4)
then
350 else if (
patch_ib(i)%geometry == 11)
then
352 else if (
patch_ib(i)%geometry == 10)
then
354 else if (
patch_ib(i)%geometry == 5 .or. &
357 else if (
patch_ib(i)%geometry == 6)
then
360 call s_prohibit_abort(
"Invalid IB patch", &
361 "patch_ib("//trim(
istr)//
")%geometry must be "// &
362 "2-4, 8-10, 11 or 12.")
365 if (
patch_ib(i)%geometry /= dflt_int)
then
366# 77 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
367 call s_prohibit_abort(
"patch_ib(i)%geometry /= dflt_int",
"Inactive IB patch defined. "//
"patch_ib("//trim(
istr)//
")%geometry must not be set for inactive patches.")
368# 77 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
370# 79 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
383 integer,
intent(in) :: patch_id
388# 95 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
389 call s_prohibit_abort(.or..or..or..or.
"n == 0 p > 0 patch_ib(patch_id)%radius <= 0._wp f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid)",
'in circle IB patch '//trim(
istr))
390# 95 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
392# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
402 integer,
intent(in) :: patch_id
407# 113 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
408 call s_prohibit_abort(.or..or..or..or..or.
"n == 0 p > 0 patch_ib(patch_id)%length_x <= 0._wp patch_ib(patch_id)%length_y <= 0._wp f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid)",
'in ellipse IB patch '//trim(
istr))
409# 113 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
411# 119 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
421 integer,
intent(in) :: patch_id
426# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
427 call s_prohibit_abort(.or..or..or..or..or..or..or.
"n == 0 p > 0 patch_ib(patch_id)%c <= 0._wp patch_ib(patch_id)%p <= 0._wp patch_ib(patch_id)%t <= 0._wp patch_ib(patch_id)%m <= 0._wp f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid)",
'in airfoil IB patch '//trim(
istr))
428# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
430# 140 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
440 integer,
intent(in) :: patch_id
445# 153 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
446 call s_prohibit_abort(.or..or..or..or..or..or..or..or..or.
"n == 0 p == 0 patch_ib(patch_id)%c <= 0._wp patch_ib(patch_id)%p <= 0._wp patch_ib(patch_id)%t <= 0._wp patch_ib(patch_id)%m <= 0._wp f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid) f_is_default(patch_ib(patch_id)%z_centroid) f_is_default(patch_ib(patch_id)%length_z)",
'in 3d airfoil IB patch '//trim(
istr))
447# 153 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
449# 163 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
459 integer,
intent(in) :: patch_id
464# 176 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
465 call s_prohibit_abort(.or..or..or..or..or.
"n == 0 p > 0 f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid) patch_ib(patch_id)%length_x <= 0._wp patch_ib(patch_id)%length_y <= 0._wp",
'in rectangle IB patch '//trim(
istr))
466# 176 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
468# 186 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
478 integer,
intent(in) :: patch_id
483# 199 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
484 call s_prohibit_abort(.or..or..or..or..or.
"n == 0 p == 0 f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid) f_is_default(patch_ib(patch_id)%z_centroid) patch_ib(patch_id)%radius <= 0._wp",
'in sphere IB patch '//trim(
istr))
485# 199 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
487# 209 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
497 integer,
intent(in) :: patch_id
502# 222 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
503 call s_prohibit_abort(.or..or..or..or..or..or..or.
"n == 0 p == 0 f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid) f_is_default(patch_ib(patch_id)%z_centroid) patch_ib(patch_id)%length_x <= 0._wp patch_ib(patch_id)%length_y <= 0._wp patch_ib(patch_id)%length_z <= 0._wp",
'in cuboid IB patch '//trim(
istr))
504# 222 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
506# 236 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
516 integer,
intent(in) :: patch_id
521# 249 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
522 call s_prohibit_abort(.or..or..or..or..and..and..or.
"p == 0 f_is_default(patch_ib(patch_id)%x_centroid) f_is_default(patch_ib(patch_id)%y_centroid) f_is_default(patch_ib(patch_id)%z_centroid) (patch_ib(patch_id)%length_x <= 0._wp patch_ib(patch_id)%length_y <= 0._wp patch_ib(patch_id)%length_z <= 0._wp) patch_ib(patch_id)%radius <= 0._wp",
'in cylinder IB patch '//trim(
istr))
523# 249 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
525# 263 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
528# 264 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
529 call s_prohibit_abort(.and..not..or..not..or..and..not..or..not..or..and..not..or..not.
"(patch_ib(patch_id)%length_x > 0._wp (( f_is_default(patch_ib(patch_id)%length_y)) ( f_is_default(patch_ib(patch_id)%length_z)))) (patch_ib(patch_id)%length_y > 0._wp (( f_is_default(patch_ib(patch_id)%length_x)) ( f_is_default(patch_ib(patch_id)%length_z)))) (patch_ib(patch_id)%length_z > 0._wp (( f_is_default(patch_ib(patch_id)%length_x)) ( f_is_default(patch_ib(patch_id)%length_y))))",
'in cylinder IB patch '//trim(
istr))
530# 264 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
532# 277 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
542 integer,
intent(in) :: patch_id
546 if (
patch_ib(patch_id)%model_filepath == dflt_char)
then
547# 290 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
548 call s_prohibit_abort(
"patch_ib(patch_id)%model_filepath == dflt_char",
'Empty model file path for patch '//trim(
istr))
549# 290 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
551# 292 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
553 if (
patch_ib(patch_id)%model_scale(1) <= 0._wp .or.
patch_ib(patch_id)%model_scale(2) <= 0._wp .or.
patch_ib(patch_id)%model_scale(3) <= 0._wp)
then
554# 293 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
555 call s_prohibit_abort(.or..or.
"patch_ib(patch_id)%model_scale(1) <= 0._wp patch_ib(patch_id)%model_scale(2) <= 0._wp patch_ib(patch_id)%model_scale(3) <= 0._wp",
'Negative scale in model IB patch '//trim(
istr))
556# 293 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
558# 299 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
567 integer,
intent(in) :: patch_id
572# 311 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
573 call s_prohibit_abort(.not..or..not..or..not..or..not..or..not..or..not..or..not.
"( f_is_default(patch_ib(patch_id)%x_centroid)) ( f_is_default(patch_ib(patch_id)%y_centroid)) ( f_is_default(patch_ib(patch_id)%z_centroid)) ( f_is_default(patch_ib(patch_id)%length_x)) ( f_is_default(patch_ib(patch_id)%length_y)) ( f_is_default(patch_ib(patch_id)%length_z)) ( f_is_default(patch_ib(patch_id)%radius))",
'in inactive IB patch '//trim(
istr))
574# 311 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
576# 325 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
Validates geometry parameters and constraints for immersed boundary patches.
impure subroutine s_check_circle_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the circle patch have consistently been inp...
impure subroutine s_check_rectangle_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the rectangle patch have consistently been ...
impure subroutine, public s_check_ib_patches
Validates the geometry parameters of all active and inactive immersed boundary patches.
impure subroutine s_check_sphere_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the sphere patch have consistently been inp...
impure subroutine s_check_ellipse_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the ellipse patch have consistently been in...
impure subroutine s_check_cylinder_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the cylinder patch have consistently been i...
impure subroutine s_check_model_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the model patch have consistently been inpu...
impure subroutine s_check_airfoil_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the airfoil patch have consistently been in...
impure subroutine s_check_inactive_ib_patch_geometry(patch_id)
impure subroutine s_check_3d_airfoil_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the 3d airfoil patch have consistently been...
impure subroutine s_check_cuboid_ib_patch_geometry(patch_id)
This subroutine verifies that the geometric parameters of the cuboid patch have consistently been inp...
Platform-specific file and directory operations: create, delete, inquire, getcwd, and basename.
Writes grid and initial condition data to serial or parallel output files.
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
type(ib_patch_parameters), dimension(num_patches_max) patch_ib
integer num_ibs
Number of immersed boundaries.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
logical elemental function, public f_is_default(var)
Checks if a real(wp) variable is of default value.
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.
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.