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# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 244 "/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# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 377 "/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# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 311 "/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
229# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
232# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
235# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
238# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
241# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
268# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
277# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
285# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
288# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
290# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
295# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
298# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
301# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
304# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
307# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
310# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
312# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 8 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp" 2
325 use mpi !< message passing interface (mpi) module
346 do i = 1, num_patches_max
349 if (
patch_ib(i)%geometry == dflt_int)
then
350# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
351 call s_prohibit_abort(
"patch_ib(i)%geometry == dflt_int",
"IB patch undefined. patch_ib("//trim(
istr)//
")%geometry must be set.")
352# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
358 else if (
patch_ib(i)%geometry == 3)
then
360 else if (
patch_ib(i)%geometry == 8)
then
362 else if (
patch_ib(i)%geometry == 9)
then
364 else if (
patch_ib(i)%geometry == 4)
then
366 else if (
patch_ib(i)%geometry == 11)
then
368 else if (
patch_ib(i)%geometry == 10)
then
372 else if (
patch_ib(i)%geometry == 6)
then
375 call s_prohibit_abort(
"Invalid IB patch", &
376 &
"patch_ib(" // trim(
istr) //
")%geometry must be " //
"2-4, 8-10, 11 or 12.")
379 if (
patch_ib(i)%geometry /= dflt_int)
then
380# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
381 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.")
382# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
384# 69 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
395 integer,
intent(in) :: patch_id
400# 83 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
401 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))
402# 83 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
404# 85 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
412 integer,
intent(in) :: patch_id
417# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
418 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))
419# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
421# 99 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
429 integer,
intent(in) :: patch_id
434# 110 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
435 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))
436# 110 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
438# 113 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
446 integer,
intent(in) :: patch_id
451# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
452 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))
453# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
455# 129 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
463 integer,
intent(in) :: patch_id
468# 140 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
469 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))
470# 140 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
472# 143 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
480 integer,
intent(in) :: patch_id
485# 154 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
486 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))
487# 154 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
489# 157 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
497 integer,
intent(in) :: patch_id
502# 168 "/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# 168 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
506# 172 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
514 integer,
intent(in) :: patch_id
519# 183 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
520 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))
521# 183 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
523# 187 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
526# 188 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
527 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))
528# 188 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
530# 194 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
538 integer,
intent(in) :: patch_id
542 if (
patch_ib(patch_id)%model_filepath == dflt_char)
then
543# 205 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
544 call s_prohibit_abort(
"patch_ib(patch_id)%model_filepath == dflt_char",
'Empty model file path for patch '//trim(
istr))
545# 205 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
548 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
549# 207 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
550 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))
551# 207 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
553# 209 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
560 integer,
intent(in) :: patch_id
565# 219 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
566 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))
567# 219 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
569# 224 "/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)
Verify that the geometric parameters of the circle patch have been consistently inputted.
impure subroutine s_check_rectangle_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the rectangle patch have been consistently inputted.
impure subroutine, public s_check_ib_patches
Validate the geometry parameters of all active and inactive immersed boundary patches.
impure subroutine s_check_sphere_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the sphere patch have been consistently inputted.
impure subroutine s_check_ellipse_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the ellipse patch have been consistently inputted.
impure subroutine s_check_cylinder_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the cylinder patch have been consistently inputted.
impure subroutine s_check_model_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the model patch have been consistently inputted.
impure subroutine s_check_airfoil_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the airfoil patch have been consistently inputted.
impure subroutine s_check_inactive_ib_patch_geometry(patch_id)
Verify that inactive IB patch geometry parameters remain at defaults.
impure subroutine s_check_3d_airfoil_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the 3D airfoil patch have been consistently inputted.
impure subroutine s_check_cuboid_ib_patch_geometry(patch_id)
Verify that the geometric parameters of the cuboid patch have been consistently inputted.
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
Immersed boundary patch parameters.
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)
Convert an integer to its trimmed string representation.
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.