1# 1 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
7# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
13# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
16# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
17# 7 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp" 2
18# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
19# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
20# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
21# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
24# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
47# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
48# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
49# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
50# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
76# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
78# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
81# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
156# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
157# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
158# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 10 "/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# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
186# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
242# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
245# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
304# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
306# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
330# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 8 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp" 2
358# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
359#if defined(MFC_OpenACC)
360# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
362# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
363#elif defined(MFC_OpenMP)
364# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
366# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
374 integer :: i,
j, sys_size_alloc
377# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
379# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
380 use iso_fortran_env,
only: output_unit
381# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
383# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
384 print *,
'm_boundary_common.fpp:41: ',
'@:ALLOCATE(bc_buffers(1:3, 1:2))'
385# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
387# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
388 call flush (output_unit)
389# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
391# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
393# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
395# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
397# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
399# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
400#if defined(MFC_OpenACC)
401# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
403# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
404#elif defined(MFC_OpenMP)
405# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
407# 41 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
411 sys_size_alloc = sys_size
412 if (chemistry) sys_size_alloc = sys_size + 1
415# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
417# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
418 use iso_fortran_env,
only: output_unit
419# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
421# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
422 print *,
'm_boundary_common.fpp:47: ',
'@:ALLOCATE(bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))'
423# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
425# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
426 call flush (output_unit)
427# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
429# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
431# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
432 allocate (bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))
433# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
435# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
437# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
438#if defined(MFC_OpenACC)
439# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
441# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
442#elif defined(MFC_OpenMP)
443# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
445# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
448# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
450# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
451 use iso_fortran_env,
only: output_unit
452# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
454# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
455 print *,
'm_boundary_common.fpp:48: ',
'@:ALLOCATE(bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))'
456# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
458# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
459 call flush (output_unit)
460# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
462# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
464# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
465 allocate (bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))
466# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
468# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
470# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
471#if defined(MFC_OpenACC)
472# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
474# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
475#elif defined(MFC_OpenMP)
476# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
478# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
480# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
483# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
485# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
486 use iso_fortran_env,
only: output_unit
487# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
489# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
490 print *,
'm_boundary_common.fpp:51: ',
'@:ALLOCATE(bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
491# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
493# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
494 call flush (output_unit)
495# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
497# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
499# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
500 allocate (bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
501# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
503# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
505# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
506#if defined(MFC_OpenACC)
507# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
509# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
510#elif defined(MFC_OpenMP)
511# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
513# 51 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
516# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
518# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
519 use iso_fortran_env,
only: output_unit
520# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
522# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
523 print *,
'm_boundary_common.fpp:52: ',
'@:ALLOCATE(bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
524# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
526# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
527 call flush (output_unit)
528# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
530# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
532# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
533 allocate (bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
534# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
536# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
538# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
539#if defined(MFC_OpenACC)
540# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
542# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
543#elif defined(MFC_OpenMP)
544# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
546# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
548# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
551# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
553# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
554 use iso_fortran_env,
only: output_unit
555# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
557# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
558 print *,
'm_boundary_common.fpp:55: ',
'@:ALLOCATE(bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))'
559# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
561# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
562 call flush (output_unit)
563# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
565# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
567# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
568 allocate (bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
569# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
571# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
573# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
574#if defined(MFC_OpenACC)
575# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
577# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
578#elif defined(MFC_OpenMP)
579# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
581# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
584# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
586# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
587 use iso_fortran_env,
only: output_unit
588# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
590# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
591 print *,
'm_boundary_common.fpp:56: ',
'@:ALLOCATE(bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))'
592# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
594# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
595 call flush (output_unit)
596# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
598# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
600# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
601 allocate (bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
602# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
604# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
606# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
607#if defined(MFC_OpenACC)
608# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
610# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
611#elif defined(MFC_OpenMP)
612# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
614# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
617# 59 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
619# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
623# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
625# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
627# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
629# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
630 use iso_fortran_env,
only: output_unit
631# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
633# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
634 print *,
'm_boundary_common.fpp:63: ',
'@:ACC_SETUP_SFs(bc_buffers(i,j))'
635# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
637# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
638 call flush (output_unit)
639# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
641# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
643# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
645# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
647# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
648#if defined(MFC_OpenACC)
649# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
651# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
652#elif defined(MFC_OpenMP)
653# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
655# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
657# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
658 if (
associated(bc_buffers(i,
j)%sf))
then
659# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
661# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
662#if defined(MFC_OpenACC)
663# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
665# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
666#elif defined(MFC_OpenMP)
667# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
669# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
671# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
673# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
675# 63 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
681 if (bubbles_lagrange)
then
696# 82 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
697#if defined(MFC_OpenACC)
698# 82 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
700# 82 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
701#elif defined(MFC_OpenMP)
702# 82 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
704# 82 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
712 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
713 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
714 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
715 type(scalar_field),
optional,
intent(inout) :: q_t_sf
722# 100 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
725# 103 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
729# 107 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
732# 110 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
740 integer,
intent(in) :: bc_dir, bc_loc
741 type(int_bounds_info),
intent(in) :: bc_bounds
742 type(integer_field),
intent(in) :: bc_type_edge
743 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
744 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
745 type(scalar_field),
optional,
intent(inout) :: q_t_sf
746 integer :: bc_edge, k_beg, k_end, l_beg, l_end
747 integer :: bc_code,
k,
l
749 if (bc_loc == -1)
then
750 bc_edge = bc_bounds%beg
752 bc_edge = bc_bounds%end
756 if (bc_edge >= 0)
then
757 call s_mpi_sendrecv_variables_buffers(q_prim_vf, bc_dir, bc_loc, sys_size, pb_in, mv_in, q_t_sf)
761 if (bc_dir == 1)
then
762 k_beg = 0; k_end = n; l_beg = 0; l_end = p
763 else if (bc_dir == 2)
then
764 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
766 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
770# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
772# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
773#if defined(MFC_OpenACC)
774# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
776# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
777#elif defined(MFC_OpenMP)
778# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
780# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
782# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
784# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
786# 146 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
790 if (bc_dir == 1)
then
791 bc_code = int(bc_type_edge%sf(0,
k,
l))
792 else if (bc_dir == 2)
then
793 bc_code = int(bc_type_edge%sf(
k, 0,
l))
795 bc_code = int(bc_type_edge%sf(
k,
l, 0))
798 select case (bc_code)
799 case (bc_char_sup_outflow:bc_ghost_extrap)
800 call s_ghost_cell_extrapolation(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
802 if (bc_dir == 2 .and. bc_loc == -1)
call s_axis(q_prim_vf, pb_in, mv_in,
k,
l)
804 call s_symmetry(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
806 call s_periodic(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
808 call s_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
809 case (bc_no_slip_wall)
810 call s_no_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
812 call s_dirichlet(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
815 if (qbmm .and. (.not. polytropic) .and.
present(pb_in) .and.
present(mv_in) .and. (bc_code <= bc_ghost_extrap) &
816 & .and. .not. (bc_dir == 2 .and. bc_loc == -1 .and. bc_code == bc_axis))
then
817 call s_qbmm_extrapolation(bc_dir, bc_loc,
k,
l, pb_in, mv_in)
822# 180 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
823#if defined(MFC_OpenACC)
824# 180 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
826# 180 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
827#elif defined(MFC_OpenMP)
828# 180 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
830# 180 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
832# 180 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
840 type(scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
841 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
842 type(bc_xyz_info),
intent(in) :: bc
849# 197 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
852# 200 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
856# 204 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
859# 207 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
867 integer,
intent(in) :: bc_dir, bc_loc
868 type(int_bounds_info),
intent(in) :: bc_bounds
869 type(scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
870 type(integer_field),
intent(in) :: bc_type_edge
871 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l, bc_code
873 if (bc_loc == -1)
then
874 bc_edge = bc_bounds%beg
876 bc_edge = bc_bounds%end
879 if (bc_edge >= 0)
then
880 call s_mpi_sendrecv_variables_buffers(c_divs, bc_dir, bc_loc, num_dims + 1)
884 if (bc_dir == 1)
then
885 k_beg = 0; k_end = n; l_beg = 0; l_end = p
886 else if (bc_dir == 2)
then
887 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
889 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
893# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
895# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
896#if defined(MFC_OpenACC)
897# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
899# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
900#elif defined(MFC_OpenMP)
901# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
903# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
905# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
907# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
909# 239 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
913 if (bc_dir == 1)
then
914 bc_code = int(bc_type_edge%sf(0,
k,
l))
915 else if (bc_dir == 2)
then
916 bc_code = int(bc_type_edge%sf(
k, 0,
l))
918 bc_code = int(bc_type_edge%sf(
k,
l, 0))
921 select case (bc_code)
923 call s_color_function_periodic(c_divs, bc_dir, bc_loc,
k,
l)
925 call s_color_function_reflective(c_divs, bc_dir, bc_loc,
k,
l)
927 call s_color_function_ghost_cell_extrapolation(c_divs, bc_dir, bc_loc,
k,
l)
932# 260 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
933#if defined(MFC_OpenACC)
934# 260 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
936# 260 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
937#elif defined(MFC_OpenMP)
938# 260 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
940# 260 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
942# 260 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
950 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
951 type(scalar_field),
dimension(1:),
intent(inout) :: jac_sf
958# 276 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
961# 279 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
965# 283 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
968# 286 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
976 integer,
intent(in) :: bc_dir, bc_loc
977 type(int_bounds_info),
intent(in) :: bc_bounds
978 type(integer_field),
intent(in) :: bc_type_edge
979 type(scalar_field),
dimension(1:),
intent(inout) :: jac_sf
980 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l,
j, bc_code
982 if (bc_loc == -1)
then
983 bc_edge = bc_bounds%beg
985 bc_edge = bc_bounds%end
988 if (bc_edge >= 0)
then
989 call s_mpi_sendrecv_variables_buffers(jac_sf, bc_dir, bc_loc, 1)
993 if (bc_dir == 1)
then
994 k_beg = 0; k_end = n; l_beg = 0; l_end = p
995 else if (bc_dir == 2)
then
996 k_beg = idwbuff(1)%beg; k_end = idwbuff(1)%end; l_beg = 0; l_end = p
998 k_beg = idwbuff(1)%beg; k_end = idwbuff(1)%end; l_beg = idwbuff(2)%beg; l_end = idwbuff(2)%end
1002# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1004# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1005#if defined(MFC_OpenACC)
1006# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1008# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1009#elif defined(MFC_OpenMP)
1010# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1012# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1014# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1016# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1018# 318 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1022 if (bc_dir == 1)
then
1023 bc_code = int(bc_type_edge%sf(0,
k,
l))
1024 else if (bc_dir == 2)
then
1025 bc_code = int(bc_type_edge%sf(
k, 0,
l))
1027 bc_code = int(bc_type_edge%sf(
k,
l, 0))
1030 select case (bc_code)
1032 call s_f_igr_periodic(jac_sf, bc_dir, bc_loc,
k,
l)
1033 case (bc_reflective)
1034 call s_f_igr_reflective(jac_sf, bc_dir, bc_loc,
k,
l)
1036 call s_f_igr_ghost_cell_extrapolation(jac_sf, bc_dir, bc_loc,
k,
l)
1041# 339 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1042#if defined(MFC_OpenACC)
1043# 339 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1045# 339 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1046#elif defined(MFC_OpenMP)
1047# 339 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1049# 339 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1051# 339 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1060#ifdef MFC_SIMULATION
1064 type(int_bounds_info) :: offset_x, offset_y, offset_z
1066 offset_x%beg = buff_size; offset_x%end = buff_size
1067 offset_y%beg = buff_size; offset_y%end = buff_size
1068 offset_z%beg = buff_size; offset_z%end = buff_size
1072 call s_mpi_allreduce_min(x_cb(-1), glb_bounds(1)%beg)
1073 call s_mpi_allreduce_max(x_cb(m), glb_bounds(1)%end)
1075 call s_mpi_allreduce_min(y_cb(-1), glb_bounds(2)%beg)
1076 call s_mpi_allreduce_max(y_cb(n), glb_bounds(2)%end)
1078 call s_mpi_allreduce_min(z_cb(-1), glb_bounds(3)%beg)
1079 call s_mpi_allreduce_max(z_cb(p), glb_bounds(3)%end)
1083 glb_bounds(1)%beg = x_cb(-1); glb_bounds(1)%end = x_cb(m)
1085 glb_bounds(2)%beg = y_cb(-1); glb_bounds(2)%end = y_cb(n)
1087 glb_bounds(3)%beg = z_cb(-1); glb_bounds(3)%end = z_cb(p)
1092# 378 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1093#if defined(MFC_OpenACC)
1094# 378 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1096# 378 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1097#elif defined(MFC_OpenMP)
1098# 378 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1100# 378 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1104#ifndef MFC_PRE_PROCESS
1110# 388 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1113# 391 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1117# 395 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1120# 398 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1125#ifndef MFC_PRE_PROCESS
1129 integer,
intent(in) :: bc_dir, bc_loc
1130 type(int_bounds_info),
intent(in) :: bc_bounds, offset_dir
1133 if (bc_loc == -1)
then
1134 bc_edge = bc_bounds%beg
1136 bc_edge = bc_bounds%end
1139 if (bc_edge >= 0)
then
1140 call s_mpi_sendrecv_grid_variables_buffers(bc_dir, bc_loc, offset_dir)
1144 select case (bc_edge)
1146 call s_grid_periodic_bc(bc_dir, bc_loc, offset_dir)
1147 case (bc_reflective)
1148 call s_grid_reflective_bc(bc_dir, bc_loc, offset_dir)
1150 if (bc_dir == 2)
call s_grid_axis_bc(bc_loc, offset_dir)
1152 call s_grid_ghost_cell_extrapolation_bc(bc_dir, bc_loc, offset_dir)
1163# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1165# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1166 use iso_fortran_env,
only: output_unit
1167# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1169# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1170 print *,
'm_boundary_common.fpp:439: ',
'@:DEALLOCATE(bc_buffers(1, 1)%sf)'
1171# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1173# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1174 call flush (output_unit)
1175# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1177# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1179# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1181# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1182#if defined(MFC_OpenACC)
1183# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1185# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1186#elif defined(MFC_OpenMP)
1187# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1189# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1191# 439 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1192 deallocate (bc_buffers(1, 1)%sf)
1194# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1196# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1197 use iso_fortran_env,
only: output_unit
1198# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1200# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1201 print *,
'm_boundary_common.fpp:440: ',
'@:DEALLOCATE(bc_buffers(1, 2)%sf)'
1202# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1204# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1205 call flush (output_unit)
1206# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1208# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1210# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1212# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1213#if defined(MFC_OpenACC)
1214# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1216# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1217#elif defined(MFC_OpenMP)
1218# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1220# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1222# 440 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1223 deallocate (bc_buffers(1, 2)%sf)
1224# 442 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1227# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1229# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1230 use iso_fortran_env,
only: output_unit
1231# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1233# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1234 print *,
'm_boundary_common.fpp:443: ',
'@:DEALLOCATE(bc_buffers(2, 1)%sf)'
1235# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1237# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1238 call flush (output_unit)
1239# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1241# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1243# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1245# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1246#if defined(MFC_OpenACC)
1247# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1249# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1250#elif defined(MFC_OpenMP)
1251# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1253# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1255# 443 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1256 deallocate (bc_buffers(2, 1)%sf)
1258# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1260# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1261 use iso_fortran_env,
only: output_unit
1262# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1264# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1265 print *,
'm_boundary_common.fpp:444: ',
'@:DEALLOCATE(bc_buffers(2, 2)%sf)'
1266# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1268# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1269 call flush (output_unit)
1270# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1272# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1274# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1276# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1277#if defined(MFC_OpenACC)
1278# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1280# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1281#elif defined(MFC_OpenMP)
1282# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1284# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1286# 444 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1287 deallocate (bc_buffers(2, 2)%sf)
1288# 446 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1291# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1293# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1294 use iso_fortran_env,
only: output_unit
1295# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1297# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1298 print *,
'm_boundary_common.fpp:447: ',
'@:DEALLOCATE(bc_buffers(3, 1)%sf)'
1299# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1301# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1302 call flush (output_unit)
1303# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1305# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1307# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1309# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1310#if defined(MFC_OpenACC)
1311# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1313# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1314#elif defined(MFC_OpenMP)
1315# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1317# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1319# 447 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1320 deallocate (bc_buffers(3, 1)%sf)
1322# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1324# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1325 use iso_fortran_env,
only: output_unit
1326# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1328# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1329 print *,
'm_boundary_common.fpp:448: ',
'@:DEALLOCATE(bc_buffers(3, 2)%sf)'
1330# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1332# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1333 call flush (output_unit)
1334# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1336# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1338# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1340# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1341#if defined(MFC_OpenACC)
1342# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1344# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1345#elif defined(MFC_OpenMP)
1346# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1348# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1350# 448 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1351 deallocate (bc_buffers(3, 2)%sf)
1353# 451 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1355# 453 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1358# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1360# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1361 use iso_fortran_env,
only: output_unit
1362# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1364# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1365 print *,
'm_boundary_common.fpp:454: ',
'@:DEALLOCATE(bc_buffers)'
1366# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1368# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1369 call flush (output_unit)
1370# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1372# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1374# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1376# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1377#if defined(MFC_OpenACC)
1378# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1380# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1381#elif defined(MFC_OpenMP)
1382# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1384# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1386# 454 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1387 deallocate (bc_buffers)
1394 type(scalar_field),
dimension(:),
intent(inout) :: q_beta
1395 type(scalar_field),
dimension(:),
intent(inout) :: kahan_comp
1396 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
1397 integer,
intent(in) :: nvar
1403# 471 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1406# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1410# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1413# 481 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1421 integer,
intent(in) :: bc_dir, bc_loc
1422 type(int_bounds_info),
intent(in) :: bc_bounds
1423 type(integer_field),
intent(in) :: bc_type_edge
1424 type(scalar_field),
dimension(:),
intent(inout) :: q_beta
1425 type(scalar_field),
dimension(:),
intent(inout) :: kahan_comp
1426 integer,
intent(in) :: nvar
1427 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l, bc_code
1429 if (bc_loc == -1)
then
1430 bc_edge = bc_bounds%beg
1432 bc_edge = bc_bounds%end
1435 if (bc_edge < 0)
then
1436 if (bc_dir == 1)
then
1439 else if (bc_dir == 2)
then
1448# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1450# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1451#if defined(MFC_OpenACC)
1452# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1454# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1455#elif defined(MFC_OpenMP)
1456# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1458# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1460# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1462# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1464# 514 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1470 if (bc_dir == 3)
then
1471 bc_code = int(bc_type_edge%sf(
k,
l, 0))
1476 select case (bc_code)
1478 call s_beta_periodic(q_beta, kahan_comp, bc_dir, bc_loc,
k,
l, nvar)
1479 case (bc_reflective)
1480 call s_beta_reflective(q_beta, kahan_comp, bc_dir, bc_loc,
k,
l, nvar)
1485# 533 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1486#if defined(MFC_OpenACC)
1487# 533 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1489# 533 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1490#elif defined(MFC_OpenMP)
1491# 533 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1493# 533 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1495# 533 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1501 if (bc_bounds%beg >= 0 .or. bc_bounds%end >= 0)
then
1502 call s_mpi_reduce_beta_variables_buffers(q_beta, kahan_comp, bc_dir, bc_loc, nvar)
Noncharacteristic and processor boundary condition application for ghost cells and buffer regions.
impure subroutine s_populate_bc_direction(bc_dir, bc_loc, bc_bounds, bc_type_edge, q_prim_vf, pb_in, mv_in, q_t_sf)
Populate the variable buffers along one direction and location, via MPI exchange for processor bounda...
impure subroutine s_populate_capillary_bc_direction(bc_dir, bc_loc, bc_bounds, bc_type_edge, c_divs)
Populate ghost cell buffers for one capillary BC direction and location, via MPI exchange for process...
impure subroutine s_populate_beta_bc_direction(bc_dir, bc_loc, bc_bounds, bc_type_edge, q_beta, kahan_comp, nvar)
Populate beta variable buffers for one direction and location, by dispatching the per-cell beta BC ro...
impure subroutine s_populate_f_igr_bc_direction(bc_dir, bc_loc, bc_bounds, bc_type_edge, jac_sf)
Populate ghost cell buffers for one IGR Jacobian BC direction and location, via MPI exchange for proc...
impure subroutine, public s_initialize_boundary_common_module()
Allocate and set up boundary condition buffer arrays for all coordinate directions.
impure subroutine, public s_populate_f_igr_buffers(bc_type, jac_sf)
Populate ghost cell buffers for the Jacobian scalar field used in the IGR elliptic solver.
subroutine, public s_finalize_boundary_common_module()
Deallocate boundary condition buffer arrays allocated during module initialization.
subroutine, public s_populate_grid_variables_buffers
Populate the buffers of the grid variables, which are constituted of the cell-boundary locations and ...
impure subroutine, public s_populate_variables_buffers(bc_type, q_prim_vf, pb_in, mv_in, q_t_sf)
Populate the buffers of the primitive variables based on the selected boundary conditions.
type(int_bounds_info), dimension(3) beta_bc_bounds
Lagrangian-bubble beta (void-fraction) buffer bounds (#1290).
subroutine s_populate_grid_bc_direction(bc_dir, bc_loc, bc_bounds, offset_dir)
Populate grid variable buffers (cell widths and centers) for one direction and location.
impure subroutine, public s_populate_capillary_buffers(c_divs, bc_type, bc)
Populate ghost cell buffers for the color function and its divergence used in capillary surface tensi...
impure subroutine, public s_populate_beta_buffers(q_beta, kahan_comp, bc_type, nvar)
Populate ghost cell buffers of the Lagrangian-bubble beta (void fraction) variables based on the boun...
Boundary condition restart I/O, capillary/IGR buffer population, and grid-variable buffers.
integer, dimension(1:3, 1:2) mpi_bc_type_type
integer, dimension(1:3, 1:2) mpi_bc_buffer_type
Per-cell noncharacteristic boundary condition primitives applied in the ghost cells.
type(scalar_field), dimension(:,:), allocatable bc_buffers
Compile-time constant parameters: default values, tolerances, and physical constants.
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
MPI communication layer: domain decomposition, halo exchange, reductions, and parallel I/O setup.
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.
Integer bounds for variables.