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
342#ifndef MFC_PRE_PROCESS
362 integer :: i,
j, sys_size_alloc
365# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
367# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
368 use iso_fortran_env,
only: output_unit
369# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
371# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
372 print *,
'm_boundary_common.fpp:39: ',
'@:ALLOCATE(bc_buffers(1:3, 1:2))'
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"
376 call flush (output_unit)
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"
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"
387# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
388#if defined(MFC_OpenACC)
389# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
391# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
392#elif defined(MFC_OpenMP)
393# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
395# 39 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
399 sys_size_alloc = sys_size
400 if (chemistry) sys_size_alloc = sys_size + 1
403# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
405# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
406 use iso_fortran_env,
only: output_unit
407# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
409# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
410 print *,
'm_boundary_common.fpp:45: ',
'@:ALLOCATE(bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))'
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 call flush (output_unit)
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 allocate (bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))
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"
425# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
426#if defined(MFC_OpenACC)
427# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
429# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
430#elif defined(MFC_OpenMP)
431# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
433# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
436# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
438# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
439 use iso_fortran_env,
only: output_unit
440# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
442# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
443 print *,
'm_boundary_common.fpp:46: ',
'@:ALLOCATE(bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))'
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 call flush (output_unit)
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 allocate (bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))
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"
458# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
459#if defined(MFC_OpenACC)
460# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
462# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
463#elif defined(MFC_OpenMP)
464# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
466# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
468# 48 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
471# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
473# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
474 use iso_fortran_env,
only: output_unit
475# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
477# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
478 print *,
'm_boundary_common.fpp:49: ',
'@:ALLOCATE(bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
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 call flush (output_unit)
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 allocate (bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
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"
493# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
494#if defined(MFC_OpenACC)
495# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
497# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
498#elif defined(MFC_OpenMP)
499# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
501# 49 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
504# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
506# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
507 use iso_fortran_env,
only: output_unit
508# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
510# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
511 print *,
'm_boundary_common.fpp:50: ',
'@:ALLOCATE(bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
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 call flush (output_unit)
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 allocate (bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
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"
526# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
527#if defined(MFC_OpenACC)
528# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
530# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
531#elif defined(MFC_OpenMP)
532# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
534# 50 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
536# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
539# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
541# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
542 use iso_fortran_env,
only: output_unit
543# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
545# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
546 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))'
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 call flush (output_unit)
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 allocate (bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
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"
561# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
562#if defined(MFC_OpenACC)
563# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
565# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
566#elif defined(MFC_OpenMP)
567# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
569# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
572# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
574# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
575 use iso_fortran_env,
only: output_unit
576# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
578# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
579 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))'
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 call flush (output_unit)
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 allocate (bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
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"
594# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
595#if defined(MFC_OpenACC)
596# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
598# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
599#elif defined(MFC_OpenMP)
600# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
602# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
605# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
607# 59 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
611# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
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"
617# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
618 use iso_fortran_env,
only: output_unit
619# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
621# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
622 print *,
'm_boundary_common.fpp:61: ',
'@:ACC_SETUP_SFs(bc_buffers(i,j))'
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"
626 call flush (output_unit)
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"
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"
635# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
636#if defined(MFC_OpenACC)
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#elif defined(MFC_OpenMP)
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"
645# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
646 if (
associated(bc_buffers(i,
j)%sf))
then
647# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
649# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
650#if defined(MFC_OpenACC)
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"
654#elif defined(MFC_OpenMP)
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"
659# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
661# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
663# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
674 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
675 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
676 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
677 type(scalar_field),
optional,
intent(inout) :: q_t_sf
686# 84 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
689# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
695# 93 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
698# 96 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
706 integer,
intent(in) :: bc_dir, bc_loc
707 type(int_bounds_info),
intent(in) :: bc_bounds
708 type(integer_field),
intent(in) :: bc_type_edge
709 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
710 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
711 type(scalar_field),
optional,
intent(inout) :: q_t_sf
712 integer :: bc_edge, k_beg, k_end, l_beg, l_end
713 integer :: bc_code,
k,
l
715 if (bc_loc == -1)
then
716 bc_edge = bc_bounds%beg
718 bc_edge = bc_bounds%end
722 if (bc_edge >= 0)
then
723 call s_mpi_sendrecv_variables_buffers(q_prim_vf, bc_dir, bc_loc, sys_size, pb_in, mv_in, q_t_sf)
727 if (bc_dir == 1)
then
728 k_beg = 0; k_end = n; l_beg = 0; l_end = p
729 else if (bc_dir == 2)
then
730 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
732 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
736# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
738# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
739#if defined(MFC_OpenACC)
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"
743#elif defined(MFC_OpenMP)
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"
748# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
750# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
752# 132 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
756 if (bc_dir == 1)
then
757 bc_code = int(bc_type_edge%sf(0,
k,
l))
758 else if (bc_dir == 2)
then
759 bc_code = int(bc_type_edge%sf(
k, 0,
l))
761 bc_code = int(bc_type_edge%sf(
k,
l, 0))
764 select case (bc_code)
765 case (bc_char_sup_outflow:bc_ghost_extrap)
766 call s_ghost_cell_extrapolation(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
768 if (bc_dir == 2 .and. bc_loc == -1)
call s_axis(q_prim_vf, pb_in, mv_in,
k,
l)
770 call s_symmetry(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
772 call s_periodic(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
774 call s_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
775 case (bc_no_slip_wall)
776 call s_no_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
778 call s_dirichlet(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
781 if (qbmm .and. (.not. polytropic) .and.
present(pb_in) .and.
present(mv_in) .and. (bc_code <= bc_ghost_extrap) &
782 & .and. .not. (bc_dir == 2 .and. bc_loc == -1 .and. bc_code == bc_axis))
then
783 call s_qbmm_extrapolation(bc_dir, bc_loc,
k,
l, pb_in, mv_in)
788# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
789#if defined(MFC_OpenACC)
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"
793#elif defined(MFC_OpenMP)
794# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
796# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
798# 166 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
806 type(scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
807 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
808 type(bc_xyz_info),
intent(in) :: bc
815# 183 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
818# 186 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
822# 190 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
825# 193 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
833 integer,
intent(in) :: bc_dir, bc_loc
834 type(int_bounds_info),
intent(in) :: bc_bounds
835 type(scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
836 type(integer_field),
intent(in) :: bc_type_edge
837 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l, bc_code
839 if (bc_loc == -1)
then
840 bc_edge = bc_bounds%beg
842 bc_edge = bc_bounds%end
845 if (bc_edge >= 0)
then
846 call s_mpi_sendrecv_variables_buffers(c_divs, bc_dir, bc_loc, num_dims + 1)
850 if (bc_dir == 1)
then
851 k_beg = 0; k_end = n; l_beg = 0; l_end = p
852 else if (bc_dir == 2)
then
853 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
855 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
859# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
861# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
862#if defined(MFC_OpenACC)
863# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
865# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
866#elif defined(MFC_OpenMP)
867# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
869# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
871# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
873# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
875# 225 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
879 if (bc_dir == 1)
then
880 bc_code = int(bc_type_edge%sf(0,
k,
l))
881 else if (bc_dir == 2)
then
882 bc_code = int(bc_type_edge%sf(
k, 0,
l))
884 bc_code = int(bc_type_edge%sf(
k,
l, 0))
887 select case (bc_code)
889 call s_color_function_periodic(c_divs, bc_dir, bc_loc,
k,
l)
891 call s_color_function_reflective(c_divs, bc_dir, bc_loc,
k,
l)
893 call s_color_function_ghost_cell_extrapolation(c_divs, bc_dir, bc_loc,
k,
l)
898# 246 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
899#if defined(MFC_OpenACC)
900# 246 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
902# 246 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
903#elif defined(MFC_OpenMP)
904# 246 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
906# 246 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
908# 246 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
916 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
917 type(scalar_field),
dimension(1:),
intent(inout) :: jac_sf
924# 262 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
927# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
931# 269 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
934# 272 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
942 integer,
intent(in) :: bc_dir, bc_loc
943 type(int_bounds_info),
intent(in) :: bc_bounds
944 type(integer_field),
intent(in) :: bc_type_edge
945 type(scalar_field),
dimension(1:),
intent(inout) :: jac_sf
946 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l,
j, bc_code
948 if (bc_loc == -1)
then
949 bc_edge = bc_bounds%beg
951 bc_edge = bc_bounds%end
954 if (bc_edge >= 0)
then
955 call s_mpi_sendrecv_variables_buffers(jac_sf, bc_dir, bc_loc, 1)
959 if (bc_dir == 1)
then
960 k_beg = 0; k_end = n; l_beg = 0; l_end = p
961 else if (bc_dir == 2)
then
962 k_beg = idwbuff(1)%beg; k_end = idwbuff(1)%end; l_beg = 0; l_end = p
964 k_beg = idwbuff(1)%beg; k_end = idwbuff(1)%end; l_beg = idwbuff(2)%beg; l_end = idwbuff(2)%end
968# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
970# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
971#if defined(MFC_OpenACC)
972# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
974# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
975#elif defined(MFC_OpenMP)
976# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
978# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
980# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
982# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
984# 304 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
988 if (bc_dir == 1)
then
989 bc_code = int(bc_type_edge%sf(0,
k,
l))
990 else if (bc_dir == 2)
then
991 bc_code = int(bc_type_edge%sf(
k, 0,
l))
993 bc_code = int(bc_type_edge%sf(
k,
l, 0))
996 select case (bc_code)
998 call s_f_igr_periodic(jac_sf, bc_dir, bc_loc,
k,
l)
1000 call s_f_igr_reflective(jac_sf, bc_dir, bc_loc,
k,
l)
1002 call s_f_igr_ghost_cell_extrapolation(jac_sf, bc_dir, bc_loc,
k,
l)
1007# 325 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1008#if defined(MFC_OpenACC)
1009# 325 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1011# 325 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1012#elif defined(MFC_OpenMP)
1013# 325 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1015# 325 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1017# 325 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1026#ifdef MFC_SIMULATION
1030 type(int_bounds_info) :: offset_x, offset_y, offset_z
1032 offset_x%beg = buff_size; offset_x%end = buff_size
1033 offset_y%beg = buff_size; offset_y%end = buff_size
1034 offset_z%beg = buff_size; offset_z%end = buff_size
1037#ifndef MFC_PRE_PROCESS
1043# 351 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1046# 354 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1050# 358 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1053# 361 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1058#ifndef MFC_PRE_PROCESS
1062 integer,
intent(in) :: bc_dir, bc_loc
1063 type(int_bounds_info),
intent(in) :: bc_bounds, offset_dir
1066 if (bc_loc == -1)
then
1067 bc_edge = bc_bounds%beg
1069 bc_edge = bc_bounds%end
1072 if (bc_edge >= 0)
then
1073 call s_mpi_sendrecv_grid_variables_buffers(bc_dir, bc_loc, offset_dir)
1077 select case (bc_edge)
1079 call s_grid_periodic_bc(bc_dir, bc_loc, offset_dir)
1080 case (bc_reflective)
1081 call s_grid_reflective_bc(bc_dir, bc_loc, offset_dir)
1083 if (bc_dir == 2)
call s_grid_axis_bc(bc_loc, offset_dir)
1085 call s_grid_ghost_cell_extrapolation_bc(bc_dir, bc_loc, offset_dir)
1096# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1098# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1099 use iso_fortran_env,
only: output_unit
1100# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1102# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1103 print *,
'm_boundary_common.fpp:402: ',
'@:DEALLOCATE(bc_buffers(1, 1)%sf)'
1104# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1106# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1107 call flush (output_unit)
1108# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1110# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1112# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1114# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1115#if defined(MFC_OpenACC)
1116# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1118# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1119#elif defined(MFC_OpenMP)
1120# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1122# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1124# 402 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1125 deallocate (bc_buffers(1, 1)%sf)
1127# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1129# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1130 use iso_fortran_env,
only: output_unit
1131# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1133# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1134 print *,
'm_boundary_common.fpp:403: ',
'@:DEALLOCATE(bc_buffers(1, 2)%sf)'
1135# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1137# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1138 call flush (output_unit)
1139# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1141# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1143# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1145# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1146#if defined(MFC_OpenACC)
1147# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1149# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1150#elif defined(MFC_OpenMP)
1151# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1153# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1155# 403 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1156 deallocate (bc_buffers(1, 2)%sf)
1157# 405 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1160# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1162# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1163 use iso_fortran_env,
only: output_unit
1164# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1166# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1167 print *,
'm_boundary_common.fpp:406: ',
'@:DEALLOCATE(bc_buffers(2, 1)%sf)'
1168# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1170# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1171 call flush (output_unit)
1172# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1174# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1176# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1178# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1179#if defined(MFC_OpenACC)
1180# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1182# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1183#elif defined(MFC_OpenMP)
1184# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1186# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1188# 406 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1189 deallocate (bc_buffers(2, 1)%sf)
1191# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1193# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1194 use iso_fortran_env,
only: output_unit
1195# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1197# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1198 print *,
'm_boundary_common.fpp:407: ',
'@:DEALLOCATE(bc_buffers(2, 2)%sf)'
1199# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1201# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1202 call flush (output_unit)
1203# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1205# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1207# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1209# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1210#if defined(MFC_OpenACC)
1211# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1213# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1214#elif defined(MFC_OpenMP)
1215# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1217# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1219# 407 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1220 deallocate (bc_buffers(2, 2)%sf)
1221# 409 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1224# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1226# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1227 use iso_fortran_env,
only: output_unit
1228# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1230# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1231 print *,
'm_boundary_common.fpp:410: ',
'@:DEALLOCATE(bc_buffers(3, 1)%sf)'
1232# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1234# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1235 call flush (output_unit)
1236# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1238# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1240# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1242# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1243#if defined(MFC_OpenACC)
1244# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1246# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1247#elif defined(MFC_OpenMP)
1248# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1250# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1252# 410 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1253 deallocate (bc_buffers(3, 1)%sf)
1255# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1257# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1258 use iso_fortran_env,
only: output_unit
1259# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1261# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1262 print *,
'm_boundary_common.fpp:411: ',
'@:DEALLOCATE(bc_buffers(3, 2)%sf)'
1263# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1265# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1266 call flush (output_unit)
1267# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1269# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1271# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1273# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1274#if defined(MFC_OpenACC)
1275# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1277# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1278#elif defined(MFC_OpenMP)
1279# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1281# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1283# 411 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1284 deallocate (bc_buffers(3, 2)%sf)
1286# 414 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1288# 416 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1291# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1293# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1294 use iso_fortran_env,
only: output_unit
1295# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1297# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1298 print *,
'm_boundary_common.fpp:417: ',
'@:DEALLOCATE(bc_buffers)'
1299# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1301# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1302 call flush (output_unit)
1303# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1305# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1307# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1309# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1310#if defined(MFC_OpenACC)
1311# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1313# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1314#elif defined(MFC_OpenMP)
1315# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1317# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1319# 417 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1320 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 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_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.
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...
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.
subroutine s_mpi_sendrecv_grid_variables_buffers(mpi_dir, pbc_loc, offset)
The goal of this procedure is to populate the buffers of the grid variables by communicating with the...
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.