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# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
46# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
47# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
48# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
74# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
75# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
77# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 76 "/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# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
152# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
153# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
154# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
155# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
157# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
180# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
239# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
298# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
300# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
305# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
308# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
322# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
324# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326# 8 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp" 2
356 integer :: i,
j, sys_size_alloc
359# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
361# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
362 use iso_fortran_env,
only: output_unit
363# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
365# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
366 print *,
'm_boundary_common.fpp:39: ',
'@:ALLOCATE(bc_buffers(1:3, 1:2))'
367# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
369# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
370 call flush (output_unit)
371# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
373# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
375# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
377# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
379# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
381# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
382#if defined(MFC_OpenACC)
383# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
385# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
386#elif defined(MFC_OpenMP)
387# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
389# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
393 sys_size_alloc = sys_size
394 if (chemistry) sys_size_alloc = sys_size + 1
397# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
399# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
400 use iso_fortran_env,
only: output_unit
401# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
403# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
404 print *,
'm_boundary_common.fpp:45: ',
'@:ALLOCATE(bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))'
405# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
407# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
408 call flush (output_unit)
409# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
411# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
413# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
414 allocate (bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))
415# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
417# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
419# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
420#if defined(MFC_OpenACC)
421# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
423# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
424#elif defined(MFC_OpenMP)
425# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
427# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
430# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
432# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
433 use iso_fortran_env,
only: output_unit
434# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
436# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
437 print *,
'm_boundary_common.fpp:46: ',
'@:ALLOCATE(bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))'
438# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
440# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
441 call flush (output_unit)
442# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
444# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
446# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
447 allocate (bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))
448# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
450# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
452# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
453#if defined(MFC_OpenACC)
454# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
456# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
457#elif defined(MFC_OpenMP)
458# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
460# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
462# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
465# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
467# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
468 use iso_fortran_env,
only: output_unit
469# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
471# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
472 print *,
'm_boundary_common.fpp:49: ',
'@:ALLOCATE(bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
473# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
475# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
476 call flush (output_unit)
477# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
479# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
481# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
482 allocate (bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
483# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
485# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
487# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
488#if defined(MFC_OpenACC)
489# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
491# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
492#elif defined(MFC_OpenMP)
493# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
495# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
498# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
500# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
501 use iso_fortran_env,
only: output_unit
502# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
504# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
505 print *,
'm_boundary_common.fpp:50: ',
'@:ALLOCATE(bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
506# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
508# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
509 call flush (output_unit)
510# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
512# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
514# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
515 allocate (bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
516# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
518# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
520# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
521#if defined(MFC_OpenACC)
522# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
524# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
525#elif defined(MFC_OpenMP)
526# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
528# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
530# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
533# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
535# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
536 use iso_fortran_env,
only: output_unit
537# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
539# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
540 print *,
'm_boundary_common.fpp:53: ',
'@:ALLOCATE(bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))'
541# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
543# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
544 call flush (output_unit)
545# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
547# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
549# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
550 allocate (bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
551# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
553# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
555# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
556#if defined(MFC_OpenACC)
557# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
559# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
560#elif defined(MFC_OpenMP)
561# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
563# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
566# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
568# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
569 use iso_fortran_env,
only: output_unit
570# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
572# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
573 print *,
'm_boundary_common.fpp:54: ',
'@:ALLOCATE(bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))'
574# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
576# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
577 call flush (output_unit)
578# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
580# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
582# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
583 allocate (bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
584# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
586# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
588# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
589#if defined(MFC_OpenACC)
590# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
592# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
593#elif defined(MFC_OpenMP)
594# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
596# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
599# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
601# 59 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
605# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
607# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
609# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
611# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
612 use iso_fortran_env,
only: output_unit
613# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
615# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
616 print *,
'm_boundary_common.fpp:61: ',
'@:ACC_SETUP_SFs(bc_buffers(i,j))'
617# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
619# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
620 call flush (output_unit)
621# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
623# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
625# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
627# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
629# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
630#if defined(MFC_OpenACC)
631# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
633# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
634#elif defined(MFC_OpenMP)
635# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
637# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
639# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
640 if (
associated(bc_buffers(i,
j)%sf))
then
641# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
643# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
644#if defined(MFC_OpenACC)
645# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
647# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
648#elif defined(MFC_OpenMP)
649# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
651# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
653# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
655# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
657# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
668 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
669 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
670 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
671 type(scalar_field),
optional,
intent(inout) :: q_t_sf
680# 84 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
683# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
689# 93 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
692# 96 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
700 integer,
intent(in) :: bc_dir, bc_loc
701 type(int_bounds_info),
intent(in) :: bc_bounds
702 type(integer_field),
intent(in) :: bc_type_edge
703 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
704 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
705 type(scalar_field),
optional,
intent(inout) :: q_t_sf
706 integer :: bc_edge, k_beg, k_end, l_beg, l_end
707 integer :: bc_code,
k,
l
709 if (bc_loc == -1)
then
710 bc_edge = bc_bounds%beg
712 bc_edge = bc_bounds%end
716 if (bc_edge >= 0)
then
717 call s_mpi_sendrecv_variables_buffers(q_prim_vf, bc_dir, bc_loc, sys_size, pb_in, mv_in, q_t_sf)
721 if (bc_dir == 1)
then
722 k_beg = 0; k_end = n; l_beg = 0; l_end = p
723 else if (bc_dir == 2)
then
724 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
726 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
730# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
732# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
733#if defined(MFC_OpenACC)
734# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
736# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
737#elif defined(MFC_OpenMP)
738# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
740# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
742# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
744# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
746# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
750 if (bc_dir == 1)
then
751 bc_code = int(bc_type_edge%sf(0,
k,
l))
752 else if (bc_dir == 2)
then
753 bc_code = int(bc_type_edge%sf(
k, 0,
l))
755 bc_code = int(bc_type_edge%sf(
k,
l, 0))
758 select case (bc_code)
759 case (bc_char_sup_outflow:bc_ghost_extrap)
760 call s_ghost_cell_extrapolation(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
762 if (bc_dir == 2 .and. bc_loc == -1)
call s_axis(q_prim_vf, pb_in, mv_in,
k,
l)
764 call s_symmetry(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
766 call s_periodic(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
768 call s_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
769 case (bc_no_slip_wall)
770 call s_no_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
772 call s_dirichlet(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
775 if (qbmm .and. (.not. polytropic) .and.
present(pb_in) .and.
present(mv_in) .and. (bc_code <= bc_ghost_extrap) &
776 & .and. .not. (bc_dir == 2 .and. bc_loc == -1 .and. bc_code == bc_axis))
then
777 call s_qbmm_extrapolation(bc_dir, bc_loc,
k,
l, pb_in, mv_in)
782# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
783#if defined(MFC_OpenACC)
784# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
786# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
787#elif defined(MFC_OpenMP)
788# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
790# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
792# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
801 deallocate (bc_buffers(1, 1)%sf)
802 deallocate (bc_buffers(1, 2)%sf)
803# 177 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
805 deallocate (bc_buffers(2, 1)%sf)
806 deallocate (bc_buffers(2, 2)%sf)
807# 181 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
809 deallocate (bc_buffers(3, 1)%sf)
810 deallocate (bc_buffers(3, 2)%sf)
812# 186 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
814# 188 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
817 deallocate (bc_buffers)
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, public s_initialize_boundary_common_module()
Allocate and set up boundary condition buffer arrays for all coordinate directions.
subroutine, public s_finalize_boundary_common_module()
Deallocate boundary condition buffer arrays allocated during module initialization.
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.
Boundary condition restart I/O, capillary/IGR buffer population, and grid-variable buffers.
integer, dimension(1:3, 1:2) mpi_bc_type_type
subroutine s_write_parallel_boundary_condition_files(q_prim_vf, bc_type, q_t_sf)
Write boundary condition type and buffer data to per-rank parallel files using MPI I/O.
subroutine s_populate_grid_variables_buffers
Populate the buffers of the grid variables, which are constituted of the cell-boundary locations and ...
integer, dimension(1:3, 1:2) mpi_bc_buffer_type
impure subroutine 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...
subroutine s_assign_default_bc_type(bc_type)
Initialize the per-cell boundary condition type arrays with the global default BC values.
subroutine s_read_serial_boundary_condition_files(step_dirpath, bc_type)
Read boundary condition type and buffer data from serial (unformatted) restart files.
impure subroutine s_create_mpi_types(bc_type)
Create MPI derived datatypes for boundary condition type arrays and buffer arrays used in parallel I/...
subroutine s_read_parallel_boundary_condition_files(bc_type)
Read boundary condition type and buffer data from per-rank parallel files using MPI I/O.
impure subroutine 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 s_write_serial_boundary_condition_files(q_prim_vf, bc_type, step_dirpath, old_grid_in, q_t_sf)
Write boundary condition type and buffer data to serial (unformatted) restart files.
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 post-process: domain geometry, equation of state, and output database setti...
MPI gather and scatter operations for distributing post-process grid and flow-variable data.