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# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
35# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
36# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
37# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
39# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
59# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
60# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
61# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
75# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
76# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
77# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
79# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
84# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
86# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
88# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
90# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
92# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
94# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
96# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
98# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
100# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
163# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
165# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
167# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
169# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
171# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
173# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
175# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
177# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
178# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
179# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
180# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
181# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
183# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
186# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
188# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
190# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
191# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
194# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
195# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
196# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
198# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
199# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
201# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
203# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
205# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
207# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
209# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
211# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
213# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
215# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
217# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
219# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
255# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
257# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
259# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
261# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
263# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
265# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
267# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
269# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
271# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
273# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
275# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
278# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
317# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
320# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
323# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
326# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
329# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
332# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
334# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
335# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
337# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
339# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
344# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
347# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
350# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
353# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
356# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
359# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
361# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
363# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
365# 8 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp" 2
391# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
392#if defined(MFC_OpenACC)
393# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
395# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
396#elif defined(MFC_OpenMP)
397# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
399# 32 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
401# 33 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
408 integer :: i,
j, sys_size_alloc
409 logical,
intent(in),
optional :: use_dirichlet_buffers
414# 44 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
415#if defined(MFC_OpenACC)
416# 44 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
418# 44 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
419#elif defined(MFC_OpenMP)
420# 44 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
422# 44 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
424# 45 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
427# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
429# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
430 use iso_fortran_env,
only: output_unit
431# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
433# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
434 print *,
'm_boundary_common.fpp:46: ',
'@:ALLOCATE(bc_buffers(1:3, 1:2))'
435# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
437# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
438 call flush (output_unit)
439# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
441# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
443# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
445# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
447# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
449# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
450#if defined(MFC_OpenACC)
451# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
453# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
454#elif defined(MFC_OpenMP)
455# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
457# 46 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
459# 47 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
462 sys_size_alloc = sys_size
463 if (chemistry .or. heat_conduction) sys_size_alloc = sys_size + 1
466# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
468# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
469 use iso_fortran_env,
only: output_unit
470# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
472# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
473 print *,
'm_boundary_common.fpp:52: ',
'@:ALLOCATE(bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))'
474# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
476# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
477 call flush (output_unit)
478# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
480# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
482# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
483 allocate (bc_buffers(1, 1)%sf(1:sys_size_alloc, 0:n, 0:p))
484# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
486# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
488# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
489#if defined(MFC_OpenACC)
490# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
492# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
493#elif defined(MFC_OpenMP)
494# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
496# 52 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
498# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
500# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
502# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
503 use iso_fortran_env,
only: output_unit
504# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
506# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
507 print *,
'm_boundary_common.fpp:53: ',
'@:ALLOCATE(bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))'
508# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
510# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
511 call flush (output_unit)
512# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
514# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
516# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
517 allocate (bc_buffers(1, 2)%sf(1:sys_size_alloc, 0:n, 0:p))
518# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
520# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
522# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
523#if defined(MFC_OpenACC)
524# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
526# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
527#elif defined(MFC_OpenMP)
528# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
530# 53 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
532# 54 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
533# 55 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
536# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
538# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
539 use iso_fortran_env,
only: output_unit
540# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
542# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
543 print *,
'm_boundary_common.fpp:56: ',
'@:ALLOCATE(bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
544# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
546# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
547 call flush (output_unit)
548# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
550# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
552# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
553 allocate (bc_buffers(2,1)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
554# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
556# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
558# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
559#if defined(MFC_OpenACC)
560# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
562# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
563#elif defined(MFC_OpenMP)
564# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
566# 56 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
568# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
570# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
572# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
573 use iso_fortran_env,
only: output_unit
574# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
576# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
577 print *,
'm_boundary_common.fpp:57: ',
'@:ALLOCATE(bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))'
578# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
580# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
581 call flush (output_unit)
582# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
584# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
586# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
587 allocate (bc_buffers(2,2)%sf(-buff_size:m+buff_size,1:sys_size_alloc,0:p))
588# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
590# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
592# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
593#if defined(MFC_OpenACC)
594# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
596# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
597#elif defined(MFC_OpenMP)
598# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
600# 57 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
602# 58 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
603# 59 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
606# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
608# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
609 use iso_fortran_env,
only: output_unit
610# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
612# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
613 print *,
'm_boundary_common.fpp:60: ',
'@:ALLOCATE(bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))'
614# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
616# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
617 call flush (output_unit)
618# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
620# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
622# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
623 allocate (bc_buffers(3,1)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
624# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
626# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
628# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
629#if defined(MFC_OpenACC)
630# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
632# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
633#elif defined(MFC_OpenMP)
634# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
636# 60 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
638# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
640# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
642# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
643 use iso_fortran_env,
only: output_unit
644# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
646# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
647 print *,
'm_boundary_common.fpp:61: ',
'@:ALLOCATE(bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))'
648# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
650# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
651 call flush (output_unit)
652# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
654# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
656# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
657 allocate (bc_buffers(3,2)%sf(-buff_size:m+buff_size,-buff_size:n+buff_size,1:sys_size_alloc))
658# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
660# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
662# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
663#if defined(MFC_OpenACC)
664# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
666# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
667#elif defined(MFC_OpenMP)
668# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
670# 61 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
672# 62 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
674# 64 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
676# 66 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
680# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
682# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
684# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
686# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
687 use iso_fortran_env,
only: output_unit
688# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
690# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
691 print *,
'm_boundary_common.fpp:68: ',
'@:ACC_SETUP_SFs(bc_buffers(i,j))'
692# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
694# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
695 call flush (output_unit)
696# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
698# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
700# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
702# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
704# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
705#if defined(MFC_OpenACC)
706# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
708# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
709#elif defined(MFC_OpenMP)
710# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
712# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
714# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
715 if (
associated(bc_buffers(i,
j)%sf))
then
716# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
718# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
719#if defined(MFC_OpenACC)
720# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
722# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
723#elif defined(MFC_OpenMP)
724# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
726# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
728# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
730# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
732# 68 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
734# 69 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
739 if (bubbles_lagrange)
then
754# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
755#if defined(MFC_OpenACC)
756# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
758# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
759#elif defined(MFC_OpenMP)
760# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
762# 87 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
764# 88 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
771 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
772 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
773 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
774 type(scalar_field),
optional,
intent(inout) :: q_t_sf
781# 105 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
784# 108 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
788# 112 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
791# 115 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
799 integer,
intent(in) :: bc_dir, bc_loc
800 type(int_bounds_info),
intent(in) :: bc_bounds
801 type(integer_field),
intent(in) :: bc_type_edge
802 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
803 real(stp),
optional,
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:),
intent(inout) :: pb_in, mv_in
804 type(scalar_field),
optional,
intent(inout) :: q_t_sf
805 integer :: bc_edge, k_beg, k_end, l_beg, l_end
806 integer :: bc_code,
k,
l
808 if (bc_loc == -1)
then
809 bc_edge = bc_bounds%beg
811 bc_edge = bc_bounds%end
815 if (bc_edge >= 0)
then
816 call s_mpi_sendrecv_variables_buffers(q_prim_vf, bc_dir, bc_loc, sys_size, pb_in, mv_in, q_t_sf)
820 if (bc_dir == 1)
then
821 k_beg = 0; k_end = n; l_beg = 0; l_end = p
822 else if (bc_dir == 2)
then
823 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
825 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
829# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
831# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
832#if defined(MFC_OpenACC)
833# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
835# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
836#elif defined(MFC_OpenMP)
837# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
839# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
841# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
843# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
845# 151 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
847# 152 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
850 if (bc_dir == 1)
then
851 bc_code = int(bc_type_edge%sf(0,
k,
l))
852 else if (bc_dir == 2)
then
853 bc_code = int(bc_type_edge%sf(
k, 0,
l))
855 bc_code = int(bc_type_edge%sf(
k,
l, 0))
858 select case (bc_code)
859 case (bc_char_sup_outflow:bc_ghost_extrap)
860 call s_ghost_cell_extrapolation(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
862 if (bc_dir == 2 .and. bc_loc == -1)
call s_axis(q_prim_vf, pb_in, mv_in,
k,
l, q_t_sf)
864 call s_symmetry(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
866 call s_periodic(q_prim_vf, bc_dir, bc_loc,
k,
l, pb_in, mv_in, q_t_sf)
868 call s_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
869 case (bc_no_slip_wall)
870 call s_no_slip_wall(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
872 call s_dirichlet(q_prim_vf, bc_dir, bc_loc,
k,
l, q_t_sf)
875 if (qbmm .and. (.not. polytropic) .and.
present(pb_in) .and.
present(mv_in) .and. (bc_code <= bc_ghost_extrap) &
876 & .and. .not. (bc_dir == 2 .and. bc_loc == -1 .and. bc_code == bc_axis))
then
877 call s_qbmm_extrapolation(bc_dir, bc_loc,
k,
l, pb_in, mv_in)
882# 185 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
883#if defined(MFC_OpenACC)
884# 185 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
886# 185 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
887#elif defined(MFC_OpenMP)
888# 185 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
890# 185 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
892# 185 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
894# 186 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
901 type(scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
902 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
903 type(bc_xyz_info),
intent(in) :: bc
910# 202 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
913# 205 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
917# 209 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
920# 212 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
928 integer,
intent(in) :: bc_dir, bc_loc
929 type(int_bounds_info),
intent(in) :: bc_bounds
930 type(scalar_field),
dimension(num_dims + 1),
intent(inout) :: c_divs
931 type(integer_field),
intent(in) :: bc_type_edge
932 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l, bc_code
934 if (bc_loc == -1)
then
935 bc_edge = bc_bounds%beg
937 bc_edge = bc_bounds%end
940 if (bc_edge >= 0)
then
941 call s_mpi_sendrecv_variables_buffers(c_divs, bc_dir, bc_loc, num_dims + 1)
945 if (bc_dir == 1)
then
946 k_beg = 0; k_end = n; l_beg = 0; l_end = p
947 else if (bc_dir == 2)
then
948 k_beg = -buff_size; k_end = m + buff_size; l_beg = 0; l_end = p
950 k_beg = -buff_size; k_end = m + buff_size; l_beg = -buff_size; l_end = n + buff_size
954# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
956# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
957#if defined(MFC_OpenACC)
958# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
960# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
961#elif defined(MFC_OpenMP)
962# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
964# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
966# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
968# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
970# 244 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
972# 245 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
975 if (bc_dir == 1)
then
976 bc_code = int(bc_type_edge%sf(0,
k,
l))
977 else if (bc_dir == 2)
then
978 bc_code = int(bc_type_edge%sf(
k, 0,
l))
980 bc_code = int(bc_type_edge%sf(
k,
l, 0))
983 select case (bc_code)
985 call s_color_function_periodic(c_divs, bc_dir, bc_loc,
k,
l)
987 call s_color_function_reflective(c_divs, bc_dir, bc_loc,
k,
l)
989 call s_color_function_ghost_cell_extrapolation(c_divs, bc_dir, bc_loc,
k,
l)
994# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
995#if defined(MFC_OpenACC)
996# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
998# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
999#elif defined(MFC_OpenMP)
1000# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1002# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1004# 265 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1006# 266 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1013 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
1014 type(scalar_field),
dimension(1:),
intent(inout) :: jac_sf
1021# 281 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1024# 284 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1028# 288 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1031# 291 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1039 integer,
intent(in) :: bc_dir, bc_loc
1040 type(int_bounds_info),
intent(in) :: bc_bounds
1041 type(integer_field),
intent(in) :: bc_type_edge
1042 type(scalar_field),
dimension(1:),
intent(inout) :: jac_sf
1043 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l,
j, bc_code
1045 if (bc_loc == -1)
then
1046 bc_edge = bc_bounds%beg
1048 bc_edge = bc_bounds%end
1051 if (bc_edge >= 0)
then
1052 call s_mpi_sendrecv_variables_buffers(jac_sf, bc_dir, bc_loc, 1)
1056 if (bc_dir == 1)
then
1057 k_beg = 0; k_end = n; l_beg = 0; l_end = p
1058 else if (bc_dir == 2)
then
1059 k_beg = idwbuff(1)%beg; k_end = idwbuff(1)%end; l_beg = 0; l_end = p
1061 k_beg = idwbuff(1)%beg; k_end = idwbuff(1)%end; l_beg = idwbuff(2)%beg; l_end = idwbuff(2)%end
1065# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1067# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1068#if defined(MFC_OpenACC)
1069# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1071# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1072#elif defined(MFC_OpenMP)
1073# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1075# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1077# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1079# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1081# 323 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1083# 324 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1086 if (bc_dir == 1)
then
1087 bc_code = int(bc_type_edge%sf(0,
k,
l))
1088 else if (bc_dir == 2)
then
1089 bc_code = int(bc_type_edge%sf(
k, 0,
l))
1091 bc_code = int(bc_type_edge%sf(
k,
l, 0))
1094 select case (bc_code)
1096 call s_f_igr_periodic(jac_sf, bc_dir, bc_loc,
k,
l)
1097 case (bc_reflective)
1098 call s_f_igr_reflective(jac_sf, bc_dir, bc_loc,
k,
l)
1100 call s_f_igr_ghost_cell_extrapolation(jac_sf, bc_dir, bc_loc,
k,
l)
1105# 344 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1106#if defined(MFC_OpenACC)
1107# 344 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1109# 344 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1110#elif defined(MFC_OpenMP)
1111# 344 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1113# 344 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1115# 344 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1117# 345 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1124 & z_cb_in, z_cc_in, dz_in, global_bounds)
1126 type(int_bounds_info),
intent(in) :: x_offset, y_offset, z_offset
1127 real(wp),
contiguous,
intent(inout) :: x_cb_in(-1 - x_offset%beg:)
1128 real(wp),
contiguous,
intent(inout) :: x_cc_in(-buff_size:), dx_in(-buff_size:)
1129 real(wp),
optional,
contiguous,
intent(inout) :: y_cb_in(-1 - y_offset%beg:), z_cb_in(-1 - z_offset%beg:)
1130 real(wp),
optional,
contiguous,
intent(inout) :: y_cc_in(-buff_size:), dy_in(-buff_size:)
1131 real(wp),
optional,
contiguous,
intent(inout) :: z_cc_in(-buff_size:), dz_in(-buff_size:)
1132 type(bounds_info),
optional,
dimension(3),
intent(inout) :: global_bounds
1134 if (
present(global_bounds))
then
1136 call s_mpi_allreduce_min(x_cb_in(-1), global_bounds(1)%beg)
1137 call s_mpi_allreduce_max(x_cb_in(m), global_bounds(1)%end)
1139 call s_mpi_allreduce_min(y_cb_in(-1), global_bounds(2)%beg)
1140 call s_mpi_allreduce_max(y_cb_in(n), global_bounds(2)%end)
1142 call s_mpi_allreduce_min(z_cb_in(-1), global_bounds(3)%beg)
1143 call s_mpi_allreduce_max(z_cb_in(p), global_bounds(3)%end)
1147 global_bounds(1)%beg = x_cb_in(-1); global_bounds(1)%end = x_cb_in(m)
1149 global_bounds(2)%beg = y_cb_in(-1); global_bounds(2)%end = y_cb_in(n)
1151 global_bounds(3)%beg = z_cb_in(-1); global_bounds(3)%end = z_cb_in(p)
1162# 390 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1165# 393 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1169# 397 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1172# 400 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1180 integer,
intent(in) :: num_cells, bc_dir, bc_loc
1181 type(int_bounds_info),
intent(in) :: bc_bounds, offset
1182 real(wp),
contiguous,
intent(inout) :: cell_boundaries(-1 - offset%beg:)
1183 real(wp),
contiguous,
intent(inout) :: cell_centers(-buff_size:), cell_widths(-buff_size:)
1184 integer :: bc_edge, i, source_index
1186 if (bc_loc == -1)
then
1187 bc_edge = bc_bounds%beg
1189 bc_edge = bc_bounds%end
1192 if (bc_edge >= 0)
then
1193 call s_mpi_sendrecv_grid_variable_buffer(cell_boundaries, cell_centers, cell_widths, num_cells, bc_bounds, bc_loc, &
1198 if (bc_edge == bc_axis .and. (bc_dir /= 2 .or. bc_loc == 1))
return
1201 if (bc_loc == -1)
then
1202 select case (bc_edge)
1204 source_index = num_cells - i + 1
1205 case (bc_reflective, bc_axis)
1206 source_index = i - 1
1210 cell_widths(-i) = cell_widths(source_index)
1212 select case (bc_edge)
1214 source_index = i - 1
1215 case (bc_reflective)
1216 source_index = num_cells - i + 1
1218 source_index = num_cells
1220 cell_widths(num_cells + i) = cell_widths(source_index)
1224 if (bc_loc == -1)
then
1225 do i = 1, offset%beg
1226 cell_boundaries(-1 - i) = cell_boundaries(-i) - cell_widths(-i)
1229 cell_centers(-i) = cell_centers(1 - i) - (cell_widths(1 - i) + cell_widths(-i))/2._wp
1232 do i = 1, offset%end
1233 cell_boundaries(num_cells + i) = cell_boundaries(num_cells + i - 1) + cell_widths(num_cells + i)
1236 cell_centers(num_cells + i) = cell_centers(num_cells + i - 1) + (cell_widths(num_cells + i - 1) &
1237 & + cell_widths(num_cells + i))/2._wp
1248# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1250# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1251 use iso_fortran_env,
only: output_unit
1252# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1254# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1255 print *,
'm_boundary_common.fpp:474: ',
'@:DEALLOCATE(bc_buffers(1, 1)%sf)'
1256# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1258# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1259 call flush (output_unit)
1260# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1262# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1264# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1266# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1267#if defined(MFC_OpenACC)
1268# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1270# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1271#elif defined(MFC_OpenMP)
1272# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1274# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1276# 474 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1277 deallocate (bc_buffers(1, 1)%sf)
1278# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1280# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1282# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1283 use iso_fortran_env,
only: output_unit
1284# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1286# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1287 print *,
'm_boundary_common.fpp:475: ',
'@:DEALLOCATE(bc_buffers(1, 2)%sf)'
1288# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1290# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1291 call flush (output_unit)
1292# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1294# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1296# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1298# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1299#if defined(MFC_OpenACC)
1300# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1302# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1303#elif defined(MFC_OpenMP)
1304# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1306# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1308# 475 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1309 deallocate (bc_buffers(1, 2)%sf)
1310# 476 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1311# 477 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1314# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1316# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1317 use iso_fortran_env,
only: output_unit
1318# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1320# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1321 print *,
'm_boundary_common.fpp:478: ',
'@:DEALLOCATE(bc_buffers(2, 1)%sf)'
1322# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1324# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1325 call flush (output_unit)
1326# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1328# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1330# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1332# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1333#if defined(MFC_OpenACC)
1334# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1336# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1337#elif defined(MFC_OpenMP)
1338# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1340# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1342# 478 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1343 deallocate (bc_buffers(2, 1)%sf)
1344# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1346# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1348# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1349 use iso_fortran_env,
only: output_unit
1350# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1352# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1353 print *,
'm_boundary_common.fpp:479: ',
'@:DEALLOCATE(bc_buffers(2, 2)%sf)'
1354# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1356# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1357 call flush (output_unit)
1358# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1360# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1362# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1364# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1365#if defined(MFC_OpenACC)
1366# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1368# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1369#elif defined(MFC_OpenMP)
1370# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1372# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1374# 479 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1375 deallocate (bc_buffers(2, 2)%sf)
1376# 480 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1377# 481 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1380# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1382# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1383 use iso_fortran_env,
only: output_unit
1384# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1386# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1387 print *,
'm_boundary_common.fpp:482: ',
'@:DEALLOCATE(bc_buffers(3, 1)%sf)'
1388# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1390# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1391 call flush (output_unit)
1392# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1394# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1396# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1398# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1399#if defined(MFC_OpenACC)
1400# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1402# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1403#elif defined(MFC_OpenMP)
1404# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1406# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1408# 482 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1409 deallocate (bc_buffers(3, 1)%sf)
1410# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1412# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1414# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1415 use iso_fortran_env,
only: output_unit
1416# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1418# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1419 print *,
'm_boundary_common.fpp:483: ',
'@:DEALLOCATE(bc_buffers(3, 2)%sf)'
1420# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1422# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1423 call flush (output_unit)
1424# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1426# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1428# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1430# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1431#if defined(MFC_OpenACC)
1432# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1434# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1435#elif defined(MFC_OpenMP)
1436# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1438# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1440# 483 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1441 deallocate (bc_buffers(3, 2)%sf)
1442# 484 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1444# 486 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1446# 488 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1449# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1451# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1452 use iso_fortran_env,
only: output_unit
1453# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1455# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1456 print *,
'm_boundary_common.fpp:489: ',
'@:DEALLOCATE(bc_buffers)'
1457# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1459# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1460 call flush (output_unit)
1461# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1463# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1465# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1467# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1468#if defined(MFC_OpenACC)
1469# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1471# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1472#elif defined(MFC_OpenMP)
1473# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1475# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1477# 489 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1478 deallocate (bc_buffers)
1479# 490 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1486 type(scalar_field),
dimension(:),
intent(inout) :: q_beta
1487 type(scalar_field),
dimension(:),
intent(inout) :: kahan_comp
1488 type(integer_field),
dimension(1:num_dims,1:2),
intent(in) :: bc_type
1489 integer,
intent(in) :: nvar
1495# 506 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1498# 509 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1502# 513 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1505# 516 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1513 integer,
intent(in) :: bc_dir, bc_loc
1514 type(int_bounds_info),
intent(in) :: bc_bounds
1515 type(integer_field),
intent(in) :: bc_type_edge
1516 type(scalar_field),
dimension(:),
intent(inout) :: q_beta
1517 type(scalar_field),
dimension(:),
intent(inout) :: kahan_comp
1518 integer,
intent(in) :: nvar
1519 integer :: bc_edge, k_beg, k_end, l_beg, l_end,
k,
l, bc_code
1521 if (bc_loc == -1)
then
1522 bc_edge = bc_bounds%beg
1524 bc_edge = bc_bounds%end
1527 if (bc_edge < 0)
then
1528 if (bc_dir == 1)
then
1531 else if (bc_dir == 2)
then
1540# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1542# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1543#if defined(MFC_OpenACC)
1544# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1546# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1547#elif defined(MFC_OpenMP)
1548# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1550# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1552# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1554# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1556# 549 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1558# 550 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1563 if (bc_dir == 3)
then
1564 bc_code = int(bc_type_edge%sf(
k,
l, 0))
1569 select case (bc_code)
1571 call s_beta_periodic(q_beta, kahan_comp, bc_dir, bc_loc,
k,
l, nvar)
1572 case (bc_reflective)
1573 call s_beta_reflective(q_beta, kahan_comp, bc_dir, bc_loc,
k,
l, nvar)
1578# 568 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1579#if defined(MFC_OpenACC)
1580# 568 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1582# 568 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1583#elif defined(MFC_OpenMP)
1584# 568 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1586# 568 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1588# 568 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1590# 569 "/home/runner/work/MFC/MFC/src/common/m_boundary_common.fpp"
1595 if (bc_bounds%beg >= 0 .or. bc_bounds%end >= 0)
then
1596 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.
subroutine, public s_populate_grid_variables_buffers(x_cb_in, x_cc_in, dx_in, x_offset, y_offset, z_offset, y_cb_in, y_cc_in, dy_in, z_cb_in, z_cc_in, dz_in, global_bounds)
Populate the buffers of the grid variables, which are constituted of the cell-boundary locations and ...
subroutine s_populate_grid_bc_direction(cell_boundaries, cell_centers, cell_widths, num_cells, bc_dir, bc_loc, bc_bounds, offset)
Populate cell-boundary, cell-center, and cell-width buffers for one coordinate direction.
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_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.
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).
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...
impure subroutine, public s_initialize_boundary_common_module(use_dirichlet_buffers)
Allocate and set up boundary condition buffer arrays for all coordinate directions.
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.
logical dirichlet_from_buffers
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.