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# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
42# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
43# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
44# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
47# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
76# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
77# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 320 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 403 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
154# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
155# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
156# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
157# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
163# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
167# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
186# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
188# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
242# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
244# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
247# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
268# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
277# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
298# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
303# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
304# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
306# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
308# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
313# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
319# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
322# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
325# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
330# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
334# 8 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp" 2
343 use mpi !< message passing interface (mpi) module
364 do i = 1, num_patches_max
365 if (i <= num_ibs)
then
367 if (patch_ib(i)%geometry == dflt_int)
then
368# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
369 call s_prohibit_abort(
"patch_ib(i)%geometry == dflt_int",
"IB patch undefined. patch_ib("//trim(
istr)//
")%geometry must be set.")
370# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
374 if (patch_ib(i)%geometry == 2)
then
376 else if (patch_ib(i)%geometry == 3)
then
378 else if (patch_ib(i)%geometry == 8)
then
380 else if (patch_ib(i)%geometry == 9)
then
382 else if (patch_ib(i)%geometry == 4)
then
384 else if (patch_ib(i)%geometry == 11)
then
386 else if (patch_ib(i)%geometry == 10)
then
388 else if (patch_ib(i)%geometry == 5 .or. patch_ib(i)%geometry == 12)
then
390 else if (patch_ib(i)%geometry == 6)
then
393 call s_prohibit_abort(
"Invalid IB patch", &
394 &
"patch_ib(" // trim(
istr) //
")%geometry must be " //
"2-4, 8-10, 11 or 12.")
397 if (patch_ib(i)%geometry /= dflt_int)
then
398# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
399 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.")
400# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
402# 69 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
413 integer,
intent(in) :: patch_id
417 if (n == 0 .or. p > 0 .or. patch_ib(patch_id)%radius <= 0._wp)
then
418# 83 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
419 call s_prohibit_abort(.or..or.
"n == 0 p > 0 patch_ib(patch_id)%radius <= 0._wp",
'in circle IB patch ' // trim(
istr))
420# 83 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
429 integer,
intent(in) :: patch_id
433 if (n == 0 .or. p > 0 .or. patch_ib(patch_id)%length_x <= 0._wp .or. patch_ib(patch_id)%length_y <= 0._wp)
then
434# 95 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
435 call s_prohibit_abort(.or..or..or.
"n == 0 p > 0 patch_ib(patch_id)%length_x <= 0._wp patch_ib(patch_id)%length_y <= 0._wp",
'in ellipse IB patch ' // trim(
istr))
436# 95 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
438# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
446 integer,
intent(in) :: patch_id
450 if (n == 0 .or. p > 0 .or. patch_ib(patch_id)%airfoil_id <= 0 .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%c <= 0._wp .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%p <= 0._wp .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%t <= 0._wp .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%m <= 0._wp)
then
451# 108 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
452 call s_prohibit_abort(.or..or..or..or..or..or.
"n == 0 p > 0 patch_ib(patch_id)%airfoil_id <= 0 ib_airfoil(patch_ib(patch_id)%airfoil_id)%c <= 0._wp ib_airfoil(patch_ib(patch_id)%airfoil_id)%p <= 0._wp ib_airfoil(patch_ib(patch_id)%airfoil_id)%t <= 0._wp ib_airfoil(patch_ib(patch_id)%airfoil_id)%m <= 0._wp",
'in airfoil IB patch ' // trim(
istr))
453# 108 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
455# 113 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
463 integer,
intent(in) :: patch_id
467 if (n == 0 .or. p == 0 .or. patch_ib(patch_id)%airfoil_id <= 0 .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%c <= 0._wp .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%p <= 0._wp .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%t <= 0._wp .or. ib_airfoil(patch_ib(patch_id)%airfoil_id)%m <= 0._wp .or.
f_is_default(patch_ib(patch_id)%length_z))
then
468# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
469 call s_prohibit_abort(.or..or..or..or..or..or..or.
"n == 0 p == 0 patch_ib(patch_id)%airfoil_id <= 0 ib_airfoil(patch_ib(patch_id)%airfoil_id)%c <= 0._wp ib_airfoil(patch_ib(patch_id)%airfoil_id)%p <= 0._wp ib_airfoil(patch_ib(patch_id)%airfoil_id)%t <= 0._wp ib_airfoil(patch_ib(patch_id)%airfoil_id)%m <= 0._wp f_is_default(patch_ib(patch_id)%length_z)",
'in 3d airfoil IB patch ' // trim(
istr))
470# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
472# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
480 integer,
intent(in) :: patch_id
484 if (n == 0 .or. p > 0 .or. patch_ib(patch_id)%length_x <= 0._wp .or. patch_ib(patch_id)%length_y <= 0._wp)
then
485# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
486 call s_prohibit_abort(.or..or..or.
"n == 0 p > 0 patch_ib(patch_id)%length_x <= 0._wp patch_ib(patch_id)%length_y <= 0._wp",
'in rectangle IB patch ' // trim(
istr))
487# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
489# 143 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
497 integer,
intent(in) :: patch_id
501 if (n == 0 .or. p == 0 .or. patch_ib(patch_id)%radius <= 0._wp)
then
502# 154 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
503 call s_prohibit_abort(.or..or.
"n == 0 p == 0 patch_ib(patch_id)%radius <= 0._wp",
'in sphere IB patch ' // trim(
istr))
504# 154 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
513 integer,
intent(in) :: patch_id
517 if (n == 0 .or. p == 0 .or. patch_ib(patch_id)%length_x <= 0._wp .or. patch_ib(patch_id)%length_y <= 0._wp .or. patch_ib(patch_id)%length_z <= 0._wp)
then
518# 166 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
519 call s_prohibit_abort(.or..or..or..or.
"n == 0 p == 0 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))
520# 166 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
522# 168 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
530 integer,
intent(in) :: patch_id
534 if (p == 0 .or. (patch_ib(patch_id)%length_x <= 0._wp .and. patch_ib(patch_id)%length_y <= 0._wp .and. patch_ib(patch_id)%length_z <= 0._wp) .or. patch_ib(patch_id)%radius <= 0._wp)
then
535# 179 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
536 call s_prohibit_abort(.or..and..and..or.
"p == 0 (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))
537# 179 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
539# 182 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
541 if ((patch_ib(patch_id)%length_x > 0._wp .and. ((.not.
f_is_default(patch_ib(patch_id)%length_y)) .or. (.not.
f_is_default(patch_ib(patch_id)%length_z)))) .or. (patch_ib(patch_id)%length_y > 0._wp .and. ((.not.
f_is_default(patch_ib(patch_id)%length_x)) .or. (.not.
f_is_default(patch_ib(patch_id)%length_z)))) .or. (patch_ib(patch_id)%length_z > 0._wp .and. ((.not.
f_is_default(patch_ib(patch_id)%length_x)) .or. (.not.
f_is_default(patch_ib(patch_id)%length_y)))))
then
542# 183 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
543 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))
544# 183 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
546# 189 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
554 integer,
intent(in) :: patch_id
556 character(len=10) :: midstr
560 mid = patch_ib(patch_id)%model_id
563 if (mid <= 0 .or. mid > num_stl_models)
then
564# 205 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
565 call s_prohibit_abort(.or.
"mid <= 0 mid > num_stl_models",
'patch_ib('//trim(
istr)//
')%model_id='//trim(midstr)//
' must be in [1, num_stl_models]')
566# 205 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
568# 207 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
570 if (stl_models(mid)%model_filepath == dflt_char)
then
571# 208 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
572 call s_prohibit_abort(
"stl_models(mid)%model_filepath == dflt_char",
'Empty model file path for stl_models('//trim(midstr)//
')')
573# 208 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
576 if (stl_models(mid)%model_scale(1) <= 0._wp .or. stl_models(mid)%model_scale(2) <= 0._wp .or. stl_models(mid)%model_scale(3) <= 0._wp)
then
577# 210 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
578 call s_prohibit_abort(.or..or.
"stl_models(mid)%model_scale(1) <= 0._wp stl_models(mid)%model_scale(2) <= 0._wp stl_models(mid)%model_scale(3) <= 0._wp",
'Negative scale in stl_models(' // trim(midstr) //
')')
579# 210 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
581# 212 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
588 integer,
intent(in) :: patch_id
593# 222 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
594 call s_prohibit_abort(.not..or..not..or..not..or..not.
"( 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))
595# 222 "/home/runner/work/MFC/MFC/src/pre_process/m_check_ib_patches.fpp"
597# 225 "/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.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
logical elemental function, public f_is_default(var)
Check 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.