MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_global_parameters.fpp.f90
Go to the documentation of this file.
1# 1 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2!>
3!! @file
4!! @brief Contains module m_global_parameters
5
6# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
7! This file exists so that Fypp can be run without generating case.fpp files for
8! each target. This is useful when generating documentation, for example. This
9! should also let MFC be built with CMake directly, without invoking mfc.sh.
10
11! For pre-process.
12# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
13
14! For moving immersed boundaries in simulation
15# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
16# 6 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp" 2
17# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
18# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
19# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
20# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
24# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25
26# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29
30# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
32! Default for Fypp runs outside the toolchain (e.g. documentation). Searched last, so the
33! build/include/<target>/thermochem.fpp the toolchain writes from m_thermochem takes precedence.
34# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
35# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
36# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
37
38# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40
41# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42
43# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44
45# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46
47# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48
49# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50
51# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52
53# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54
55# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56! New line at end of file is required for FYPP
57# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
58# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
59# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
60# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65
66# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69
70# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
72! Default for Fypp runs outside the toolchain (e.g. documentation). Searched last, so the
73! build/include/<target>/thermochem.fpp the toolchain writes from m_thermochem takes precedence.
74# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
75# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
76# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
77
78# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
79# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80
81# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82
83# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
84
85# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
86
87# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
88
89# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
90
91# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
92
93# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
94
95# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
96! New line at end of file is required for FYPP
97# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
98
99# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104
105# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106
107# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108
109# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110
111# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112
113# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114
115# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116
117# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118
119# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120
121# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122
123# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124
125# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126
127# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128
129# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130
131# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132
133# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134
135# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136
137# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138
139# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140
141# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142
143# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144
145# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146
147# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148
149# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151
152# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153
154# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155
156# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157
158# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159
160# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161
162# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
163
164# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
165
166# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
167
168# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
169
170# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
171
172# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
173
174# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
175! New line at end of file is required for FYPP
176# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
177# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
178# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
179# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
181# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
183# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184
185# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
186# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
188
189# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
190# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
191! Default for Fypp runs outside the toolchain (e.g. documentation). Searched last, so the
192! build/include/<target>/thermochem.fpp the toolchain writes from m_thermochem takes precedence.
193# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
194# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
195# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
196
197# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
198# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
199
200# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
201
202# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
203
204# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
205
206# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
207
208# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
209
210# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
211
212# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
213
214# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
215! New line at end of file is required for FYPP
216# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
217
218# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219
220# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221
222# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223
224# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225
226# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227
228# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229
230# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231
232# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233
234# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235
236# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237
238# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239
240# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241
242# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243
244# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245
246# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247
248# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249
250# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251
252# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253
254# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
255
256# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
257
258# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
259
260# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
261
262# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
263
264# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
265
266# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
267
268# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
269
270# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
271
272# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
273! New line at end of file is required for FYPP
274# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
275
276! GPU parallel region (scalar reductions, maxval/minval)
277# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278
279! GPU parallel loop over threads (most common GPU macro)
280# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281
282! Required closing for GPU_PARALLEL_LOOP
283# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284
285! Mark routine for device compilation
286# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287
288! Declare device-resident data
289# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290
291! Inner loop within a GPU parallel region
292# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293
294! Scoped GPU data region
295# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296
297! Host code with device pointers (for MPI with GPU buffers)
298# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299
300! Allocate device memory (unscoped)
301# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302
303! Free device memory
304# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305
306! Atomic operation on device
307# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308
309! End atomic capture block
310# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311
312! Copy data between host and device
313# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314
315! Synchronization barrier
316# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
317
318! Import GPU library module (openacc or omp_lib)
319# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
320
321! Emit code only for AMD compiler
322# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
323
324! Emit code for non-Cray compilers
325# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
326
327! Emit code only for Cray compiler
328# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
329
330! Emit code for non-NVIDIA compilers
331# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
332
333# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
334# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
335! New line at end of file is required for FYPP
336# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
337
338# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
339
340! Caution: This macro requires the use of a binding script to set CUDA_VISIBLE_DEVICES, such that we have one GPU device per MPI
341! rank. That's because for both cudaMemAdvise (preferred location) and cudaMemPrefetchAsync we use location = device_id = 0. For an
342! example see misc/nvidia_uvm/bind.sh.
343# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
344
345! Allocate and create GPU device memory
346# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
347
348! Free GPU device memory and deallocate
349# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
350
351! Cray-specific GPU pointer setup for vector fields
352# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
353
354! Cray-specific GPU pointer setup for scalar fields
355# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
356
357! Cray-specific GPU pointer setup for acoustic source spatials
358# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
359
360# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
361
362# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
363! New line at end of file is required for FYPP
364# 7 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp" 2
365
366!> @brief Global parameters for the computational domain, fluid properties, and simulation algorithm configuration
368
369#ifdef MFC_MPI
370 use mpi
371#endif
372
375 ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, chemistry, shear_*
377
378 implicit none
379
380 real(wp) :: wall_time = 0
381 real(wp) :: wall_time_avg = 0
382
383 ! Logistics
384 integer :: num_procs !< Number of processors
385 ! Computational Domain Parameters
386 integer :: proc_rank !< Rank of the local processor
387
388# 29 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
389#if defined(MFC_OpenACC)
390# 29 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
391!$acc declare create(num_procs, proc_rank)
392# 29 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
393#elif defined(MFC_OpenMP)
394# 29 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
395!$omp declare target (num_procs, proc_rank)
396# 29 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
397#endif
398# 30 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
399
400 !> @name Max and min number of cells in a direction of each combination of x-,y-, and z-
402
403 !> @name Global number of cells in each direction
404 !> @{
405 integer :: m_glb, n_glb, p_glb
406 !> @}
407
408 !> @name Cylindrical coordinates (either axisymmetric or full 3D)
409 !> @{
410 integer :: grid_geometry
411 !> @}
412
413# 43 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
414#if defined(MFC_OpenACC)
415# 43 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
416!$acc declare create(grid_geometry)
417# 43 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
418#elif defined(MFC_OpenMP)
419# 43 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
420!$omp declare target (grid_geometry)
421# 43 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
422#endif
423# 44 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
424
425 !> @name Cell-boundary (CB) locations in the x-, y- and z-directions, respectively
426 !> @{
427 real(wp), target, allocatable, dimension(:) :: x_cb, y_cb, z_cb
428 type(bounds_info), dimension(3) :: glb_bounds
429 !> @}
430
431 !> @name Cell-center (CC) locations in the x-, y- and z-directions, respectively
432 !> @{
433 real(wp), target, allocatable, dimension(:) :: x_cc, y_cc, z_cc
434 !> @}
435 !> @name Cell-width distributions in the x-, y- and z-directions, respectively
436 !> @{
437 real(wp), target, allocatable, dimension(:) :: dx, dy, dz
438 !> @}
439
440
441# 60 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
442#if defined(MFC_OpenACC)
443# 60 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
444!$acc declare create(x_cb, y_cb, z_cb, x_cc, y_cc, z_cc, dx, dy, dz)
445# 60 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
446#elif defined(MFC_OpenMP)
447# 60 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
448!$omp declare target (x_cb, y_cb, z_cb, x_cc, y_cc, z_cc, dx, dy, dz)
449# 60 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
450#endif
451# 61 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
452
453 ! dt, m, n, p, cfl_target: GPU-declared via generated_decls.fpp (registered params)
454
455# 63 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
456#if defined(MFC_OpenACC)
457# 63 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
458!$acc declare create(glb_bounds)
459# 63 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
460#elif defined(MFC_OpenMP)
461# 63 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
462!$omp declare target (glb_bounds)
463# 63 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
464#endif
465# 64 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
466
467 logical :: cfl_dt
468 ! Simulation Algorithm Parameters generated_case_opt_decls.fpp: now in m_global_parameters_common
469
470 !> Hypoelastic NC velocity-coupling mode; exactly one value, derived from riemann_solver + hypo_hll_interface_rhs.
471 integer, parameter :: hypo_nc_mode_none = 0 !< no hypoelastic NC velocity coupling
472 integer, parameter :: hypo_nc_mode_finite_diff = 1 !< velocity gradients by finite difference (HLL without interface RHS)
473 !> interface-velocity export for the velocity-gradient tensor (HLL Method 2, HLLC)
474 integer, parameter :: hypo_nc_mode_interface = 2
475 integer, parameter :: hypo_nc_mode_dual_pass = 3 !< anchored dual-pass HLLD; all NC terms stay in the Riemann flux
476 integer :: hypo_nc_mode
477 !> NC volume-fraction advection export mode; exactly one value, derived from riemann_solver + hll_u_interface.
478 integer, parameter :: adv_src_mode_unset = 0 !< not yet derived
479 integer, parameter :: adv_src_mode_alpha_iface = 1 !< flux_src exports per-fluid interface alpha
480 integer, parameter :: adv_src_mode_vel_iface = 2 !< flux_src exports shared face-normal interface velocity
481 integer, parameter :: adv_src_mode_none = 3 !< flux_src exports no NC advection quantity
482 integer :: adv_src_mode
483 logical :: use_nc_iface_vel !< nc_iface_vel exports interface velocities needed outside flux_src
484 ! chemistry: in m_global_parameters_common
485 logical :: shear_stress !< Shear stresses
486 logical :: bulk_stress !< Bulk stresses
487 logical :: bodyforces
488 real(wp), dimension(3) :: accel_bf
489
490# 87 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
491#if defined(MFC_OpenACC)
492# 87 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
493!$acc declare create(accel_bf)
494# 87 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
495#elif defined(MFC_OpenMP)
496# 87 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
497!$omp declare target (accel_bf)
498# 87 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
499#endif
500# 88 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
501
502 !> Source fields for the spatially supported body force. `spatial_bf` and
503 !> `bf_spatial_support` are auto-generated in generated_decls.fpp.
504 real(wp), allocatable, dimension(:,:,:) :: spbf_source_x
505 real(wp), allocatable, dimension(:,:,:) :: spbf_source_y
506
507# 93 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
508#if defined(MFC_OpenACC)
509# 93 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
510!$acc declare create(spbf_source_x, spbf_source_y)
511# 93 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
512#elif defined(MFC_OpenMP)
513# 93 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
514!$omp declare target (spbf_source_x, spbf_source_y)
515# 93 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
516#endif
517# 94 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
518
519 ! Synthetic turbulence (scalars auto-generated in generated_decls.fpp; their
520 ! GPU_DECLARE lines live in m_global_parameters_common)
521 integer, dimension(num_synth_shells_max) :: synth_n_waves_per_shell
522 real(wp), dimension(num_synth_shells_max) :: synth_k_shell, synth_amp_shell
523 real(wp), dimension(num_turb_sources_max, 3) :: turb_pos, synth_l
524
525# 100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
526#if defined(MFC_OpenACC)
527# 100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
528!$acc declare create(synth_n_waves_per_shell, synth_k_shell, synth_amp_shell)
529# 100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
530#elif defined(MFC_OpenMP)
531# 100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
532!$omp declare target (synth_n_waves_per_shell, synth_k_shell, synth_amp_shell)
533# 100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
534#endif
535# 101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
536
537# 101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
538#if defined(MFC_OpenACC)
539# 101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
540!$acc declare create(turb_pos, synth_L)
541# 101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
542#elif defined(MFC_OpenMP)
543# 101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
544!$omp declare target (turb_pos, synth_L)
545# 101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
546#endif
547# 102 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
548
550
551
552# 105 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
553#if defined(MFC_OpenACC)
554# 105 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
555!$acc declare create(shear_stress, bulk_stress)
556# 105 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
557#elif defined(MFC_OpenMP)
558# 105 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
559!$omp declare target (shear_stress, bulk_stress)
560# 105 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
561#endif
562# 106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
563
564# 106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
565#if defined(MFC_OpenACC)
566# 106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
567!$acc declare create(hypo_nc_mode)
568# 106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
569#elif defined(MFC_OpenMP)
570# 106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
571!$omp declare target (hypo_nc_mode)
572# 106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
573#endif
574# 107 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
575
576 logical :: bc_io
577 logical, dimension(3) :: periodic_bc
578 !> @name Boundary conditions (BC) in the x-, y- and z-directions, respectively
579 !> @{
582 !> @}
583 !> @name Original boundary conditions preserved for immersed boundary code
584 !> (bc_x/y/z get overwritten with MPI neighbor ranks during decomposition)
585 !> @{
587 !> @}
588#if defined(MFC_OpenACC)
589
590# 121 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
591#if defined(MFC_OpenACC)
592# 121 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
593!$acc declare create(bc_x%vb1, bc_x%vb2, bc_x%vb3, bc_x%ve1, bc_x%ve2, bc_x%ve3)
594# 121 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
595#elif defined(MFC_OpenMP)
596# 121 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
597!$omp declare target (bc_x%vb1, bc_x%vb2, bc_x%vb3, bc_x%ve1, bc_x%ve2, bc_x%ve3)
598# 121 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
599#endif
600# 122 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
601
602# 122 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
603#if defined(MFC_OpenACC)
604# 122 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
605!$acc declare create(bc_y%vb1, bc_y%vb2, bc_y%vb3, bc_y%ve1, bc_y%ve2, bc_y%ve3)
606# 122 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
607#elif defined(MFC_OpenMP)
608# 122 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
609!$omp declare target (bc_y%vb1, bc_y%vb2, bc_y%vb3, bc_y%ve1, bc_y%ve2, bc_y%ve3)
610# 122 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
611#endif
612# 123 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
613
614# 123 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
615#if defined(MFC_OpenACC)
616# 123 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
617!$acc declare create(bc_z%vb1, bc_z%vb2, bc_z%vb3, bc_z%ve1, bc_z%ve2, bc_z%ve3)
618# 123 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
619#elif defined(MFC_OpenMP)
620# 123 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
621!$omp declare target (bc_z%vb1, bc_z%vb2, bc_z%vb3, bc_z%ve1, bc_z%ve2, bc_z%ve3)
622# 123 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
623#endif
624# 124 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
625
626# 124 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
627#if defined(MFC_OpenACC)
628# 124 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
629!$acc declare create(bc_x%vel_in_ramp, bc_x%vel_in_t0, bc_x%vel_in_frac0)
630# 124 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
631#elif defined(MFC_OpenMP)
632# 124 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
633!$omp declare target (bc_x%vel_in_ramp, bc_x%vel_in_t0, bc_x%vel_in_frac0)
634# 124 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
635#endif
636# 125 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
637
638# 125 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
639#if defined(MFC_OpenACC)
640# 125 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
641!$acc declare create(bc_y%vel_in_ramp, bc_y%vel_in_t0, bc_y%vel_in_frac0)
642# 125 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
643#elif defined(MFC_OpenMP)
644# 125 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
645!$omp declare target (bc_y%vel_in_ramp, bc_y%vel_in_t0, bc_y%vel_in_frac0)
646# 125 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
647#endif
648# 126 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
649
650# 126 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
651#if defined(MFC_OpenACC)
652# 126 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
653!$acc declare create(bc_z%vel_in_ramp, bc_z%vel_in_t0, bc_z%vel_in_frac0)
654# 126 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
655#elif defined(MFC_OpenMP)
656# 126 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
657!$omp declare target (bc_z%vel_in_ramp, bc_z%vel_in_t0, bc_z%vel_in_frac0)
658# 126 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
659#endif
660# 127 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
661
662# 127 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
663#if defined(MFC_OpenACC)
664# 127 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
665!$acc declare create(ib_bc_x%beg, ib_bc_x%end, ib_bc_y%beg, ib_bc_y%end, ib_bc_z%beg, ib_bc_z%end)
666# 127 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
667#elif defined(MFC_OpenMP)
668# 127 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
669!$omp declare target (ib_bc_x%beg, ib_bc_x%end, ib_bc_y%beg, ib_bc_y%end, ib_bc_z%beg, ib_bc_z%end)
670# 127 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
671#endif
672# 128 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
673#elif defined(MFC_OpenMP)
674
675# 129 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
676#if defined(MFC_OpenACC)
677# 129 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
678!$acc declare create(bc_x, bc_y, bc_z)
679# 129 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
680#elif defined(MFC_OpenMP)
681# 129 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
682!$omp declare target (bc_x, bc_y, bc_z)
683# 129 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
684#endif
685# 130 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
686
687# 130 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
688#if defined(MFC_OpenACC)
689# 130 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
690!$acc declare create(ib_bc_x, ib_bc_y, ib_bc_z)
691# 130 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
692#elif defined(MFC_OpenMP)
693# 130 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
694!$omp declare target (ib_bc_x, ib_bc_y, ib_bc_z)
695# 130 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
696#endif
697# 131 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
698#endif
699
700# 132 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
701#if defined(MFC_OpenACC)
702# 132 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
703!$acc declare create(bc)
704# 132 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
705#elif defined(MFC_OpenMP)
706# 132 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
707!$omp declare target (bc)
708# 132 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
709#endif
710# 133 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
713
714# 135 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
715#if defined(MFC_OpenACC)
716# 135 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
717!$acc declare create(neighbor_domain_x, neighbor_domain_y, neighbor_domain_z, num_gbl_ibs)
718# 135 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
719#elif defined(MFC_OpenMP)
720# 135 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
721!$omp declare target (neighbor_domain_x, neighbor_domain_y, neighbor_domain_z, num_gbl_ibs)
722# 135 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
723#endif
724# 136 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
725
726 ! proc_coords, start_idx, mpiiofs, mpi_info_int: in m_global_parameters_common
727 ! down_sample: GPU-declared via generated_decls.fpp (registered param)
728
729 !> @name MPI domain-decomposition state for Lagrangian-bubble exchange (#1290)
730 !> @{
731 type(bounds_info), allocatable, dimension(:) :: pcomm_coords !< Local rank physical domain bounds
732 type(int_bounds_info), dimension(3) :: nidx !< Neighbor index offsets per direction
733 integer, allocatable, dimension(:,:,:) :: neighbor_ranks !< MPI ranks of neighbors
734
735# 145 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
736#if defined(MFC_OpenACC)
737# 145 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
738!$acc declare create(pcomm_coords)
739# 145 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
740#elif defined(MFC_OpenMP)
741# 145 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
742!$omp declare target (pcomm_coords)
743# 145 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
744#endif
745# 146 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
746 !> @}
747 type(mpi_io_var), public :: mpi_io_data
752 real(wp), allocatable, dimension(:,:), public :: mpi_io_data_lag_bubbles
753
754 ! sys_size and eqn_idx: in m_global_parameters_common (GPU_DECLARE there too)
755 type(qbmm_idx_info) :: qbmm_idx !< QBMM moment index mappings (allocatable; GPU-managed separately).
756
757 ! Cell Indices for the (local) interior points (O-m, O-n, 0-p). Stands for "InDices With INTerior".
759
760# 159 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
761#if defined(MFC_OpenACC)
762# 159 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
763!$acc declare create(idwint)
764# 159 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
765#elif defined(MFC_OpenMP)
766# 159 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
767!$omp declare target (idwint)
768# 159 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
769#endif
770# 160 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
771
772 ! Cell Indices for the entire (local) domain. In simulation and post_process, this includes the buffer region. idwbuff and
773 ! idwint are the same otherwise. Stands for "InDices With BUFFer".
775
776# 164 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
777#if defined(MFC_OpenACC)
778# 164 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
779!$acc declare create(idwbuff)
780# 164 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
781#elif defined(MFC_OpenMP)
782# 164 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
783!$omp declare target (idwbuff)
784# 164 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
785#endif
786# 165 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
787
788 !> @name Herschel-Bulkley non-Newtonian viscosity: per-fluid flags and parameter arrays.
789 !> @{
790 logical :: any_non_newtonian !< .true. if any fluid is non-Newtonian
791 logical, allocatable, dimension(:) :: is_non_newtonian !< per-fluid NN flag
792 real(wp), allocatable, dimension(:) :: hb_tau0, hb_k, hb_nn, hb_m_arr
793 real(wp), allocatable, dimension(:) :: hb_mu_min, hb_mu_max
794 real(wp), allocatable, dimension(:) :: fluid_inv_re !< per-fluid Newtonian inverse-Re
795 !> @}
796
797
798# 175 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
799#if defined(MFC_OpenACC)
800# 175 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
801!$acc declare create(any_non_newtonian, is_non_newtonian, hb_tau0, hb_K, hb_nn, hb_m_arr, hb_mu_min, hb_mu_max, fluid_inv_re)
802# 175 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
803#elif defined(MFC_OpenMP)
804# 175 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
805!$omp declare target (any_non_newtonian, is_non_newtonian, hb_tau0, hb_K, hb_nn, hb_m_arr, hb_mu_min, hb_mu_max, fluid_inv_re)
806# 175 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
807#endif
808# 176 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
809
810 ! WENO averaging flag: use arithmetic mean or unaltered WENO-reconstructed cell-boundary values
811 !> @{
812 real(wp) :: wa_flg
813 !> @}
814
815
816# 182 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
817#if defined(MFC_OpenACC)
818# 182 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
819!$acc declare create(wa_flg)
820# 182 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
821#elif defined(MFC_OpenMP)
822# 182 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
823!$omp declare target (wa_flg)
824# 182 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
825#endif
826# 183 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
827
828 !> @name The coordinate direction indexes and flags (flg), respectively, for which the configurations will be determined with
829 !! respect to a working direction and that will be used to isolate the contributions, in that direction, in the dimensionally
830 !! split system of equations. Declared here rather than in m_global_parameters_common so the hot dimensionally-split kernels
831 !! (Riemann solvers) read them from their own module: use-associating them from common costs ~18 kB/work-item of register spill
832 !! on AMD OpenMP offload. Common code takes the mapping as explicit arguments instead.
833 !> @{
834 integer, dimension(3) :: dir_idx
835 real(wp), dimension(3) :: dir_flg
836 integer, dimension(3) :: dir_idx_tau !< (nn, nt, nt2) stress indices for wave speeds and momentum flux
837 integer, dimension(6) :: stress_perm !< Full tensor permutation: local basis -> physical storage index
838 !> @}
839
840
841# 196 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
842#if defined(MFC_OpenACC)
843# 196 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
844!$acc declare create(dir_idx, dir_flg, dir_idx_tau, stress_perm)
845# 196 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
846#elif defined(MFC_OpenMP)
847# 196 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
848!$omp declare target (dir_idx, dir_flg, dir_idx_tau, stress_perm)
849# 196 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
850#endif
851# 197 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
852
853 integer :: buff_size !< Number of ghost cells for boundary condition storage
854
855# 199 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
856#if defined(MFC_OpenACC)
857# 199 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
858!$acc declare create(buff_size)
859# 199 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
860#elif defined(MFC_OpenMP)
861# 199 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
862!$omp declare target (buff_size)
863# 199 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
864#endif
865# 200 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
866
867 ! shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices: in m_global_parameters_common
868
869 ! END: Simulation Algorithm Parameters
870
871 ! Fluids Physical Parameters fluid_pp, bub_pp: auto-generated in generated_decls.fpp
872
873 integer :: fd_number !< Finite-difference half-stencil size: MAX(1, fd_order/2)
874
875# 208 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
876#if defined(MFC_OpenACC)
877# 208 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
878!$acc declare create(fd_number)
879# 208 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
880#elif defined(MFC_OpenMP)
881# 208 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
882!$omp declare target (fd_number)
883# 208 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
884#endif
885# 209 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
886
887 !> @name Centered finite-difference coefficients in x-, y- and z-coordinate directions
888 !> @{
889 real(wp), allocatable, dimension(:,:) :: fd_coeff_x
890 real(wp), allocatable, dimension(:,:) :: fd_coeff_y
891 real(wp), allocatable, dimension(:,:) :: fd_coeff_z
892 !> @}
893
894# 216 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
895#if defined(MFC_OpenACC)
896# 216 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
897!$acc declare create(fd_coeff_x, fd_coeff_y, fd_coeff_z)
898# 216 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
899#elif defined(MFC_OpenMP)
900# 216 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
901!$omp declare target (fd_coeff_x, fd_coeff_y, fd_coeff_z)
902# 216 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
903#endif
904# 217 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
905
906 ! probe: auto-generated in generated_decls.fpp
907
908 !> @name Reference density and pressure for Tait EOS
909 !> @{
910 !> @name Immersed Boundaries
911 !> patch_ib, ib_airfoil, stl_models, particle_cloud: auto-generated in generated_decls.fpp
912 !> @{
913 integer, dimension(num_local_ibs_max) :: local_ib_patch_ids !< lookup table of IBs in the local compute domain
914 integer, allocatable, dimension(:,:,:) :: ib_neighbor_ranks !< MPI ranks of neighborhood domains, indexed (-N:N,-N:N,-N:N)
915 type(ib_airfoil_grid), dimension(num_ib_airfoils_max) :: ib_airfoil_grids !< Per-airfoil computed surface grids
916
917
918# 229 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
919#if defined(MFC_OpenACC)
920# 229 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
921!$acc declare create(ib_airfoil_grids)
922# 229 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
923#elif defined(MFC_OpenMP)
924# 229 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
925!$omp declare target (ib_airfoil_grids)
926# 229 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
927#endif
928# 230 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
929 !> @}
930
931 !> @name Bubble modeling
932 !> @{
933# 237 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
934 integer :: nb
935# 239 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
936
937 real(wp) :: eu !< Euler number
938
939# 241 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
940#if defined(MFC_OpenACC)
941# 241 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
942!$acc declare create(Eu)
943# 241 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
944#elif defined(MFC_OpenMP)
945# 241 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
946!$omp declare target (Eu)
947# 241 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
948#endif
949# 242 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
950
951 real(wp), dimension(:), allocatable :: weight !< Simpson quadrature weights
952 real(wp), dimension(:), allocatable :: r0 !< Bubble sizes
953
954# 245 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
955#if defined(MFC_OpenACC)
956# 245 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
957!$acc declare create(weight, R0)
958# 245 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
959#elif defined(MFC_OpenMP)
960# 245 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
961!$omp declare target (weight, R0)
962# 245 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
963#endif
964# 246 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
965
966 real(wp), allocatable, dimension(:,:,:) :: ptil !< Pressure modification
967
968# 248 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
969#if defined(MFC_OpenACC)
970# 248 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
971!$acc declare create(ptil)
972# 248 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
973#elif defined(MFC_OpenMP)
974# 248 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
975!$omp declare target (ptil)
976# 248 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
977#endif
978# 249 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
979
980 integer, parameter :: nmom = 6 !< Number of carried moments per R0 location
981 integer :: nmomsp !< Number of moments required by ensemble-averaging
982 integer :: nmomtot !< Total number of carried moments moments/transport equations
983
984# 253 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
985#if defined(MFC_OpenACC)
986# 253 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
987!$acc declare create(nmomsp, nmomtot)
988# 253 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
989#elif defined(MFC_OpenMP)
990# 253 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
991!$omp declare target (nmomsp, nmomtot)
992# 253 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
993#endif
994# 254 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
995
996# 256 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
997
998# 256 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
999#if defined(MFC_OpenACC)
1000# 256 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1001!$acc declare create(nb)
1002# 256 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1003#elif defined(MFC_OpenMP)
1004# 256 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1005!$omp declare target (nb)
1006# 256 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1007#endif
1008# 257 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1009# 258 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1010
1011 type(scalar_field), allocatable, dimension(:) :: mom_sp
1012 type(scalar_field), allocatable, dimension(:,:,:) :: mom_3d
1013
1014# 261 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1015#if defined(MFC_OpenACC)
1016# 261 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1017!$acc declare create(mom_sp, mom_3d)
1018# 261 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1019#elif defined(MFC_OpenMP)
1020# 261 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1021!$omp declare target (mom_sp, mom_3d)
1022# 261 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1023#endif
1024# 262 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1025 !> @}
1026
1027 ! chem_params: auto-generated in generated_decls.fpp
1028
1029 !> @name Physical bubble parameters (see Ando 2010, Preston 2007)
1030 !> @{
1031 real(wp) :: phi_vg, phi_gv, pe_c, tw, k_vl, k_gl
1032
1033# 269 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1034#if defined(MFC_OpenACC)
1035# 269 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1036!$acc declare create(phi_vg, phi_gv, Pe_c, Tw, k_vl, k_gl)
1037# 269 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1038#elif defined(MFC_OpenMP)
1039# 269 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1040!$omp declare target (phi_vg, phi_gv, Pe_c, Tw, k_vl, k_gl)
1041# 269 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1042#endif
1043# 270 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1044
1045 real(wp), dimension(:), allocatable :: pb0, mass_g0, mass_v0, pe_t, k_v, k_g
1046 real(wp), dimension(:), allocatable :: re_trans_t, re_trans_c, im_trans_t, im_trans_c, omegan
1047
1048# 273 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1049#if defined(MFC_OpenACC)
1050# 273 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1051!$acc declare create(pb0, mass_g0, mass_v0, Pe_T, k_v, k_g)
1052# 273 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1053#elif defined(MFC_OpenMP)
1054# 273 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1055!$omp declare target (pb0, mass_g0, mass_v0, Pe_T, k_v, k_g)
1056# 273 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1057#endif
1058# 274 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1059
1060# 274 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1061#if defined(MFC_OpenACC)
1062# 274 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1063!$acc declare create(Re_trans_T, Re_trans_c, Im_trans_T, Im_trans_c, omegaN)
1064# 274 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1065#elif defined(MFC_OpenMP)
1066# 274 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1067!$omp declare target (Re_trans_T, Re_trans_c, Im_trans_T, Im_trans_c, omegaN)
1068# 274 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1069#endif
1070# 275 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1071
1072 real(wp) :: gam, gam_m
1073
1074# 277 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1075#if defined(MFC_OpenACC)
1076# 277 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1077!$acc declare create(gam, gam_m)
1078# 277 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1079#elif defined(MFC_OpenMP)
1080# 277 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1081!$omp declare target (gam, gam_m)
1082# 277 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1083#endif
1084# 278 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1085
1087
1088# 280 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1089#if defined(MFC_OpenACC)
1090# 280 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1091!$acc declare create(p0ref, rho0ref, T0ref, ss, pv, vd, mu_l, mu_v, mu_g, gam_v, gam_g, M_v, M_g, cp_v, cp_g, R_v, R_g)
1092# 280 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1093#elif defined(MFC_OpenMP)
1094# 280 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1095!$omp declare target (p0ref, rho0ref, T0ref, ss, pv, vd, mu_l, mu_v, mu_g, gam_v, gam_g, M_v, M_g, cp_v, cp_g, R_v, R_g)
1096# 280 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1097#endif
1098# 281 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1099 !> @}
1100
1101 ! acoustic: auto-generated in generated_decls.fpp
1102
1103 !> @name Surface tension parameters
1104 !> @{
1105 !> @}
1106
1107 real(wp) :: mytime !< Current simulation time
1108 type(pres_field), allocatable, dimension(:) :: pb_ts
1109 type(pres_field), allocatable, dimension(:) :: mv_ts
1110
1111
1112# 293 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1113#if defined(MFC_OpenACC)
1114# 293 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1115!$acc declare create(mytime, pb_ts, mv_ts)
1116# 293 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1117#elif defined(MFC_OpenMP)
1118# 293 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1119!$omp declare target (mytime, pb_ts, mv_ts)
1120# 293 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1121#endif
1122# 294 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1123
1124 !> @name lagrangian subgrid bubble parameters
1125 !> lag_params: auto-generated in generated_decls.fpp
1126 !> @{!
1127 ! lag_params (decl + GPU_DECLARE) auto-generated in generated_decls.fpp; bubbles_lagrange GPU-declared in
1128 ! m_global_parameters_common
1129 integer :: n_el_bubs_loc, n_el_bubs_glb !< Number of Lagrangian bubbles (local and global)
1134
1135# 305 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1136#if defined(MFC_OpenACC)
1137# 305 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1138!$acc declare create(n_el_bubs_loc, n_el_bubs_glb)
1139# 305 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1140#elif defined(MFC_OpenMP)
1141# 305 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1142!$omp declare target (n_el_bubs_loc, n_el_bubs_glb)
1143# 305 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1144#endif
1145# 306 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1146
1147# 306 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1148#if defined(MFC_OpenACC)
1149# 306 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1150!$acc declare create(moving_lag_bubbles, lag_vel_model, lag_drag_model)
1151# 306 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1152#elif defined(MFC_OpenMP)
1153# 306 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1154!$omp declare target (moving_lag_bubbles, lag_vel_model, lag_drag_model)
1155# 306 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1156#endif
1157# 307 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1158
1159# 307 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1160#if defined(MFC_OpenACC)
1161# 307 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1162!$acc declare create(lag_pressure_force, lag_gravity_force)
1163# 307 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1164#elif defined(MFC_OpenMP)
1165# 307 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1166!$omp declare target (lag_pressure_force, lag_gravity_force)
1167# 307 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1168#endif
1169# 308 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1170 !> @}
1171
1172 !> @name Continuum damage model parameters
1173 !> @{!
1174 !> @}
1175
1176 !> @name MHD Hyperbolic cleaning parameters
1177 !> @{!
1178 !> @}
1179
1180contains
1181
1182 !> Assigns default values to the user inputs before reading them in. This enables for an easier consistency check of these
1183 !! parameters once they are read from the input file.
1185
1186 integer :: i, j !< Generic loop iterator
1187
1188 ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, BC blocks,
1189 ! recon/weno/muscl/num_fluids/igr/mhd/relativity under case-opt guard, Tait EOS, bubble flags,
1190 ! IB flags, parallel I/O flags, fft_wrt)
1191
1193
1194 ! Boundary conditions (bc_x/y/z are per-target declarations, not visible in common)
1195 bc_x%beg = dflt_int; bc_x%end = dflt_int
1196 bc_y%beg = dflt_int; bc_y%end = dflt_int
1197 bc_z%beg = dflt_int; bc_z%end = dflt_int
1198
1199# 338 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1200# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1201 bc_x%vb1 = 0._wp
1202# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1203 bc_x%ve1 = 0._wp
1204# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1205# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1206 bc_x%vb2 = 0._wp
1207# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1208 bc_x%ve2 = 0._wp
1209# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1210# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1211 bc_x%vb3 = 0._wp
1212# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1213 bc_x%ve3 = 0._wp
1214# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1215# 342 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1216# 338 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1217# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1218 bc_y%vb1 = 0._wp
1219# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1220 bc_y%ve1 = 0._wp
1221# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1222# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1223 bc_y%vb2 = 0._wp
1224# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1225 bc_y%ve2 = 0._wp
1226# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1227# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1228 bc_y%vb3 = 0._wp
1229# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1230 bc_y%ve3 = 0._wp
1231# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1232# 342 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1233# 338 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1234# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1235 bc_z%vb1 = 0._wp
1236# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1237 bc_z%ve1 = 0._wp
1238# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1239# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1240 bc_z%vb2 = 0._wp
1241# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1242 bc_z%ve2 = 0._wp
1243# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1244# 339 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1245 bc_z%vb3 = 0._wp
1246# 340 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1247 bc_z%ve3 = 0._wp
1248# 341 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1249# 342 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1250# 343 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1251
1252# 345 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1253 bc_x%isothermal_in = .false.
1254# 346 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1255 bc_x%isothermal_out = .false.
1256# 347 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1257 bc_x%Twall_in = dflt_real
1258# 348 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1259 bc_x%Twall_out = dflt_real
1260# 349 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1261# 345 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1262 bc_y%isothermal_in = .false.
1263# 346 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1264 bc_y%isothermal_out = .false.
1265# 347 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1266 bc_y%Twall_in = dflt_real
1267# 348 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1268 bc_y%Twall_out = dflt_real
1269# 349 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1270# 345 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1271 bc_z%isothermal_in = .false.
1272# 346 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1273 bc_z%isothermal_out = .false.
1274# 347 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1275 bc_z%Twall_in = dflt_real
1276# 348 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1277 bc_z%Twall_out = dflt_real
1278# 349 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1279# 350 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1280
1282
1283 ! Logistics (sim-specific)
1284 run_time_info = .false.
1285 t_step_old = dflt_int
1286
1287 ! Computational domain parameters (sim-specific)
1288 dt = dflt_real
1289 cfl_dt = .false.
1290 cfl_target = dflt_real
1291 ramp_ratio = dflt_real
1292
1293 t_step_stop = dflt_int
1294 t_step_save = dflt_int
1295 t_step_print = 1
1296
1297 t_stop = dflt_real
1298 t_save = dflt_real
1299
1300 ! NVIDIA UVM options
1301 nv_uvm_out_of_core = .false.
1302 nv_uvm_igr_temps_on_gpu = 3 ! => jac, jac_rhs, and jac_old on GPU (default)
1303 nv_uvm_pref_gpu = .false.
1304
1305 ! Simulation algorithm parameters (sim-specific)
1306 mpp_lim = .false.
1307 time_stepper = dflt_int
1308 muscl_eps = dflt_real
1309 weno_eps = dflt_real
1310 teno_ct = dflt_real
1311 mp_weno = .false.
1312 weno_avg = .false.
1313 weno_re_flux = .false.
1314 riemann_hypo_adc = .false.
1315 adc_kappa = 1.0_wp
1316 hll_u_interface = .false.
1317 hypo_hll_interface_rhs = .false.
1320 use_nc_iface_vel = .false.
1321 low_mach = 0
1322 wave_speeds = dflt_int
1323 null_weights = .false.
1324 precision = 2
1325 palpha_eps = dflt_real
1326 ptgalpha_eps = dflt_real
1327 int_comp = 0
1328 ic_eps = dflt_ic_eps
1329 ic_beta = dflt_ic_beta
1330 rdma_mpi = .false.
1331 shear_stress = .false.
1332 bulk_stress = .false.
1333 any_non_newtonian = .false.
1334 num_igr_iters = dflt_num_igr_iters
1335 num_igr_warm_start_iters = dflt_num_igr_warm_start_iters
1336 alf_factor = dflt_alf_factor
1337
1338# 409 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1339 mapped_weno = .false.
1340 wenoz = .false.
1341 teno = .false.
1342 wenoz_q = dflt_real
1343 igr_order = dflt_int
1344 igr_pres_lim = .false.
1345 igr_iter_solver = 1
1346# 417 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1347
1348 chem_params%diffusion = .false.
1349 chem_params%reactions = .false.
1350 chem_params%gamma_method = 1
1351 chem_params%transport_model = 1
1352
1353 chem_params%reaction_substeps = 0
1354 chem_params%adap_substeps = .false.
1355 chem_params%reaction_substeps_max = 0
1356
1357 num_bc_patches = 0
1358 bc_io = .false.
1359 periodic_bc = .false.
1360
1361 ! bc_x/y/z (incl. vb/ve loop) already defaulted above; glb_bounds is #1290's grid-derived global extent
1362 glb_bounds(1)%beg = dflt_real; glb_bounds(1)%end = dflt_real
1363 glb_bounds(2)%beg = dflt_real; glb_bounds(2)%end = dflt_real
1364 glb_bounds(3)%beg = dflt_real; glb_bounds(3)%end = dflt_real
1365
1366 bf_spatial_support = .false.
1367 spatial_bf%amp = 0._wp
1368 spatial_bf%x_centroid = 0._wp
1369 spatial_bf%y_centroid = 0._wp
1370 spatial_bf%conv_vel = 0._wp
1371 spatial_bf%sigma = 0._wp
1372 do i = 1, 8
1373 spatial_bf%freq(i) = 0._wp
1374 spatial_bf%phase(i) = 0._wp
1375 end do
1376
1377 ! Fluids physical parameters (sim-specific; Re(:) and G=0._wp differ from post)
1378 do i = 1, num_fluids_max
1379 fluid_pp(i)%eos = eos_stiffened_gas
1380 fluid_pp(i)%mg_rho0 = dflt_real
1381 fluid_pp(i)%mg_c0 = dflt_real
1382 fluid_pp(i)%mg_s = dflt_real
1383 fluid_pp(i)%mg_gruneisen = dflt_real
1384 fluid_pp(i)%mg_gruneisen_a = 0._wp
1385 fluid_pp(i)%mg_t0 = 0._wp
1386 fluid_pp(i)%mg_s2 = 0._wp
1387 fluid_pp(i)%mg_s3 = 0._wp
1388 fluid_pp(i)%jwl_a = dflt_real
1389 fluid_pp(i)%jwl_b = dflt_real
1390 fluid_pp(i)%jwl_r1 = dflt_real
1391 fluid_pp(i)%jwl_r2 = dflt_real
1392 fluid_pp(i)%jwl_omega = dflt_real
1393 fluid_pp(i)%jwl_rho0 = dflt_real
1394 fluid_pp(i)%jwl_t0 = 0._wp
1395 fluid_pp(i)%vinet_k0 = dflt_real
1396 fluid_pp(i)%vinet_k0p = dflt_real
1397 fluid_pp(i)%vinet_rho0 = dflt_real
1398 fluid_pp(i)%vinet_gruneisen = dflt_real
1399 fluid_pp(i)%vinet_gruneisen_a = 0._wp
1400 fluid_pp(i)%vinet_t0 = 0._wp
1401 fluid_pp(i)%gamma = dflt_real
1402 fluid_pp(i)%pi_inf = dflt_real
1403 fluid_pp(i)%cv = 0._wp
1404 fluid_pp(i)%qv = 0._wp
1405 fluid_pp(i)%qvp = 0._wp
1406 fluid_pp(i)%Re(:) = dflt_real
1407 fluid_pp(i)%k_therm = 0._wp
1408 fluid_pp(i)%G = 0._wp
1409 fluid_pp(i)%non_newtonian = .false.
1410 fluid_pp(i)%K = dflt_real
1411 fluid_pp(i)%nn = dflt_real
1412 fluid_pp(i)%tau0 = 0._wp
1413 fluid_pp(i)%hb_m = dflt_real
1414 fluid_pp(i)%mu_min = dflt_real
1415 fluid_pp(i)%mu_max = dflt_real
1416 fluid_pp(i)%mu_bulk = dflt_real
1417 end do
1418
1419 ! Subgrid bubble parameters (bub_pp struct + scalar companions; scalar companions are
1420 ! per-target manual declarations not in m_global_parameters_common scope)
1421 bub_pp%R0ref = dflt_real; r0ref = dflt_real
1422 bub_pp%p0ref = dflt_real; p0ref = dflt_real
1423 bub_pp%rho0ref = dflt_real; rho0ref = dflt_real
1424 bub_pp%T0ref = dflt_real; t0ref = dflt_real
1425 bub_pp%ss = dflt_real; ss = dflt_real
1426 bub_pp%pv = dflt_real; pv = dflt_real
1427 bub_pp%vd = dflt_real; vd = dflt_real
1428 bub_pp%mu_l = dflt_real; mu_l = dflt_real
1429 bub_pp%mu_v = dflt_real; mu_v = dflt_real
1430 bub_pp%mu_g = dflt_real; mu_g = dflt_real
1431 bub_pp%gam_v = dflt_real; gam_v = dflt_real
1432 bub_pp%gam_g = dflt_real; gam_g = dflt_real
1433 bub_pp%M_v = dflt_real; m_v = dflt_real
1434 bub_pp%M_g = dflt_real; m_g = dflt_real
1435 bub_pp%k_v = dflt_real
1436 bub_pp%k_g = dflt_real
1437 bub_pp%cp_v = dflt_real; cp_v = dflt_real
1438 bub_pp%cp_g = dflt_real; cp_g = dflt_real
1439 bub_pp%R_v = dflt_real; r_v = dflt_real
1440 bub_pp%R_g = dflt_real; r_g = dflt_real
1441
1442 ! Immersed Boundaries (sim-specific extras)
1444 collision_model = 0
1446 coefficient_of_restitution = dflt_real
1447 collision_time = dflt_real
1448 ib_coefficient_of_friction = dflt_real
1449 ib_state_wrt = .false.
1450 ib_force_wrt = .false.
1451 ib_force_stride = 1
1453 ib_second_order_vel = .false.
1454 ib_ip_min_dist = 0._wp
1455
1456 ! Bubble modeling (sim-specific)
1457 bubble_model = 1
1458 polytropic = .true.
1459 thermal = dflt_int
1460
1461# 532 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1462 nb = 1
1463 muscl_lim = dflt_int
1464# 535 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1465
1466 adv_n = .false.
1467 adap_dt = .false.
1468 adap_dt_tol = dflt_adap_dt_tol
1469 adap_dt_max_iters = dflt_adap_dt_max_iters
1470
1471 pi_fac = 1._wp
1472
1473 eu = dflt_real
1474 ca = dflt_real
1475 re_inv = dflt_real
1476 web = dflt_real
1477
1478 ! Acoustic source
1479 acoustic_source = .false.
1480 num_source = dflt_int
1481
1482 bodyforces = .false.
1483 bf_x = .false.; bf_y = .false.; bf_z = .false.
1484 !> amplitude, frequency, and phase shift sinusoid in each direction
1485# 556 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1486# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1487 k_x = dflt_real
1488# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1489# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1490 w_x = dflt_real
1491# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1492# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1493 p_x = dflt_real
1494# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1495# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1496 g_x = dflt_real
1497# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1498# 559 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1499# 556 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1500# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1501 k_y = dflt_real
1502# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1503# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1504 w_y = dflt_real
1505# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1506# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1507 p_y = dflt_real
1508# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1509# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1510 g_y = dflt_real
1511# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1512# 559 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1513# 556 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1514# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1515 k_z = dflt_real
1516# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1517# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1518 w_z = dflt_real
1519# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1520# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1521 p_z = dflt_real
1522# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1523# 557 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1524 g_z = dflt_real
1525# 558 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1526# 559 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1527# 560 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1528
1529 synthetic_turbulence = .false.
1530 synth_seed = 1234
1531 synth_n_shells = dflt_int
1533 synth_u_inf = dflt_real
1535 synth_k_shell = dflt_real
1536 synth_amp_shell = dflt_real
1537 turb_pos = dflt_real
1538 synth_l = dflt_real
1539
1540 do j = 1, num_probes_max
1541 acoustic(j)%pulse = dflt_int
1542 acoustic(j)%support = dflt_int
1543 acoustic(j)%dipole = .false.
1544 do i = 1, 3
1545 acoustic(j)%loc(i) = dflt_real
1546 end do
1547 acoustic(j)%mag = dflt_real
1548 acoustic(j)%length = dflt_real
1549 acoustic(j)%height = dflt_real
1550 acoustic(j)%wavelength = dflt_real
1551 acoustic(j)%frequency = dflt_real
1552 acoustic(j)%gauss_sigma_dist = dflt_real
1553 acoustic(j)%gauss_sigma_time = dflt_real
1554 acoustic(j)%npulse = dflt_real
1555 acoustic(j)%dir = dflt_real
1556 acoustic(j)%delay = dflt_real
1557 acoustic(j)%foc_length = dflt_real
1558 acoustic(j)%aperture = dflt_real
1559 acoustic(j)%element_spacing_angle = dflt_real
1560 acoustic(j)%element_polygon_ratio = dflt_real
1561 acoustic(j)%rotate_angle = dflt_real
1562 acoustic(j)%num_elements = dflt_int
1563 acoustic(j)%element_on = dflt_int
1564 acoustic(j)%bb_num_freq = dflt_int
1565 acoustic(j)%bb_lowest_freq = dflt_real
1566 acoustic(j)%bb_bandwidth = dflt_real
1567 end do
1568
1569 fd_order = dflt_int
1570 probe_wrt = .false.
1571 num_probes = dflt_int
1572
1573 do i = 1, num_probes_max
1574 probe(i)%x = dflt_real
1575 probe(i)%y = dflt_real
1576 probe(i)%z = dflt_real
1577 end do
1578
1579 ! GRCBC flags
1580# 613 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1581 bc_x%grcbc_in = .false.
1582# 614 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1583 bc_x%grcbc_out = .false.
1584# 615 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1585 bc_x%grcbc_vel_out = .false.
1586# 616 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1587 bc_x%vel_in_ramp = 0._wp
1588# 617 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1589 bc_x%vel_in_t0 = 0._wp
1590# 618 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1591 bc_x%vel_in_frac0 = 0._wp
1592# 619 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1593# 613 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1594 bc_y%grcbc_in = .false.
1595# 614 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1596 bc_y%grcbc_out = .false.
1597# 615 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1598 bc_y%grcbc_vel_out = .false.
1599# 616 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1600 bc_y%vel_in_ramp = 0._wp
1601# 617 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1602 bc_y%vel_in_t0 = 0._wp
1603# 618 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1604 bc_y%vel_in_frac0 = 0._wp
1605# 619 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1606# 613 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1607 bc_z%grcbc_in = .false.
1608# 614 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1609 bc_z%grcbc_out = .false.
1610# 615 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1611 bc_z%grcbc_vel_out = .false.
1612# 616 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1613 bc_z%vel_in_ramp = 0._wp
1614# 617 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1615 bc_z%vel_in_t0 = 0._wp
1616# 618 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1617 bc_z%vel_in_frac0 = 0._wp
1618# 619 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1619# 620 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1620
1621 ! Lagrangian subgrid bubble model
1622 lag_params%solver_approach = dflt_int
1623 lag_params%cluster_type = dflt_int
1624 lag_params%pressure_corrector = .false.
1625 lag_params%smooth_type = dflt_int
1626 lag_params%heatTransfer_model = .false.
1627 lag_params%massTransfer_model = .false.
1628 lag_params%write_bubbles = .false.
1629 lag_params%write_bubbles_stats = .false.
1630 lag_params%write_void_evol = .false.
1631 lag_params%nBubs_glb = dflt_int
1632 lag_params%vel_model = dflt_int
1633 lag_params%drag_model = dflt_int
1634 lag_params%pressure_force = .true.
1635 lag_params%gravity_force = .false.
1636 lag_params%kahan_summation = .true.
1637 lag_params%epsilonb = 1._wp
1638 lag_params%charwidth = dflt_real
1639 lag_params%charNz = dflt_int
1640 lag_params%valmaxvoid = dflt_real
1641 lag_params%input_path = 'input/lag_bubbles.dat'
1642 moving_lag_bubbles = .false.
1643 lag_vel_model = dflt_int
1644
1645 ! Continuum damage model
1646 tau_star = dflt_real
1647 cont_damage_s = dflt_real
1648 alpha_bar = dflt_real
1649
1650 ! MHD (sim-specific extras beyond common Bx0)
1651 hyper_cleaning_speed = dflt_real
1652 hyper_cleaning_tau = dflt_real
1653
1654 do i = 1, num_ib_airfoils_max
1655 ib_airfoil(i)%c = dflt_real
1656 ib_airfoil(i)%p = dflt_real
1657 ib_airfoil(i)%t = dflt_real
1658 ib_airfoil(i)%m = dflt_real
1659 ib_airfoil_grids(i)%Np = 0
1660 end do
1661
1663 do i = 1, num_particle_clouds_max
1664 particle_cloud(i)%x_centroid = 0._wp
1665 particle_cloud(i)%y_centroid = 0._wp
1666 particle_cloud(i)%z_centroid = 0._wp
1667 particle_cloud(i)%length_x = dflt_real
1668 particle_cloud(i)%length_y = dflt_real
1669 particle_cloud(i)%length_z = dflt_real
1670 particle_cloud(i)%num_particles = 0
1671 particle_cloud(i)%radius = dflt_real
1672 particle_cloud(i)%mass = dflt_real
1673 particle_cloud(i)%min_spacing = 0._wp
1674 particle_cloud(i)%shell_inner_radius = dflt_real
1675 particle_cloud(i)%shell_outer_radius = dflt_real
1676 particle_cloud(i)%moving_ibm = 0
1677 particle_cloud(i)%seed = 0
1678 particle_cloud(i)%cloud_geometry = 1
1679 particle_cloud(i)%shell_axis = 3
1680 particle_cloud(i)%packing_method = dflt_int
1681 particle_cloud(i)%periodic = 0
1682 end do
1683
1684 do i = 1, num_ib_patches_max_namelist
1685 patch_ib(i)%gbl_patch_id = i
1686 patch_ib(i)%geometry = dflt_int
1687 patch_ib(i)%x_centroid = 0._wp
1688 patch_ib(i)%y_centroid = 0._wp
1689 patch_ib(i)%z_centroid = 0._wp
1690 patch_ib(i)%length_x = dflt_real
1691 patch_ib(i)%length_y = dflt_real
1692 patch_ib(i)%length_z = dflt_real
1693 patch_ib(i)%radius = dflt_real
1694 patch_ib(i)%airfoil_id = 0
1695 patch_ib(i)%model_id = 0
1696 patch_ib(i)%slip = .false.
1697
1698 patch_ib(i)%thermal_bc = 0
1699 patch_ib(i)%Twall = 0._wp
1700 patch_ib(i)%surface_reaction = 0
1701
1702 patch_ib(i)%v_blow = 0._wp
1703 patch_ib(i)%inj_species = 0
1704 patch_ib(i)%burn_rate_exp = 0._wp
1705 patch_ib(i)%burn_rate_pref = 0._wp
1706
1707 ! Variables to handle moving immersed boundaries, defaulting to no movement
1708 patch_ib(i)%moving_ibm = 0
1709 patch_ib(i)%vel(:) = 0._wp
1710 patch_ib(i)%angles(:) = 0._wp
1711 patch_ib(i)%angular_vel(:) = 0._wp
1712 patch_ib(i)%kin_model = 0
1713 patch_ib(i)%kin_hinge(:) = 0._wp
1714 patch_ib(i)%kin_offset(:) = 0._wp
1715 patch_ib(i)%kin_phi0 = 0._wp
1716 patch_ib(i)%kin_theta0 = 0._wp
1717 patch_ib(i)%kin_theta_mean = 0._wp
1718 patch_ib(i)%kin_freq = 0._wp
1719 patch_ib(i)%kin_phase = 0._wp
1720 patch_ib(i)%kin_t0 = 0._wp
1721 patch_ib(i)%kin_ramp = 0._wp
1722 patch_ib(i)%kin_pitch_rate = 0._wp
1723 patch_ib(i)%kin_smooth = 0._wp
1724 patch_ib(i)%mass = dflt_real
1725 patch_ib(i)%moment = dflt_real
1726 patch_ib(i)%centroid_offset(:) = 0._wp
1727
1728 ! sets values of a rotation matrix which can be used when calculating rotations
1729 patch_ib(i)%rotation_matrix = 0._wp
1730 patch_ib(i)%rotation_matrix(1, 1) = 1._wp
1731 patch_ib(i)%rotation_matrix(2, 2) = 1._wp
1732 patch_ib(i)%rotation_matrix(3, 3) = 1._wp
1733 patch_ib(i)%rotation_matrix_inverse = patch_ib(i)%rotation_matrix
1734 end do
1735
1736 num_stl_models = 0
1737
1738 do i = 1, num_stl_models_max
1739 stl_models(i)%model_filepath(:) = dflt_char
1740 stl_models(i)%model_translate(:) = 0._wp
1741 stl_models(i)%model_scale(:) = 1._wp
1742 stl_models(i)%model_threshold = ray_tracing_threshold
1743 end do
1744
1746
1747 !> Initialize the global parameters module
1749
1750 integer :: i, j, k
1751 integer :: fac
1752
1753# 754 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1754 ! Determining the degree of the WENO polynomials
1755 if (recon_type == recon_type_weno) then
1756 weno_polyn = (weno_order - 1)/2
1757 if (teno) then
1759 else
1761 end if
1762 else if (recon_type == recon_type_muscl) then
1764 end if
1765
1766# 765 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1767#if defined(MFC_OpenACC)
1768# 765 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1769!$acc update device(weno_polyn, muscl_polyn)
1770# 765 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1771#elif defined(MFC_OpenMP)
1772# 765 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1773!$omp target update to(weno_polyn, muscl_polyn)
1774# 765 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1775#endif
1776# 766 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1777
1778# 766 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1779#if defined(MFC_OpenACC)
1780# 766 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1781!$acc update device(weno_num_stencils)
1782# 766 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1783#elif defined(MFC_OpenMP)
1784# 766 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1785!$omp target update to(weno_num_stencils)
1786# 766 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1787#endif
1788# 767 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1789
1790# 767 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1791#if defined(MFC_OpenACC)
1792# 767 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1793!$acc update device(nb)
1794# 767 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1795#elif defined(MFC_OpenMP)
1796# 767 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1797!$omp target update to(nb)
1798# 767 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1799#endif
1800# 768 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1801
1802# 768 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1803#if defined(MFC_OpenACC)
1804# 768 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1805!$acc update device(num_dims, num_vels, num_fluids)
1806# 768 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1807#elif defined(MFC_OpenMP)
1808# 768 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1809!$omp target update to(num_dims, num_vels, num_fluids)
1810# 768 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1811#endif
1812# 769 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1813
1814# 769 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1815#if defined(MFC_OpenACC)
1816# 769 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1817!$acc update device(igr, igr_order, igr_iter_solver)
1818# 769 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1819#elif defined(MFC_OpenMP)
1820# 769 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1821!$omp target update to(igr, igr_order, igr_iter_solver)
1822# 769 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1823#endif
1824# 770 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1825# 771 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1826
1827 ! muscl_eps: use per-limiter defaults when user did not set it
1828 if (f_is_default(muscl_eps)) then
1829 if (muscl_lim <= 2) then
1830 muscl_eps = 1e-9_wp ! minmod, MC
1831 else
1832 muscl_eps = 1e-6_wp ! Van Albada, Van Leer, SUPERBEE
1833 end if
1834 end if
1835
1836 ! Initialize counts: viscous fluids, surface-tension interfaces, curvature interfaces
1837 re_size = 0
1838 re_size_max = 0
1839
1840 ! Populate eqn_idx, sys_size, shear_* (shared logic)
1841 call s_initialize_eqn_idx(nmom, nb, six_eqn_alf_is_advected=.true.)
1842
1843 ! sim-only: GPU update for shear state after s_initialize_eqn_idx populated it
1844 if (model_eqns == model_eqns_5eq .or. model_eqns == model_eqns_6eq) then
1845 if (hypoelasticity) then
1846
1847# 791 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1848#if defined(MFC_OpenACC)
1849# 791 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1850!$acc update device(shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices)
1851# 791 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1852#elif defined(MFC_OpenMP)
1853# 791 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1854!$omp target update to(shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices)
1855# 791 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1856#endif
1857# 792 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1858 end if
1859 end if
1860
1861 ! Per-target (sim): nmomsp/nmomtot for qbmm, qbmm_idx alloc/fill, gam, Re_idx
1862 if (model_eqns == model_eqns_5eq .and. bubbles_euler) then
1863 if (qbmm) then
1864 nmomsp = 4 ! number of special moments
1865 if (nnode == 4) nmomtot = nmom*nb
1866 end if
1867
1868#ifdef MFC_DEBUG
1869# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1870 block
1871# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1872 use iso_fortran_env, only: output_unit
1873# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1874
1875# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1876 print *, 'm_global_parameters.fpp:802: ', '@:ALLOCATE(qbmm_idx%rs(nb), qbmm_idx%vs(nb))'
1877# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1878
1879# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1880 call flush (output_unit)
1881# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1882 end block
1883# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1884#endif
1885# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1886 allocate (qbmm_idx%rs(nb), qbmm_idx%vs(nb))
1887# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1888
1889# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1890
1891# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1892
1893# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1894#if defined(MFC_OpenACC)
1895# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1896!$acc enter data create(qbmm_idx%rs, qbmm_idx%vs)
1897# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1898#elif defined(MFC_OpenMP)
1899# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1900!$omp target enter data map(always,alloc:qbmm_idx%rs, qbmm_idx%vs)
1901# 802 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1902#endif
1903# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1904#ifdef MFC_DEBUG
1905# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1906 block
1907# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1908 use iso_fortran_env, only: output_unit
1909# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1910
1911# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1912 print *, 'm_global_parameters.fpp:803: ', '@:ALLOCATE(qbmm_idx%ps(nb), qbmm_idx%ms(nb))'
1913# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1914
1915# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1916 call flush (output_unit)
1917# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1918 end block
1919# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1920#endif
1921# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1922 allocate (qbmm_idx%ps(nb), qbmm_idx%ms(nb))
1923# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1924
1925# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1926
1927# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1928
1929# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1930#if defined(MFC_OpenACC)
1931# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1932!$acc enter data create(qbmm_idx%ps, qbmm_idx%ms)
1933# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1934#elif defined(MFC_OpenMP)
1935# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1936!$omp target enter data map(always,alloc:qbmm_idx%ps, qbmm_idx%ms)
1937# 803 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1938#endif
1939# 804 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1940
1941 gam = bub_pp%gam_g
1942
1943 if (qbmm) then
1944#ifdef MFC_DEBUG
1945# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1946 block
1947# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1948 use iso_fortran_env, only: output_unit
1949# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1950
1951# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1952 print *, 'm_global_parameters.fpp:808: ', '@:ALLOCATE(qbmm_idx%moms(nb, nmom))'
1953# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1954
1955# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1956 call flush (output_unit)
1957# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1958 end block
1959# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1960#endif
1961# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1962 allocate (qbmm_idx%moms(nb, nmom))
1963# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1964
1965# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1966
1967# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1968#if defined(MFC_OpenACC)
1969# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1970!$acc enter data create(qbmm_idx%moms)
1971# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1972#elif defined(MFC_OpenMP)
1973# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1974!$omp target enter data map(always,alloc:qbmm_idx%moms)
1975# 808 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1976#endif
1977# 809 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
1978 do i = 1, nb
1979 do j = 1, nmom
1980 qbmm_idx%moms(i, j) = eqn_idx%bub%beg + (j - 1) + (i - 1)*nmom
1981 end do
1982 qbmm_idx%rs(i) = qbmm_idx%moms(i, 2)
1983 qbmm_idx%vs(i) = qbmm_idx%moms(i, 3)
1984 end do
1985 else
1986 do i = 1, nb
1987 if (.not. polytropic) then
1988 fac = 4
1989 else
1990 fac = 2
1991 end if
1992
1993 qbmm_idx%rs(i) = eqn_idx%bub%beg + (i - 1)*fac
1994 qbmm_idx%vs(i) = qbmm_idx%rs(i) + 1
1995
1996 if (.not. polytropic) then
1997 qbmm_idx%ps(i) = qbmm_idx%vs(i) + 1
1998 qbmm_idx%ms(i) = qbmm_idx%ps(i) + 1
1999 end if
2000 end do
2001 end if
2002 end if
2003
2004 ! sim-only: Re_idx (non-gamma-law models only)
2005 if (model_eqns /= model_eqns_gamma_law) then
2006 ! Count fluids with non-negligible viscous effects (Re > 0)
2007 do i = 1, num_fluids
2008 if (fluid_pp(i)%Re(1) > 0) re_size(1) = re_size(1) + 1
2009 if (fluid_pp(i)%Re(2) > 0) re_size(2) = re_size(2) + 1
2010 end do
2011
2012 if (re_size(1) > 0._wp) shear_stress = .true.
2013 if (re_size(2) > 0._wp) bulk_stress = .true.
2014
2015 re_size_max = maxval(re_size)
2016
2017
2018# 848 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2019#if defined(MFC_OpenACC)
2020# 848 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2021!$acc update device(Re_size, Re_size_max, shear_stress, bulk_stress)
2022# 848 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2023#elif defined(MFC_OpenMP)
2024# 848 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2025!$omp target update to(Re_size, Re_size_max, shear_stress, bulk_stress)
2026# 848 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2027#endif
2028# 849 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2029
2030 ! Bookkeeping the indexes of any viscous fluids
2031 if (viscous) then
2032#ifdef MFC_DEBUG
2033# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2034 block
2035# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2036 use iso_fortran_env, only: output_unit
2037# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2038
2039# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2040 print *, 'm_global_parameters.fpp:852: ', '@:ALLOCATE(Re_idx(1:2, 1:Re_size_max))'
2041# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2042
2043# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2044 call flush (output_unit)
2045# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2046 end block
2047# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2048#endif
2049# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2050 allocate (re_idx(1:2, 1:re_size_max))
2051# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2052
2053# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2054
2055# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2056#if defined(MFC_OpenACC)
2057# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2058!$acc enter data create(Re_idx)
2059# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2060#elif defined(MFC_OpenMP)
2061# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2062!$omp target enter data map(always,alloc:Re_idx)
2063# 852 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2064#endif
2065# 853 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2066
2067 k = 0
2068 do i = 1, num_fluids
2069 if (fluid_pp(i)%Re(1) > 0) then
2070 k = k + 1; re_idx(1, k) = i
2071 end if
2072 end do
2073
2074 k = 0
2075 do i = 1, num_fluids
2076 if (fluid_pp(i)%Re(2) > 0) then
2077 k = k + 1; re_idx(2, k) = i
2078 end if
2079 end do
2080 end if
2081 end if
2082
2083 ! Herschel-Bulkley non-Newtonian viscosity: gather per-fluid parameters into device arrays
2084#ifdef MFC_DEBUG
2085# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2086 block
2087# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2088 use iso_fortran_env, only: output_unit
2089# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2090
2091# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2092 print *, 'm_global_parameters.fpp:871: ', '@:ALLOCATE(is_non_newtonian(1:num_fluids))'
2093# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2094
2095# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2096 call flush (output_unit)
2097# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2098 end block
2099# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2100#endif
2101# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2102 allocate (is_non_newtonian(1:num_fluids))
2103# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2104
2105# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2106
2107# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2108#if defined(MFC_OpenACC)
2109# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2110!$acc enter data create(is_non_newtonian)
2111# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2112#elif defined(MFC_OpenMP)
2113# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2114!$omp target enter data map(always,alloc:is_non_newtonian)
2115# 871 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2116#endif
2117# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2118#ifdef MFC_DEBUG
2119# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2120 block
2121# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2122 use iso_fortran_env, only: output_unit
2123# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2124
2125# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2126 print *, 'm_global_parameters.fpp:872: ', '@:ALLOCATE(hb_tau0(1:num_fluids), hb_K(1:num_fluids), hb_nn(1:num_fluids), hb_m_arr(1:num_fluids))'
2127# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2128
2129# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2130 call flush (output_unit)
2131# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2132 end block
2133# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2134#endif
2135# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2136 allocate (hb_tau0(1:num_fluids), hb_k(1:num_fluids), hb_nn(1:num_fluids), hb_m_arr(1:num_fluids))
2137# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2138
2139# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2140
2141# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2142
2143# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2144
2145# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2146
2147# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2148#if defined(MFC_OpenACC)
2149# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2150!$acc enter data create(hb_tau0, hb_K, hb_nn, hb_m_arr)
2151# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2152#elif defined(MFC_OpenMP)
2153# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2154!$omp target enter data map(always,alloc:hb_tau0, hb_K, hb_nn, hb_m_arr)
2155# 872 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2156#endif
2157# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2158#ifdef MFC_DEBUG
2159# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2160 block
2161# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2162 use iso_fortran_env, only: output_unit
2163# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2164
2165# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2166 print *, 'm_global_parameters.fpp:873: ', '@:ALLOCATE(hb_mu_min(1:num_fluids), hb_mu_max(1:num_fluids))'
2167# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2168
2169# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2170 call flush (output_unit)
2171# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2172 end block
2173# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2174#endif
2175# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2176 allocate (hb_mu_min(1:num_fluids), hb_mu_max(1:num_fluids))
2177# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2178
2179# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2180
2181# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2182
2183# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2184#if defined(MFC_OpenACC)
2185# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2186!$acc enter data create(hb_mu_min, hb_mu_max)
2187# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2188#elif defined(MFC_OpenMP)
2189# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2190!$omp target enter data map(always,alloc:hb_mu_min, hb_mu_max)
2191# 873 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2192#endif
2193# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2194#ifdef MFC_DEBUG
2195# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2196 block
2197# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2198 use iso_fortran_env, only: output_unit
2199# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2200
2201# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2202 print *, 'm_global_parameters.fpp:874: ', '@:ALLOCATE(fluid_inv_re(1:num_fluids))'
2203# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2204
2205# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2206 call flush (output_unit)
2207# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2208 end block
2209# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2210#endif
2211# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2212 allocate (fluid_inv_re(1:num_fluids))
2213# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2214
2215# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2216
2217# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2218#if defined(MFC_OpenACC)
2219# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2220!$acc enter data create(fluid_inv_re)
2221# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2222#elif defined(MFC_OpenMP)
2223# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2224!$omp target enter data map(always,alloc:fluid_inv_re)
2225# 874 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2226#endif
2227# 875 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2228
2229 any_non_newtonian = .false.
2230 do i = 1, num_fluids
2231 is_non_newtonian(i) = fluid_pp(i)%non_newtonian
2232 if (is_non_newtonian(i)) any_non_newtonian = .true.
2233 hb_tau0(i) = fluid_pp(i)%tau0
2234 hb_k(i) = fluid_pp(i)%K
2235 hb_nn(i) = fluid_pp(i)%nn
2236 hb_m_arr(i) = fluid_pp(i)%hb_m
2237 hb_mu_min(i) = fluid_pp(i)%mu_min
2238 hb_mu_max(i) = fluid_pp(i)%mu_max
2239 if (fluid_pp(i)%Re(1) > 0._wp) then
2240 fluid_inv_re(i) = 1._wp/fluid_pp(i)%Re(1)
2241 else
2242 fluid_inv_re(i) = 0._wp
2243 end if
2244 end do
2245
2246# 892 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2247#if defined(MFC_OpenACC)
2248# 892 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2249!$acc update device(any_non_newtonian, is_non_newtonian, hb_tau0, hb_K, hb_nn, hb_m_arr, hb_mu_min, hb_mu_max, fluid_inv_re)
2250# 892 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2251#elif defined(MFC_OpenMP)
2252# 892 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2253!$omp target update to(any_non_newtonian, is_non_newtonian, hb_tau0, hb_K, hb_nn, hb_m_arr, hb_mu_min, hb_mu_max, fluid_inv_re)
2254# 892 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2255#endif
2256# 893 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2257
2258 if (bubbles_euler .and. qbmm .and. .not. polytropic) then
2259 allocate (mpi_io_data%view(1:sys_size + 2*nb*nnode))
2260 allocate (mpi_io_data%var(1:sys_size + 2*nb*nnode))
2261 else if (bubbles_lagrange) then
2262 allocate (mpi_io_data%view(1:sys_size + 1))
2263 allocate (mpi_io_data%var(1:sys_size + 1))
2264 else
2265 allocate (mpi_io_data%view(1:sys_size))
2266 allocate (mpi_io_data%var(1:sys_size))
2267 end if
2268
2269 ! Configure WENO averaging flag (arithmetic mean vs. unaltered values)
2270 wa_flg = 0._wp; if (weno_avg) wa_flg = 1._wp
2271
2272# 907 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2273#if defined(MFC_OpenACC)
2274# 907 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2275!$acc update device(wa_flg)
2276# 907 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2277#elif defined(MFC_OpenMP)
2278# 907 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2279!$omp target update to(wa_flg)
2280# 907 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2281#endif
2282# 908 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2283
2284 ! Resort to default WENO-JS if no other WENO scheme is selected
2285# 911 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2286 wenojs = .not. (mapped_weno .or. wenoz .or. teno)
2287# 913 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2288
2289 if (hypoelasticity .or. mhd .or. probe_wrt .or. ib .or. bubbles_lagrange) then
2290 fd_number = max(1, fd_order/2)
2291 end if
2292
2294 if (hypoelasticity) then
2295 if (riemann_solver == 1) then
2296 if (hypo_hll_interface_rhs) then
2298 else
2300 end if
2301 else if (riemann_solver == 2) then
2303 else if (riemann_solver == 4) then
2305 end if
2306 end if
2307
2308 ! flux_src: choose exactly one export mode (adv_src_mode) for the NC volume fraction advection term.
2309 if (riemann_solver == 1 .and. .not. hll_u_interface) then
2310 ! HLL Method 1 (alpha-interface): flux_src(adv_idx%beg:adv_idx%end) carries interface alpha_k per fluid.
2312 else if ((riemann_solver == 1 .and. hll_u_interface) .or. riemann_solver == 2 .or. riemann_solver == 3 &
2313 & .or. riemann_solver == 5) then
2314 ! HLLC, HLL Method 2 (u-interface), exact, LF: flux_src(adv_idx%beg) carries one shared face-normal velocity.
2316 else if (riemann_solver == 4) then
2317 ! MHD HLLD: single species, no volume fraction to advect. Hypo HLLD: the dual-pass keeps all NC terms in the flux.
2319 end if
2320
2321 call s_configure_coordinate_bounds(recon_type, weno_polyn, muscl_polyn, igr_order, buff_size, idwint, idwbuff, viscous, &
2322 & bubbles_lagrange, m, n, p, num_dims, igr, ib, fd_number)
2323
2324# 948 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2325#if defined(MFC_OpenACC)
2326# 948 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2327!$acc update device(idwint, idwbuff)
2328# 948 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2329#elif defined(MFC_OpenMP)
2330# 948 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2331!$omp target update to(idwint, idwbuff)
2332# 948 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2333#endif
2334# 949 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2335
2336 ! Configuring Coordinate Direction Indexes
2337 if (bubbles_euler) then
2338#ifdef MFC_DEBUG
2339# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2340 block
2341# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2342 use iso_fortran_env, only: output_unit
2343# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2344
2345# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2346 print *, 'm_global_parameters.fpp:952: ', '@:ALLOCATE(ptil( idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
2347# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2348
2349# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2350 call flush (output_unit)
2351# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2352 end block
2353# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2354#endif
2355# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2356 allocate (ptil( idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
2357# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2358
2359# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2360
2361# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2362#if defined(MFC_OpenACC)
2363# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2364!$acc enter data create(ptil)
2365# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2366#elif defined(MFC_OpenMP)
2367# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2368!$omp target enter data map(always,alloc:ptil)
2369# 952 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2370#endif
2371# 953 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2372 end if
2373
2374
2375# 955 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2376#if defined(MFC_OpenACC)
2377# 955 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2378!$acc update device(fd_order, fd_number)
2379# 955 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2380#elif defined(MFC_OpenMP)
2381# 955 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2382!$omp target update to(fd_order, fd_number)
2383# 955 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2384#endif
2385# 956 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2386
2387 if (cyl_coord .neqv. .true.) then ! Cartesian grid
2388 grid_geometry = 1
2389 else if (cyl_coord .and. p == 0) then ! Axisymmetric cylindrical grid
2390 grid_geometry = 2
2391 else
2392 grid_geometry = 3
2393 end if
2394
2395 ! nc_iface_vel: use_nc_iface_vel enables a second export channel. Use it when the Riemann solver must expose interface
2396 ! velocities beyond what flux_src already provides:
2397 !
2398 ! 1. adv_src_mode_alpha_iface + alt_soundspeed: face-normal velocity only, for the KdivU correction (flux_src already
2399 ! carries alpha in this mode) 2. hypo_nc_mode_interface: all components for the hypoelastic velocity-gradient tensor
2400 ! 3. hypo_nc_mode_dual_pass + axisym: anchored radial face traces for the cylindrical completion (both velocity
2401 ! components are exported per face; the completion consumes the radial one from each pass)
2403 & .and. grid_geometry == 2) .or. (adv_src_mode == adv_src_mode_alpha_iface .and. alt_soundspeed)
2404
2405
2406# 975 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2407#if defined(MFC_OpenACC)
2408# 975 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2409!$acc update device(sys_size, buff_size, eqn_idx, adv_n, adap_dt, pi_fac, adap_dt_tol, adap_dt_max_iters)
2410# 975 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2411#elif defined(MFC_OpenMP)
2412# 975 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2413!$omp target update to(sys_size, buff_size, eqn_idx, adv_n, adap_dt, pi_fac, adap_dt_tol, adap_dt_max_iters)
2414# 975 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2415#endif
2416# 976 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2417
2418# 976 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2419#if defined(MFC_OpenACC)
2420# 976 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2421!$acc update device(cfl_target, m, n, p)
2422# 976 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2423#elif defined(MFC_OpenMP)
2424# 976 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2425!$omp target update to(cfl_target, m, n, p)
2426# 976 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2427#endif
2428# 977 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2429
2430
2431# 978 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2432#if defined(MFC_OpenACC)
2433# 978 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2434!$acc update device(alt_soundspeed, acoustic_source, num_source)
2435# 978 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2436#elif defined(MFC_OpenMP)
2437# 978 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2438!$omp target update to(alt_soundspeed, acoustic_source, num_source)
2439# 978 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2440#endif
2441# 979 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2442
2443# 979 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2444#if defined(MFC_OpenACC)
2445# 979 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2446!$acc update device(dt, sys_size, buff_size, eqn_idx, mpp_lim, bubbles_euler, hypoelasticity, alt_soundspeed, avg_state, model_eqns, mixture_err, grid_geometry, cyl_coord, mp_weno, weno_eps, teno_CT, low_Mach, ib)
2447# 979 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2448#elif defined(MFC_OpenMP)
2449# 979 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2450!$omp target update to(dt, sys_size, buff_size, eqn_idx, mpp_lim, bubbles_euler, hypoelasticity, alt_soundspeed, avg_state, model_eqns, mixture_err, grid_geometry, cyl_coord, mp_weno, weno_eps, teno_CT, low_Mach, ib)
2451# 979 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2452#endif
2453# 981 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2454
2455# 981 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2456#if defined(MFC_OpenACC)
2457# 981 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2458!$acc update device(riemann_hypo_ADC, ADC_kappa, hll_u_interface, hypo_hll_interface_rhs, hypo_nc_mode)
2459# 981 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2460#elif defined(MFC_OpenMP)
2461# 981 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2462!$omp target update to(riemann_hypo_ADC, ADC_kappa, hll_u_interface, hypo_hll_interface_rhs, hypo_nc_mode)
2463# 981 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2464#endif
2465# 982 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2466
2467
2468# 983 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2469#if defined(MFC_OpenACC)
2470# 983 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2471!$acc update device(Bx0)
2472# 983 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2473#elif defined(MFC_OpenMP)
2474# 983 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2475!$omp target update to(Bx0)
2476# 983 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2477#endif
2478# 984 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2479
2480
2481# 985 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2482#if defined(MFC_OpenACC)
2483# 985 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2484!$acc update device(chem_params)
2485# 985 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2486#elif defined(MFC_OpenMP)
2487# 985 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2488!$omp target update to(chem_params)
2489# 985 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2490#endif
2491# 986 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2492
2493
2494# 987 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2495#if defined(MFC_OpenACC)
2496# 987 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2497!$acc update device(rburn)
2498# 987 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2499#elif defined(MFC_OpenMP)
2500# 987 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2501!$omp target update to(rburn)
2502# 987 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2503#endif
2504# 988 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2505
2506
2507# 989 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2508#if defined(MFC_OpenACC)
2509# 989 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2510!$acc update device(cont_damage, tau_star, cont_damage_s, alpha_bar)
2511# 989 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2512#elif defined(MFC_OpenMP)
2513# 989 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2514!$omp target update to(cont_damage, tau_star, cont_damage_s, alpha_bar)
2515# 989 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2516#endif
2517# 990 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2518
2519
2520# 991 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2521#if defined(MFC_OpenACC)
2522# 991 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2523!$acc update device(hyper_cleaning, hyper_cleaning_speed, hyper_cleaning_tau)
2524# 991 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2525#elif defined(MFC_OpenMP)
2526# 991 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2527!$omp target update to(hyper_cleaning, hyper_cleaning_speed, hyper_cleaning_tau)
2528# 991 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2529#endif
2530# 992 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2531
2532# 994 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2533
2534# 994 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2535#if defined(MFC_OpenACC)
2536# 994 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2537!$acc update device(wenojs, mapped_weno, wenoz, teno)
2538# 994 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2539#elif defined(MFC_OpenMP)
2540# 994 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2541!$omp target update to(wenojs, mapped_weno, wenoz, teno)
2542# 994 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2543#endif
2544# 995 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2545
2546# 995 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2547#if defined(MFC_OpenACC)
2548# 995 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2549!$acc update device(wenoz_q)
2550# 995 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2551#elif defined(MFC_OpenMP)
2552# 995 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2553!$omp target update to(wenoz_q)
2554# 995 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2555#endif
2556# 996 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2557
2558# 996 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2559#if defined(MFC_OpenACC)
2560# 996 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2561!$acc update device(mhd, relativity)
2562# 996 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2563#elif defined(MFC_OpenMP)
2564# 996 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2565!$omp target update to(mhd, relativity)
2566# 996 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2567#endif
2568# 997 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2569
2570# 997 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2571#if defined(MFC_OpenACC)
2572# 997 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2573!$acc update device(muscl_order, muscl_lim)
2574# 997 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2575#elif defined(MFC_OpenMP)
2576# 997 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2577!$omp target update to(muscl_order, muscl_lim)
2578# 997 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2579#endif
2580# 998 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2581
2582# 998 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2583#if defined(MFC_OpenACC)
2584# 998 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2585!$acc update device(igr, igr_order)
2586# 998 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2587#elif defined(MFC_OpenMP)
2588# 998 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2589!$omp target update to(igr, igr_order)
2590# 998 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2591#endif
2592# 999 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2593
2594# 999 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2595#if defined(MFC_OpenACC)
2596# 999 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2597!$acc update device(num_fluids, num_dims, viscous, num_vels, nb, muscl_lim)
2598# 999 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2599#elif defined(MFC_OpenMP)
2600# 999 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2601!$omp target update to(num_fluids, num_dims, viscous, num_vels, nb, muscl_lim)
2602# 999 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2603#endif
2604# 1000 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2605# 1001 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2606
2607
2608# 1002 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2609#if defined(MFC_OpenACC)
2610# 1002 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2611!$acc update device(int_comp, ic_eps, ic_beta)
2612# 1002 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2613#elif defined(MFC_OpenMP)
2614# 1002 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2615!$omp target update to(int_comp, ic_eps, ic_beta)
2616# 1002 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2617#endif
2618# 1003 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2619
2620# 1003 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2621#if defined(MFC_OpenACC)
2622# 1003 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2623!$acc update device(muscl_eps)
2624# 1003 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2625#elif defined(MFC_OpenMP)
2626# 1003 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2627!$omp target update to(muscl_eps)
2628# 1003 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2629#endif
2630# 1004 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2631
2632# 1004 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2633#if defined(MFC_OpenACC)
2634# 1004 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2635!$acc update device(dir_idx, dir_flg, dir_idx_tau, stress_perm)
2636# 1004 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2637#elif defined(MFC_OpenMP)
2638# 1004 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2639!$omp target update to(dir_idx, dir_flg, dir_idx_tau, stress_perm)
2640# 1004 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2641#endif
2642# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2643
2644
2645# 1006 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2646#if defined(MFC_OpenACC)
2647# 1006 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2648!$acc update device(relax, relax_model, palpha_eps, ptgalpha_eps)
2649# 1006 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2650#elif defined(MFC_OpenMP)
2651# 1006 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2652!$omp target update to(relax, relax_model, palpha_eps, ptgalpha_eps)
2653# 1006 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2654#endif
2655# 1007 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2656
2657 if (synthetic_turbulence) then
2658
2659# 1009 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2660#if defined(MFC_OpenACC)
2661# 1009 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2662!$acc update device(synthetic_turbulence, num_turbulent_sources)
2663# 1009 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2664#elif defined(MFC_OpenMP)
2665# 1009 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2666!$omp target update to(synthetic_turbulence, num_turbulent_sources)
2667# 1009 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2668#endif
2669# 1010 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2670
2671# 1010 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2672#if defined(MFC_OpenACC)
2673# 1010 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2674!$acc update device(synth_U_inf, synth_n_waves_per_shell, synth_k_shell, synth_amp_shell)
2675# 1010 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2676#elif defined(MFC_OpenMP)
2677# 1010 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2678!$omp target update to(synth_U_inf, synth_n_waves_per_shell, synth_k_shell, synth_amp_shell)
2679# 1010 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2680#endif
2681# 1011 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2682
2683# 1011 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2684#if defined(MFC_OpenACC)
2685# 1011 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2686!$acc update device(turb_pos, synth_L)
2687# 1011 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2688#elif defined(MFC_OpenMP)
2689# 1011 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2690!$omp target update to(turb_pos, synth_L)
2691# 1011 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2692#endif
2693# 1012 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2694 end if
2695
2696 ! Allocating grid variables for the x-, y- and z-directions
2697#ifdef MFC_DEBUG
2698# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2699 block
2700# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2701 use iso_fortran_env, only: output_unit
2702# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2703
2704# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2705 print *, 'm_global_parameters.fpp:1015: ', '@:ALLOCATE(x_cb(-1 - buff_size:m + buff_size))'
2706# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2707
2708# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2709 call flush (output_unit)
2710# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2711 end block
2712# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2713#endif
2714# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2715 allocate (x_cb(-1 - buff_size:m + buff_size))
2716# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2717
2718# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2719
2720# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2721#if defined(MFC_OpenACC)
2722# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2723!$acc enter data create(x_cb)
2724# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2725#elif defined(MFC_OpenMP)
2726# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2727!$omp target enter data map(always,alloc:x_cb)
2728# 1015 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2729#endif
2730# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2731#ifdef MFC_DEBUG
2732# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2733 block
2734# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2735 use iso_fortran_env, only: output_unit
2736# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2737
2738# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2739 print *, 'm_global_parameters.fpp:1016: ', '@:ALLOCATE(x_cc(-buff_size:m + buff_size))'
2740# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2741
2742# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2743 call flush (output_unit)
2744# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2745 end block
2746# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2747#endif
2748# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2749 allocate (x_cc(-buff_size:m + buff_size))
2750# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2751
2752# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2753
2754# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2755#if defined(MFC_OpenACC)
2756# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2757!$acc enter data create(x_cc)
2758# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2759#elif defined(MFC_OpenMP)
2760# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2761!$omp target enter data map(always,alloc:x_cc)
2762# 1016 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2763#endif
2764# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2765#ifdef MFC_DEBUG
2766# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2767 block
2768# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2769 use iso_fortran_env, only: output_unit
2770# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2771
2772# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2773 print *, 'm_global_parameters.fpp:1017: ', '@:ALLOCATE(dx(-buff_size:m + buff_size))'
2774# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2775
2776# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2777 call flush (output_unit)
2778# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2779 end block
2780# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2781#endif
2782# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2783 allocate (dx(-buff_size:m + buff_size))
2784# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2785
2786# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2787
2788# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2789#if defined(MFC_OpenACC)
2790# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2791!$acc enter data create(dx)
2792# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2793#elif defined(MFC_OpenMP)
2794# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2795!$omp target enter data map(always,alloc:dx)
2796# 1017 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2797#endif
2798# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2799#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
2800# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2801 block
2802# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2803 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
2804# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2805 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
2806# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2807#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
2808# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2809 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
2810# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2811#else
2812# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2813 use cuda_runtime_api
2814# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2815#endif
2816# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2817 integer :: istat
2818# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2819
2820# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2821 if (nv_uvm_pref_gpu) then
2822# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2823 ! set preferred location GPU
2824# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2825 istat = cudamemadvise(c_devloc(x_cb), sizeof(x_cb), cudamemadvisesetpreferredlocation, 0)
2826# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2827 if (istat /= cudasuccess) then
2828# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2829 write (*, "('Error code: ',I0, ': ')") istat
2830# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2831 end if
2832# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2833 ! set accessed by CPU
2834# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2835 istat = cudamemadvise(c_devloc(x_cb), sizeof(x_cb), cudamemadvisesetaccessedby, cudacpudeviceid)
2836# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2837 if (istat /= cudasuccess) then
2838# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2839 write (*, "('Error code: ',I0, ': ')") istat
2840# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2841 end if
2842# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2843 ! prefetch to GPU - physically populate memory pages
2844# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2845 istat = cudamemprefetchasync(c_devloc(x_cb), sizeof(x_cb), 0, 0)
2846# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2847 if (istat /= cudasuccess) then
2848# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2849 write (*, "('Error code: ',I0, ': ')") istat
2850# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2851 end if
2852# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2853 end if
2854# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2855 end block
2856# 1018 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2857#endif
2858# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2859#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
2860# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2861 block
2862# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2863 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
2864# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2865 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
2866# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2867#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
2868# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2869 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
2870# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2871#else
2872# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2873 use cuda_runtime_api
2874# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2875#endif
2876# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2877 integer :: istat
2878# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2879
2880# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2881 if (nv_uvm_pref_gpu) then
2882# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2883 ! set preferred location GPU
2884# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2885 istat = cudamemadvise(c_devloc(x_cc), sizeof(x_cc), cudamemadvisesetpreferredlocation, 0)
2886# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2887 if (istat /= cudasuccess) then
2888# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2889 write (*, "('Error code: ',I0, ': ')") istat
2890# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2891 end if
2892# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2893 ! set accessed by CPU
2894# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2895 istat = cudamemadvise(c_devloc(x_cc), sizeof(x_cc), cudamemadvisesetaccessedby, cudacpudeviceid)
2896# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2897 if (istat /= cudasuccess) then
2898# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2899 write (*, "('Error code: ',I0, ': ')") istat
2900# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2901 end if
2902# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2903 ! prefetch to GPU - physically populate memory pages
2904# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2905 istat = cudamemprefetchasync(c_devloc(x_cc), sizeof(x_cc), 0, 0)
2906# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2907 if (istat /= cudasuccess) then
2908# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2909 write (*, "('Error code: ',I0, ': ')") istat
2910# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2911 end if
2912# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2913 end if
2914# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2915 end block
2916# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2917#endif
2918# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2919#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
2920# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2921 block
2922# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2923 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
2924# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2925 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
2926# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2927#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
2928# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2929 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
2930# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2931#else
2932# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2933 use cuda_runtime_api
2934# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2935#endif
2936# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2937 integer :: istat
2938# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2939
2940# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2941 if (nv_uvm_pref_gpu) then
2942# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2943 ! set preferred location GPU
2944# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2945 istat = cudamemadvise(c_devloc(dx), sizeof(dx), cudamemadvisesetpreferredlocation, 0)
2946# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2947 if (istat /= cudasuccess) then
2948# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2949 write (*, "('Error code: ',I0, ': ')") istat
2950# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2951 end if
2952# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2953 ! set accessed by CPU
2954# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2955 istat = cudamemadvise(c_devloc(dx), sizeof(dx), cudamemadvisesetaccessedby, cudacpudeviceid)
2956# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2957 if (istat /= cudasuccess) then
2958# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2959 write (*, "('Error code: ',I0, ': ')") istat
2960# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2961 end if
2962# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2963 ! prefetch to GPU - physically populate memory pages
2964# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2965 istat = cudamemprefetchasync(c_devloc(dx), sizeof(dx), 0, 0)
2966# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2967 if (istat /= cudasuccess) then
2968# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2969 write (*, "('Error code: ',I0, ': ')") istat
2970# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2971 end if
2972# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2973 end if
2974# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2975 end block
2976# 1020 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2977#endif
2978# 1021 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2979
2980 if (n == 0) return
2981#ifdef MFC_DEBUG
2982# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2983 block
2984# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2985 use iso_fortran_env, only: output_unit
2986# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2987
2988# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2989 print *, 'm_global_parameters.fpp:1023: ', '@:ALLOCATE(y_cb(-1 - buff_size:n + buff_size))'
2990# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2991
2992# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2993 call flush (output_unit)
2994# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2995 end block
2996# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2997#endif
2998# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
2999 allocate (y_cb(-1 - buff_size:n + buff_size))
3000# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3001
3002# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3003
3004# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3005#if defined(MFC_OpenACC)
3006# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3007!$acc enter data create(y_cb)
3008# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3009#elif defined(MFC_OpenMP)
3010# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3011!$omp target enter data map(always,alloc:y_cb)
3012# 1023 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3013#endif
3014# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3015#ifdef MFC_DEBUG
3016# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3017 block
3018# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3019 use iso_fortran_env, only: output_unit
3020# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3021
3022# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3023 print *, 'm_global_parameters.fpp:1024: ', '@:ALLOCATE(y_cc(-buff_size:n + buff_size))'
3024# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3025
3026# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3027 call flush (output_unit)
3028# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3029 end block
3030# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3031#endif
3032# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3033 allocate (y_cc(-buff_size:n + buff_size))
3034# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3035
3036# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3037
3038# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3039#if defined(MFC_OpenACC)
3040# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3041!$acc enter data create(y_cc)
3042# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3043#elif defined(MFC_OpenMP)
3044# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3045!$omp target enter data map(always,alloc:y_cc)
3046# 1024 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3047#endif
3048# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3049#ifdef MFC_DEBUG
3050# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3051 block
3052# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3053 use iso_fortran_env, only: output_unit
3054# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3055
3056# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3057 print *, 'm_global_parameters.fpp:1025: ', '@:ALLOCATE(dy(-buff_size:n + buff_size))'
3058# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3059
3060# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3061 call flush (output_unit)
3062# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3063 end block
3064# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3065#endif
3066# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3067 allocate (dy(-buff_size:n + buff_size))
3068# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3069
3070# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3071
3072# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3073#if defined(MFC_OpenACC)
3074# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3075!$acc enter data create(dy)
3076# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3077#elif defined(MFC_OpenMP)
3078# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3079!$omp target enter data map(always,alloc:dy)
3080# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3081#endif
3082# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3083#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
3084# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3085 block
3086# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3087 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
3088# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3089 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
3090# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3091#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
3092# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3093 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
3094# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3095#else
3096# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3097 use cuda_runtime_api
3098# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3099#endif
3100# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3101 integer :: istat
3102# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3103
3104# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3105 if (nv_uvm_pref_gpu) then
3106# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3107 ! set preferred location GPU
3108# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3109 istat = cudamemadvise(c_devloc(y_cb), sizeof(y_cb), cudamemadvisesetpreferredlocation, 0)
3110# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3111 if (istat /= cudasuccess) then
3112# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3113 write (*, "('Error code: ',I0, ': ')") istat
3114# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3115 end if
3116# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3117 ! set accessed by CPU
3118# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3119 istat = cudamemadvise(c_devloc(y_cb), sizeof(y_cb), cudamemadvisesetaccessedby, cudacpudeviceid)
3120# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3121 if (istat /= cudasuccess) then
3122# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3123 write (*, "('Error code: ',I0, ': ')") istat
3124# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3125 end if
3126# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3127 ! prefetch to GPU - physically populate memory pages
3128# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3129 istat = cudamemprefetchasync(c_devloc(y_cb), sizeof(y_cb), 0, 0)
3130# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3131 if (istat /= cudasuccess) then
3132# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3133 write (*, "('Error code: ',I0, ': ')") istat
3134# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3135 end if
3136# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3137 end if
3138# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3139 end block
3140# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3141#endif
3142# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3143#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
3144# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3145 block
3146# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3147 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
3148# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3149 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
3150# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3151#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
3152# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3153 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
3154# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3155#else
3156# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3157 use cuda_runtime_api
3158# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3159#endif
3160# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3161 integer :: istat
3162# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3163
3164# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3165 if (nv_uvm_pref_gpu) then
3166# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3167 ! set preferred location GPU
3168# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3169 istat = cudamemadvise(c_devloc(y_cc), sizeof(y_cc), cudamemadvisesetpreferredlocation, 0)
3170# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3171 if (istat /= cudasuccess) then
3172# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3173 write (*, "('Error code: ',I0, ': ')") istat
3174# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3175 end if
3176# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3177 ! set accessed by CPU
3178# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3179 istat = cudamemadvise(c_devloc(y_cc), sizeof(y_cc), cudamemadvisesetaccessedby, cudacpudeviceid)
3180# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3181 if (istat /= cudasuccess) then
3182# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3183 write (*, "('Error code: ',I0, ': ')") istat
3184# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3185 end if
3186# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3187 ! prefetch to GPU - physically populate memory pages
3188# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3189 istat = cudamemprefetchasync(c_devloc(y_cc), sizeof(y_cc), 0, 0)
3190# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3191 if (istat /= cudasuccess) then
3192# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3193 write (*, "('Error code: ',I0, ': ')") istat
3194# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3195 end if
3196# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3197 end if
3198# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3199 end block
3200# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3201#endif
3202# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3203#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
3204# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3205 block
3206# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3207 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
3208# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3209 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
3210# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3211#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
3212# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3213 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
3214# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3215#else
3216# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3217 use cuda_runtime_api
3218# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3219#endif
3220# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3221 integer :: istat
3222# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3223
3224# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3225 if (nv_uvm_pref_gpu) then
3226# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3227 ! set preferred location GPU
3228# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3229 istat = cudamemadvise(c_devloc(dy), sizeof(dy), cudamemadvisesetpreferredlocation, 0)
3230# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3231 if (istat /= cudasuccess) then
3232# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3233 write (*, "('Error code: ',I0, ': ')") istat
3234# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3235 end if
3236# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3237 ! set accessed by CPU
3238# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3239 istat = cudamemadvise(c_devloc(dy), sizeof(dy), cudamemadvisesetaccessedby, cudacpudeviceid)
3240# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3241 if (istat /= cudasuccess) then
3242# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3243 write (*, "('Error code: ',I0, ': ')") istat
3244# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3245 end if
3246# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3247 ! prefetch to GPU - physically populate memory pages
3248# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3249 istat = cudamemprefetchasync(c_devloc(dy), sizeof(dy), 0, 0)
3250# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3251 if (istat /= cudasuccess) then
3252# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3253 write (*, "('Error code: ',I0, ': ')") istat
3254# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3255 end if
3256# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3257 end if
3258# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3259 end block
3260# 1028 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3261#endif
3262# 1029 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3263
3264 if (p == 0) return
3265#ifdef MFC_DEBUG
3266# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3267 block
3268# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3269 use iso_fortran_env, only: output_unit
3270# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3271
3272# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3273 print *, 'm_global_parameters.fpp:1031: ', '@:ALLOCATE(z_cb(-1 - buff_size:p + buff_size))'
3274# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3275
3276# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3277 call flush (output_unit)
3278# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3279 end block
3280# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3281#endif
3282# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3283 allocate (z_cb(-1 - buff_size:p + buff_size))
3284# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3285
3286# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3287
3288# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3289#if defined(MFC_OpenACC)
3290# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3291!$acc enter data create(z_cb)
3292# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3293#elif defined(MFC_OpenMP)
3294# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3295!$omp target enter data map(always,alloc:z_cb)
3296# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3297#endif
3298# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3299#ifdef MFC_DEBUG
3300# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3301 block
3302# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3303 use iso_fortran_env, only: output_unit
3304# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3305
3306# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3307 print *, 'm_global_parameters.fpp:1032: ', '@:ALLOCATE(z_cc(-buff_size:p + buff_size))'
3308# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3309
3310# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3311 call flush (output_unit)
3312# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3313 end block
3314# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3315#endif
3316# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3317 allocate (z_cc(-buff_size:p + buff_size))
3318# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3319
3320# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3321
3322# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3323#if defined(MFC_OpenACC)
3324# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3325!$acc enter data create(z_cc)
3326# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3327#elif defined(MFC_OpenMP)
3328# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3329!$omp target enter data map(always,alloc:z_cc)
3330# 1032 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3331#endif
3332# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3333#ifdef MFC_DEBUG
3334# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3335 block
3336# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3337 use iso_fortran_env, only: output_unit
3338# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3339
3340# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3341 print *, 'm_global_parameters.fpp:1033: ', '@:ALLOCATE(dz(-buff_size:p + buff_size))'
3342# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3343
3344# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3345 call flush (output_unit)
3346# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3347 end block
3348# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3349#endif
3350# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3351 allocate (dz(-buff_size:p + buff_size))
3352# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3353
3354# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3355
3356# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3357#if defined(MFC_OpenACC)
3358# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3359!$acc enter data create(dz)
3360# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3361#elif defined(MFC_OpenMP)
3362# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3363!$omp target enter data map(always,alloc:dz)
3364# 1033 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3365#endif
3366# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3367#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
3368# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3369 block
3370# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3371 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
3372# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3373 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
3374# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3375#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
3376# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3377 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
3378# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3379#else
3380# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3381 use cuda_runtime_api
3382# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3383#endif
3384# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3385 integer :: istat
3386# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3387
3388# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3389 if (nv_uvm_pref_gpu) then
3390# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3391 ! set preferred location GPU
3392# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3393 istat = cudamemadvise(c_devloc(z_cb), sizeof(z_cb), cudamemadvisesetpreferredlocation, 0)
3394# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3395 if (istat /= cudasuccess) then
3396# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3397 write (*, "('Error code: ',I0, ': ')") istat
3398# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3399 end if
3400# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3401 ! set accessed by CPU
3402# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3403 istat = cudamemadvise(c_devloc(z_cb), sizeof(z_cb), cudamemadvisesetaccessedby, cudacpudeviceid)
3404# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3405 if (istat /= cudasuccess) then
3406# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3407 write (*, "('Error code: ',I0, ': ')") istat
3408# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3409 end if
3410# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3411 ! prefetch to GPU - physically populate memory pages
3412# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3413 istat = cudamemprefetchasync(c_devloc(z_cb), sizeof(z_cb), 0, 0)
3414# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3415 if (istat /= cudasuccess) then
3416# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3417 write (*, "('Error code: ',I0, ': ')") istat
3418# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3419 end if
3420# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3421 end if
3422# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3423 end block
3424# 1034 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3425#endif
3426# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3427#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
3428# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3429 block
3430# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3431 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
3432# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3433 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
3434# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3435#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
3436# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3437 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
3438# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3439#else
3440# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3441 use cuda_runtime_api
3442# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3443#endif
3444# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3445 integer :: istat
3446# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3447
3448# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3449 if (nv_uvm_pref_gpu) then
3450# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3451 ! set preferred location GPU
3452# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3453 istat = cudamemadvise(c_devloc(z_cc), sizeof(z_cc), cudamemadvisesetpreferredlocation, 0)
3454# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3455 if (istat /= cudasuccess) then
3456# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3457 write (*, "('Error code: ',I0, ': ')") istat
3458# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3459 end if
3460# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3461 ! set accessed by CPU
3462# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3463 istat = cudamemadvise(c_devloc(z_cc), sizeof(z_cc), cudamemadvisesetaccessedby, cudacpudeviceid)
3464# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3465 if (istat /= cudasuccess) then
3466# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3467 write (*, "('Error code: ',I0, ': ')") istat
3468# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3469 end if
3470# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3471 ! prefetch to GPU - physically populate memory pages
3472# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3473 istat = cudamemprefetchasync(c_devloc(z_cc), sizeof(z_cc), 0, 0)
3474# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3475 if (istat /= cudasuccess) then
3476# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3477 write (*, "('Error code: ',I0, ': ')") istat
3478# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3479 end if
3480# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3481 end if
3482# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3483 end block
3484# 1035 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3485#endif
3486# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3487#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
3488# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3489 block
3490# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3491 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
3492# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3493 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
3494# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3495#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
3496# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3497 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
3498# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3499#else
3500# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3501 use cuda_runtime_api
3502# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3503#endif
3504# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3505 integer :: istat
3506# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3507
3508# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3509 if (nv_uvm_pref_gpu) then
3510# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3511 ! set preferred location GPU
3512# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3513 istat = cudamemadvise(c_devloc(dz), sizeof(dz), cudamemadvisesetpreferredlocation, 0)
3514# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3515 if (istat /= cudasuccess) then
3516# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3517 write (*, "('Error code: ',I0, ': ')") istat
3518# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3519 end if
3520# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3521 ! set accessed by CPU
3522# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3523 istat = cudamemadvise(c_devloc(dz), sizeof(dz), cudamemadvisesetaccessedby, cudacpudeviceid)
3524# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3525 if (istat /= cudasuccess) then
3526# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3527 write (*, "('Error code: ',I0, ': ')") istat
3528# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3529 end if
3530# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3531 ! prefetch to GPU - physically populate memory pages
3532# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3533 istat = cudamemprefetchasync(c_devloc(dz), sizeof(dz), 0, 0)
3534# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3535 if (istat /= cudasuccess) then
3536# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3537 write (*, "('Error code: ',I0, ': ')") istat
3538# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3539 end if
3540# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3541 end if
3542# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3543 end block
3544# 1036 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3545#endif
3546# 1037 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3547
3549
3550 !> Initializes parallel infrastructure
3552
3553 ! proc_coords/start_idx/mpiiofs/mpi_info_int setup moved into the shared routine
3554 call s_initialize_parallel_io_common
3555
3556 ! #1290: per-rank physical comm-domain bounds for Lagrangian-bubble exchange
3557#ifdef MFC_DEBUG
3558# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3559 block
3560# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3561 use iso_fortran_env, only: output_unit
3562# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3563
3564# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3565 print *, 'm_global_parameters.fpp:1047: ', '@:ALLOCATE(pcomm_coords(1:num_dims))'
3566# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3567
3568# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3569 call flush (output_unit)
3570# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3571 end block
3572# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3573#endif
3574# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3575 allocate (pcomm_coords(1:num_dims))
3576# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3577
3578# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3579
3580# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3581#if defined(MFC_OpenACC)
3582# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3583!$acc enter data create(pcomm_coords)
3584# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3585#elif defined(MFC_OpenMP)
3586# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3587!$omp target enter data map(always,alloc:pcomm_coords)
3588# 1047 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3589#endif
3590# 1048 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3591
3592 end subroutine s_initialize_parallel_io
3593
3594 !> Module deallocation and/or disassociation procedures
3596
3597 integer :: i
3598
3599 ! Deallocating the variables bookkeeping the indexes of any viscous fluids and any pairs of fluids whose interfaces
3600 ! supported effects of surface tension
3601
3602 if (viscous) then
3603#ifdef MFC_DEBUG
3604# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3605 block
3606# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3607 use iso_fortran_env, only: output_unit
3608# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3609
3610# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3611 print *, 'm_global_parameters.fpp:1060: ', '@:DEALLOCATE(Re_idx)'
3612# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3613
3614# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3615 call flush (output_unit)
3616# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3617 end block
3618# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3619#endif
3620# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3621
3622# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3623#if defined(MFC_OpenACC)
3624# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3625!$acc exit data delete(Re_idx)
3626# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3627#elif defined(MFC_OpenMP)
3628# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3629!$omp target exit data map(release:Re_idx)
3630# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3631#endif
3632# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3633 deallocate (re_idx)
3634# 1061 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3635 end if
3636
3637 ! Herschel-Bulkley non-Newtonian viscosity arrays (always allocated)
3638#ifdef MFC_DEBUG
3639# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3640 block
3641# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3642 use iso_fortran_env, only: output_unit
3643# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3644
3645# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3646 print *, 'm_global_parameters.fpp:1064: ', '@:DEALLOCATE(is_non_newtonian)'
3647# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3648
3649# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3650 call flush (output_unit)
3651# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3652 end block
3653# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3654#endif
3655# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3656
3657# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3658#if defined(MFC_OpenACC)
3659# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3660!$acc exit data delete(is_non_newtonian)
3661# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3662#elif defined(MFC_OpenMP)
3663# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3664!$omp target exit data map(release:is_non_newtonian)
3665# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3666#endif
3667# 1064 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3668 deallocate (is_non_newtonian)
3669# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3670#ifdef MFC_DEBUG
3671# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3672 block
3673# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3674 use iso_fortran_env, only: output_unit
3675# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3676
3677# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3678 print *, 'm_global_parameters.fpp:1065: ', '@:DEALLOCATE(hb_tau0, hb_K, hb_nn, hb_m_arr)'
3679# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3680
3681# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3682 call flush (output_unit)
3683# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3684 end block
3685# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3686#endif
3687# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3688
3689# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3690#if defined(MFC_OpenACC)
3691# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3692!$acc exit data delete(hb_tau0, hb_K, hb_nn, hb_m_arr)
3693# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3694#elif defined(MFC_OpenMP)
3695# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3696!$omp target exit data map(release:hb_tau0, hb_K, hb_nn, hb_m_arr)
3697# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3698#endif
3699# 1065 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3700 deallocate (hb_tau0, hb_k, hb_nn, hb_m_arr)
3701# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3702#ifdef MFC_DEBUG
3703# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3704 block
3705# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3706 use iso_fortran_env, only: output_unit
3707# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3708
3709# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3710 print *, 'm_global_parameters.fpp:1066: ', '@:DEALLOCATE(hb_mu_min, hb_mu_max)'
3711# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3712
3713# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3714 call flush (output_unit)
3715# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3716 end block
3717# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3718#endif
3719# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3720
3721# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3722#if defined(MFC_OpenACC)
3723# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3724!$acc exit data delete(hb_mu_min, hb_mu_max)
3725# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3726#elif defined(MFC_OpenMP)
3727# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3728!$omp target exit data map(release:hb_mu_min, hb_mu_max)
3729# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3730#endif
3731# 1066 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3732 deallocate (hb_mu_min, hb_mu_max)
3733# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3734#ifdef MFC_DEBUG
3735# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3736 block
3737# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3738 use iso_fortran_env, only: output_unit
3739# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3740
3741# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3742 print *, 'm_global_parameters.fpp:1067: ', '@:DEALLOCATE(fluid_inv_re)'
3743# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3744
3745# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3746 call flush (output_unit)
3747# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3748 end block
3749# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3750#endif
3751# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3752
3753# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3754#if defined(MFC_OpenACC)
3755# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3756!$acc exit data delete(fluid_inv_re)
3757# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3758#elif defined(MFC_OpenMP)
3759# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3760!$omp target exit data map(release:fluid_inv_re)
3761# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3762#endif
3763# 1067 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3764 deallocate (fluid_inv_re)
3765# 1068 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3766
3767 if (bubbles_euler) then
3768#ifdef MFC_DEBUG
3769# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3770 block
3771# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3772 use iso_fortran_env, only: output_unit
3773# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3774
3775# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3776 print *, 'm_global_parameters.fpp:1070: ', '@:DEALLOCATE(ptil)'
3777# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3778
3779# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3780 call flush (output_unit)
3781# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3782 end block
3783# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3784#endif
3785# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3786
3787# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3788#if defined(MFC_OpenACC)
3789# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3790!$acc exit data delete(ptil)
3791# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3792#elif defined(MFC_OpenMP)
3793# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3794!$omp target exit data map(release:ptil)
3795# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3796#endif
3797# 1070 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3798 deallocate (ptil)
3799# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3800#ifdef MFC_DEBUG
3801# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3802 block
3803# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3804 use iso_fortran_env, only: output_unit
3805# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3806
3807# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3808 print *, 'm_global_parameters.fpp:1071: ', '@:DEALLOCATE(qbmm_idx%rs, qbmm_idx%vs, qbmm_idx%ps, qbmm_idx%ms)'
3809# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3810
3811# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3812 call flush (output_unit)
3813# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3814 end block
3815# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3816#endif
3817# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3818
3819# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3820#if defined(MFC_OpenACC)
3821# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3822!$acc exit data delete(qbmm_idx%rs, qbmm_idx%vs, qbmm_idx%ps, qbmm_idx%ms)
3823# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3824#elif defined(MFC_OpenMP)
3825# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3826!$omp target exit data map(release:qbmm_idx%rs, qbmm_idx%vs, qbmm_idx%ps, qbmm_idx%ms)
3827# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3828#endif
3829# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3830 deallocate (qbmm_idx%rs, qbmm_idx%vs, qbmm_idx%ps, qbmm_idx%ms)
3831# 1072 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3832 if (qbmm) then
3833#ifdef MFC_DEBUG
3834# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3835 block
3836# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3837 use iso_fortran_env, only: output_unit
3838# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3839
3840# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3841 print *, 'm_global_parameters.fpp:1073: ', '@:DEALLOCATE(qbmm_idx%moms)'
3842# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3843
3844# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3845 call flush (output_unit)
3846# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3847 end block
3848# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3849#endif
3850# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3851
3852# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3853#if defined(MFC_OpenACC)
3854# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3855!$acc exit data delete(qbmm_idx%moms)
3856# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3857#elif defined(MFC_OpenMP)
3858# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3859!$omp target exit data map(release:qbmm_idx%moms)
3860# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3861#endif
3862# 1073 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3863 deallocate (qbmm_idx%moms)
3864# 1074 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3865 end if
3866 end if
3867
3868#ifdef MFC_DEBUG
3869# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3870 block
3871# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3872 use iso_fortran_env, only: output_unit
3873# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3874
3875# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3876 print *, 'm_global_parameters.fpp:1077: ', '@:DEALLOCATE(pcomm_coords)'
3877# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3878
3879# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3880 call flush (output_unit)
3881# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3882 end block
3883# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3884#endif
3885# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3886
3887# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3888#if defined(MFC_OpenACC)
3889# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3890!$acc exit data delete(pcomm_coords)
3891# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3892#elif defined(MFC_OpenMP)
3893# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3894!$omp target exit data map(release:pcomm_coords)
3895# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3896#endif
3897# 1077 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3898 deallocate (pcomm_coords)
3899# 1078 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3900
3901 ! Shared: deallocate proc_coords and start_idx
3902 call s_finalize_global_parameters_common
3903
3904 if (parallel_io) then
3905 if (bubbles_lagrange) then
3906 do i = 1, sys_size + 1
3907 mpi_io_data%var(i)%sf => null()
3908 end do
3909 else
3910 do i = 1, sys_size
3911 mpi_io_data%var(i)%sf => null()
3912 end do
3913 end if
3914
3915 deallocate (mpi_io_data%var)
3916 deallocate (mpi_io_data%view)
3917 end if
3918
3919 if (ib) mpi_io_ib_data%var%sf => null()
3920
3921 ! Deallocating grid variables for the x-, y- and z-directions
3922#ifdef MFC_DEBUG
3923# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3924 block
3925# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3926 use iso_fortran_env, only: output_unit
3927# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3928
3929# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3930 print *, 'm_global_parameters.fpp:1100: ', '@:DEALLOCATE(x_cb, x_cc, dx)'
3931# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3932
3933# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3934 call flush (output_unit)
3935# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3936 end block
3937# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3938#endif
3939# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3940
3941# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3942#if defined(MFC_OpenACC)
3943# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3944!$acc exit data delete(x_cb, x_cc, dx)
3945# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3946#elif defined(MFC_OpenMP)
3947# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3948!$omp target exit data map(release:x_cb, x_cc, dx)
3949# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3950#endif
3951# 1100 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3952 deallocate (x_cb, x_cc, dx)
3953# 1101 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3954
3955 if (n == 0) return
3956#ifdef MFC_DEBUG
3957# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3958 block
3959# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3960 use iso_fortran_env, only: output_unit
3961# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3962
3963# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3964 print *, 'm_global_parameters.fpp:1103: ', '@:DEALLOCATE(y_cb, y_cc, dy)'
3965# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3966
3967# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3968 call flush (output_unit)
3969# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3970 end block
3971# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3972#endif
3973# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3974
3975# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3976#if defined(MFC_OpenACC)
3977# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3978!$acc exit data delete(y_cb, y_cc, dy)
3979# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3980#elif defined(MFC_OpenMP)
3981# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3982!$omp target exit data map(release:y_cb, y_cc, dy)
3983# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3984#endif
3985# 1103 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3986 deallocate (y_cb, y_cc, dy)
3987# 1104 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3988
3989 if (p == 0) return
3990#ifdef MFC_DEBUG
3991# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3992 block
3993# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3994 use iso_fortran_env, only: output_unit
3995# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3996
3997# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
3998 print *, 'm_global_parameters.fpp:1106: ', '@:DEALLOCATE(z_cb, z_cc, dz)'
3999# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4000
4001# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4002 call flush (output_unit)
4003# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4004 end block
4005# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4006#endif
4007# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4008
4009# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4010#if defined(MFC_OpenACC)
4011# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4012!$acc exit data delete(z_cb, z_cc, dz)
4013# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4014#elif defined(MFC_OpenMP)
4015# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4016!$omp target exit data map(release:z_cb, z_cc, dz)
4017# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4018#endif
4019# 1106 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4020 deallocate (z_cb, z_cc, dz)
4021# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4022
4023 if (allocated(neighbor_ranks)) then
4024#ifdef MFC_DEBUG
4025# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4026 block
4027# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4028 use iso_fortran_env, only: output_unit
4029# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4030
4031# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4032 print *, 'm_global_parameters.fpp:1109: ', '@:DEALLOCATE(neighbor_ranks)'
4033# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4034
4035# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4036 call flush (output_unit)
4037# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4038 end block
4039# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4040#endif
4041# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4042
4043# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4044#if defined(MFC_OpenACC)
4045# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4046!$acc exit data delete(neighbor_ranks)
4047# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4048#elif defined(MFC_OpenMP)
4049# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4050!$omp target exit data map(release:neighbor_ranks)
4051# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4052#endif
4053# 1109 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4054 deallocate (neighbor_ranks)
4055# 1110 "/home/runner/work/MFC/MFC/src/simulation/m_global_parameters.fpp"
4056 end if
4057
4059
4060end module m_global_parameters
integer, intent(in) k
integer, intent(in) j
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Shared global parameters and equation-index setup for all three executables. Each per-target m_global...
type(ib_stl_parameters), dimension(num_stl_models_max) stl_models
Per-STL model parameters.
type(subgrid_bubble_physical_parameters) bub_pp
Subgrid bubble physical parameters.
type(vec3_dt), dimension(num_probes_max) probe
type(physical_parameters), dimension(num_fluids_max) fluid_pp
Per-fluid stiffened-gas EOS parameters, Reynolds numbers, and shear modulus.
type(acoustic_parameters), dimension(num_probes_max) acoustic
Acoustic source parameters.
type(spbf_parameters) spatial_bf
Parameters for spatially supported body force (Wei & Freund, JFM 2005).
type(ib_patch_parameters), dimension(num_ib_patches_max_namelist) patch_ib
Immersed boundary patch parameters.
type(particle_cloud_parameters), dimension(num_particle_clouds_max) particle_cloud
Particle bed specifications.
type(ib_airfoil_parameters), dimension(num_ib_airfoils_max) ib_airfoil
Per-airfoil NACA user inputs.
impure subroutine s_assign_common_defaults
Assign default values to the user-input parameters that are shared across all three executables (pre_...
type(bubbles_lagrange_parameters) lag_params
Lagrange bubbles' parameters.
impure subroutine s_initialize_eqn_idx(nmom_in, nb_in, six_eqn_alf_is_advected)
Initialize equation-index state (eqn_idx and sys_size) from the namelist parameters....
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
type(int_bounds_info) ib_bc_z
type(scalar_field), dimension(:,:,:), allocatable mom_3d
real(wp) mytime
Current simulation time.
integer nmomsp
Number of moments required by ensemble-averaging.
type(mpi_io_levelset_norm_var), public mpi_io_levelsetnorm_data
real(wp), dimension(:), allocatable fluid_inv_re
per-fluid Newtonian inverse-Re
logical bulk_stress
Bulk stresses.
real(wp), dimension(num_synth_shells_max) synth_k_shell
integer, parameter hypo_nc_mode_interface
interface-velocity export for the velocity-gradient tensor (HLL Method 2, HLLC)
impure subroutine s_assign_default_values_to_user_inputs
Assigns default values to the user inputs before reading them in. This enables for an easier consiste...
impure subroutine s_finalize_global_parameters_module
Module deallocation and/or disassociation procedures.
integer, parameter nmom
Number of carried moments per R0 location.
real(wp), dimension(num_synth_shells_max) synth_amp_shell
real(wp), dimension(:), allocatable im_trans_c
type(int_bounds_info), dimension(1:3) idwint
real(wp), dimension(:), allocatable, target z_cb
logical any_non_newtonian
.true. if any fluid is non-Newtonian
type(int_bounds_info) ib_bc_y
type(bounds_info) neighbor_domain_y
type(int_bounds_info), dimension(3) nidx
Neighbor index offsets per direction.
real(wp), dimension(:), allocatable hb_tau0
type(int_bounds_info) ib_bc_x
integer, parameter hypo_nc_mode_none
Hypoelastic NC velocity-coupling mode; exactly one value, derived from riemann_solver + hypo_hll_inte...
real(wp), dimension(:), allocatable pb0
real(wp), dimension(:), allocatable hb_k
real(wp), dimension(:), allocatable im_trans_t
type(qbmm_idx_info) qbmm_idx
QBMM moment index mappings (allocatable; GPU-managed separately).
logical, dimension(3) periodic_bc
integer proc_rank
Rank of the local processor.
real(wp), dimension(:), allocatable re_trans_t
real(wp), dimension(:,:), allocatable fd_coeff_z
type(mpi_io_ib_var), public mpi_io_ib_data
real(wp), dimension(:,:,:), allocatable spbf_source_y
real(wp), dimension(3) accel_bf
real(wp), dimension(:), allocatable weight
Simpson quadrature weights.
integer, parameter adv_src_mode_alpha_iface
flux_src exports per-fluid interface alpha
real(wp), dimension(:), allocatable k_v
integer, dimension(num_local_ibs_max) local_ib_patch_ids
lookup table of IBs in the local compute domain
real(wp), dimension(:), allocatable hb_nn
integer nmomtot
Total number of carried moments moments/transport equations.
integer, dimension(3) dir_idx
integer fd_number
Finite-difference half-stencil size: MAX(1, fd_order/2).
type(mpi_io_levelset_var), public mpi_io_levelset_data
type(bounds_info), dimension(3) glb_bounds
type(int_bounds_info), dimension(1:3) idwbuff
integer, parameter adv_src_mode_vel_iface
flux_src exports shared face-normal interface velocity
integer buff_size
Number of ghost cells for boundary condition storage.
integer, dimension(3) dir_idx_tau
(nn, nt, nt2) stress indices for wave speeds and momentum flux
integer, dimension(:,:,:), allocatable neighbor_ranks
MPI ranks of neighbors.
real(wp), dimension(:), allocatable r0
Bubble sizes.
real(wp), dimension(:,:,:), allocatable spbf_source_x
Source fields for the spatially supported body force. spatial_bf and bf_spatial_support are auto-gene...
impure subroutine s_initialize_global_parameters_module
Initialize the global parameters module.
real(wp), dimension(:), allocatable, target y_cc
real(wp), dimension(:), allocatable k_g
type(pres_field), dimension(:), allocatable pb_ts
integer n_el_bubs_glb
Number of Lagrangian bubbles (local and global).
type(pres_field), dimension(:), allocatable mv_ts
real(wp), dimension(:,:), allocatable fd_coeff_y
real(wp), dimension(:), allocatable, target z_cc
integer, parameter hypo_nc_mode_dual_pass
anchored dual-pass HLLD; all NC terms stay in the Riemann flux
logical use_nc_iface_vel
nc_iface_vel exports interface velocities needed outside flux_src
type(bounds_info), dimension(:), allocatable pcomm_coords
Local rank physical domain bounds.
real(wp), dimension(:), allocatable hb_m_arr
integer, parameter hypo_nc_mode_finite_diff
velocity gradients by finite difference (HLL without interface RHS)
integer num_procs
Number of processors.
type(bounds_info) neighbor_domain_z
real(wp), dimension(3) dir_flg
real(wp), dimension(:), allocatable, target x_cc
integer, dimension(num_synth_shells_max) synth_n_waves_per_shell
real(wp), dimension(num_turb_sources_max, 3) turb_pos
real(wp), dimension(:), allocatable, target y_cb
real(wp), dimension(:), allocatable hb_mu_min
real(wp), dimension(:,:,:), allocatable ptil
Pressure modification.
real(wp), dimension(:,:), allocatable, public mpi_io_data_lag_bubbles
type(scalar_field), dimension(:), allocatable mom_sp
type(cell_num_bounds) cells_bounds
integer, parameter adv_src_mode_unset
NC volume-fraction advection export mode; exactly one value, derived from riemann_solver + hll_u_inte...
type(mpi_io_airfoil_ib_var), public mpi_io_airfoil_ib_data
real(wp), dimension(:), allocatable mass_g0
integer, dimension(6) stress_perm
Full tensor permutation: local basis -> physical storage index.
real(wp), dimension(:,:), allocatable fd_coeff_x
type(mpi_io_var), public mpi_io_data
impure subroutine s_initialize_parallel_io
Initializes parallel infrastructure.
real(wp), dimension(:), allocatable omegan
real(wp), dimension(:), allocatable re_trans_c
real(wp), dimension(:), allocatable, target dy
real(wp), dimension(num_turb_sources_max, 3) synth_l
type(ib_airfoil_grid), dimension(num_ib_airfoils_max) ib_airfoil_grids
Per-airfoil computed surface grids.
integer, parameter adv_src_mode_none
flux_src exports no NC advection quantity
logical shear_stress
Shear stresses.
integer, dimension(:,:,:), allocatable ib_neighbor_ranks
MPI ranks of neighborhood domains, indexed (-N:N,-N:N,-N:N).
real(wp), dimension(:), allocatable, target dz
real(wp), dimension(:), allocatable, target dx
type(bounds_info) neighbor_domain_x
real(wp), dimension(:), allocatable pe_t
real(wp), dimension(:), allocatable mass_v0
real(wp), dimension(:), allocatable hb_mu_max
logical, dimension(:), allocatable is_non_newtonian
per-fluid NN flag
real(wp), dimension(:), allocatable, target x_cb
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
elemental subroutine, public s_update_cell_bounds(bounds, m, n, p)
Update the min and max number of cells in each set of axes.
logical elemental function, public f_is_default(var)
Check if a real(wp) variable is of default value.
Groups the x, y, z boundary condition begin/end codes for passing as a single argument.
Derived type adding beginning (beg) and end bounds info as attributes.
Max and min number of cells in a direction of each combination of x-,y-, and z-.
Computed surface grid for a NACA airfoil (simulation-only, not in namelist).
Integer bounds for variables.
Derived type for bubble variables pb and mv at quadrature nodes (qbmm).
QBMM moment index mappings - separate from bub beg/end so eqn_idx contains no allocatables.
Derived type annexing a scalar field (SF).