MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_rhs.fpp.f90
Go to the documentation of this file.
1# 1 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2!>
3!! @file
4!! @brief Contains module m_rhs
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_rhs.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# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31
32# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33
34# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35
36# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37
38# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39
40# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41
42# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43
44# 167 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45! New line at end of file is required for FYPP
46# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
47# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
48# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
49# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54
55# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58
59# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60
61# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62
63# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64
65# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66
67# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68
69# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70
71# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72
73# 167 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74! New line at end of file is required for FYPP
75# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
76
77# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
81# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82
83# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84
85# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86
87# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88
89# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90
91# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92
93# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94
95# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96
97# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98
99# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100
101# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102
103# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104
105# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106
107# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108
109# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110
111# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112
113# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114
115# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116
117# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118
119# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120
121# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122
123# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124
125# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126
127# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129
130# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131
132# 320 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133
134# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135
136# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137
138# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139
140# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141
142# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143
144# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145
146# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147
148# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149
150# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151
152# 403 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153! New line at end of file is required for FYPP
154# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
155# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
156# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
157# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162
163# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166
167# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168
169# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170
171# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172
173# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174
175# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176
177# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178
179# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180
181# 167 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182! New line at end of file is required for FYPP
183# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
184
185# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186
187# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188
189# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190
191# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192
193# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194
195# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196
197# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198
199# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200
201# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202
203# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204
205# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206
207# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208
209# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210
211# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212
213# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214
215# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216
217# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218
219# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220
221# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222
223# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224
225# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226
227# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228
229# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230
231# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232
233# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234
235# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236
237# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238
239# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240! New line at end of file is required for FYPP
241# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
242
243! GPU parallel region (scalar reductions, maxval/minval)
244# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245
246! GPU parallel loop over threads (most common GPU macro)
247# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248
249! Required closing for GPU_PARALLEL_LOOP
250# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251
252! Mark routine for device compilation
253# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254
255! Declare device-resident data
256# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257
258! Inner loop within a GPU parallel region
259# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260
261! Scoped GPU data region
262# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263
264! Host code with device pointers (for MPI with GPU buffers)
265# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266
267! Allocate device memory (unscoped)
268# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269
270! Free device memory
271# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272
273! Atomic operation on device
274# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275
276! End atomic capture block
277# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278
279! Copy data between host and device
280# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281
282! Synchronization barrier
283# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284
285! Import GPU library module (openacc or omp_lib)
286# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287
288! Emit code only for AMD compiler
289# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290
291! Emit code for non-Cray compilers
292# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293
294! Emit code only for Cray compiler
295# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296
297! Emit code for non-NVIDIA compilers
298# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299
300# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302! New line at end of file is required for FYPP
303# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
304
305# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
306
307! Caution: This macro requires the use of a binding script to set CUDA_VISIBLE_DEVICES, such that we have one GPU device per MPI
308! rank. That's because for both cudaMemAdvise (preferred location) and cudaMemPrefetchAsync we use location = device_id = 0. For an
309! example see misc/nvidia_uvm/bind.sh.
310# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311
312! Allocate and create GPU device memory
313# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314
315! Free GPU device memory and deallocate
316# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317
318! Cray-specific GPU pointer setup for vector fields
319# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320
321! Cray-specific GPU pointer setup for scalar fields
322# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323
324! Cray-specific GPU pointer setup for acoustic source spatials
325# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326
327# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328
329# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
330! New line at end of file is required for FYPP
331# 7 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp" 2
332
333!> @brief Assemble the right-hand side of the governing equations using finite-volume flux differencing, Riemann solvers, and
334!! physical source terms
335module m_rhs
336
339 use m_mpi_proxy
341 use m_weno
344 use m_muscl
346 use m_cbc
347 use m_bubbles_ee
348 use m_bubbles_el
349 use m_qbmm
350 use m_hypoelastic
352 use m_viscous
353 use m_ibm
354 use m_nvtx
356 use m_helper
358 use m_body_forces
359 use m_chemistry
361 use m_igr
362 use m_thinc
364
365 implicit none
366
368
369 type(vector_field) :: q_cons_qp !< WENO-reconstructed cell-average conservative variables at quadrature points
370
371# 45 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
372#if defined(MFC_OpenACC)
373# 45 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
374!$acc declare create(q_cons_qp)
375# 45 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
376#elif defined(MFC_OpenMP)
377# 45 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
378!$omp declare target (q_cons_qp)
379# 45 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
380#endif
381
382 type(vector_field) :: q_prim_qp !< Primitive variables at cell-interior quadrature points
383
384# 48 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
385#if defined(MFC_OpenACC)
386# 48 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
387!$acc declare create(q_prim_qp)
388# 48 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
389#elif defined(MFC_OpenMP)
390# 48 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
391!$omp declare target (q_prim_qp)
392# 48 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
393#endif
394
395 !> @name The first-order spatial derivatives of the primitive variables at cell- interior Gaussian quadrature points. These are
396 !! WENO-reconstructed from their respective cell-average values, obtained through the application of the divergence theorem on
397 !! the integral-average cell-boundary values of the primitive variables, located in qK_prim_n, where K = L or R.
398 !> @{
399 type(vector_field), allocatable, dimension(:) :: dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp
400
401# 55 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
402#if defined(MFC_OpenACC)
403# 55 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
404!$acc declare create(dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp)
405# 55 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
406#elif defined(MFC_OpenMP)
407# 55 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
408!$omp declare target (dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp)
409# 55 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
410#endif
411 !> @}
412
413 !> @name The left and right WENO-reconstructed cell-boundary values of the cell- average first-order spatial derivatives of the
414 !! primitive variables. The cell-average of the first-order spatial derivatives may be found in the variables dq_prim_ds_qp,
415 !! where s = x, y or z.
416 !> @{
417 type(vector_field), allocatable, dimension(:) :: dql_prim_dx_n, dql_prim_dy_n, dql_prim_dz_n
418 type(vector_field), allocatable, dimension(:) :: dqr_prim_dx_n, dqr_prim_dy_n, dqr_prim_dz_n
419#if defined(MFC_OpenACC)
420
421# 65 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
422#if defined(MFC_OpenACC)
423# 65 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
424!$acc declare create(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
425# 65 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
426#elif defined(MFC_OpenMP)
427# 65 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
428!$omp declare target (dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
429# 65 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
430#endif
431
432# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
433#if defined(MFC_OpenACC)
434# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
435!$acc declare create(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
436# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
437#elif defined(MFC_OpenMP)
438# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
439!$omp declare target (dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
440# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
441#endif
442#endif
443 !> @}
444
445 type(scalar_field), allocatable, dimension(:) :: tau_re_vf
446
447# 71 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
448#if defined(MFC_OpenACC)
449# 71 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
450!$acc declare create(tau_Re_vf)
451# 71 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
452#elif defined(MFC_OpenMP)
453# 71 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
454!$omp declare target (tau_Re_vf)
455# 71 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
456#endif
457
458 !> @name The cell-boundary values of the fluxes (src - source, gsrc - geometrical source). These are computed by applying the
459 !! chosen Riemann problem solver on the left and right cell-boundary values of the primitive variables
460 !> @{
461 type(vector_field), allocatable, dimension(:) :: flux_n
462 type(vector_field), allocatable, dimension(:) :: flux_src_n
463 type(vector_field), allocatable, dimension(:) :: flux_gsrc_n
464
465#if defined(MFC_OpenACC)
466
467# 81 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
468#if defined(MFC_OpenACC)
469# 81 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
470!$acc declare create(flux_n, flux_src_n, flux_gsrc_n)
471# 81 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
472#elif defined(MFC_OpenMP)
473# 81 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
474!$omp declare target (flux_n, flux_src_n, flux_gsrc_n)
475# 81 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
476#endif
477#endif
478 !> @}
479
480 type(vector_field), allocatable, dimension(:) :: nc_iface_vel_n
481#if defined(MFC_OpenACC)
482
483# 87 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
484#if defined(MFC_OpenACC)
485# 87 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
486!$acc declare create(nc_iface_vel_n)
487# 87 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
488#elif defined(MFC_OpenMP)
489# 87 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
490!$omp declare target (nc_iface_vel_n)
491# 87 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
492#endif
493#endif
494
495 !> hat_R-pass interface velocities for fused dual-pass HLLD: the axisymmetric geometric source consumes both passes' face
496 !! velocities after the direction loop, so the hat_R values need their own field set (hat_L uses nc_iface_vel_n).
497 type(vector_field), allocatable, dimension(:) :: nc_iface_vel_hatr_n
498#if defined(MFC_OpenACC)
499
500# 94 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
501#if defined(MFC_OpenACC)
502# 94 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
503!$acc declare create(nc_iface_vel_hatR_n)
504# 94 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
505#elif defined(MFC_OpenMP)
506# 94 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
507!$omp declare target (nc_iface_vel_hatR_n)
508# 94 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
509#endif
510#endif
511
512 type(vector_field), allocatable, dimension(:) :: ql_prim, qr_prim
513#if defined(MFC_OpenACC)
514
515# 99 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
516#if defined(MFC_OpenACC)
517# 99 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
518!$acc declare create(qL_prim, qR_prim)
519# 99 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
520#elif defined(MFC_OpenMP)
521# 99 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
522!$omp declare target (qL_prim, qR_prim)
523# 99 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
524#endif
525#endif
526
527 type(int_bounds_info) :: iv !< Vector field indical bounds
528
529# 103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
530#if defined(MFC_OpenACC)
531# 103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
532!$acc declare create(iv)
533# 103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
534#elif defined(MFC_OpenMP)
535# 103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
536!$omp declare target (iv)
537# 103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
538#endif
539
540 !> @name Indical bounds in the x-, y- and z-directions
541 !> @{
543
544# 108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
545#if defined(MFC_OpenACC)
546# 108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
547!$acc declare create(irx, iry, irz)
548# 108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
549#elif defined(MFC_OpenMP)
550# 108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
551!$omp declare target (irx, iry, irz)
552# 108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
553#endif
554
556 !> @}
557
558# 112 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
559#if defined(MFC_OpenACC)
560# 112 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
561!$acc declare create(is1, is2, is3)
562# 112 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
563#elif defined(MFC_OpenMP)
564# 112 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
565!$omp declare target (is1, is2, is3)
566# 112 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
567#endif
568
569 !> @name Saved fluxes for testing
570 !> @{
572 !> @}
573
574# 118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
575#if defined(MFC_OpenACC)
576# 118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
577!$acc declare create(alf_sum)
578# 118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
579#elif defined(MFC_OpenMP)
580# 118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
581!$omp declare target (alf_sum)
582# 118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
583#endif
584
585 real(wp), allocatable, dimension(:,:,:) :: blkmod1, blkmod2, alpha1, alpha2, kterm
586 real(wp), allocatable, dimension(:,:,:,:) :: ql_rsx_vf, qr_rsx_vf
587 real(wp), allocatable, dimension(:,:,:,:) :: dql_rsx_vf, dqr_rsx_vf
588
589# 123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
590#if defined(MFC_OpenACC)
591# 123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
592!$acc declare create(blkmod1, blkmod2, alpha1, alpha2, Kterm)
593# 123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
594#elif defined(MFC_OpenMP)
595# 123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
596!$omp declare target (blkmod1, blkmod2, alpha1, alpha2, Kterm)
597# 123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
598#endif
599
600# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
601#if defined(MFC_OpenACC)
602# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
603!$acc declare create(qL_rsx_vf, qR_rsx_vf)
604# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
605#elif defined(MFC_OpenMP)
606# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
607!$omp declare target (qL_rsx_vf, qR_rsx_vf)
608# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
609#endif
610
611# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
612#if defined(MFC_OpenACC)
613# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
614!$acc declare create(dqL_rsx_vf, dqR_rsx_vf)
615# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
616#elif defined(MFC_OpenMP)
617# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
618!$omp declare target (dqL_rsx_vf, dqR_rsx_vf)
619# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
620#endif
621
622 integer :: iglob
623
624# 128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
625#if defined(MFC_OpenACC)
626# 128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
627!$acc declare create(iglob)
628# 128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
629#elif defined(MFC_OpenMP)
630# 128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
631!$omp declare target (iglob)
632# 128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
633#endif
634
635 !> @name Partial right-hand sides of the two anchored passes of dual-pass HLLD
636 !> @{
637 type(scalar_field), allocatable, dimension(:) :: rhs_hatl_vf, rhs_hatr_vf
638 !> @}
639
640# 134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
641#if defined(MFC_OpenACC)
642# 134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
643!$acc declare create(rhs_hatL_vf, rhs_hatR_vf)
644# 134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
645#elif defined(MFC_OpenMP)
646# 134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
647!$omp declare target (rhs_hatL_vf, rhs_hatR_vf)
648# 134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
649#endif
650
651contains
652
653 !> Initialize the RHS module
654 impure subroutine s_initialize_rhs_module
655
656 integer :: i, j, k, l, id !< Generic loop iterators
657
658
659# 143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
660#if defined(MFC_OpenACC)
661# 143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
662!$acc enter data copyin(idwbuff)
663# 143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
664#elif defined(MFC_OpenMP)
665# 143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
666!$omp target enter data map(to:idwbuff)
667# 143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
668#endif
669
670# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
671#if defined(MFC_OpenACC)
672# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
673!$acc update device(idwbuff)
674# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
675#elif defined(MFC_OpenMP)
676# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
677!$omp target update to(idwbuff)
678# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
679#endif
680
681#ifdef MFC_DEBUG
682# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
683 block
684# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
685 use iso_fortran_env, only: output_unit
686# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
687
688# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
689 print *, 'm_rhs.fpp:146: ', '@:ALLOCATE(q_cons_qp%vf(1:sys_size))'
690# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
691
692# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
693 call flush (output_unit)
694# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
695 end block
696# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
697#endif
698# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
699 allocate (q_cons_qp%vf(1:sys_size))
700# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
701
702# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
703
704# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
705#if defined(MFC_OpenACC)
706# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
707!$acc enter data create(q_cons_qp%vf)
708# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
709#elif defined(MFC_OpenMP)
710# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
711!$omp target enter data map(always,alloc:q_cons_qp%vf)
712# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
713#endif
714#ifdef MFC_DEBUG
715# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
716 block
717# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
718 use iso_fortran_env, only: output_unit
719# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
720
721# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
722 print *, 'm_rhs.fpp:147: ', '@:ALLOCATE(q_prim_qp%vf(1:sys_size))'
723# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
724
725# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
726 call flush (output_unit)
727# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
728 end block
729# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
730#endif
731# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
732 allocate (q_prim_qp%vf(1:sys_size))
733# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
734
735# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
736
737# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
738#if defined(MFC_OpenACC)
739# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
740!$acc enter data create(q_prim_qp%vf)
741# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
742#elif defined(MFC_OpenMP)
743# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
744!$omp target enter data map(always,alloc:q_prim_qp%vf)
745# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
746#endif
747
748 if (.not. igr) then
749 do l = 1, sys_size
750#ifdef MFC_DEBUG
751# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
752 block
753# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
754 use iso_fortran_env, only: output_unit
755# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
756
757# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
758 print *, 'm_rhs.fpp:151: ', '@:ALLOCATE(q_cons_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
759# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
760
761# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
762 call flush (output_unit)
763# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
764 end block
765# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
766#endif
767# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
768 allocate (q_cons_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
769# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
770
771# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
772
773# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
774#if defined(MFC_OpenACC)
775# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
776!$acc enter data create(q_cons_qp%vf(l)%sf)
777# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
778#elif defined(MFC_OpenMP)
779# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
780!$omp target enter data map(always,alloc:q_cons_qp%vf(l)%sf)
781# 151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
782#endif
783# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
784 end do
785 do l = eqn_idx%mom%beg, eqn_idx%E
786#ifdef MFC_DEBUG
787# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
788 block
789# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
790 use iso_fortran_env, only: output_unit
791# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
792
793# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
794 print *, 'm_rhs.fpp:155: ', '@:ALLOCATE(q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
795# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
796
797# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
798 call flush (output_unit)
799# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
800 end block
801# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
802#endif
803# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
804 allocate (q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
805# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
806
807# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
808
809# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
810#if defined(MFC_OpenACC)
811# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
812!$acc enter data create(q_prim_qp%vf(l)%sf)
813# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
814#elif defined(MFC_OpenMP)
815# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
816!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
817# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
818#endif
819# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
820 end do
821 end if
822
823 if (surface_tension) then
824 do l = eqn_idx%adv%end + 1, eqn_idx%c - 1
825#ifdef MFC_DEBUG
826# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
827 block
828# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
829 use iso_fortran_env, only: output_unit
830# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
831
832# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
833 print *, 'm_rhs.fpp:162: ', '@:ALLOCATE(q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
834# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
835
836# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
837 call flush (output_unit)
838# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
839 end block
840# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
841#endif
842# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
843 allocate (q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
844# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
845
846# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
847
848# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
849#if defined(MFC_OpenACC)
850# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
851!$acc enter data create(q_prim_qp%vf(l)%sf)
852# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
853#elif defined(MFC_OpenMP)
854# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
855!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
856# 162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
857#endif
858# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
859 end do
860 else
861 do l = eqn_idx%adv%end + 1, sys_size
862#ifdef MFC_DEBUG
863# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
864 block
865# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
866 use iso_fortran_env, only: output_unit
867# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
868
869# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
870 print *, 'm_rhs.fpp:167: ', '@:ALLOCATE(q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
871# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
872
873# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
874 call flush (output_unit)
875# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
876 end block
877# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
878#endif
879# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
880 allocate (q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
881# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
882
883# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
884
885# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
886#if defined(MFC_OpenACC)
887# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
888!$acc enter data create(q_prim_qp%vf(l)%sf)
889# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
890#elif defined(MFC_OpenMP)
891# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
892!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
893# 167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
894#endif
895# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
896 end do
897 end if
898
899 if (.not. igr) then
900#ifdef _CRAYFTN
901# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
902 block
903# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
904 integer :: macros_setup_vfs_i
905# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
906
907# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
908#ifdef MFC_DEBUG
909# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
910 block
911# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
912 use iso_fortran_env, only: output_unit
913# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
914
915# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
916 print *, 'm_rhs.fpp:173: ', '@:ACC_SETUP_VFs(q_cons_qp, q_prim_qp)'
917# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
918
919# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
920 call flush (output_unit)
921# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
922 end block
923# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
924#endif
925# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
926
927# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
928
929# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
930#if defined(MFC_OpenACC)
931# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
932!$acc enter data copyin(q_cons_qp)
933# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
934#elif defined(MFC_OpenMP)
935# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
936!$omp target enter data map(to:q_cons_qp)
937# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
938#endif
939# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
940
941# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
942#if defined(MFC_OpenACC)
943# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
944!$acc enter data copyin(q_cons_qp%vf)
945# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
946#elif defined(MFC_OpenMP)
947# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
948!$omp target enter data map(to:q_cons_qp%vf)
949# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
950#endif
951# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
952 if (allocated(q_cons_qp%vf)) then
953# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
954 do macros_setup_vfs_i = lbound(q_cons_qp%vf, 1), ubound(q_cons_qp%vf, 1)
955# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
956 if (associated(q_cons_qp%vf(macros_setup_vfs_i)%sf)) then
957# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
958
959# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
960#if defined(MFC_OpenACC)
961# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
962!$acc enter data copyin(q_cons_qp%vf(macros_setup_vfs_i))
963# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
964#elif defined(MFC_OpenMP)
965# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
966!$omp target enter data map(to:q_cons_qp%vf(macros_setup_vfs_i))
967# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
968#endif
969# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
970
971# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
972#if defined(MFC_OpenACC)
973# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
974!$acc enter data copyin(q_cons_qp%vf(macros_setup_vfs_i)%sf)
975# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
976#elif defined(MFC_OpenMP)
977# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
978!$omp target enter data map(to:q_cons_qp%vf(macros_setup_vfs_i)%sf)
979# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
980#endif
981# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
982 end if
983# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
984 end do
985# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
986 end if
987# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
988
989# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
990#if defined(MFC_OpenACC)
991# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
992!$acc enter data copyin(q_prim_qp)
993# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
994#elif defined(MFC_OpenMP)
995# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
996!$omp target enter data map(to:q_prim_qp)
997# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
998#endif
999# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1000
1001# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1002#if defined(MFC_OpenACC)
1003# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1004!$acc enter data copyin(q_prim_qp%vf)
1005# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1006#elif defined(MFC_OpenMP)
1007# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1008!$omp target enter data map(to:q_prim_qp%vf)
1009# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1010#endif
1011# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1012 if (allocated(q_prim_qp%vf)) then
1013# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1014 do macros_setup_vfs_i = lbound(q_prim_qp%vf, 1), ubound(q_prim_qp%vf, 1)
1015# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1016 if (associated(q_prim_qp%vf(macros_setup_vfs_i)%sf)) then
1017# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1018
1019# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1020#if defined(MFC_OpenACC)
1021# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1022!$acc enter data copyin(q_prim_qp%vf(macros_setup_vfs_i))
1023# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1024#elif defined(MFC_OpenMP)
1025# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1026!$omp target enter data map(to:q_prim_qp%vf(macros_setup_vfs_i))
1027# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1028#endif
1029# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1030
1031# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1032#if defined(MFC_OpenACC)
1033# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1034!$acc enter data copyin(q_prim_qp%vf(macros_setup_vfs_i)%sf)
1035# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1036#elif defined(MFC_OpenMP)
1037# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1038!$omp target enter data map(to:q_prim_qp%vf(macros_setup_vfs_i)%sf)
1039# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1040#endif
1041# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1042 end if
1043# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1044 end do
1045# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1046 end if
1047# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1048 end block
1049# 173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1050#endif
1051
1052 do l = 1, eqn_idx%cont%end
1053 if (relativity) then
1054 ! Cons and Prim densities are different for relativity
1055#ifdef MFC_DEBUG
1056# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1057 block
1058# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1059 use iso_fortran_env, only: output_unit
1060# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1061
1062# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1063 print *, 'm_rhs.fpp:178: ', '@:ALLOCATE(q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1064# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1065
1066# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1067 call flush (output_unit)
1068# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1069 end block
1070# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1071#endif
1072# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1073 allocate (q_prim_qp%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1074# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1075
1076# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1077
1078# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1079#if defined(MFC_OpenACC)
1080# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1081!$acc enter data create(q_prim_qp%vf(l)%sf)
1082# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1083#elif defined(MFC_OpenMP)
1084# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1085!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
1086# 178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1087#endif
1088# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1089 else
1090 q_prim_qp%vf(l)%sf => q_cons_qp%vf(l)%sf
1091
1092# 182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1093#if defined(MFC_OpenACC)
1094# 182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1095!$acc enter data copyin(q_prim_qp%vf(l)%sf)
1096# 182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1097#elif defined(MFC_OpenMP)
1098# 182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1099!$omp target enter data map(to:q_prim_qp%vf(l)%sf)
1100# 182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1101#endif
1102
1103# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1104#if defined(MFC_OpenACC)
1105# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1106!$acc enter data attach(q_prim_qp%vf(l)%sf)
1107# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1108#elif defined(MFC_OpenMP)
1109# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1110!$omp target enter data map(always,to:q_prim_qp%vf(l)%sf)
1111# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1112#endif
1113 end if
1114 end do
1115
1116 do l = eqn_idx%adv%beg, eqn_idx%adv%end
1117 q_prim_qp%vf(l)%sf => q_cons_qp%vf(l)%sf
1118
1119# 189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1120#if defined(MFC_OpenACC)
1121# 189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1122!$acc enter data copyin(q_prim_qp%vf(l)%sf)
1123# 189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1124#elif defined(MFC_OpenMP)
1125# 189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1126!$omp target enter data map(to:q_prim_qp%vf(l)%sf)
1127# 189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1128#endif
1129
1130# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1131#if defined(MFC_OpenACC)
1132# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1133!$acc enter data attach(q_prim_qp%vf(l)%sf)
1134# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1135#elif defined(MFC_OpenMP)
1136# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1137!$omp target enter data map(always,to:q_prim_qp%vf(l)%sf)
1138# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1139#endif
1140 end do
1141 end if
1142
1143 if (surface_tension) then
1144 q_prim_qp%vf(eqn_idx%c)%sf => q_cons_qp%vf(eqn_idx%c)%sf
1145
1146# 196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1147#if defined(MFC_OpenACC)
1148# 196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1149!$acc enter data copyin(q_prim_qp%vf(eqn_idx%c)%sf)
1150# 196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1151#elif defined(MFC_OpenMP)
1152# 196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1153!$omp target enter data map(to:q_prim_qp%vf(eqn_idx%c)%sf)
1154# 196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1155#endif
1156
1157# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1158#if defined(MFC_OpenACC)
1159# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1160!$acc enter data attach(q_prim_qp%vf(eqn_idx%c)%sf)
1161# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1162#elif defined(MFC_OpenMP)
1163# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1164!$omp target enter data map(always,to:q_prim_qp%vf(eqn_idx%c)%sf)
1165# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1166#endif
1167 end if
1168
1169 if (hyper_cleaning) then
1170 q_prim_qp%vf(eqn_idx%psi)%sf => q_cons_qp%vf(eqn_idx%psi)%sf
1171
1172# 202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1173#if defined(MFC_OpenACC)
1174# 202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1175!$acc enter data copyin(q_prim_qp%vf(eqn_idx%psi)%sf)
1176# 202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1177#elif defined(MFC_OpenMP)
1178# 202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1179!$omp target enter data map(to:q_prim_qp%vf(eqn_idx%psi)%sf)
1180# 202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1181#endif
1182
1183# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1184#if defined(MFC_OpenACC)
1185# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1186!$acc enter data attach(q_prim_qp%vf(eqn_idx%psi)%sf)
1187# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1188#elif defined(MFC_OpenMP)
1189# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1190!$omp target enter data map(always,to:q_prim_qp%vf(eqn_idx%psi)%sf)
1191# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1192#endif
1193 end if
1194
1195 if (.not. igr) then
1196#ifdef MFC_DEBUG
1197# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1198 block
1199# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1200 use iso_fortran_env, only: output_unit
1201# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1202
1203# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1204 print *, 'm_rhs.fpp:207: ', '@:ALLOCATE(flux_n(1:num_dims))'
1205# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1206
1207# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1208 call flush (output_unit)
1209# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1210 end block
1211# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1212#endif
1213# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1214 allocate (flux_n(1:num_dims))
1215# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1216
1217# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1218
1219# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1220#if defined(MFC_OpenACC)
1221# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1222!$acc enter data create(flux_n)
1223# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1224#elif defined(MFC_OpenMP)
1225# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1226!$omp target enter data map(always,alloc:flux_n)
1227# 207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1228#endif
1229#ifdef MFC_DEBUG
1230# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1231 block
1232# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1233 use iso_fortran_env, only: output_unit
1234# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1235
1236# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1237 print *, 'm_rhs.fpp:208: ', '@:ALLOCATE(flux_src_n(1:num_dims))'
1238# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1239
1240# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1241 call flush (output_unit)
1242# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1243 end block
1244# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1245#endif
1246# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1247 allocate (flux_src_n(1:num_dims))
1248# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1249
1250# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1251
1252# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1253#if defined(MFC_OpenACC)
1254# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1255!$acc enter data create(flux_src_n)
1256# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1257#elif defined(MFC_OpenMP)
1258# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1259!$omp target enter data map(always,alloc:flux_src_n)
1260# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1261#endif
1262#ifdef MFC_DEBUG
1263# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1264 block
1265# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1266 use iso_fortran_env, only: output_unit
1267# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1268
1269# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1270 print *, 'm_rhs.fpp:209: ', '@:ALLOCATE(flux_gsrc_n(1:num_dims))'
1271# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1272
1273# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1274 call flush (output_unit)
1275# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1276 end block
1277# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1278#endif
1279# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1280 allocate (flux_gsrc_n(1:num_dims))
1281# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1282
1283# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1284
1285# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1286#if defined(MFC_OpenACC)
1287# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1288!$acc enter data create(flux_gsrc_n)
1289# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1290#elif defined(MFC_OpenMP)
1291# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1292!$omp target enter data map(always,alloc:flux_gsrc_n)
1293# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1294#endif
1295
1296 do i = 1, num_dims
1297#ifdef MFC_DEBUG
1298# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1299 block
1300# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1301 use iso_fortran_env, only: output_unit
1302# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1303
1304# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1305 print *, 'm_rhs.fpp:212: ', '@:ALLOCATE(flux_n(i)%vf(1:sys_size))'
1306# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1307
1308# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1309 call flush (output_unit)
1310# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1311 end block
1312# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1313#endif
1314# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1315 allocate (flux_n(i)%vf(1:sys_size))
1316# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1317
1318# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1319
1320# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1321#if defined(MFC_OpenACC)
1322# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1323!$acc enter data create(flux_n(i)%vf)
1324# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1325#elif defined(MFC_OpenMP)
1326# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1327!$omp target enter data map(always,alloc:flux_n(i)%vf)
1328# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1329#endif
1330#ifdef MFC_DEBUG
1331# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1332 block
1333# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1334 use iso_fortran_env, only: output_unit
1335# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1336
1337# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1338 print *, 'm_rhs.fpp:213: ', '@:ALLOCATE(flux_src_n(i)%vf(1:sys_size))'
1339# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1340
1341# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1342 call flush (output_unit)
1343# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1344 end block
1345# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1346#endif
1347# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1348 allocate (flux_src_n(i)%vf(1:sys_size))
1349# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1350
1351# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1352
1353# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1354#if defined(MFC_OpenACC)
1355# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1356!$acc enter data create(flux_src_n(i)%vf)
1357# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1358#elif defined(MFC_OpenMP)
1359# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1360!$omp target enter data map(always,alloc:flux_src_n(i)%vf)
1361# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1362#endif
1363#ifdef MFC_DEBUG
1364# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1365 block
1366# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1367 use iso_fortran_env, only: output_unit
1368# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1369
1370# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1371 print *, 'm_rhs.fpp:214: ', '@:ALLOCATE(flux_gsrc_n(i)%vf(1:sys_size))'
1372# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1373
1374# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1375 call flush (output_unit)
1376# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1377 end block
1378# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1379#endif
1380# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1381 allocate (flux_gsrc_n(i)%vf(1:sys_size))
1382# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1383
1384# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1385
1386# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1387#if defined(MFC_OpenACC)
1388# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1389!$acc enter data create(flux_gsrc_n(i)%vf)
1390# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1391#elif defined(MFC_OpenMP)
1392# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1393!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf)
1394# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1395#endif
1396
1397 if (i == 1) then
1398 do l = 1, sys_size
1399#ifdef MFC_DEBUG
1400# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1401 block
1402# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1403 use iso_fortran_env, only: output_unit
1404# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1405
1406# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1407 print *, 'm_rhs.fpp:218: ', '@:ALLOCATE(flux_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1408# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1409
1410# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1411 call flush (output_unit)
1412# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1413 end block
1414# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1415#endif
1416# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1417 allocate (flux_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1418# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1419
1420# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1421
1422# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1423#if defined(MFC_OpenACC)
1424# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1425!$acc enter data create(flux_n(i)%vf(l)%sf)
1426# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1427#elif defined(MFC_OpenMP)
1428# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1429!$omp target enter data map(always,alloc:flux_n(i)%vf(l)%sf)
1430# 218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1431#endif
1432# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1433#ifdef MFC_DEBUG
1434# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1435 block
1436# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1437 use iso_fortran_env, only: output_unit
1438# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1439
1440# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1441 print *, 'm_rhs.fpp:220: ', '@:ALLOCATE(flux_gsrc_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1442# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1443
1444# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1445 call flush (output_unit)
1446# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1447 end block
1448# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1449#endif
1450# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1451 allocate (flux_gsrc_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1452# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1453
1454# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1455
1456# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1457#if defined(MFC_OpenACC)
1458# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1459!$acc enter data create(flux_gsrc_n(i)%vf(l)%sf)
1460# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1461#elif defined(MFC_OpenMP)
1462# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1463!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf(l)%sf)
1464# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1465#endif
1466# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1467 end do
1468
1469 if (viscous .or. surface_tension) then
1470 do l = eqn_idx%mom%beg, eqn_idx%E
1471#ifdef MFC_DEBUG
1472# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1473 block
1474# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1475 use iso_fortran_env, only: output_unit
1476# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1477
1478# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1479 print *, 'm_rhs.fpp:226: ', '@:ALLOCATE(flux_src_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1480# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1481
1482# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1483 call flush (output_unit)
1484# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1485 end block
1486# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1487#endif
1488# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1489 allocate (flux_src_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1490# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1491
1492# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1493
1494# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1495#if defined(MFC_OpenACC)
1496# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1497!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1498# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1499#elif defined(MFC_OpenMP)
1500# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1501!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1502# 226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1503#endif
1504# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1505 end do
1506 end if
1507
1508 ! flux_src at adv%beg:adv%end is overloaded by design:
1509 !
1510 ! adv_src_mode_alpha_iface: flux_src(adv%beg:adv%end) = per-fluid interface alpha values. Each fluid
1511 ! gets a separate 3D array.
1512 !
1513 ! adv_src_mode_vel_iface: flux_src(adv%beg) = one shared face-normal interface velocity.
1514 ! adv%beg+1:adv%end are pointer-aliased to adv%beg so loops over adv%beg:adv%end can keep fluid indexing
1515 ! while still reading one value. Saves (num_fluids - 1) fields.
1516 !
1517 ! adv_src_mode_none: flux_src(adv%beg:adv%end) = zeros. No separate NC advection source term. Allocated
1518 ! for structural consistency with s_finalize_riemann_solver.
1519#ifdef MFC_DEBUG
1520# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1521 block
1522# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1523 use iso_fortran_env, only: output_unit
1524# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1525
1526# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1527 print *, 'm_rhs.fpp:242: ', '@:ALLOCATE(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1528# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1529
1530# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1531 call flush (output_unit)
1532# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1533 end block
1534# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1535#endif
1536# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1537 allocate (flux_src_n(i)%vf(eqn_idx%adv%beg)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1538# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1539
1540# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1541
1542# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1543#if defined(MFC_OpenACC)
1544# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1545!$acc enter data create(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
1546# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1547#elif defined(MFC_OpenMP)
1548# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1549!$omp target enter data map(always,alloc:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
1550# 242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1551#endif
1552# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1553
1554 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
1555 ! Alpha-interface needs separate per-fluid arrays. HLLD (adv_src_mode_none) allocates for structural
1556 ! consistency with s_finalize_riemann_solver.
1557 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
1558#ifdef MFC_DEBUG
1559# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1560 block
1561# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1562 use iso_fortran_env, only: output_unit
1563# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1564
1565# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1566 print *, 'm_rhs.fpp:249: ', '@:ALLOCATE(flux_src_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1567# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1568
1569# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1570 call flush (output_unit)
1571# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1572 end block
1573# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1574#endif
1575# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1576 allocate (flux_src_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1577# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1578
1579# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1580
1581# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1582#if defined(MFC_OpenACC)
1583# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1584!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1585# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1586#elif defined(MFC_OpenMP)
1587# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1588!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1589# 249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1590#endif
1591# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1592 end do
1593 end if
1594
1595 if (chemistry) then
1596 do l = eqn_idx%species%beg, eqn_idx%species%end
1597#ifdef MFC_DEBUG
1598# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1599 block
1600# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1601 use iso_fortran_env, only: output_unit
1602# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1603
1604# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1605 print *, 'm_rhs.fpp:256: ', '@:ALLOCATE(flux_src_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1606# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1607
1608# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1609 call flush (output_unit)
1610# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1611 end block
1612# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1613#endif
1614# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1615 allocate (flux_src_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1616# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1617
1618# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1619
1620# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1621#if defined(MFC_OpenACC)
1622# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1623!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1624# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1625#elif defined(MFC_OpenMP)
1626# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1627!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1628# 256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1629#endif
1630# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1631 end do
1632 if (chem_params%diffusion .and. .not. viscous) then
1633#ifdef MFC_DEBUG
1634# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1635 block
1636# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1637 use iso_fortran_env, only: output_unit
1638# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1639
1640# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1641 print *, 'm_rhs.fpp:260: ', '@:ALLOCATE(flux_src_n(i)%vf(eqn_idx%E)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1642# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1643
1644# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1645 call flush (output_unit)
1646# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1647 end block
1648# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1649#endif
1650# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1651 allocate (flux_src_n(i)%vf(eqn_idx%E)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1652# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1653
1654# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1655
1656# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1657#if defined(MFC_OpenACC)
1658# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1659!$acc enter data create(flux_src_n(i)%vf(eqn_idx%E)%sf)
1660# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1661#elif defined(MFC_OpenMP)
1662# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1663!$omp target enter data map(always,alloc:flux_src_n(i)%vf(eqn_idx%E)%sf)
1664# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1665#endif
1666# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1667 end if
1668 end if
1669 else
1670 do l = 1, sys_size
1671#ifdef MFC_DEBUG
1672# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1673 block
1674# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1675 use iso_fortran_env, only: output_unit
1676# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1677
1678# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1679 print *, 'm_rhs.fpp:266: ', '@:ALLOCATE(flux_gsrc_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
1680# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1681
1682# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1683 call flush (output_unit)
1684# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1685 end block
1686# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1687#endif
1688# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1689 allocate (flux_gsrc_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
1690# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1691
1692# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1693
1694# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1695#if defined(MFC_OpenACC)
1696# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1697!$acc enter data create(flux_gsrc_n(i)%vf(l)%sf)
1698# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1699#elif defined(MFC_OpenMP)
1700# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1701!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf(l)%sf)
1702# 266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1703#endif
1704# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1705 end do
1706 end if
1707
1708#ifdef _CRAYFTN
1709# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1710 block
1711# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1712 integer :: macros_setup_vfs_i
1713# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1714
1715# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1716#ifdef MFC_DEBUG
1717# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1718 block
1719# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1720 use iso_fortran_env, only: output_unit
1721# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1722
1723# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1724 print *, 'm_rhs.fpp:271: ', '@:ACC_SETUP_VFs(flux_n(i))'
1725# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1726
1727# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1728 call flush (output_unit)
1729# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1730 end block
1731# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1732#endif
1733# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1734
1735# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1736
1737# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1738#if defined(MFC_OpenACC)
1739# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1740!$acc enter data copyin(flux_n(i))
1741# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1742#elif defined(MFC_OpenMP)
1743# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1744!$omp target enter data map(to:flux_n(i))
1745# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1746#endif
1747# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1748
1749# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1750#if defined(MFC_OpenACC)
1751# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1752!$acc enter data copyin(flux_n(i)%vf)
1753# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1754#elif defined(MFC_OpenMP)
1755# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1756!$omp target enter data map(to:flux_n(i)%vf)
1757# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1758#endif
1759# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1760 if (allocated(flux_n(i)%vf)) then
1761# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1762 do macros_setup_vfs_i = lbound(flux_n(i)%vf, 1), ubound(flux_n(i)%vf, 1)
1763# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1764 if (associated(flux_n(i)%vf(macros_setup_vfs_i)%sf)) then
1765# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1766
1767# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1768#if defined(MFC_OpenACC)
1769# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1770!$acc enter data copyin(flux_n(i)%vf(macros_setup_vfs_i))
1771# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1772#elif defined(MFC_OpenMP)
1773# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1774!$omp target enter data map(to:flux_n(i)%vf(macros_setup_vfs_i))
1775# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1776#endif
1777# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1778
1779# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1780#if defined(MFC_OpenACC)
1781# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1782!$acc enter data copyin(flux_n(i)%vf(macros_setup_vfs_i)%sf)
1783# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1784#elif defined(MFC_OpenMP)
1785# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1786!$omp target enter data map(to:flux_n(i)%vf(macros_setup_vfs_i)%sf)
1787# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1788#endif
1789# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1790 end if
1791# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1792 end do
1793# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1794 end if
1795# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1796 end block
1797# 271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1798#endif
1799#ifdef _CRAYFTN
1800# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1801 block
1802# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1803 integer :: macros_setup_vfs_i
1804# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1805
1806# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1807#ifdef MFC_DEBUG
1808# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1809 block
1810# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1811 use iso_fortran_env, only: output_unit
1812# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1813
1814# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1815 print *, 'm_rhs.fpp:272: ', '@:ACC_SETUP_VFs(flux_src_n(i), flux_gsrc_n(i))'
1816# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1817
1818# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1819 call flush (output_unit)
1820# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1821 end block
1822# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1823#endif
1824# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1825
1826# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1827
1828# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1829#if defined(MFC_OpenACC)
1830# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1831!$acc enter data copyin(flux_src_n(i))
1832# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1833#elif defined(MFC_OpenMP)
1834# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1835!$omp target enter data map(to:flux_src_n(i))
1836# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1837#endif
1838# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1839
1840# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1841#if defined(MFC_OpenACC)
1842# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1843!$acc enter data copyin(flux_src_n(i)%vf)
1844# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1845#elif defined(MFC_OpenMP)
1846# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1847!$omp target enter data map(to:flux_src_n(i)%vf)
1848# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1849#endif
1850# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1851 if (allocated(flux_src_n(i)%vf)) then
1852# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1853 do macros_setup_vfs_i = lbound(flux_src_n(i)%vf, 1), ubound(flux_src_n(i)%vf, 1)
1854# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1855 if (associated(flux_src_n(i)%vf(macros_setup_vfs_i)%sf)) then
1856# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1857
1858# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1859#if defined(MFC_OpenACC)
1860# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1861!$acc enter data copyin(flux_src_n(i)%vf(macros_setup_vfs_i))
1862# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1863#elif defined(MFC_OpenMP)
1864# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1865!$omp target enter data map(to:flux_src_n(i)%vf(macros_setup_vfs_i))
1866# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1867#endif
1868# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1869
1870# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1871#if defined(MFC_OpenACC)
1872# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1873!$acc enter data copyin(flux_src_n(i)%vf(macros_setup_vfs_i)%sf)
1874# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1875#elif defined(MFC_OpenMP)
1876# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1877!$omp target enter data map(to:flux_src_n(i)%vf(macros_setup_vfs_i)%sf)
1878# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1879#endif
1880# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1881 end if
1882# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1883 end do
1884# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1885 end if
1886# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1887
1888# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1889#if defined(MFC_OpenACC)
1890# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1891!$acc enter data copyin(flux_gsrc_n(i))
1892# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1893#elif defined(MFC_OpenMP)
1894# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1895!$omp target enter data map(to:flux_gsrc_n(i))
1896# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1897#endif
1898# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1899
1900# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1901#if defined(MFC_OpenACC)
1902# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1903!$acc enter data copyin(flux_gsrc_n(i)%vf)
1904# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1905#elif defined(MFC_OpenMP)
1906# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1907!$omp target enter data map(to:flux_gsrc_n(i)%vf)
1908# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1909#endif
1910# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1911 if (allocated(flux_gsrc_n(i)%vf)) then
1912# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1913 do macros_setup_vfs_i = lbound(flux_gsrc_n(i)%vf, 1), ubound(flux_gsrc_n(i)%vf, 1)
1914# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1915 if (associated(flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)) then
1916# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1917
1918# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1919#if defined(MFC_OpenACC)
1920# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1921!$acc enter data copyin(flux_gsrc_n(i)%vf(macros_setup_vfs_i))
1922# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1923#elif defined(MFC_OpenMP)
1924# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1925!$omp target enter data map(to:flux_gsrc_n(i)%vf(macros_setup_vfs_i))
1926# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1927#endif
1928# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1929
1930# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1931#if defined(MFC_OpenACC)
1932# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1933!$acc enter data copyin(flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)
1934# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1935#elif defined(MFC_OpenMP)
1936# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1937!$omp target enter data map(to:flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)
1938# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1939#endif
1940# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1941 end if
1942# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1943 end do
1944# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1945 end if
1946# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1947 end block
1948# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1949#endif
1950
1951 if (i == 1) then
1952 if (adv_src_mode == adv_src_mode_vel_iface) then
1953 ! u-interface: flux_src(adv%beg) holds one shared face-normal velocity. Pointer-alias adv%beg+1:adv%end to
1954 ! the same memory so loops over adv%beg:adv%end can keep fluid indexing while still reading one value. This
1955 ! saves (num_fluids - 1) 3D field allocations
1956 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
1957 flux_src_n(i)%vf(l)%sf => flux_src_n(i)%vf(eqn_idx%adv%beg)%sf
1958
1959# 281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1960#if defined(MFC_OpenACC)
1961# 281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1962!$acc enter data attach(flux_src_n(i)%vf(l)%sf)
1963# 281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1964#elif defined(MFC_OpenMP)
1965# 281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1966!$omp target enter data map(always,to:flux_src_n(i)%vf(l)%sf)
1967# 281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1968#endif
1969 end do
1970 end if
1971 else
1972 do l = 1, sys_size
1973 flux_n(i)%vf(l)%sf => flux_n(1)%vf(l)%sf
1974
1975# 287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1976#if defined(MFC_OpenACC)
1977# 287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1978!$acc enter data attach(flux_n(i)%vf(l)%sf)
1979# 287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1980#elif defined(MFC_OpenMP)
1981# 287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1982!$omp target enter data map(always,to:flux_n(i)%vf(l)%sf)
1983# 287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1984#endif
1985 flux_src_n(i)%vf(l)%sf => flux_src_n(1)%vf(l)%sf
1986
1987# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1988#if defined(MFC_OpenACC)
1989# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1990!$acc enter data attach(flux_src_n(i)%vf(l)%sf)
1991# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1992#elif defined(MFC_OpenMP)
1993# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1994!$omp target enter data map(always,to:flux_src_n(i)%vf(l)%sf)
1995# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1996#endif
1997 end do
1998 end if
1999 end do
2000 end if
2001
2002 if ((.not. igr)) then
2003#ifdef MFC_DEBUG
2004# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2005 block
2006# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2007 use iso_fortran_env, only: output_unit
2008# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2009
2010# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2011 print *, 'm_rhs.fpp:296: ', '@:ALLOCATE(dq_prim_dx_qp(1:1))'
2012# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2013
2014# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2015 call flush (output_unit)
2016# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2017 end block
2018# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2019#endif
2020# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2021 allocate (dq_prim_dx_qp(1:1))
2022# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2023
2024# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2025
2026# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2027#if defined(MFC_OpenACC)
2028# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2029!$acc enter data create(dq_prim_dx_qp)
2030# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2031#elif defined(MFC_OpenMP)
2032# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2033!$omp target enter data map(always,alloc:dq_prim_dx_qp)
2034# 296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2035#endif
2036#ifdef MFC_DEBUG
2037# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2038 block
2039# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2040 use iso_fortran_env, only: output_unit
2041# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2042
2043# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2044 print *, 'm_rhs.fpp:297: ', '@:ALLOCATE(dq_prim_dy_qp(1:1))'
2045# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2046
2047# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2048 call flush (output_unit)
2049# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2050 end block
2051# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2052#endif
2053# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2054 allocate (dq_prim_dy_qp(1:1))
2055# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2056
2057# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2058
2059# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2060#if defined(MFC_OpenACC)
2061# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2062!$acc enter data create(dq_prim_dy_qp)
2063# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2064#elif defined(MFC_OpenMP)
2065# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2066!$omp target enter data map(always,alloc:dq_prim_dy_qp)
2067# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2068#endif
2069#ifdef MFC_DEBUG
2070# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2071 block
2072# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2073 use iso_fortran_env, only: output_unit
2074# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2075
2076# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2077 print *, 'm_rhs.fpp:298: ', '@:ALLOCATE(dq_prim_dz_qp(1:1))'
2078# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2079
2080# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2081 call flush (output_unit)
2082# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2083 end block
2084# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2085#endif
2086# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2087 allocate (dq_prim_dz_qp(1:1))
2088# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2089
2090# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2091
2092# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2093#if defined(MFC_OpenACC)
2094# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2095!$acc enter data create(dq_prim_dz_qp)
2096# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2097#elif defined(MFC_OpenMP)
2098# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2099!$omp target enter data map(always,alloc:dq_prim_dz_qp)
2100# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2101#endif
2102
2103#ifdef MFC_DEBUG
2104# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2105 block
2106# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2107 use iso_fortran_env, only: output_unit
2108# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2109
2110# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2111 print *, 'm_rhs.fpp:300: ', '@:ALLOCATE(qL_prim(1:num_dims))'
2112# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2113
2114# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2115 call flush (output_unit)
2116# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2117 end block
2118# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2119#endif
2120# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2121 allocate (ql_prim(1:num_dims))
2122# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2123
2124# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2125
2126# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2127#if defined(MFC_OpenACC)
2128# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2129!$acc enter data create(qL_prim)
2130# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2131#elif defined(MFC_OpenMP)
2132# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2133!$omp target enter data map(always,alloc:qL_prim)
2134# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2135#endif
2136#ifdef MFC_DEBUG
2137# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2138 block
2139# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2140 use iso_fortran_env, only: output_unit
2141# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2142
2143# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2144 print *, 'm_rhs.fpp:301: ', '@:ALLOCATE(qR_prim(1:num_dims))'
2145# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2146
2147# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2148 call flush (output_unit)
2149# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2150 end block
2151# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2152#endif
2153# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2154 allocate (qr_prim(1:num_dims))
2155# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2156
2157# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2158
2159# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2160#if defined(MFC_OpenACC)
2161# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2162!$acc enter data create(qR_prim)
2163# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2164#elif defined(MFC_OpenMP)
2165# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2166!$omp target enter data map(always,alloc:qR_prim)
2167# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2168#endif
2169
2170#ifdef MFC_DEBUG
2171# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2172 block
2173# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2174 use iso_fortran_env, only: output_unit
2175# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2176
2177# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2178 print *, 'm_rhs.fpp:303: ', '@:ALLOCATE(dqL_prim_dx_n(1:num_dims))'
2179# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2180
2181# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2182 call flush (output_unit)
2183# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2184 end block
2185# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2186#endif
2187# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2188 allocate (dql_prim_dx_n(1:num_dims))
2189# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2190
2191# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2192
2193# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2194#if defined(MFC_OpenACC)
2195# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2196!$acc enter data create(dqL_prim_dx_n)
2197# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2198#elif defined(MFC_OpenMP)
2199# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2200!$omp target enter data map(always,alloc:dqL_prim_dx_n)
2201# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2202#endif
2203#ifdef MFC_DEBUG
2204# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2205 block
2206# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2207 use iso_fortran_env, only: output_unit
2208# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2209
2210# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2211 print *, 'm_rhs.fpp:304: ', '@:ALLOCATE(dqL_prim_dy_n(1:num_dims))'
2212# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2213
2214# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2215 call flush (output_unit)
2216# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2217 end block
2218# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2219#endif
2220# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2221 allocate (dql_prim_dy_n(1:num_dims))
2222# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2223
2224# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2225
2226# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2227#if defined(MFC_OpenACC)
2228# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2229!$acc enter data create(dqL_prim_dy_n)
2230# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2231#elif defined(MFC_OpenMP)
2232# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2233!$omp target enter data map(always,alloc:dqL_prim_dy_n)
2234# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2235#endif
2236#ifdef MFC_DEBUG
2237# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2238 block
2239# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2240 use iso_fortran_env, only: output_unit
2241# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2242
2243# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2244 print *, 'm_rhs.fpp:305: ', '@:ALLOCATE(dqL_prim_dz_n(1:num_dims))'
2245# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2246
2247# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2248 call flush (output_unit)
2249# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2250 end block
2251# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2252#endif
2253# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2254 allocate (dql_prim_dz_n(1:num_dims))
2255# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2256
2257# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2258
2259# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2260#if defined(MFC_OpenACC)
2261# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2262!$acc enter data create(dqL_prim_dz_n)
2263# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2264#elif defined(MFC_OpenMP)
2265# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2266!$omp target enter data map(always,alloc:dqL_prim_dz_n)
2267# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2268#endif
2269#ifdef MFC_DEBUG
2270# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2271 block
2272# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2273 use iso_fortran_env, only: output_unit
2274# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2275
2276# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2277 print *, 'm_rhs.fpp:306: ', '@:ALLOCATE(dqR_prim_dx_n(1:num_dims))'
2278# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2279
2280# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2281 call flush (output_unit)
2282# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2283 end block
2284# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2285#endif
2286# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2287 allocate (dqr_prim_dx_n(1:num_dims))
2288# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2289
2290# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2291
2292# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2293#if defined(MFC_OpenACC)
2294# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2295!$acc enter data create(dqR_prim_dx_n)
2296# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2297#elif defined(MFC_OpenMP)
2298# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2299!$omp target enter data map(always,alloc:dqR_prim_dx_n)
2300# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2301#endif
2302#ifdef MFC_DEBUG
2303# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2304 block
2305# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2306 use iso_fortran_env, only: output_unit
2307# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2308
2309# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2310 print *, 'm_rhs.fpp:307: ', '@:ALLOCATE(dqR_prim_dy_n(1:num_dims))'
2311# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2312
2313# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2314 call flush (output_unit)
2315# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2316 end block
2317# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2318#endif
2319# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2320 allocate (dqr_prim_dy_n(1:num_dims))
2321# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2322
2323# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2324
2325# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2326#if defined(MFC_OpenACC)
2327# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2328!$acc enter data create(dqR_prim_dy_n)
2329# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2330#elif defined(MFC_OpenMP)
2331# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2332!$omp target enter data map(always,alloc:dqR_prim_dy_n)
2333# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2334#endif
2335#ifdef MFC_DEBUG
2336# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2337 block
2338# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2339 use iso_fortran_env, only: output_unit
2340# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2341
2342# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2343 print *, 'm_rhs.fpp:308: ', '@:ALLOCATE(dqR_prim_dz_n(1:num_dims))'
2344# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2345
2346# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2347 call flush (output_unit)
2348# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2349 end block
2350# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2351#endif
2352# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2353 allocate (dqr_prim_dz_n(1:num_dims))
2354# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2355
2356# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2357
2358# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2359#if defined(MFC_OpenACC)
2360# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2361!$acc enter data create(dqR_prim_dz_n)
2362# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2363#elif defined(MFC_OpenMP)
2364# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2365!$omp target enter data map(always,alloc:dqR_prim_dz_n)
2366# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2367#endif
2368
2369 do i = 1, num_dims
2370#ifdef MFC_DEBUG
2371# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2372 block
2373# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2374 use iso_fortran_env, only: output_unit
2375# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2376
2377# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2378 print *, 'm_rhs.fpp:311: ', '@:ALLOCATE(qL_prim(i)%vf(1:sys_size))'
2379# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2380
2381# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2382 call flush (output_unit)
2383# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2384 end block
2385# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2386#endif
2387# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2388 allocate (ql_prim(i)%vf(1:sys_size))
2389# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2390
2391# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2392
2393# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2394#if defined(MFC_OpenACC)
2395# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2396!$acc enter data create(qL_prim(i)%vf)
2397# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2398#elif defined(MFC_OpenMP)
2399# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2400!$omp target enter data map(always,alloc:qL_prim(i)%vf)
2401# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2402#endif
2403#ifdef MFC_DEBUG
2404# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2405 block
2406# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2407 use iso_fortran_env, only: output_unit
2408# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2409
2410# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2411 print *, 'm_rhs.fpp:312: ', '@:ALLOCATE(qR_prim(i)%vf(1:sys_size))'
2412# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2413
2414# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2415 call flush (output_unit)
2416# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2417 end block
2418# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2419#endif
2420# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2421 allocate (qr_prim(i)%vf(1:sys_size))
2422# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2423
2424# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2425
2426# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2427#if defined(MFC_OpenACC)
2428# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2429!$acc enter data create(qR_prim(i)%vf)
2430# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2431#elif defined(MFC_OpenMP)
2432# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2433!$omp target enter data map(always,alloc:qR_prim(i)%vf)
2434# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2435#endif
2436 do l = eqn_idx%mom%beg, eqn_idx%mom%end
2437#ifdef MFC_DEBUG
2438# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2439 block
2440# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2441 use iso_fortran_env, only: output_unit
2442# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2443
2444# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2445 print *, 'm_rhs.fpp:314: ', '@:ALLOCATE(qL_prim(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
2446# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2447
2448# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2449 call flush (output_unit)
2450# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2451 end block
2452# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2453#endif
2454# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2455 allocate (ql_prim(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
2456# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2457
2458# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2459
2460# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2461#if defined(MFC_OpenACC)
2462# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2463!$acc enter data create(qL_prim(i)%vf(l)%sf)
2464# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2465#elif defined(MFC_OpenMP)
2466# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2467!$omp target enter data map(always,alloc:qL_prim(i)%vf(l)%sf)
2468# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2469#endif
2470# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2471#ifdef MFC_DEBUG
2472# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2473 block
2474# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2475 use iso_fortran_env, only: output_unit
2476# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2477
2478# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2479 print *, 'm_rhs.fpp:316: ', '@:ALLOCATE(qR_prim(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
2480# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2481
2482# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2483 call flush (output_unit)
2484# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2485 end block
2486# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2487#endif
2488# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2489 allocate (qr_prim(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
2490# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2491
2492# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2493
2494# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2495#if defined(MFC_OpenACC)
2496# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2497!$acc enter data create(qR_prim(i)%vf(l)%sf)
2498# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2499#elif defined(MFC_OpenMP)
2500# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2501!$omp target enter data map(always,alloc:qR_prim(i)%vf(l)%sf)
2502# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2503#endif
2504# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2505 end do
2506#ifdef _CRAYFTN
2507# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2508 block
2509# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2510 integer :: macros_setup_vfs_i
2511# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2512
2513# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2514#ifdef MFC_DEBUG
2515# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2516 block
2517# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2518 use iso_fortran_env, only: output_unit
2519# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2520
2521# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2522 print *, 'm_rhs.fpp:319: ', '@:ACC_SETUP_VFs(qL_prim(i), qR_prim(i))'
2523# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2524
2525# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2526 call flush (output_unit)
2527# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2528 end block
2529# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2530#endif
2531# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2532
2533# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2534
2535# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2536#if defined(MFC_OpenACC)
2537# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2538!$acc enter data copyin(qL_prim(i))
2539# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2540#elif defined(MFC_OpenMP)
2541# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2542!$omp target enter data map(to:qL_prim(i))
2543# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2544#endif
2545# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2546
2547# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2548#if defined(MFC_OpenACC)
2549# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2550!$acc enter data copyin(qL_prim(i)%vf)
2551# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2552#elif defined(MFC_OpenMP)
2553# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2554!$omp target enter data map(to:qL_prim(i)%vf)
2555# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2556#endif
2557# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2558 if (allocated(ql_prim(i)%vf)) then
2559# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2560 do macros_setup_vfs_i = lbound(ql_prim(i)%vf, 1), ubound(ql_prim(i)%vf, 1)
2561# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2562 if (associated(ql_prim(i)%vf(macros_setup_vfs_i)%sf)) then
2563# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2564
2565# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2566#if defined(MFC_OpenACC)
2567# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2568!$acc enter data copyin(qL_prim(i)%vf(macros_setup_vfs_i))
2569# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2570#elif defined(MFC_OpenMP)
2571# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2572!$omp target enter data map(to:qL_prim(i)%vf(macros_setup_vfs_i))
2573# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2574#endif
2575# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2576
2577# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2578#if defined(MFC_OpenACC)
2579# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2580!$acc enter data copyin(qL_prim(i)%vf(macros_setup_vfs_i)%sf)
2581# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2582#elif defined(MFC_OpenMP)
2583# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2584!$omp target enter data map(to:qL_prim(i)%vf(macros_setup_vfs_i)%sf)
2585# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2586#endif
2587# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2588 end if
2589# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2590 end do
2591# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2592 end if
2593# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2594
2595# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2596#if defined(MFC_OpenACC)
2597# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2598!$acc enter data copyin(qR_prim(i))
2599# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2600#elif defined(MFC_OpenMP)
2601# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2602!$omp target enter data map(to:qR_prim(i))
2603# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2604#endif
2605# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2606
2607# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2608#if defined(MFC_OpenACC)
2609# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2610!$acc enter data copyin(qR_prim(i)%vf)
2611# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2612#elif defined(MFC_OpenMP)
2613# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2614!$omp target enter data map(to:qR_prim(i)%vf)
2615# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2616#endif
2617# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2618 if (allocated(qr_prim(i)%vf)) then
2619# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2620 do macros_setup_vfs_i = lbound(qr_prim(i)%vf, 1), ubound(qr_prim(i)%vf, 1)
2621# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2622 if (associated(qr_prim(i)%vf(macros_setup_vfs_i)%sf)) then
2623# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2624
2625# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2626#if defined(MFC_OpenACC)
2627# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2628!$acc enter data copyin(qR_prim(i)%vf(macros_setup_vfs_i))
2629# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2630#elif defined(MFC_OpenMP)
2631# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2632!$omp target enter data map(to:qR_prim(i)%vf(macros_setup_vfs_i))
2633# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2634#endif
2635# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2636
2637# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2638#if defined(MFC_OpenACC)
2639# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2640!$acc enter data copyin(qR_prim(i)%vf(macros_setup_vfs_i)%sf)
2641# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2642#elif defined(MFC_OpenMP)
2643# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2644!$omp target enter data map(to:qR_prim(i)%vf(macros_setup_vfs_i)%sf)
2645# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2646#endif
2647# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2648 end if
2649# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2650 end do
2651# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2652 end if
2653# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2654 end block
2655# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2656#endif
2657 end do
2658
2659#ifdef MFC_DEBUG
2660# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2661 block
2662# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2663 use iso_fortran_env, only: output_unit
2664# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2665
2666# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2667 print *, 'm_rhs.fpp:322: ', '@:ALLOCATE(qL_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, 1:sys_size))'
2668# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2669
2670# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2671 call flush (output_unit)
2672# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2673 end block
2674# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2675#endif
2676# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2677 allocate (ql_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, 1:sys_size))
2678# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2679
2680# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2681
2682# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2683#if defined(MFC_OpenACC)
2684# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2685!$acc enter data create(qL_rsx_vf)
2686# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2687#elif defined(MFC_OpenMP)
2688# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2689!$omp target enter data map(always,alloc:qL_rsx_vf)
2690# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2691#endif
2692# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2693#ifdef MFC_DEBUG
2694# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2695 block
2696# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2697 use iso_fortran_env, only: output_unit
2698# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2699
2700# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2701 print *, 'm_rhs.fpp:324: ', '@:ALLOCATE(qR_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, 1:sys_size))'
2702# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2703
2704# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2705 call flush (output_unit)
2706# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2707 end block
2708# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2709#endif
2710# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2711 allocate (qr_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, 1:sys_size))
2712# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2713
2714# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2715
2716# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2717#if defined(MFC_OpenACC)
2718# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2719!$acc enter data create(qR_rsx_vf)
2720# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2721#elif defined(MFC_OpenMP)
2722# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2723!$omp target enter data map(always,alloc:qR_rsx_vf)
2724# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2725#endif
2726# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2727
2728 if (.not. viscous) then
2729 do i = 1, num_dims
2730#ifdef MFC_DEBUG
2731# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2732 block
2733# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2734 use iso_fortran_env, only: output_unit
2735# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2736
2737# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2738 print *, 'm_rhs.fpp:329: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(1:sys_size))'
2739# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2740
2741# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2742 call flush (output_unit)
2743# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2744 end block
2745# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2746#endif
2747# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2748 allocate (dql_prim_dx_n(i)%vf(1:sys_size))
2749# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2750
2751# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2752
2753# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2754#if defined(MFC_OpenACC)
2755# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2756!$acc enter data create(dqL_prim_dx_n(i)%vf)
2757# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2758#elif defined(MFC_OpenMP)
2759# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2760!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf)
2761# 329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2762#endif
2763#ifdef MFC_DEBUG
2764# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2765 block
2766# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2767 use iso_fortran_env, only: output_unit
2768# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2769
2770# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2771 print *, 'm_rhs.fpp:330: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(1:sys_size))'
2772# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2773
2774# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2775 call flush (output_unit)
2776# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2777 end block
2778# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2779#endif
2780# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2781 allocate (dql_prim_dy_n(i)%vf(1:sys_size))
2782# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2783
2784# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2785
2786# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2787#if defined(MFC_OpenACC)
2788# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2789!$acc enter data create(dqL_prim_dy_n(i)%vf)
2790# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2791#elif defined(MFC_OpenMP)
2792# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2793!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf)
2794# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2795#endif
2796#ifdef MFC_DEBUG
2797# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2798 block
2799# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2800 use iso_fortran_env, only: output_unit
2801# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2802
2803# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2804 print *, 'm_rhs.fpp:331: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(1:sys_size))'
2805# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2806
2807# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2808 call flush (output_unit)
2809# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2810 end block
2811# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2812#endif
2813# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2814 allocate (dql_prim_dz_n(i)%vf(1:sys_size))
2815# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2816
2817# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2818
2819# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2820#if defined(MFC_OpenACC)
2821# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2822!$acc enter data create(dqL_prim_dz_n(i)%vf)
2823# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2824#elif defined(MFC_OpenMP)
2825# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2826!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf)
2827# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2828#endif
2829#ifdef MFC_DEBUG
2830# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2831 block
2832# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2833 use iso_fortran_env, only: output_unit
2834# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2835
2836# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2837 print *, 'm_rhs.fpp:332: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(1:sys_size))'
2838# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2839
2840# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2841 call flush (output_unit)
2842# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2843 end block
2844# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2845#endif
2846# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2847 allocate (dqr_prim_dx_n(i)%vf(1:sys_size))
2848# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2849
2850# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2851
2852# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2853#if defined(MFC_OpenACC)
2854# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2855!$acc enter data create(dqR_prim_dx_n(i)%vf)
2856# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2857#elif defined(MFC_OpenMP)
2858# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2859!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf)
2860# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2861#endif
2862#ifdef MFC_DEBUG
2863# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2864 block
2865# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2866 use iso_fortran_env, only: output_unit
2867# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2868
2869# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2870 print *, 'm_rhs.fpp:333: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(1:sys_size))'
2871# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2872
2873# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2874 call flush (output_unit)
2875# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2876 end block
2877# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2878#endif
2879# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2880 allocate (dqr_prim_dy_n(i)%vf(1:sys_size))
2881# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2882
2883# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2884
2885# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2886#if defined(MFC_OpenACC)
2887# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2888!$acc enter data create(dqR_prim_dy_n(i)%vf)
2889# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2890#elif defined(MFC_OpenMP)
2891# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2892!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf)
2893# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2894#endif
2895#ifdef MFC_DEBUG
2896# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2897 block
2898# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2899 use iso_fortran_env, only: output_unit
2900# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2901
2902# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2903 print *, 'm_rhs.fpp:334: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(1:sys_size))'
2904# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2905
2906# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2907 call flush (output_unit)
2908# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2909 end block
2910# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2911#endif
2912# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2913 allocate (dqr_prim_dz_n(i)%vf(1:sys_size))
2914# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2915
2916# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2917
2918# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2919#if defined(MFC_OpenACC)
2920# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2921!$acc enter data create(dqR_prim_dz_n(i)%vf)
2922# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2923#elif defined(MFC_OpenMP)
2924# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2925!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf)
2926# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2927#endif
2928
2929 do l = eqn_idx%mom%beg, eqn_idx%mom%end
2930#ifdef MFC_DEBUG
2931# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2932 block
2933# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2934 use iso_fortran_env, only: output_unit
2935# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2936
2937# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2938 print *, 'm_rhs.fpp:337: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
2939# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2940
2941# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2942 call flush (output_unit)
2943# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2944 end block
2945# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2946#endif
2947# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2948 allocate (dql_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
2949# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2950
2951# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2952
2953# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2954#if defined(MFC_OpenACC)
2955# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2956!$acc enter data create(dqL_prim_dx_n(i)%vf(l)%sf)
2957# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2958#elif defined(MFC_OpenMP)
2959# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2960!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf(l)%sf)
2961# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2962#endif
2963#ifdef MFC_DEBUG
2964# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2965 block
2966# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2967 use iso_fortran_env, only: output_unit
2968# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2969
2970# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2971 print *, 'm_rhs.fpp:338: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
2972# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2973
2974# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2975 call flush (output_unit)
2976# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2977 end block
2978# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2979#endif
2980# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2981 allocate (dql_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
2982# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2983
2984# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2985
2986# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2987#if defined(MFC_OpenACC)
2988# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2989!$acc enter data create(dqL_prim_dy_n(i)%vf(l)%sf)
2990# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2991#elif defined(MFC_OpenMP)
2992# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2993!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf(l)%sf)
2994# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2995#endif
2996#ifdef MFC_DEBUG
2997# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2998 block
2999# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3000 use iso_fortran_env, only: output_unit
3001# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3002
3003# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3004 print *, 'm_rhs.fpp:339: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3005# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3006
3007# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3008 call flush (output_unit)
3009# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3010 end block
3011# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3012#endif
3013# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3014 allocate (dql_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3015# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3016
3017# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3018
3019# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3020#if defined(MFC_OpenACC)
3021# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3022!$acc enter data create(dqL_prim_dz_n(i)%vf(l)%sf)
3023# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3024#elif defined(MFC_OpenMP)
3025# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3026!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf(l)%sf)
3027# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3028#endif
3029#ifdef MFC_DEBUG
3030# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3031 block
3032# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3033 use iso_fortran_env, only: output_unit
3034# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3035
3036# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3037 print *, 'm_rhs.fpp:340: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3038# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3039
3040# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3041 call flush (output_unit)
3042# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3043 end block
3044# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3045#endif
3046# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3047 allocate (dqr_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3048# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3049
3050# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3051
3052# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3053#if defined(MFC_OpenACC)
3054# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3055!$acc enter data create(dqR_prim_dx_n(i)%vf(l)%sf)
3056# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3057#elif defined(MFC_OpenMP)
3058# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3059!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf(l)%sf)
3060# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3061#endif
3062#ifdef MFC_DEBUG
3063# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3064 block
3065# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3066 use iso_fortran_env, only: output_unit
3067# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3068
3069# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3070 print *, 'm_rhs.fpp:341: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3071# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3072
3073# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3074 call flush (output_unit)
3075# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3076 end block
3077# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3078#endif
3079# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3080 allocate (dqr_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3081# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3082
3083# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3084
3085# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3086#if defined(MFC_OpenACC)
3087# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3088!$acc enter data create(dqR_prim_dy_n(i)%vf(l)%sf)
3089# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3090#elif defined(MFC_OpenMP)
3091# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3092!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf(l)%sf)
3093# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3094#endif
3095#ifdef MFC_DEBUG
3096# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3097 block
3098# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3099 use iso_fortran_env, only: output_unit
3100# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3101
3102# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3103 print *, 'm_rhs.fpp:342: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3104# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3105
3106# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3107 call flush (output_unit)
3108# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3109 end block
3110# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3111#endif
3112# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3113 allocate (dqr_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3114# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3115
3116# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3117
3118# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3119#if defined(MFC_OpenACC)
3120# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3121!$acc enter data create(dqR_prim_dz_n(i)%vf(l)%sf)
3122# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3123#elif defined(MFC_OpenMP)
3124# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3125!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf(l)%sf)
3126# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3127#endif
3128 end do
3129#ifdef _CRAYFTN
3130# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3131 block
3132# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3133 integer :: macros_setup_vfs_i
3134# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3135
3136# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3137#ifdef MFC_DEBUG
3138# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3139 block
3140# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3141 use iso_fortran_env, only: output_unit
3142# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3143
3144# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3145 print *, 'm_rhs.fpp:344: ', '@:ACC_SETUP_VFs(dqL_prim_dx_n(i), dqL_prim_dy_n(i), dqL_prim_dz_n(i))'
3146# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3147
3148# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3149 call flush (output_unit)
3150# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3151 end block
3152# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3153#endif
3154# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3155
3156# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3157
3158# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3159#if defined(MFC_OpenACC)
3160# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3161!$acc enter data copyin(dqL_prim_dx_n(i))
3162# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3163#elif defined(MFC_OpenMP)
3164# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3165!$omp target enter data map(to:dqL_prim_dx_n(i))
3166# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3167#endif
3168# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3169
3170# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3171#if defined(MFC_OpenACC)
3172# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3173!$acc enter data copyin(dqL_prim_dx_n(i)%vf)
3174# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3175#elif defined(MFC_OpenMP)
3176# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3177!$omp target enter data map(to:dqL_prim_dx_n(i)%vf)
3178# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3179#endif
3180# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3181 if (allocated(dql_prim_dx_n(i)%vf)) then
3182# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3183 do macros_setup_vfs_i = lbound(dql_prim_dx_n(i)%vf, 1), ubound(dql_prim_dx_n(i)%vf, 1)
3184# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3185 if (associated(dql_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
3186# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3187
3188# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3189#if defined(MFC_OpenACC)
3190# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3191!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
3192# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3193#elif defined(MFC_OpenMP)
3194# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3195!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
3196# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3197#endif
3198# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3199
3200# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3201#if defined(MFC_OpenACC)
3202# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3203!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3204# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3205#elif defined(MFC_OpenMP)
3206# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3207!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3208# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3209#endif
3210# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3211 end if
3212# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3213 end do
3214# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3215 end if
3216# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3217
3218# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3219#if defined(MFC_OpenACC)
3220# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3221!$acc enter data copyin(dqL_prim_dy_n(i))
3222# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3223#elif defined(MFC_OpenMP)
3224# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3225!$omp target enter data map(to:dqL_prim_dy_n(i))
3226# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3227#endif
3228# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3229
3230# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3231#if defined(MFC_OpenACC)
3232# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3233!$acc enter data copyin(dqL_prim_dy_n(i)%vf)
3234# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3235#elif defined(MFC_OpenMP)
3236# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3237!$omp target enter data map(to:dqL_prim_dy_n(i)%vf)
3238# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3239#endif
3240# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3241 if (allocated(dql_prim_dy_n(i)%vf)) then
3242# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3243 do macros_setup_vfs_i = lbound(dql_prim_dy_n(i)%vf, 1), ubound(dql_prim_dy_n(i)%vf, 1)
3244# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3245 if (associated(dql_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
3246# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3247
3248# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3249#if defined(MFC_OpenACC)
3250# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3251!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
3252# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3253#elif defined(MFC_OpenMP)
3254# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3255!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
3256# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3257#endif
3258# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3259
3260# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3261#if defined(MFC_OpenACC)
3262# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3263!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3264# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3265#elif defined(MFC_OpenMP)
3266# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3267!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3268# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3269#endif
3270# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3271 end if
3272# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3273 end do
3274# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3275 end if
3276# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3277
3278# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3279#if defined(MFC_OpenACC)
3280# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3281!$acc enter data copyin(dqL_prim_dz_n(i))
3282# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3283#elif defined(MFC_OpenMP)
3284# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3285!$omp target enter data map(to:dqL_prim_dz_n(i))
3286# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3287#endif
3288# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3289
3290# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3291#if defined(MFC_OpenACC)
3292# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3293!$acc enter data copyin(dqL_prim_dz_n(i)%vf)
3294# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3295#elif defined(MFC_OpenMP)
3296# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3297!$omp target enter data map(to:dqL_prim_dz_n(i)%vf)
3298# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3299#endif
3300# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3301 if (allocated(dql_prim_dz_n(i)%vf)) then
3302# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3303 do macros_setup_vfs_i = lbound(dql_prim_dz_n(i)%vf, 1), ubound(dql_prim_dz_n(i)%vf, 1)
3304# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3305 if (associated(dql_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
3306# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3307
3308# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3309#if defined(MFC_OpenACC)
3310# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3311!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
3312# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3313#elif defined(MFC_OpenMP)
3314# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3315!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
3316# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3317#endif
3318# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3319
3320# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3321#if defined(MFC_OpenACC)
3322# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3323!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3324# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3325#elif defined(MFC_OpenMP)
3326# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3327!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3328# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3329#endif
3330# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3331 end if
3332# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3333 end do
3334# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3335 end if
3336# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3337 end block
3338# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3339#endif
3340#ifdef _CRAYFTN
3341# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3342 block
3343# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3344 integer :: macros_setup_vfs_i
3345# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3346
3347# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3348#ifdef MFC_DEBUG
3349# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3350 block
3351# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3352 use iso_fortran_env, only: output_unit
3353# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3354
3355# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3356 print *, 'm_rhs.fpp:345: ', '@:ACC_SETUP_VFs(dqR_prim_dx_n(i), dqR_prim_dy_n(i), dqR_prim_dz_n(i))'
3357# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3358
3359# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3360 call flush (output_unit)
3361# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3362 end block
3363# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3364#endif
3365# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3366
3367# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3368
3369# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3370#if defined(MFC_OpenACC)
3371# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3372!$acc enter data copyin(dqR_prim_dx_n(i))
3373# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3374#elif defined(MFC_OpenMP)
3375# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3376!$omp target enter data map(to:dqR_prim_dx_n(i))
3377# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3378#endif
3379# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3380
3381# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3382#if defined(MFC_OpenACC)
3383# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3384!$acc enter data copyin(dqR_prim_dx_n(i)%vf)
3385# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3386#elif defined(MFC_OpenMP)
3387# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3388!$omp target enter data map(to:dqR_prim_dx_n(i)%vf)
3389# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3390#endif
3391# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3392 if (allocated(dqr_prim_dx_n(i)%vf)) then
3393# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3394 do macros_setup_vfs_i = lbound(dqr_prim_dx_n(i)%vf, 1), ubound(dqr_prim_dx_n(i)%vf, 1)
3395# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3396 if (associated(dqr_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
3397# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3398
3399# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3400#if defined(MFC_OpenACC)
3401# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3402!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
3403# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3404#elif defined(MFC_OpenMP)
3405# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3406!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
3407# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3408#endif
3409# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3410
3411# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3412#if defined(MFC_OpenACC)
3413# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3414!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3415# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3416#elif defined(MFC_OpenMP)
3417# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3418!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3419# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3420#endif
3421# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3422 end if
3423# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3424 end do
3425# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3426 end if
3427# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3428
3429# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3430#if defined(MFC_OpenACC)
3431# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3432!$acc enter data copyin(dqR_prim_dy_n(i))
3433# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3434#elif defined(MFC_OpenMP)
3435# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3436!$omp target enter data map(to:dqR_prim_dy_n(i))
3437# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3438#endif
3439# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3440
3441# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3442#if defined(MFC_OpenACC)
3443# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3444!$acc enter data copyin(dqR_prim_dy_n(i)%vf)
3445# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3446#elif defined(MFC_OpenMP)
3447# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3448!$omp target enter data map(to:dqR_prim_dy_n(i)%vf)
3449# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3450#endif
3451# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3452 if (allocated(dqr_prim_dy_n(i)%vf)) then
3453# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3454 do macros_setup_vfs_i = lbound(dqr_prim_dy_n(i)%vf, 1), ubound(dqr_prim_dy_n(i)%vf, 1)
3455# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3456 if (associated(dqr_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
3457# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3458
3459# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3460#if defined(MFC_OpenACC)
3461# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3462!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
3463# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3464#elif defined(MFC_OpenMP)
3465# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3466!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
3467# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3468#endif
3469# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3470
3471# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3472#if defined(MFC_OpenACC)
3473# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3474!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3475# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3476#elif defined(MFC_OpenMP)
3477# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3478!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3479# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3480#endif
3481# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3482 end if
3483# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3484 end do
3485# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3486 end if
3487# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3488
3489# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3490#if defined(MFC_OpenACC)
3491# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3492!$acc enter data copyin(dqR_prim_dz_n(i))
3493# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3494#elif defined(MFC_OpenMP)
3495# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3496!$omp target enter data map(to:dqR_prim_dz_n(i))
3497# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3498#endif
3499# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3500
3501# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3502#if defined(MFC_OpenACC)
3503# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3504!$acc enter data copyin(dqR_prim_dz_n(i)%vf)
3505# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3506#elif defined(MFC_OpenMP)
3507# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3508!$omp target enter data map(to:dqR_prim_dz_n(i)%vf)
3509# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3510#endif
3511# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3512 if (allocated(dqr_prim_dz_n(i)%vf)) then
3513# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3514 do macros_setup_vfs_i = lbound(dqr_prim_dz_n(i)%vf, 1), ubound(dqr_prim_dz_n(i)%vf, 1)
3515# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3516 if (associated(dqr_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
3517# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3518
3519# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3520#if defined(MFC_OpenACC)
3521# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3522!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
3523# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3524#elif defined(MFC_OpenMP)
3525# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3526!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
3527# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3528#endif
3529# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3530
3531# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3532#if defined(MFC_OpenACC)
3533# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3534!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3535# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3536#elif defined(MFC_OpenMP)
3537# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3538!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3539# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3540#endif
3541# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3542 end if
3543# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3544 end do
3545# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3546 end if
3547# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3548 end block
3549# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3550#endif
3551 end do
3552 end if
3553
3554 if (viscous) then
3555#ifdef MFC_DEBUG
3556# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3557 block
3558# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3559 use iso_fortran_env, only: output_unit
3560# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3561
3562# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3563 print *, 'm_rhs.fpp:350: ', '@:ALLOCATE(tau_Re_vf(1:sys_size))'
3564# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3565
3566# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3567 call flush (output_unit)
3568# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3569 end block
3570# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3571#endif
3572# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3573 allocate (tau_re_vf(1:sys_size))
3574# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3575
3576# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3577
3578# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3579#if defined(MFC_OpenACC)
3580# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3581!$acc enter data create(tau_Re_vf)
3582# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3583#elif defined(MFC_OpenMP)
3584# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3585!$omp target enter data map(always,alloc:tau_Re_vf)
3586# 350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3587#endif
3588 do i = 1, num_dims
3589#ifdef MFC_DEBUG
3590# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3591 block
3592# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3593 use iso_fortran_env, only: output_unit
3594# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3595
3596# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3597 print *, 'm_rhs.fpp:352: ', '@:ALLOCATE(tau_Re_vf(eqn_idx%cont%end + i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
3598# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3599
3600# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3601 call flush (output_unit)
3602# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3603 end block
3604# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3605#endif
3606# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3607 allocate (tau_re_vf(eqn_idx%cont%end + i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
3608# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3609
3610# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3611
3612# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3613#if defined(MFC_OpenACC)
3614# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3615!$acc enter data create(tau_Re_vf(eqn_idx%cont%end + i)%sf)
3616# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3617#elif defined(MFC_OpenMP)
3618# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3619!$omp target enter data map(always,alloc:tau_Re_vf(eqn_idx%cont%end + i)%sf)
3620# 352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3621#endif
3622# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3623#ifdef _CRAYFTN
3624# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3625 block
3626# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3627#ifdef MFC_DEBUG
3628# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3629 block
3630# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3631 use iso_fortran_env, only: output_unit
3632# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3633
3634# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3635 print *, 'm_rhs.fpp:354: ', '@:ACC_SETUP_SFs(tau_Re_vf(eqn_idx%cont%end + i))'
3636# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3637
3638# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3639 call flush (output_unit)
3640# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3641 end block
3642# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3643#endif
3644# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3645
3646# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3647
3648# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3649#if defined(MFC_OpenACC)
3650# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3651!$acc enter data copyin(tau_Re_vf(eqn_idx%cont%end + i))
3652# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3653#elif defined(MFC_OpenMP)
3654# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3655!$omp target enter data map(to:tau_Re_vf(eqn_idx%cont%end + i))
3656# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3657#endif
3658# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3659 if (associated(tau_re_vf(eqn_idx%cont%end + i)%sf)) then
3660# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3661
3662# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3663#if defined(MFC_OpenACC)
3664# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3665!$acc enter data copyin(tau_Re_vf(eqn_idx%cont%end + i)%sf)
3666# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3667#elif defined(MFC_OpenMP)
3668# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3669!$omp target enter data map(to:tau_Re_vf(eqn_idx%cont%end + i)%sf)
3670# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3671#endif
3672# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3673 end if
3674# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3675 end block
3676# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3677#endif
3678 end do
3679#ifdef MFC_DEBUG
3680# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3681 block
3682# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3683 use iso_fortran_env, only: output_unit
3684# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3685
3686# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3687 print *, 'm_rhs.fpp:356: ', '@:ALLOCATE(tau_Re_vf(eqn_idx%E)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
3688# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3689
3690# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3691 call flush (output_unit)
3692# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3693 end block
3694# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3695#endif
3696# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3697 allocate (tau_re_vf(eqn_idx%E)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
3698# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3699
3700# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3701
3702# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3703#if defined(MFC_OpenACC)
3704# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3705!$acc enter data create(tau_Re_vf(eqn_idx%E)%sf)
3706# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3707#elif defined(MFC_OpenMP)
3708# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3709!$omp target enter data map(always,alloc:tau_Re_vf(eqn_idx%E)%sf)
3710# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3711#endif
3712# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3713#ifdef _CRAYFTN
3714# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3715 block
3716# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3717#ifdef MFC_DEBUG
3718# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3719 block
3720# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3721 use iso_fortran_env, only: output_unit
3722# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3723
3724# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3725 print *, 'm_rhs.fpp:358: ', '@:ACC_SETUP_SFs(tau_Re_vf(eqn_idx%E))'
3726# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3727
3728# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3729 call flush (output_unit)
3730# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3731 end block
3732# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3733#endif
3734# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3735
3736# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3737
3738# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3739#if defined(MFC_OpenACC)
3740# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3741!$acc enter data copyin(tau_Re_vf(eqn_idx%E))
3742# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3743#elif defined(MFC_OpenMP)
3744# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3745!$omp target enter data map(to:tau_Re_vf(eqn_idx%E))
3746# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3747#endif
3748# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3749 if (associated(tau_re_vf(eqn_idx%E)%sf)) then
3750# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3751
3752# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3753#if defined(MFC_OpenACC)
3754# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3755!$acc enter data copyin(tau_Re_vf(eqn_idx%E)%sf)
3756# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3757#elif defined(MFC_OpenMP)
3758# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3759!$omp target enter data map(to:tau_Re_vf(eqn_idx%E)%sf)
3760# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3761#endif
3762# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3763 end if
3764# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3765 end block
3766# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3767#endif
3768
3769#ifdef MFC_DEBUG
3770# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3771 block
3772# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3773 use iso_fortran_env, only: output_unit
3774# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3775
3776# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3777 print *, 'm_rhs.fpp:360: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(1:sys_size))'
3778# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3779
3780# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3781 call flush (output_unit)
3782# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3783 end block
3784# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3785#endif
3786# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3787 allocate (dq_prim_dx_qp(1)%vf(1:sys_size))
3788# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3789
3790# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3791
3792# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3793#if defined(MFC_OpenACC)
3794# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3795!$acc enter data create(dq_prim_dx_qp(1)%vf)
3796# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3797#elif defined(MFC_OpenMP)
3798# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3799!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf)
3800# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3801#endif
3802#ifdef MFC_DEBUG
3803# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3804 block
3805# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3806 use iso_fortran_env, only: output_unit
3807# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3808
3809# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3810 print *, 'm_rhs.fpp:361: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(1:sys_size))'
3811# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3812
3813# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3814 call flush (output_unit)
3815# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3816 end block
3817# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3818#endif
3819# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3820 allocate (dq_prim_dy_qp(1)%vf(1:sys_size))
3821# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3822
3823# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3824
3825# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3826#if defined(MFC_OpenACC)
3827# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3828!$acc enter data create(dq_prim_dy_qp(1)%vf)
3829# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3830#elif defined(MFC_OpenMP)
3831# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3832!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf)
3833# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3834#endif
3835#ifdef MFC_DEBUG
3836# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3837 block
3838# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3839 use iso_fortran_env, only: output_unit
3840# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3841
3842# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3843 print *, 'm_rhs.fpp:362: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(1:sys_size))'
3844# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3845
3846# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3847 call flush (output_unit)
3848# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3849 end block
3850# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3851#endif
3852# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3853 allocate (dq_prim_dz_qp(1)%vf(1:sys_size))
3854# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3855
3856# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3857
3858# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3859#if defined(MFC_OpenACC)
3860# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3861!$acc enter data create(dq_prim_dz_qp(1)%vf)
3862# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3863#elif defined(MFC_OpenMP)
3864# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3865!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf)
3866# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3867#endif
3868
3869 do l = eqn_idx%mom%beg, eqn_idx%mom%end
3870#ifdef MFC_DEBUG
3871# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3872 block
3873# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3874 use iso_fortran_env, only: output_unit
3875# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3876
3877# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3878 print *, 'm_rhs.fpp:365: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
3879# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3880
3881# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3882 call flush (output_unit)
3883# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3884 end block
3885# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3886#endif
3887# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3888 allocate (dq_prim_dx_qp(1)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
3889# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3890
3891# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3892
3893# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3894#if defined(MFC_OpenACC)
3895# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3896!$acc enter data create(dq_prim_dx_qp(1)%vf(l)%sf)
3897# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3898#elif defined(MFC_OpenMP)
3899# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3900!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf(l)%sf)
3901# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3902#endif
3903# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3904 end do
3905
3906#ifdef _CRAYFTN
3907# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3908 block
3909# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3910 integer :: macros_setup_vfs_i
3911# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3912
3913# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3914#ifdef MFC_DEBUG
3915# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3916 block
3917# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3918 use iso_fortran_env, only: output_unit
3919# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3920
3921# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3922 print *, 'm_rhs.fpp:369: ', '@:ACC_SETUP_VFs(dq_prim_dx_qp(1))'
3923# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3924
3925# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3926 call flush (output_unit)
3927# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3928 end block
3929# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3930#endif
3931# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3932
3933# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3934
3935# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3936#if defined(MFC_OpenACC)
3937# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3938!$acc enter data copyin(dq_prim_dx_qp(1))
3939# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3940#elif defined(MFC_OpenMP)
3941# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3942!$omp target enter data map(to:dq_prim_dx_qp(1))
3943# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3944#endif
3945# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3946
3947# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3948#if defined(MFC_OpenACC)
3949# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3950!$acc enter data copyin(dq_prim_dx_qp(1)%vf)
3951# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3952#elif defined(MFC_OpenMP)
3953# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3954!$omp target enter data map(to:dq_prim_dx_qp(1)%vf)
3955# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3956#endif
3957# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3958 if (allocated(dq_prim_dx_qp(1)%vf)) then
3959# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3960 do macros_setup_vfs_i = lbound(dq_prim_dx_qp(1)%vf, 1), ubound(dq_prim_dx_qp(1)%vf, 1)
3961# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3962 if (associated(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)) then
3963# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3964
3965# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3966#if defined(MFC_OpenACC)
3967# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3968!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
3969# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3970#elif defined(MFC_OpenMP)
3971# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3972!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
3973# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3974#endif
3975# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3976
3977# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3978#if defined(MFC_OpenACC)
3979# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3980!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
3981# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3982#elif defined(MFC_OpenMP)
3983# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3984!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
3985# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3986#endif
3987# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3988 end if
3989# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3990 end do
3991# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3992 end if
3993# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3994 end block
3995# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3996#endif
3997
3998 if (n > 0) then
3999 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4000#ifdef MFC_DEBUG
4001# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4002 block
4003# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4004 use iso_fortran_env, only: output_unit
4005# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4006
4007# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4008 print *, 'm_rhs.fpp:373: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4009# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4010
4011# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4012 call flush (output_unit)
4013# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4014 end block
4015# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4016#endif
4017# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4018 allocate (dq_prim_dy_qp(1)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4019# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4020
4021# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4022
4023# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4024#if defined(MFC_OpenACC)
4025# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4026!$acc enter data create(dq_prim_dy_qp(1)%vf(l)%sf)
4027# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4028#elif defined(MFC_OpenMP)
4029# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4030!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf(l)%sf)
4031# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4032#endif
4033# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4034 end do
4035
4036#ifdef _CRAYFTN
4037# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4038 block
4039# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4040 integer :: macros_setup_vfs_i
4041# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4042
4043# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4044#ifdef MFC_DEBUG
4045# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4046 block
4047# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4048 use iso_fortran_env, only: output_unit
4049# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4050
4051# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4052 print *, 'm_rhs.fpp:377: ', '@:ACC_SETUP_VFs(dq_prim_dy_qp(1))'
4053# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4054
4055# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4056 call flush (output_unit)
4057# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4058 end block
4059# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4060#endif
4061# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4062
4063# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4064
4065# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4066#if defined(MFC_OpenACC)
4067# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4068!$acc enter data copyin(dq_prim_dy_qp(1))
4069# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4070#elif defined(MFC_OpenMP)
4071# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4072!$omp target enter data map(to:dq_prim_dy_qp(1))
4073# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4074#endif
4075# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4076
4077# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4078#if defined(MFC_OpenACC)
4079# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4080!$acc enter data copyin(dq_prim_dy_qp(1)%vf)
4081# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4082#elif defined(MFC_OpenMP)
4083# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4084!$omp target enter data map(to:dq_prim_dy_qp(1)%vf)
4085# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4086#endif
4087# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4088 if (allocated(dq_prim_dy_qp(1)%vf)) then
4089# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4090 do macros_setup_vfs_i = lbound(dq_prim_dy_qp(1)%vf, 1), ubound(dq_prim_dy_qp(1)%vf, 1)
4091# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4092 if (associated(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4093# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4094
4095# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4096#if defined(MFC_OpenACC)
4097# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4098!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
4099# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4100#elif defined(MFC_OpenMP)
4101# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4102!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
4103# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4104#endif
4105# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4106
4107# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4108#if defined(MFC_OpenACC)
4109# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4110!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
4111# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4112#elif defined(MFC_OpenMP)
4113# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4114!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
4115# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4116#endif
4117# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4118 end if
4119# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4120 end do
4121# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4122 end if
4123# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4124 end block
4125# 377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4126#endif
4127
4128 if (p > 0) then
4129 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4130#ifdef MFC_DEBUG
4131# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4132 block
4133# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4134 use iso_fortran_env, only: output_unit
4135# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4136
4137# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4138 print *, 'm_rhs.fpp:381: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4139# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4140
4141# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4142 call flush (output_unit)
4143# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4144 end block
4145# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4146#endif
4147# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4148 allocate (dq_prim_dz_qp(1)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4149# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4150
4151# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4152
4153# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4154#if defined(MFC_OpenACC)
4155# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4156!$acc enter data create(dq_prim_dz_qp(1)%vf(l)%sf)
4157# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4158#elif defined(MFC_OpenMP)
4159# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4160!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf(l)%sf)
4161# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4162#endif
4163# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4164 end do
4165#ifdef _CRAYFTN
4166# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4167 block
4168# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4169 integer :: macros_setup_vfs_i
4170# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4171
4172# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4173#ifdef MFC_DEBUG
4174# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4175 block
4176# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4177 use iso_fortran_env, only: output_unit
4178# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4179
4180# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4181 print *, 'm_rhs.fpp:384: ', '@:ACC_SETUP_VFs(dq_prim_dz_qp(1))'
4182# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4183
4184# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4185 call flush (output_unit)
4186# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4187 end block
4188# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4189#endif
4190# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4191
4192# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4193
4194# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4195#if defined(MFC_OpenACC)
4196# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4197!$acc enter data copyin(dq_prim_dz_qp(1))
4198# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4199#elif defined(MFC_OpenMP)
4200# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4201!$omp target enter data map(to:dq_prim_dz_qp(1))
4202# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4203#endif
4204# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4205
4206# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4207#if defined(MFC_OpenACC)
4208# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4209!$acc enter data copyin(dq_prim_dz_qp(1)%vf)
4210# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4211#elif defined(MFC_OpenMP)
4212# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4213!$omp target enter data map(to:dq_prim_dz_qp(1)%vf)
4214# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4215#endif
4216# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4217 if (allocated(dq_prim_dz_qp(1)%vf)) then
4218# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4219 do macros_setup_vfs_i = lbound(dq_prim_dz_qp(1)%vf, 1), ubound(dq_prim_dz_qp(1)%vf, 1)
4220# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4221 if (associated(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4222# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4223
4224# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4225#if defined(MFC_OpenACC)
4226# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4227!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
4228# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4229#elif defined(MFC_OpenMP)
4230# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4231!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
4232# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4233#endif
4234# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4235
4236# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4237#if defined(MFC_OpenACC)
4238# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4239!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
4240# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4241#elif defined(MFC_OpenMP)
4242# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4243!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
4244# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4245#endif
4246# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4247 end if
4248# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4249 end do
4250# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4251 end if
4252# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4253 end block
4254# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4255#endif
4256 end if
4257 end if
4258
4259 do i = 1, num_dims
4260#ifdef MFC_DEBUG
4261# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4262 block
4263# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4264 use iso_fortran_env, only: output_unit
4265# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4266
4267# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4268 print *, 'm_rhs.fpp:389: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(1:sys_size))'
4269# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4270
4271# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4272 call flush (output_unit)
4273# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4274 end block
4275# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4276#endif
4277# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4278 allocate (dql_prim_dx_n(i)%vf(1:sys_size))
4279# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4280
4281# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4282
4283# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4284#if defined(MFC_OpenACC)
4285# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4286!$acc enter data create(dqL_prim_dx_n(i)%vf)
4287# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4288#elif defined(MFC_OpenMP)
4289# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4290!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf)
4291# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4292#endif
4293#ifdef MFC_DEBUG
4294# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4295 block
4296# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4297 use iso_fortran_env, only: output_unit
4298# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4299
4300# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4301 print *, 'm_rhs.fpp:390: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(1:sys_size))'
4302# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4303
4304# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4305 call flush (output_unit)
4306# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4307 end block
4308# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4309#endif
4310# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4311 allocate (dql_prim_dy_n(i)%vf(1:sys_size))
4312# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4313
4314# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4315
4316# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4317#if defined(MFC_OpenACC)
4318# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4319!$acc enter data create(dqL_prim_dy_n(i)%vf)
4320# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4321#elif defined(MFC_OpenMP)
4322# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4323!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf)
4324# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4325#endif
4326#ifdef MFC_DEBUG
4327# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4328 block
4329# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4330 use iso_fortran_env, only: output_unit
4331# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4332
4333# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4334 print *, 'm_rhs.fpp:391: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(1:sys_size))'
4335# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4336
4337# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4338 call flush (output_unit)
4339# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4340 end block
4341# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4342#endif
4343# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4344 allocate (dql_prim_dz_n(i)%vf(1:sys_size))
4345# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4346
4347# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4348
4349# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4350#if defined(MFC_OpenACC)
4351# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4352!$acc enter data create(dqL_prim_dz_n(i)%vf)
4353# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4354#elif defined(MFC_OpenMP)
4355# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4356!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf)
4357# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4358#endif
4359#ifdef MFC_DEBUG
4360# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4361 block
4362# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4363 use iso_fortran_env, only: output_unit
4364# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4365
4366# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4367 print *, 'm_rhs.fpp:392: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(1:sys_size))'
4368# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4369
4370# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4371 call flush (output_unit)
4372# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4373 end block
4374# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4375#endif
4376# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4377 allocate (dqr_prim_dx_n(i)%vf(1:sys_size))
4378# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4379
4380# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4381
4382# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4383#if defined(MFC_OpenACC)
4384# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4385!$acc enter data create(dqR_prim_dx_n(i)%vf)
4386# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4387#elif defined(MFC_OpenMP)
4388# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4389!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf)
4390# 392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4391#endif
4392#ifdef MFC_DEBUG
4393# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4394 block
4395# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4396 use iso_fortran_env, only: output_unit
4397# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4398
4399# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4400 print *, 'm_rhs.fpp:393: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(1:sys_size))'
4401# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4402
4403# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4404 call flush (output_unit)
4405# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4406 end block
4407# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4408#endif
4409# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4410 allocate (dqr_prim_dy_n(i)%vf(1:sys_size))
4411# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4412
4413# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4414
4415# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4416#if defined(MFC_OpenACC)
4417# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4418!$acc enter data create(dqR_prim_dy_n(i)%vf)
4419# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4420#elif defined(MFC_OpenMP)
4421# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4422!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf)
4423# 393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4424#endif
4425#ifdef MFC_DEBUG
4426# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4427 block
4428# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4429 use iso_fortran_env, only: output_unit
4430# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4431
4432# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4433 print *, 'm_rhs.fpp:394: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(1:sys_size))'
4434# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4435
4436# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4437 call flush (output_unit)
4438# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4439 end block
4440# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4441#endif
4442# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4443 allocate (dqr_prim_dz_n(i)%vf(1:sys_size))
4444# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4445
4446# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4447
4448# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4449#if defined(MFC_OpenACC)
4450# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4451!$acc enter data create(dqR_prim_dz_n(i)%vf)
4452# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4453#elif defined(MFC_OpenMP)
4454# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4455!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf)
4456# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4457#endif
4458 end do
4459
4460 do i = 1, num_dims
4461 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4462#ifdef MFC_DEBUG
4463# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4464 block
4465# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4466 use iso_fortran_env, only: output_unit
4467# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4468
4469# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4470 print *, 'm_rhs.fpp:399: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4471# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4472
4473# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4474 call flush (output_unit)
4475# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4476 end block
4477# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4478#endif
4479# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4480 allocate (dql_prim_dx_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4481# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4482
4483# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4484
4485# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4486#if defined(MFC_OpenACC)
4487# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4488!$acc enter data create(dqL_prim_dx_n(i)%vf(l)%sf)
4489# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4490#elif defined(MFC_OpenMP)
4491# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4492!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf(l)%sf)
4493# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4494#endif
4495# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4496#ifdef MFC_DEBUG
4497# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4498 block
4499# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4500 use iso_fortran_env, only: output_unit
4501# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4502
4503# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4504 print *, 'm_rhs.fpp:401: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4505# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4506
4507# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4508 call flush (output_unit)
4509# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4510 end block
4511# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4512#endif
4513# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4514 allocate (dqr_prim_dx_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4515# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4516
4517# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4518
4519# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4520#if defined(MFC_OpenACC)
4521# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4522!$acc enter data create(dqR_prim_dx_n(i)%vf(l)%sf)
4523# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4524#elif defined(MFC_OpenMP)
4525# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4526!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf(l)%sf)
4527# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4528#endif
4529# 403 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4530 end do
4531
4532 if (n > 0) then
4533 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4534#ifdef MFC_DEBUG
4535# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4536 block
4537# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4538 use iso_fortran_env, only: output_unit
4539# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4540
4541# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4542 print *, 'm_rhs.fpp:407: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4543# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4544
4545# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4546 call flush (output_unit)
4547# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4548 end block
4549# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4550#endif
4551# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4552 allocate (dql_prim_dy_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4553# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4554
4555# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4556
4557# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4558#if defined(MFC_OpenACC)
4559# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4560!$acc enter data create(dqL_prim_dy_n(i)%vf(l)%sf)
4561# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4562#elif defined(MFC_OpenMP)
4563# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4564!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf(l)%sf)
4565# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4566#endif
4567# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4568#ifdef MFC_DEBUG
4569# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4570 block
4571# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4572 use iso_fortran_env, only: output_unit
4573# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4574
4575# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4576 print *, 'm_rhs.fpp:409: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4577# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4578
4579# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4580 call flush (output_unit)
4581# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4582 end block
4583# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4584#endif
4585# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4586 allocate (dqr_prim_dy_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4587# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4588
4589# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4590
4591# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4592#if defined(MFC_OpenACC)
4593# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4594!$acc enter data create(dqR_prim_dy_n(i)%vf(l)%sf)
4595# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4596#elif defined(MFC_OpenMP)
4597# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4598!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf(l)%sf)
4599# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4600#endif
4601# 411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4602 end do
4603 end if
4604
4605 if (p > 0) then
4606 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4607#ifdef MFC_DEBUG
4608# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4609 block
4610# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4611 use iso_fortran_env, only: output_unit
4612# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4613
4614# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4615 print *, 'm_rhs.fpp:416: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4616# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4617
4618# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4619 call flush (output_unit)
4620# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4621 end block
4622# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4623#endif
4624# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4625 allocate (dql_prim_dz_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4626# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4627
4628# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4629
4630# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4631#if defined(MFC_OpenACC)
4632# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4633!$acc enter data create(dqL_prim_dz_n(i)%vf(l)%sf)
4634# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4635#elif defined(MFC_OpenMP)
4636# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4637!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf(l)%sf)
4638# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4639#endif
4640# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4641#ifdef MFC_DEBUG
4642# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4643 block
4644# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4645 use iso_fortran_env, only: output_unit
4646# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4647
4648# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4649 print *, 'm_rhs.fpp:418: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
4650# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4651
4652# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4653 call flush (output_unit)
4654# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4655 end block
4656# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4657#endif
4658# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4659 allocate (dqr_prim_dz_n(i)%vf(l)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
4660# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4661
4662# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4663
4664# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4665#if defined(MFC_OpenACC)
4666# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4667!$acc enter data create(dqR_prim_dz_n(i)%vf(l)%sf)
4668# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4669#elif defined(MFC_OpenMP)
4670# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4671!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf(l)%sf)
4672# 418 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4673#endif
4674# 420 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4675 end do
4676 end if
4677
4678#ifdef _CRAYFTN
4679# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4680 block
4681# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4682 integer :: macros_setup_vfs_i
4683# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4684
4685# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4686#ifdef MFC_DEBUG
4687# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4688 block
4689# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4690 use iso_fortran_env, only: output_unit
4691# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4692
4693# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4694 print *, 'm_rhs.fpp:423: ', '@:ACC_SETUP_VFs(dqL_prim_dx_n(i), dqL_prim_dy_n(i), dqL_prim_dz_n(i))'
4695# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4696
4697# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4698 call flush (output_unit)
4699# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4700 end block
4701# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4702#endif
4703# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4704
4705# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4706
4707# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4708#if defined(MFC_OpenACC)
4709# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4710!$acc enter data copyin(dqL_prim_dx_n(i))
4711# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4712#elif defined(MFC_OpenMP)
4713# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4714!$omp target enter data map(to:dqL_prim_dx_n(i))
4715# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4716#endif
4717# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4718
4719# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4720#if defined(MFC_OpenACC)
4721# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4722!$acc enter data copyin(dqL_prim_dx_n(i)%vf)
4723# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4724#elif defined(MFC_OpenMP)
4725# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4726!$omp target enter data map(to:dqL_prim_dx_n(i)%vf)
4727# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4728#endif
4729# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4730 if (allocated(dql_prim_dx_n(i)%vf)) then
4731# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4732 do macros_setup_vfs_i = lbound(dql_prim_dx_n(i)%vf, 1), ubound(dql_prim_dx_n(i)%vf, 1)
4733# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4734 if (associated(dql_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
4735# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4736
4737# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4738#if defined(MFC_OpenACC)
4739# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4740!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
4741# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4742#elif defined(MFC_OpenMP)
4743# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4744!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
4745# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4746#endif
4747# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4748
4749# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4750#if defined(MFC_OpenACC)
4751# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4752!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4753# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4754#elif defined(MFC_OpenMP)
4755# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4756!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4757# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4758#endif
4759# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4760 end if
4761# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4762 end do
4763# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4764 end if
4765# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4766
4767# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4768#if defined(MFC_OpenACC)
4769# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4770!$acc enter data copyin(dqL_prim_dy_n(i))
4771# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4772#elif defined(MFC_OpenMP)
4773# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4774!$omp target enter data map(to:dqL_prim_dy_n(i))
4775# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4776#endif
4777# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4778
4779# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4780#if defined(MFC_OpenACC)
4781# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4782!$acc enter data copyin(dqL_prim_dy_n(i)%vf)
4783# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4784#elif defined(MFC_OpenMP)
4785# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4786!$omp target enter data map(to:dqL_prim_dy_n(i)%vf)
4787# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4788#endif
4789# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4790 if (allocated(dql_prim_dy_n(i)%vf)) then
4791# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4792 do macros_setup_vfs_i = lbound(dql_prim_dy_n(i)%vf, 1), ubound(dql_prim_dy_n(i)%vf, 1)
4793# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4794 if (associated(dql_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
4795# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4796
4797# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4798#if defined(MFC_OpenACC)
4799# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4800!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
4801# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4802#elif defined(MFC_OpenMP)
4803# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4804!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
4805# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4806#endif
4807# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4808
4809# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4810#if defined(MFC_OpenACC)
4811# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4812!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
4813# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4814#elif defined(MFC_OpenMP)
4815# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4816!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
4817# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4818#endif
4819# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4820 end if
4821# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4822 end do
4823# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4824 end if
4825# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4826
4827# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4828#if defined(MFC_OpenACC)
4829# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4830!$acc enter data copyin(dqL_prim_dz_n(i))
4831# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4832#elif defined(MFC_OpenMP)
4833# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4834!$omp target enter data map(to:dqL_prim_dz_n(i))
4835# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4836#endif
4837# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4838
4839# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4840#if defined(MFC_OpenACC)
4841# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4842!$acc enter data copyin(dqL_prim_dz_n(i)%vf)
4843# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4844#elif defined(MFC_OpenMP)
4845# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4846!$omp target enter data map(to:dqL_prim_dz_n(i)%vf)
4847# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4848#endif
4849# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4850 if (allocated(dql_prim_dz_n(i)%vf)) then
4851# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4852 do macros_setup_vfs_i = lbound(dql_prim_dz_n(i)%vf, 1), ubound(dql_prim_dz_n(i)%vf, 1)
4853# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4854 if (associated(dql_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
4855# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4856
4857# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4858#if defined(MFC_OpenACC)
4859# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4860!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
4861# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4862#elif defined(MFC_OpenMP)
4863# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4864!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
4865# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4866#endif
4867# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4868
4869# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4870#if defined(MFC_OpenACC)
4871# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4872!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
4873# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4874#elif defined(MFC_OpenMP)
4875# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4876!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
4877# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4878#endif
4879# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4880 end if
4881# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4882 end do
4883# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4884 end if
4885# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4886 end block
4887# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4888#endif
4889#ifdef _CRAYFTN
4890# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4891 block
4892# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4893 integer :: macros_setup_vfs_i
4894# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4895
4896# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4897#ifdef MFC_DEBUG
4898# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4899 block
4900# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4901 use iso_fortran_env, only: output_unit
4902# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4903
4904# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4905 print *, 'm_rhs.fpp:424: ', '@:ACC_SETUP_VFs(dqR_prim_dx_n(i), dqR_prim_dy_n(i), dqR_prim_dz_n(i))'
4906# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4907
4908# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4909 call flush (output_unit)
4910# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4911 end block
4912# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4913#endif
4914# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4915
4916# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4917
4918# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4919#if defined(MFC_OpenACC)
4920# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4921!$acc enter data copyin(dqR_prim_dx_n(i))
4922# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4923#elif defined(MFC_OpenMP)
4924# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4925!$omp target enter data map(to:dqR_prim_dx_n(i))
4926# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4927#endif
4928# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4929
4930# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4931#if defined(MFC_OpenACC)
4932# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4933!$acc enter data copyin(dqR_prim_dx_n(i)%vf)
4934# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4935#elif defined(MFC_OpenMP)
4936# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4937!$omp target enter data map(to:dqR_prim_dx_n(i)%vf)
4938# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4939#endif
4940# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4941 if (allocated(dqr_prim_dx_n(i)%vf)) then
4942# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4943 do macros_setup_vfs_i = lbound(dqr_prim_dx_n(i)%vf, 1), ubound(dqr_prim_dx_n(i)%vf, 1)
4944# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4945 if (associated(dqr_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
4946# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4947
4948# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4949#if defined(MFC_OpenACC)
4950# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4951!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
4952# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4953#elif defined(MFC_OpenMP)
4954# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4955!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
4956# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4957#endif
4958# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4959
4960# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4961#if defined(MFC_OpenACC)
4962# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4963!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4964# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4965#elif defined(MFC_OpenMP)
4966# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4967!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4968# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4969#endif
4970# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4971 end if
4972# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4973 end do
4974# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4975 end if
4976# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4977
4978# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4979#if defined(MFC_OpenACC)
4980# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4981!$acc enter data copyin(dqR_prim_dy_n(i))
4982# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4983#elif defined(MFC_OpenMP)
4984# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4985!$omp target enter data map(to:dqR_prim_dy_n(i))
4986# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4987#endif
4988# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4989
4990# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4991#if defined(MFC_OpenACC)
4992# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4993!$acc enter data copyin(dqR_prim_dy_n(i)%vf)
4994# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4995#elif defined(MFC_OpenMP)
4996# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4997!$omp target enter data map(to:dqR_prim_dy_n(i)%vf)
4998# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4999#endif
5000# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5001 if (allocated(dqr_prim_dy_n(i)%vf)) then
5002# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5003 do macros_setup_vfs_i = lbound(dqr_prim_dy_n(i)%vf, 1), ubound(dqr_prim_dy_n(i)%vf, 1)
5004# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5005 if (associated(dqr_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
5006# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5007
5008# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5009#if defined(MFC_OpenACC)
5010# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5011!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
5012# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5013#elif defined(MFC_OpenMP)
5014# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5015!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
5016# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5017#endif
5018# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5019
5020# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5021#if defined(MFC_OpenACC)
5022# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5023!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
5024# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5025#elif defined(MFC_OpenMP)
5026# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5027!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
5028# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5029#endif
5030# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5031 end if
5032# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5033 end do
5034# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5035 end if
5036# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5037
5038# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5039#if defined(MFC_OpenACC)
5040# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5041!$acc enter data copyin(dqR_prim_dz_n(i))
5042# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5043#elif defined(MFC_OpenMP)
5044# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5045!$omp target enter data map(to:dqR_prim_dz_n(i))
5046# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5047#endif
5048# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5049
5050# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5051#if defined(MFC_OpenACC)
5052# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5053!$acc enter data copyin(dqR_prim_dz_n(i)%vf)
5054# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5055#elif defined(MFC_OpenMP)
5056# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5057!$omp target enter data map(to:dqR_prim_dz_n(i)%vf)
5058# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5059#endif
5060# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5061 if (allocated(dqr_prim_dz_n(i)%vf)) then
5062# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5063 do macros_setup_vfs_i = lbound(dqr_prim_dz_n(i)%vf, 1), ubound(dqr_prim_dz_n(i)%vf, 1)
5064# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5065 if (associated(dqr_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
5066# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5067
5068# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5069#if defined(MFC_OpenACC)
5070# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5071!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
5072# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5073#elif defined(MFC_OpenMP)
5074# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5075!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
5076# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5077#endif
5078# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5079
5080# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5081#if defined(MFC_OpenACC)
5082# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5083!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5084# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5085#elif defined(MFC_OpenMP)
5086# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5087!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5088# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5089#endif
5090# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5091 end if
5092# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5093 end do
5094# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5095 end if
5096# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5097 end block
5098# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5099#endif
5100 end do
5101
5102 if (weno_re_flux) then
5103#ifdef MFC_DEBUG
5104# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5105 block
5106# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5107 use iso_fortran_env, only: output_unit
5108# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5109
5110# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5111 print *, 'm_rhs.fpp:428: ', '@:ALLOCATE(dqL_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, eqn_idx%mom%beg:eqn_idx%mom%end))'
5112# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5113
5114# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5115 call flush (output_unit)
5116# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5117 end block
5118# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5119#endif
5120# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5121 allocate (dql_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, eqn_idx%mom%beg:eqn_idx%mom%end))
5122# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5123
5124# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5125
5126# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5127#if defined(MFC_OpenACC)
5128# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5129!$acc enter data create(dqL_rsx_vf)
5130# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5131#elif defined(MFC_OpenMP)
5132# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5133!$omp target enter data map(always,alloc:dqL_rsx_vf)
5134# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5135#endif
5136# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5137#ifdef MFC_DEBUG
5138# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5139 block
5140# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5141 use iso_fortran_env, only: output_unit
5142# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5143
5144# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5145 print *, 'm_rhs.fpp:430: ', '@:ALLOCATE(dqR_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, eqn_idx%mom%beg:eqn_idx%mom%end))'
5146# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5147
5148# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5149 call flush (output_unit)
5150# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5151 end block
5152# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5153#endif
5154# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5155 allocate (dqr_rsx_vf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end, eqn_idx%mom%beg:eqn_idx%mom%end))
5156# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5157
5158# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5159
5160# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5161#if defined(MFC_OpenACC)
5162# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5163!$acc enter data create(dqR_rsx_vf)
5164# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5165#elif defined(MFC_OpenMP)
5166# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5167!$omp target enter data map(always,alloc:dqR_rsx_vf)
5168# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5169#endif
5170# 432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5171 end if
5172 else
5173#ifdef MFC_DEBUG
5174# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5175 block
5176# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5177 use iso_fortran_env, only: output_unit
5178# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5179
5180# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5181 print *, 'm_rhs.fpp:434: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(1:sys_size))'
5182# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5183
5184# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5185 call flush (output_unit)
5186# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5187 end block
5188# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5189#endif
5190# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5191 allocate (dq_prim_dx_qp(1)%vf(1:sys_size))
5192# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5193
5194# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5195
5196# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5197#if defined(MFC_OpenACC)
5198# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5199!$acc enter data create(dq_prim_dx_qp(1)%vf)
5200# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5201#elif defined(MFC_OpenMP)
5202# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5203!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf)
5204# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5205#endif
5206#ifdef MFC_DEBUG
5207# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5208 block
5209# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5210 use iso_fortran_env, only: output_unit
5211# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5212
5213# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5214 print *, 'm_rhs.fpp:435: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(1:sys_size))'
5215# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5216
5217# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5218 call flush (output_unit)
5219# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5220 end block
5221# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5222#endif
5223# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5224 allocate (dq_prim_dy_qp(1)%vf(1:sys_size))
5225# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5226
5227# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5228
5229# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5230#if defined(MFC_OpenACC)
5231# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5232!$acc enter data create(dq_prim_dy_qp(1)%vf)
5233# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5234#elif defined(MFC_OpenMP)
5235# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5236!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf)
5237# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5238#endif
5239#ifdef MFC_DEBUG
5240# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5241 block
5242# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5243 use iso_fortran_env, only: output_unit
5244# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5245
5246# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5247 print *, 'm_rhs.fpp:436: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(1:sys_size))'
5248# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5249
5250# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5251 call flush (output_unit)
5252# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5253 end block
5254# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5255#endif
5256# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5257 allocate (dq_prim_dz_qp(1)%vf(1:sys_size))
5258# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5259
5260# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5261
5262# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5263#if defined(MFC_OpenACC)
5264# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5265!$acc enter data create(dq_prim_dz_qp(1)%vf)
5266# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5267#elif defined(MFC_OpenMP)
5268# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5269!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf)
5270# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5271#endif
5272
5273 do l = eqn_idx%mom%beg, eqn_idx%mom%end
5274#ifdef MFC_DEBUG
5275# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5276 block
5277# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5278 use iso_fortran_env, only: output_unit
5279# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5280
5281# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5282 print *, 'm_rhs.fpp:439: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf(0, 0, 0))'
5283# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5284
5285# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5286 call flush (output_unit)
5287# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5288 end block
5289# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5290#endif
5291# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5292 allocate (dq_prim_dx_qp(1)%vf(l)%sf(0, 0, 0))
5293# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5294
5295# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5296
5297# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5298#if defined(MFC_OpenACC)
5299# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5300!$acc enter data create(dq_prim_dx_qp(1)%vf(l)%sf)
5301# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5302#elif defined(MFC_OpenMP)
5303# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5304!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf(l)%sf)
5305# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5306#endif
5307#ifdef _CRAYFTN
5308# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5309 block
5310# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5311 integer :: macros_setup_vfs_i
5312# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5313
5314# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5315#ifdef MFC_DEBUG
5316# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5317 block
5318# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5319 use iso_fortran_env, only: output_unit
5320# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5321
5322# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5323 print *, 'm_rhs.fpp:440: ', '@:ACC_SETUP_VFs(dq_prim_dx_qp(1))'
5324# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5325
5326# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5327 call flush (output_unit)
5328# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5329 end block
5330# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5331#endif
5332# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5333
5334# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5335
5336# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5337#if defined(MFC_OpenACC)
5338# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5339!$acc enter data copyin(dq_prim_dx_qp(1))
5340# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5341#elif defined(MFC_OpenMP)
5342# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5343!$omp target enter data map(to:dq_prim_dx_qp(1))
5344# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5345#endif
5346# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5347
5348# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5349#if defined(MFC_OpenACC)
5350# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5351!$acc enter data copyin(dq_prim_dx_qp(1)%vf)
5352# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5353#elif defined(MFC_OpenMP)
5354# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5355!$omp target enter data map(to:dq_prim_dx_qp(1)%vf)
5356# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5357#endif
5358# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5359 if (allocated(dq_prim_dx_qp(1)%vf)) then
5360# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5361 do macros_setup_vfs_i = lbound(dq_prim_dx_qp(1)%vf, 1), ubound(dq_prim_dx_qp(1)%vf, 1)
5362# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5363 if (associated(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5364# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5365
5366# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5367#if defined(MFC_OpenACC)
5368# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5369!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
5370# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5371#elif defined(MFC_OpenMP)
5372# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5373!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
5374# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5375#endif
5376# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5377
5378# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5379#if defined(MFC_OpenACC)
5380# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5381!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
5382# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5383#elif defined(MFC_OpenMP)
5384# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5385!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
5386# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5387#endif
5388# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5389 end if
5390# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5391 end do
5392# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5393 end if
5394# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5395 end block
5396# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5397#endif
5398 if (n > 0) then
5399#ifdef MFC_DEBUG
5400# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5401 block
5402# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5403 use iso_fortran_env, only: output_unit
5404# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5405
5406# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5407 print *, 'm_rhs.fpp:442: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf(0, 0, 0))'
5408# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5409
5410# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5411 call flush (output_unit)
5412# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5413 end block
5414# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5415#endif
5416# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5417 allocate (dq_prim_dy_qp(1)%vf(l)%sf(0, 0, 0))
5418# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5419
5420# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5421
5422# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5423#if defined(MFC_OpenACC)
5424# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5425!$acc enter data create(dq_prim_dy_qp(1)%vf(l)%sf)
5426# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5427#elif defined(MFC_OpenMP)
5428# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5429!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf(l)%sf)
5430# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5431#endif
5432#ifdef _CRAYFTN
5433# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5434 block
5435# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5436 integer :: macros_setup_vfs_i
5437# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5438
5439# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5440#ifdef MFC_DEBUG
5441# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5442 block
5443# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5444 use iso_fortran_env, only: output_unit
5445# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5446
5447# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5448 print *, 'm_rhs.fpp:443: ', '@:ACC_SETUP_VFs(dq_prim_dy_qp(1))'
5449# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5450
5451# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5452 call flush (output_unit)
5453# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5454 end block
5455# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5456#endif
5457# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5458
5459# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5460
5461# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5462#if defined(MFC_OpenACC)
5463# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5464!$acc enter data copyin(dq_prim_dy_qp(1))
5465# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5466#elif defined(MFC_OpenMP)
5467# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5468!$omp target enter data map(to:dq_prim_dy_qp(1))
5469# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5470#endif
5471# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5472
5473# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5474#if defined(MFC_OpenACC)
5475# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5476!$acc enter data copyin(dq_prim_dy_qp(1)%vf)
5477# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5478#elif defined(MFC_OpenMP)
5479# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5480!$omp target enter data map(to:dq_prim_dy_qp(1)%vf)
5481# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5482#endif
5483# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5484 if (allocated(dq_prim_dy_qp(1)%vf)) then
5485# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5486 do macros_setup_vfs_i = lbound(dq_prim_dy_qp(1)%vf, 1), ubound(dq_prim_dy_qp(1)%vf, 1)
5487# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5488 if (associated(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5489# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5490
5491# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5492#if defined(MFC_OpenACC)
5493# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5494!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
5495# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5496#elif defined(MFC_OpenMP)
5497# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5498!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
5499# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5500#endif
5501# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5502
5503# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5504#if defined(MFC_OpenACC)
5505# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5506!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
5507# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5508#elif defined(MFC_OpenMP)
5509# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5510!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
5511# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5512#endif
5513# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5514 end if
5515# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5516 end do
5517# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5518 end if
5519# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5520 end block
5521# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5522#endif
5523 if (p > 0) then
5524#ifdef MFC_DEBUG
5525# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5526 block
5527# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5528 use iso_fortran_env, only: output_unit
5529# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5530
5531# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5532 print *, 'm_rhs.fpp:445: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf(0, 0, 0))'
5533# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5534
5535# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5536 call flush (output_unit)
5537# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5538 end block
5539# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5540#endif
5541# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5542 allocate (dq_prim_dz_qp(1)%vf(l)%sf(0, 0, 0))
5543# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5544
5545# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5546
5547# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5548#if defined(MFC_OpenACC)
5549# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5550!$acc enter data create(dq_prim_dz_qp(1)%vf(l)%sf)
5551# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5552#elif defined(MFC_OpenMP)
5553# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5554!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf(l)%sf)
5555# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5556#endif
5557#ifdef _CRAYFTN
5558# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5559 block
5560# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5561 integer :: macros_setup_vfs_i
5562# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5563
5564# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5565#ifdef MFC_DEBUG
5566# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5567 block
5568# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5569 use iso_fortran_env, only: output_unit
5570# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5571
5572# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5573 print *, 'm_rhs.fpp:446: ', '@:ACC_SETUP_VFs(dq_prim_dz_qp(1))'
5574# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5575
5576# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5577 call flush (output_unit)
5578# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5579 end block
5580# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5581#endif
5582# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5583
5584# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5585
5586# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5587#if defined(MFC_OpenACC)
5588# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5589!$acc enter data copyin(dq_prim_dz_qp(1))
5590# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5591#elif defined(MFC_OpenMP)
5592# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5593!$omp target enter data map(to:dq_prim_dz_qp(1))
5594# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5595#endif
5596# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5597
5598# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5599#if defined(MFC_OpenACC)
5600# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5601!$acc enter data copyin(dq_prim_dz_qp(1)%vf)
5602# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5603#elif defined(MFC_OpenMP)
5604# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5605!$omp target enter data map(to:dq_prim_dz_qp(1)%vf)
5606# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5607#endif
5608# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5609 if (allocated(dq_prim_dz_qp(1)%vf)) then
5610# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5611 do macros_setup_vfs_i = lbound(dq_prim_dz_qp(1)%vf, 1), ubound(dq_prim_dz_qp(1)%vf, 1)
5612# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5613 if (associated(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5614# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5615
5616# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5617#if defined(MFC_OpenACC)
5618# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5619!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
5620# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5621#elif defined(MFC_OpenMP)
5622# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5623!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
5624# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5625#endif
5626# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5627
5628# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5629#if defined(MFC_OpenACC)
5630# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5631!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
5632# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5633#elif defined(MFC_OpenMP)
5634# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5635!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
5636# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5637#endif
5638# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5639 end if
5640# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5641 end do
5642# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5643 end if
5644# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5645 end block
5646# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5647#endif
5648 end if
5649 end if
5650 end do
5651 end if
5652
5653
5654# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5655
5656# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5657#if defined(MFC_OpenACC)
5658# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5659!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l, id)
5660# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5661#elif defined(MFC_OpenMP)
5662# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5663
5664# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5665
5666# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5667
5668# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5669!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l, id)
5670# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5671#endif
5672 do id = 1, num_dims
5673 do i = 1, sys_size
5674 do l = idwbuff(3)%beg, idwbuff(3)%end
5675 do k = idwbuff(2)%beg, idwbuff(2)%end
5676 do j = idwbuff(1)%beg, idwbuff(1)%end
5677 flux_gsrc_n(id)%vf(i)%sf(j, k, l) = 0._wp
5678 end do
5679 end do
5680 end do
5681 end do
5682 end do
5683
5684# 464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5685#if defined(MFC_OpenACC)
5686# 464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5687!$acc end parallel loop
5688# 464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5689#elif defined(MFC_OpenMP)
5690# 464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5691
5692# 464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5693!$omp end target teams loop
5694# 464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5695#endif
5696 end if
5697
5698 if (qbmm) then
5699#ifdef MFC_DEBUG
5700# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5701 block
5702# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5703 use iso_fortran_env, only: output_unit
5704# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5705
5706# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5707 print *, 'm_rhs.fpp:468: ', '@:ALLOCATE(mom_sp(1:nmomsp), mom_3d(0:2, 0:2, nb))'
5708# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5709
5710# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5711 call flush (output_unit)
5712# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5713 end block
5714# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5715#endif
5716# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5717 allocate (mom_sp(1:nmomsp), mom_3d(0:2, 0:2, nb))
5718# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5719
5720# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5721
5722# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5723
5724# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5725#if defined(MFC_OpenACC)
5726# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5727!$acc enter data create(mom_sp, mom_3d)
5728# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5729#elif defined(MFC_OpenMP)
5730# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5731!$omp target enter data map(always,alloc:mom_sp, mom_3d)
5732# 468 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5733#endif
5734
5735 do i = 0, 2
5736 do j = 0, 2
5737 do k = 1, nb
5738#ifdef MFC_DEBUG
5739# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5740 block
5741# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5742 use iso_fortran_env, only: output_unit
5743# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5744
5745# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5746 print *, 'm_rhs.fpp:473: ', '@:ALLOCATE(mom_3d(i, j, k)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
5747# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5748
5749# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5750 call flush (output_unit)
5751# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5752 end block
5753# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5754#endif
5755# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5756 allocate (mom_3d(i, j, k)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
5757# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5758
5759# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5760
5761# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5762#if defined(MFC_OpenACC)
5763# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5764!$acc enter data create(mom_3d(i, j, k)%sf)
5765# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5766#elif defined(MFC_OpenMP)
5767# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5768!$omp target enter data map(always,alloc:mom_3d(i, j, k)%sf)
5769# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5770#endif
5771# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5772#ifdef _CRAYFTN
5773# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5774 block
5775# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5776#ifdef MFC_DEBUG
5777# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5778 block
5779# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5780 use iso_fortran_env, only: output_unit
5781# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5782
5783# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5784 print *, 'm_rhs.fpp:475: ', '@:ACC_SETUP_SFs(mom_3d(i, j, k))'
5785# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5786
5787# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5788 call flush (output_unit)
5789# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5790 end block
5791# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5792#endif
5793# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5794
5795# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5796
5797# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5798#if defined(MFC_OpenACC)
5799# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5800!$acc enter data copyin(mom_3d(i, j, k))
5801# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5802#elif defined(MFC_OpenMP)
5803# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5804!$omp target enter data map(to:mom_3d(i, j, k))
5805# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5806#endif
5807# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5808 if (associated(mom_3d(i, j, k)%sf)) then
5809# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5810
5811# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5812#if defined(MFC_OpenACC)
5813# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5814!$acc enter data copyin(mom_3d(i, j, k)%sf)
5815# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5816#elif defined(MFC_OpenMP)
5817# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5818!$omp target enter data map(to:mom_3d(i, j, k)%sf)
5819# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5820#endif
5821# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5822 end if
5823# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5824 end block
5825# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5826#endif
5827 end do
5828 end do
5829 end do
5830
5831 do i = 1, nmomsp
5832#ifdef MFC_DEBUG
5833# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5834 block
5835# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5836 use iso_fortran_env, only: output_unit
5837# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5838
5839# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5840 print *, 'm_rhs.fpp:481: ', '@:ALLOCATE(mom_sp(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
5841# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5842
5843# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5844 call flush (output_unit)
5845# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5846 end block
5847# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5848#endif
5849# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5850 allocate (mom_sp(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
5851# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5852
5853# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5854
5855# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5856#if defined(MFC_OpenACC)
5857# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5858!$acc enter data create(mom_sp(i)%sf)
5859# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5860#elif defined(MFC_OpenMP)
5861# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5862!$omp target enter data map(always,alloc:mom_sp(i)%sf)
5863# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5864#endif
5865# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5866#ifdef _CRAYFTN
5867# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5868 block
5869# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5870#ifdef MFC_DEBUG
5871# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5872 block
5873# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5874 use iso_fortran_env, only: output_unit
5875# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5876
5877# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5878 print *, 'm_rhs.fpp:483: ', '@:ACC_SETUP_SFs(mom_sp(i))'
5879# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5880
5881# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5882 call flush (output_unit)
5883# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5884 end block
5885# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5886#endif
5887# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5888
5889# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5890
5891# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5892#if defined(MFC_OpenACC)
5893# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5894!$acc enter data copyin(mom_sp(i))
5895# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5896#elif defined(MFC_OpenMP)
5897# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5898!$omp target enter data map(to:mom_sp(i))
5899# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5900#endif
5901# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5902 if (associated(mom_sp(i)%sf)) then
5903# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5904
5905# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5906#if defined(MFC_OpenACC)
5907# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5908!$acc enter data copyin(mom_sp(i)%sf)
5909# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5910#elif defined(MFC_OpenMP)
5911# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5912!$omp target enter data map(to:mom_sp(i)%sf)
5913# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5914#endif
5915# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5916 end if
5917# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5918 end block
5919# 483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5920#endif
5921 end do
5922 end if
5923
5924 if (mpp_lim .and. bubbles_euler) then
5925#ifdef MFC_DEBUG
5926# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5927 block
5928# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5929 use iso_fortran_env, only: output_unit
5930# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5931
5932# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5933 print *, 'm_rhs.fpp:488: ', '@:ALLOCATE(alf_sum%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
5934# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5935
5936# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5937 call flush (output_unit)
5938# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5939 end block
5940# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5941#endif
5942# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5943 allocate (alf_sum%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
5944# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5945
5946# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5947
5948# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5949#if defined(MFC_OpenACC)
5950# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5951!$acc enter data create(alf_sum%sf)
5952# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5953#elif defined(MFC_OpenMP)
5954# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5955!$omp target enter data map(always,alloc:alf_sum%sf)
5956# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5957#endif
5958 end if
5959 if (use_nc_iface_vel) then
5960#ifdef MFC_DEBUG
5961# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5962 block
5963# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5964 use iso_fortran_env, only: output_unit
5965# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5966
5967# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5968 print *, 'm_rhs.fpp:491: ', '@:ALLOCATE(nc_iface_vel_n(1:num_dims))'
5969# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5970
5971# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5972 call flush (output_unit)
5973# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5974 end block
5975# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5976#endif
5977# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5978 allocate (nc_iface_vel_n(1:num_dims))
5979# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5980
5981# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5982
5983# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5984#if defined(MFC_OpenACC)
5985# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5986!$acc enter data create(nc_iface_vel_n)
5987# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5988#elif defined(MFC_OpenMP)
5989# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5990!$omp target enter data map(always,alloc:nc_iface_vel_n)
5991# 491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5992#endif
5993 do i = 1, num_dims
5994#ifdef MFC_DEBUG
5995# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5996 block
5997# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5998 use iso_fortran_env, only: output_unit
5999# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6000
6001# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6002 print *, 'm_rhs.fpp:493: ', '@:ALLOCATE(nc_iface_vel_n(i)%vf(1:num_dims))'
6003# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6004
6005# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6006 call flush (output_unit)
6007# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6008 end block
6009# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6010#endif
6011# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6012 allocate (nc_iface_vel_n(i)%vf(1:num_dims))
6013# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6014
6015# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6016
6017# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6018#if defined(MFC_OpenACC)
6019# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6020!$acc enter data create(nc_iface_vel_n(i)%vf)
6021# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6022#elif defined(MFC_OpenMP)
6023# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6024!$omp target enter data map(always,alloc:nc_iface_vel_n(i)%vf)
6025# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6026#endif
6027 do l = 1, num_dims
6028#ifdef MFC_DEBUG
6029# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6030 block
6031# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6032 use iso_fortran_env, only: output_unit
6033# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6034
6035# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6036 print *, 'm_rhs.fpp:495: ', '@:ALLOCATE(nc_iface_vel_n(i)%vf(l)%sf( idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
6037# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6038
6039# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6040 call flush (output_unit)
6041# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6042 end block
6043# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6044#endif
6045# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6046 allocate (nc_iface_vel_n(i)%vf(l)%sf( idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
6047# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6048
6049# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6050
6051# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6052#if defined(MFC_OpenACC)
6053# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6054!$acc enter data create(nc_iface_vel_n(i)%vf(l)%sf)
6055# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6056#elif defined(MFC_OpenMP)
6057# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6058!$omp target enter data map(always,alloc:nc_iface_vel_n(i)%vf(l)%sf)
6059# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6060#endif
6061# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6062 end do
6063 end do
6064 if (num_dims == 2) then
6065#ifdef _CRAYFTN
6066# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6067 block
6068# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6069 integer :: macros_setup_vfs_i
6070# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6071
6072# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6073#ifdef MFC_DEBUG
6074# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6075 block
6076# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6077 use iso_fortran_env, only: output_unit
6078# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6079
6080# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6081 print *, 'm_rhs.fpp:500: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1), nc_iface_vel_n(2))'
6082# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6083
6084# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6085 call flush (output_unit)
6086# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6087 end block
6088# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6089#endif
6090# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6091
6092# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6093
6094# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6095#if defined(MFC_OpenACC)
6096# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6097!$acc enter data copyin(nc_iface_vel_n(1))
6098# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6099#elif defined(MFC_OpenMP)
6100# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6101!$omp target enter data map(to:nc_iface_vel_n(1))
6102# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6103#endif
6104# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6105
6106# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6107#if defined(MFC_OpenACC)
6108# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6109!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6110# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6111#elif defined(MFC_OpenMP)
6112# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6113!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6114# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6115#endif
6116# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6117 if (allocated(nc_iface_vel_n(1)%vf)) then
6118# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6119 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6120# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6121 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6122# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6123
6124# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6125#if defined(MFC_OpenACC)
6126# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6127!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6128# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6129#elif defined(MFC_OpenMP)
6130# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6131!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6132# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6133#endif
6134# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6135
6136# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6137#if defined(MFC_OpenACC)
6138# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6139!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6140# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6141#elif defined(MFC_OpenMP)
6142# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6143!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6144# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6145#endif
6146# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6147 end if
6148# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6149 end do
6150# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6151 end if
6152# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6153
6154# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6155#if defined(MFC_OpenACC)
6156# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6157!$acc enter data copyin(nc_iface_vel_n(2))
6158# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6159#elif defined(MFC_OpenMP)
6160# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6161!$omp target enter data map(to:nc_iface_vel_n(2))
6162# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6163#endif
6164# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6165
6166# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6167#if defined(MFC_OpenACC)
6168# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6169!$acc enter data copyin(nc_iface_vel_n(2)%vf)
6170# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6171#elif defined(MFC_OpenMP)
6172# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6173!$omp target enter data map(to:nc_iface_vel_n(2)%vf)
6174# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6175#endif
6176# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6177 if (allocated(nc_iface_vel_n(2)%vf)) then
6178# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6179 do macros_setup_vfs_i = lbound(nc_iface_vel_n(2)%vf, 1), ubound(nc_iface_vel_n(2)%vf, 1)
6180# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6181 if (associated(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)) then
6182# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6183
6184# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6185#if defined(MFC_OpenACC)
6186# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6187!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6188# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6189#elif defined(MFC_OpenMP)
6190# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6191!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6192# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6193#endif
6194# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6195
6196# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6197#if defined(MFC_OpenACC)
6198# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6199!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6200# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6201#elif defined(MFC_OpenMP)
6202# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6203!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6204# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6205#endif
6206# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6207 end if
6208# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6209 end do
6210# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6211 end if
6212# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6213 end block
6214# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6215#endif
6216 else if (num_dims == 3) then
6217#ifdef _CRAYFTN
6218# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6219 block
6220# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6221 integer :: macros_setup_vfs_i
6222# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6223
6224# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6225#ifdef MFC_DEBUG
6226# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6227 block
6228# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6229 use iso_fortran_env, only: output_unit
6230# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6231
6232# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6233 print *, 'm_rhs.fpp:502: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1), nc_iface_vel_n(2), nc_iface_vel_n(3))'
6234# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6235
6236# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6237 call flush (output_unit)
6238# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6239 end block
6240# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6241#endif
6242# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6243
6244# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6245
6246# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6247#if defined(MFC_OpenACC)
6248# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6249!$acc enter data copyin(nc_iface_vel_n(1))
6250# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6251#elif defined(MFC_OpenMP)
6252# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6253!$omp target enter data map(to:nc_iface_vel_n(1))
6254# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6255#endif
6256# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6257
6258# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6259#if defined(MFC_OpenACC)
6260# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6261!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6262# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6263#elif defined(MFC_OpenMP)
6264# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6265!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6266# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6267#endif
6268# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6269 if (allocated(nc_iface_vel_n(1)%vf)) then
6270# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6271 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6272# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6273 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6274# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6275
6276# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6277#if defined(MFC_OpenACC)
6278# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6279!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6280# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6281#elif defined(MFC_OpenMP)
6282# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6283!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6284# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6285#endif
6286# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6287
6288# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6289#if defined(MFC_OpenACC)
6290# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6291!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6292# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6293#elif defined(MFC_OpenMP)
6294# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6295!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6296# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6297#endif
6298# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6299 end if
6300# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6301 end do
6302# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6303 end if
6304# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6305
6306# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6307#if defined(MFC_OpenACC)
6308# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6309!$acc enter data copyin(nc_iface_vel_n(2))
6310# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6311#elif defined(MFC_OpenMP)
6312# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6313!$omp target enter data map(to:nc_iface_vel_n(2))
6314# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6315#endif
6316# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6317
6318# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6319#if defined(MFC_OpenACC)
6320# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6321!$acc enter data copyin(nc_iface_vel_n(2)%vf)
6322# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6323#elif defined(MFC_OpenMP)
6324# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6325!$omp target enter data map(to:nc_iface_vel_n(2)%vf)
6326# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6327#endif
6328# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6329 if (allocated(nc_iface_vel_n(2)%vf)) then
6330# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6331 do macros_setup_vfs_i = lbound(nc_iface_vel_n(2)%vf, 1), ubound(nc_iface_vel_n(2)%vf, 1)
6332# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6333 if (associated(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)) then
6334# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6335
6336# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6337#if defined(MFC_OpenACC)
6338# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6339!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6340# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6341#elif defined(MFC_OpenMP)
6342# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6343!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6344# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6345#endif
6346# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6347
6348# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6349#if defined(MFC_OpenACC)
6350# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6351!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6352# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6353#elif defined(MFC_OpenMP)
6354# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6355!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6356# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6357#endif
6358# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6359 end if
6360# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6361 end do
6362# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6363 end if
6364# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6365
6366# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6367#if defined(MFC_OpenACC)
6368# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6369!$acc enter data copyin(nc_iface_vel_n(3))
6370# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6371#elif defined(MFC_OpenMP)
6372# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6373!$omp target enter data map(to:nc_iface_vel_n(3))
6374# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6375#endif
6376# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6377
6378# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6379#if defined(MFC_OpenACC)
6380# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6381!$acc enter data copyin(nc_iface_vel_n(3)%vf)
6382# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6383#elif defined(MFC_OpenMP)
6384# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6385!$omp target enter data map(to:nc_iface_vel_n(3)%vf)
6386# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6387#endif
6388# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6389 if (allocated(nc_iface_vel_n(3)%vf)) then
6390# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6391 do macros_setup_vfs_i = lbound(nc_iface_vel_n(3)%vf, 1), ubound(nc_iface_vel_n(3)%vf, 1)
6392# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6393 if (associated(nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)) then
6394# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6395
6396# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6397#if defined(MFC_OpenACC)
6398# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6399!$acc enter data copyin(nc_iface_vel_n(3)%vf(macros_setup_vfs_i))
6400# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6401#elif defined(MFC_OpenMP)
6402# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6403!$omp target enter data map(to:nc_iface_vel_n(3)%vf(macros_setup_vfs_i))
6404# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6405#endif
6406# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6407
6408# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6409#if defined(MFC_OpenACC)
6410# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6411!$acc enter data copyin(nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)
6412# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6413#elif defined(MFC_OpenMP)
6414# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6415!$omp target enter data map(to:nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)
6416# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6417#endif
6418# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6419 end if
6420# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6421 end do
6422# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6423 end if
6424# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6425 end block
6426# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6427#endif
6428 else
6429#ifdef _CRAYFTN
6430# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6431 block
6432# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6433 integer :: macros_setup_vfs_i
6434# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6435
6436# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6437#ifdef MFC_DEBUG
6438# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6439 block
6440# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6441 use iso_fortran_env, only: output_unit
6442# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6443
6444# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6445 print *, 'm_rhs.fpp:504: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1))'
6446# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6447
6448# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6449 call flush (output_unit)
6450# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6451 end block
6452# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6453#endif
6454# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6455
6456# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6457
6458# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6459#if defined(MFC_OpenACC)
6460# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6461!$acc enter data copyin(nc_iface_vel_n(1))
6462# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6463#elif defined(MFC_OpenMP)
6464# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6465!$omp target enter data map(to:nc_iface_vel_n(1))
6466# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6467#endif
6468# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6469
6470# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6471#if defined(MFC_OpenACC)
6472# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6473!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6474# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6475#elif defined(MFC_OpenMP)
6476# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6477!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6478# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6479#endif
6480# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6481 if (allocated(nc_iface_vel_n(1)%vf)) then
6482# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6483 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6484# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6485 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6486# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6487
6488# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6489#if defined(MFC_OpenACC)
6490# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6491!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6492# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6493#elif defined(MFC_OpenMP)
6494# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6495!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6496# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6497#endif
6498# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6499
6500# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6501#if defined(MFC_OpenACC)
6502# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6503!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6504# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6505#elif defined(MFC_OpenMP)
6506# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6507!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6508# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6509#endif
6510# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6511 end if
6512# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6513 end do
6514# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6515 end if
6516# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6517 end block
6518# 504 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6519#endif
6520 end if
6521 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
6522#ifdef MFC_DEBUG
6523# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6524 block
6525# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6526 use iso_fortran_env, only: output_unit
6527# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6528
6529# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6530 print *, 'm_rhs.fpp:507: ', '@:ALLOCATE(nc_iface_vel_hatR_n(1:num_dims))'
6531# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6532
6533# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6534 call flush (output_unit)
6535# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6536 end block
6537# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6538#endif
6539# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6540 allocate (nc_iface_vel_hatr_n(1:num_dims))
6541# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6542
6543# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6544
6545# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6546#if defined(MFC_OpenACC)
6547# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6548!$acc enter data create(nc_iface_vel_hatR_n)
6549# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6550#elif defined(MFC_OpenMP)
6551# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6552!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n)
6553# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6554#endif
6555 do i = 1, num_dims
6556#ifdef MFC_DEBUG
6557# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6558 block
6559# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6560 use iso_fortran_env, only: output_unit
6561# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6562
6563# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6564 print *, 'm_rhs.fpp:509: ', '@:ALLOCATE(nc_iface_vel_hatR_n(i)%vf(1:num_dims))'
6565# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6566
6567# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6568 call flush (output_unit)
6569# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6570 end block
6571# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6572#endif
6573# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6574 allocate (nc_iface_vel_hatr_n(i)%vf(1:num_dims))
6575# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6576
6577# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6578
6579# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6580#if defined(MFC_OpenACC)
6581# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6582!$acc enter data create(nc_iface_vel_hatR_n(i)%vf)
6583# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6584#elif defined(MFC_OpenMP)
6585# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6586!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n(i)%vf)
6587# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6588#endif
6589 do l = 1, num_dims
6590#ifdef MFC_DEBUG
6591# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6592 block
6593# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6594 use iso_fortran_env, only: output_unit
6595# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6596
6597# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6598 print *, 'm_rhs.fpp:511: ', '@:ALLOCATE(nc_iface_vel_hatR_n(i)%vf(l)%sf( idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
6599# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6600
6601# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6602 call flush (output_unit)
6603# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6604 end block
6605# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6606#endif
6607# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6608 allocate (nc_iface_vel_hatr_n(i)%vf(l)%sf( idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
6609# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6610
6611# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6612
6613# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6614#if defined(MFC_OpenACC)
6615# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6616!$acc enter data create(nc_iface_vel_hatR_n(i)%vf(l)%sf)
6617# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6618#elif defined(MFC_OpenMP)
6619# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6620!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n(i)%vf(l)%sf)
6621# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6622#endif
6623# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6624 end do
6625 end do
6626 if (num_dims == 2) then
6627#ifdef _CRAYFTN
6628# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6629 block
6630# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6631 integer :: macros_setup_vfs_i
6632# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6633
6634# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6635#ifdef MFC_DEBUG
6636# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6637 block
6638# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6639 use iso_fortran_env, only: output_unit
6640# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6641
6642# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6643 print *, 'm_rhs.fpp:516: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1), nc_iface_vel_hatR_n(2))'
6644# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6645
6646# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6647 call flush (output_unit)
6648# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6649 end block
6650# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6651#endif
6652# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6653
6654# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6655
6656# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6657#if defined(MFC_OpenACC)
6658# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6659!$acc enter data copyin(nc_iface_vel_hatR_n(1))
6660# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6661#elif defined(MFC_OpenMP)
6662# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6663!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
6664# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6665#endif
6666# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6667
6668# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6669#if defined(MFC_OpenACC)
6670# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6671!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
6672# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6673#elif defined(MFC_OpenMP)
6674# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6675!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
6676# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6677#endif
6678# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6679 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
6680# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6681 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
6682# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6683 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
6684# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6685
6686# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6687#if defined(MFC_OpenACC)
6688# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6689!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6690# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6691#elif defined(MFC_OpenMP)
6692# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6693!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6694# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6695#endif
6696# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6697
6698# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6699#if defined(MFC_OpenACC)
6700# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6701!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6702# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6703#elif defined(MFC_OpenMP)
6704# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6705!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6706# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6707#endif
6708# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6709 end if
6710# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6711 end do
6712# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6713 end if
6714# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6715
6716# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6717#if defined(MFC_OpenACC)
6718# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6719!$acc enter data copyin(nc_iface_vel_hatR_n(2))
6720# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6721#elif defined(MFC_OpenMP)
6722# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6723!$omp target enter data map(to:nc_iface_vel_hatR_n(2))
6724# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6725#endif
6726# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6727
6728# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6729#if defined(MFC_OpenACC)
6730# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6731!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf)
6732# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6733#elif defined(MFC_OpenMP)
6734# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6735!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf)
6736# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6737#endif
6738# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6739 if (allocated(nc_iface_vel_hatr_n(2)%vf)) then
6740# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6741 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(2)%vf, 1), ubound(nc_iface_vel_hatr_n(2)%vf, 1)
6742# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6743 if (associated(nc_iface_vel_hatr_n(2)%vf(macros_setup_vfs_i)%sf)) then
6744# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6745
6746# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6747#if defined(MFC_OpenACC)
6748# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6749!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6750# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6751#elif defined(MFC_OpenMP)
6752# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6753!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6754# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6755#endif
6756# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6757
6758# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6759#if defined(MFC_OpenACC)
6760# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6761!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6762# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6763#elif defined(MFC_OpenMP)
6764# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6765!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6766# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6767#endif
6768# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6769 end if
6770# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6771 end do
6772# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6773 end if
6774# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6775 end block
6776# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6777#endif
6778 else if (num_dims == 3) then
6779#ifdef _CRAYFTN
6780# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6781 block
6782# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6783 integer :: macros_setup_vfs_i
6784# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6785
6786# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6787#ifdef MFC_DEBUG
6788# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6789 block
6790# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6791 use iso_fortran_env, only: output_unit
6792# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6793
6794# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6795 print *, 'm_rhs.fpp:518: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1), nc_iface_vel_hatR_n(2), nc_iface_vel_hatR_n(3))'
6796# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6797
6798# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6799 call flush (output_unit)
6800# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6801 end block
6802# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6803#endif
6804# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6805
6806# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6807
6808# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6809#if defined(MFC_OpenACC)
6810# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6811!$acc enter data copyin(nc_iface_vel_hatR_n(1))
6812# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6813#elif defined(MFC_OpenMP)
6814# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6815!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
6816# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6817#endif
6818# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6819
6820# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6821#if defined(MFC_OpenACC)
6822# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6823!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
6824# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6825#elif defined(MFC_OpenMP)
6826# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6827!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
6828# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6829#endif
6830# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6831 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
6832# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6833 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
6834# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6835 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
6836# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6837
6838# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6839#if defined(MFC_OpenACC)
6840# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6841!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6842# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6843#elif defined(MFC_OpenMP)
6844# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6845!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6846# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6847#endif
6848# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6849
6850# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6851#if defined(MFC_OpenACC)
6852# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6853!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6854# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6855#elif defined(MFC_OpenMP)
6856# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6857!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6858# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6859#endif
6860# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6861 end if
6862# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6863 end do
6864# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6865 end if
6866# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6867
6868# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6869#if defined(MFC_OpenACC)
6870# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6871!$acc enter data copyin(nc_iface_vel_hatR_n(2))
6872# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6873#elif defined(MFC_OpenMP)
6874# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6875!$omp target enter data map(to:nc_iface_vel_hatR_n(2))
6876# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6877#endif
6878# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6879
6880# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6881#if defined(MFC_OpenACC)
6882# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6883!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf)
6884# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6885#elif defined(MFC_OpenMP)
6886# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6887!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf)
6888# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6889#endif
6890# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6891 if (allocated(nc_iface_vel_hatr_n(2)%vf)) then
6892# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6893 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(2)%vf, 1), ubound(nc_iface_vel_hatr_n(2)%vf, 1)
6894# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6895 if (associated(nc_iface_vel_hatr_n(2)%vf(macros_setup_vfs_i)%sf)) then
6896# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6897
6898# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6899#if defined(MFC_OpenACC)
6900# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6901!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6902# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6903#elif defined(MFC_OpenMP)
6904# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6905!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6906# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6907#endif
6908# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6909
6910# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6911#if defined(MFC_OpenACC)
6912# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6913!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6914# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6915#elif defined(MFC_OpenMP)
6916# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6917!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6918# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6919#endif
6920# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6921 end if
6922# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6923 end do
6924# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6925 end if
6926# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6927
6928# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6929#if defined(MFC_OpenACC)
6930# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6931!$acc enter data copyin(nc_iface_vel_hatR_n(3))
6932# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6933#elif defined(MFC_OpenMP)
6934# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6935!$omp target enter data map(to:nc_iface_vel_hatR_n(3))
6936# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6937#endif
6938# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6939
6940# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6941#if defined(MFC_OpenACC)
6942# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6943!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf)
6944# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6945#elif defined(MFC_OpenMP)
6946# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6947!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf)
6948# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6949#endif
6950# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6951 if (allocated(nc_iface_vel_hatr_n(3)%vf)) then
6952# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6953 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(3)%vf, 1), ubound(nc_iface_vel_hatr_n(3)%vf, 1)
6954# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6955 if (associated(nc_iface_vel_hatr_n(3)%vf(macros_setup_vfs_i)%sf)) then
6956# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6957
6958# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6959#if defined(MFC_OpenACC)
6960# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6961!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i))
6962# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6963#elif defined(MFC_OpenMP)
6964# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6965!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i))
6966# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6967#endif
6968# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6969
6970# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6971#if defined(MFC_OpenACC)
6972# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6973!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i)%sf)
6974# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6975#elif defined(MFC_OpenMP)
6976# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6977!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i)%sf)
6978# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6979#endif
6980# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6981 end if
6982# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6983 end do
6984# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6985 end if
6986# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6987 end block
6988# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6989#endif
6990 else
6991#ifdef _CRAYFTN
6992# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6993 block
6994# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6995 integer :: macros_setup_vfs_i
6996# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6997
6998# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6999#ifdef MFC_DEBUG
7000# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7001 block
7002# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7003 use iso_fortran_env, only: output_unit
7004# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7005
7006# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7007 print *, 'm_rhs.fpp:520: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1))'
7008# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7009
7010# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7011 call flush (output_unit)
7012# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7013 end block
7014# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7015#endif
7016# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7017
7018# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7019
7020# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7021#if defined(MFC_OpenACC)
7022# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7023!$acc enter data copyin(nc_iface_vel_hatR_n(1))
7024# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7025#elif defined(MFC_OpenMP)
7026# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7027!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
7028# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7029#endif
7030# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7031
7032# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7033#if defined(MFC_OpenACC)
7034# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7035!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
7036# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7037#elif defined(MFC_OpenMP)
7038# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7039!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
7040# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7041#endif
7042# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7043 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
7044# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7045 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
7046# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7047 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
7048# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7049
7050# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7051#if defined(MFC_OpenACC)
7052# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7053!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
7054# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7055#elif defined(MFC_OpenMP)
7056# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7057!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
7058# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7059#endif
7060# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7061
7062# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7063#if defined(MFC_OpenACC)
7064# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7065!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7066# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7067#elif defined(MFC_OpenMP)
7068# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7069!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7070# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7071#endif
7072# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7073 end if
7074# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7075 end do
7076# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7077 end if
7078# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7079 end block
7080# 520 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7081#endif
7082 end if
7083 end if
7084 end if
7085
7086 if (alt_soundspeed) then
7087#ifdef MFC_DEBUG
7088# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7089 block
7090# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7091 use iso_fortran_env, only: output_unit
7092# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7093
7094# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7095 print *, 'm_rhs.fpp:526: ', '@:ALLOCATE(blkmod1(0:m, 0:n, 0:p), blkmod2(0:m, 0:n, 0:p), alpha1(0:m, 0:n, 0:p), alpha2(0:m, 0:n, 0:p), Kterm(0:m, 0:n, 0:p))'
7096# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7097
7098# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7099 call flush (output_unit)
7100# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7101 end block
7102# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7103#endif
7104# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7105 allocate (blkmod1(0:m, 0:n, 0:p), blkmod2(0:m, 0:n, 0:p), alpha1(0:m, 0:n, 0:p), alpha2(0:m, 0:n, 0:p), kterm(0:m, 0:n, 0:p))
7106# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7107
7108# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7109
7110# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7111
7112# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7113
7114# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7115
7116# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7117
7118# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7119#if defined(MFC_OpenACC)
7120# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7121!$acc enter data create(blkmod1, blkmod2, alpha1, alpha2, Kterm)
7122# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7123#elif defined(MFC_OpenMP)
7124# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7125!$omp target enter data map(always,alloc:blkmod1, blkmod2, alpha1, alpha2, Kterm)
7126# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7127#endif
7128# 528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7129 end if
7130
7131 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
7132#ifdef MFC_DEBUG
7133# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7134 block
7135# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7136 use iso_fortran_env, only: output_unit
7137# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7138
7139# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7140 print *, 'm_rhs.fpp:531: ', '@:ALLOCATE(rhs_hatL_vf(1:sys_size))'
7141# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7142
7143# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7144 call flush (output_unit)
7145# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7146 end block
7147# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7148#endif
7149# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7150 allocate (rhs_hatl_vf(1:sys_size))
7151# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7152
7153# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7154
7155# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7156#if defined(MFC_OpenACC)
7157# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7158!$acc enter data create(rhs_hatL_vf)
7159# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7160#elif defined(MFC_OpenMP)
7161# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7162!$omp target enter data map(always,alloc:rhs_hatL_vf)
7163# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7164#endif
7165#ifdef MFC_DEBUG
7166# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7167 block
7168# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7169 use iso_fortran_env, only: output_unit
7170# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7171
7172# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7173 print *, 'm_rhs.fpp:532: ', '@:ALLOCATE(rhs_hatR_vf(1:sys_size))'
7174# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7175
7176# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7177 call flush (output_unit)
7178# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7179 end block
7180# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7181#endif
7182# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7183 allocate (rhs_hatr_vf(1:sys_size))
7184# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7185
7186# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7187
7188# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7189#if defined(MFC_OpenACC)
7190# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7191!$acc enter data create(rhs_hatR_vf)
7192# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7193#elif defined(MFC_OpenMP)
7194# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7195!$omp target enter data map(always,alloc:rhs_hatR_vf)
7196# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7197#endif
7198#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7199# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7200 block
7201# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7202 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7203# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7204 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7205# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7206#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7207# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7208 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7209# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7210#else
7211# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7212 use cuda_runtime_api
7213# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7214#endif
7215# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7216 integer :: istat
7217# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7218
7219# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7220 if (nv_uvm_pref_gpu) then
7221# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7222 ! set preferred location GPU
7223# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7224 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetpreferredlocation, 0)
7225# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7226 if (istat /= cudasuccess) then
7227# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7228 write (*, "('Error code: ',I0, ': ')") istat
7229# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7230 end if
7231# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7232 ! set accessed by CPU
7233# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7234 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7235# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7236 if (istat /= cudasuccess) then
7237# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7238 write (*, "('Error code: ',I0, ': ')") istat
7239# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7240 end if
7241# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7242 ! prefetch to GPU - physically populate memory pages
7243# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7244 istat = cudamemprefetchasync(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), 0, 0)
7245# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7246 if (istat /= cudasuccess) then
7247# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7248 write (*, "('Error code: ',I0, ': ')") istat
7249# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7250 end if
7251# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7252 end if
7253# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7254 end block
7255# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7256#endif
7257#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7258# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7259 block
7260# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7261 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7262# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7263 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7264# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7265#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7266# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7267 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7268# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7269#else
7270# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7271 use cuda_runtime_api
7272# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7273#endif
7274# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7275 integer :: istat
7276# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7277
7278# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7279 if (nv_uvm_pref_gpu) then
7280# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7281 ! set preferred location GPU
7282# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7283 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetpreferredlocation, 0)
7284# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7285 if (istat /= cudasuccess) then
7286# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7287 write (*, "('Error code: ',I0, ': ')") istat
7288# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7289 end if
7290# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7291 ! set accessed by CPU
7292# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7293 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7294# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7295 if (istat /= cudasuccess) then
7296# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7297 write (*, "('Error code: ',I0, ': ')") istat
7298# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7299 end if
7300# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7301 ! prefetch to GPU - physically populate memory pages
7302# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7303 istat = cudamemprefetchasync(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), 0, 0)
7304# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7305 if (istat /= cudasuccess) then
7306# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7307 write (*, "('Error code: ',I0, ': ')") istat
7308# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7309 end if
7310# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7311 end if
7312# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7313 end block
7314# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7315#endif
7316
7317 do i = 1, sys_size
7318#ifdef MFC_DEBUG
7319# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7320 block
7321# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7322 use iso_fortran_env, only: output_unit
7323# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7324
7325# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7326 print *, 'm_rhs.fpp:537: ', '@:ALLOCATE(rhs_hatL_vf(i)%sf(0:m, 0:n, 0:p))'
7327# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7328
7329# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7330 call flush (output_unit)
7331# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7332 end block
7333# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7334#endif
7335# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7336 allocate (rhs_hatl_vf(i)%sf(0:m, 0:n, 0:p))
7337# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7338
7339# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7340
7341# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7342#if defined(MFC_OpenACC)
7343# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7344!$acc enter data create(rhs_hatL_vf(i)%sf)
7345# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7346#elif defined(MFC_OpenMP)
7347# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7348!$omp target enter data map(always,alloc:rhs_hatL_vf(i)%sf)
7349# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7350#endif
7351#ifdef MFC_DEBUG
7352# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7353 block
7354# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7355 use iso_fortran_env, only: output_unit
7356# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7357
7358# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7359 print *, 'm_rhs.fpp:538: ', '@:ALLOCATE(rhs_hatR_vf(i)%sf(0:m, 0:n, 0:p))'
7360# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7361
7362# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7363 call flush (output_unit)
7364# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7365 end block
7366# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7367#endif
7368# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7369 allocate (rhs_hatr_vf(i)%sf(0:m, 0:n, 0:p))
7370# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7371
7372# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7373
7374# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7375#if defined(MFC_OpenACC)
7376# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7377!$acc enter data create(rhs_hatR_vf(i)%sf)
7378# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7379#elif defined(MFC_OpenMP)
7380# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7381!$omp target enter data map(always,alloc:rhs_hatR_vf(i)%sf)
7382# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7383#endif
7384#ifdef _CRAYFTN
7385# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7386 block
7387# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7388#ifdef MFC_DEBUG
7389# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7390 block
7391# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7392 use iso_fortran_env, only: output_unit
7393# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7394
7395# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7396 print *, 'm_rhs.fpp:539: ', '@:ACC_SETUP_SFs(rhs_hatL_vf(i))'
7397# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7398
7399# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7400 call flush (output_unit)
7401# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7402 end block
7403# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7404#endif
7405# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7406
7407# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7408
7409# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7410#if defined(MFC_OpenACC)
7411# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7412!$acc enter data copyin(rhs_hatL_vf(i))
7413# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7414#elif defined(MFC_OpenMP)
7415# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7416!$omp target enter data map(to:rhs_hatL_vf(i))
7417# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7418#endif
7419# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7420 if (associated(rhs_hatl_vf(i)%sf)) then
7421# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7422
7423# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7424#if defined(MFC_OpenACC)
7425# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7426!$acc enter data copyin(rhs_hatL_vf(i)%sf)
7427# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7428#elif defined(MFC_OpenMP)
7429# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7430!$omp target enter data map(to:rhs_hatL_vf(i)%sf)
7431# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7432#endif
7433# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7434 end if
7435# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7436 end block
7437# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7438#endif
7439#ifdef _CRAYFTN
7440# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7441 block
7442# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7443#ifdef MFC_DEBUG
7444# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7445 block
7446# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7447 use iso_fortran_env, only: output_unit
7448# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7449
7450# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7451 print *, 'm_rhs.fpp:540: ', '@:ACC_SETUP_SFs(rhs_hatR_vf(i))'
7452# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7453
7454# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7455 call flush (output_unit)
7456# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7457 end block
7458# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7459#endif
7460# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7461
7462# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7463
7464# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7465#if defined(MFC_OpenACC)
7466# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7467!$acc enter data copyin(rhs_hatR_vf(i))
7468# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7469#elif defined(MFC_OpenMP)
7470# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7471!$omp target enter data map(to:rhs_hatR_vf(i))
7472# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7473#endif
7474# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7475 if (associated(rhs_hatr_vf(i)%sf)) then
7476# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7477
7478# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7479#if defined(MFC_OpenACC)
7480# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7481!$acc enter data copyin(rhs_hatR_vf(i)%sf)
7482# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7483#elif defined(MFC_OpenMP)
7484# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7485!$omp target enter data map(to:rhs_hatR_vf(i)%sf)
7486# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7487#endif
7488# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7489 end if
7490# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7491 end block
7492# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7493#endif
7494 end do
7495 end if
7496
7497 ! Spatial body force source arrays - sized to include ghost cells so the
7498 ! same indexing as q_*_vf is valid; iteration is restricted to interior
7499 ! cells via the `bounds` argument in m_body_forces. Only allocated when the
7500 ! feature is active (the write/read sites are likewise guarded).
7501 if (bf_spatial_support) then
7502 if (n > 0) then
7503 if (p > 0) then
7504#ifdef MFC_DEBUG
7505# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7506 block
7507# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7508 use iso_fortran_env, only: output_unit
7509# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7510
7511# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7512 print *, 'm_rhs.fpp:551: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7513# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7514
7515# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7516 call flush (output_unit)
7517# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7518 end block
7519# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7520#endif
7521# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7522 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7523# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7524
7525# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7526
7527# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7528#if defined(MFC_OpenACC)
7529# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7530!$acc enter data create(spbf_source_x)
7531# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7532#elif defined(MFC_OpenMP)
7533# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7534!$omp target enter data map(always,alloc:spbf_source_x)
7535# 551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7536#endif
7537#ifdef MFC_DEBUG
7538# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7539 block
7540# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7541 use iso_fortran_env, only: output_unit
7542# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7543
7544# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7545 print *, 'm_rhs.fpp:552: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7546# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7547
7548# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7549 call flush (output_unit)
7550# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7551 end block
7552# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7553#endif
7554# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7555 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7556# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7557
7558# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7559
7560# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7561#if defined(MFC_OpenACC)
7562# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7563!$acc enter data create(spbf_source_y)
7564# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7565#elif defined(MFC_OpenMP)
7566# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7567!$omp target enter data map(always,alloc:spbf_source_y)
7568# 552 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7569#endif
7570 else
7571#ifdef MFC_DEBUG
7572# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7573 block
7574# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7575 use iso_fortran_env, only: output_unit
7576# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7577
7578# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7579 print *, 'm_rhs.fpp:554: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7580# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7581
7582# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7583 call flush (output_unit)
7584# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7585 end block
7586# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7587#endif
7588# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7589 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7590# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7591
7592# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7593
7594# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7595#if defined(MFC_OpenACC)
7596# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7597!$acc enter data create(spbf_source_x)
7598# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7599#elif defined(MFC_OpenMP)
7600# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7601!$omp target enter data map(always,alloc:spbf_source_x)
7602# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7603#endif
7604#ifdef MFC_DEBUG
7605# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7606 block
7607# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7608 use iso_fortran_env, only: output_unit
7609# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7610
7611# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7612 print *, 'm_rhs.fpp:555: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7613# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7614
7615# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7616 call flush (output_unit)
7617# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7618 end block
7619# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7620#endif
7621# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7622 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7623# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7624
7625# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7626
7627# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7628#if defined(MFC_OpenACC)
7629# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7630!$acc enter data create(spbf_source_y)
7631# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7632#elif defined(MFC_OpenMP)
7633# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7634!$omp target enter data map(always,alloc:spbf_source_y)
7635# 555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7636#endif
7637 end if
7638 else
7639#ifdef MFC_DEBUG
7640# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7641 block
7642# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7643 use iso_fortran_env, only: output_unit
7644# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7645
7646# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7647 print *, 'm_rhs.fpp:558: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))'
7648# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7649
7650# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7651 call flush (output_unit)
7652# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7653 end block
7654# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7655#endif
7656# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7657 allocate (spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))
7658# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7659
7660# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7661
7662# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7663#if defined(MFC_OpenACC)
7664# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7665!$acc enter data create(spbf_source_x)
7666# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7667#elif defined(MFC_OpenMP)
7668# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7669!$omp target enter data map(always,alloc:spbf_source_x)
7670# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7671#endif
7672#ifdef MFC_DEBUG
7673# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7674 block
7675# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7676 use iso_fortran_env, only: output_unit
7677# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7678
7679# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7680 print *, 'm_rhs.fpp:559: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))'
7681# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7682
7683# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7684 call flush (output_unit)
7685# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7686 end block
7687# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7688#endif
7689# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7690 allocate (spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))
7691# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7692
7693# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7694
7695# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7696#if defined(MFC_OpenACC)
7697# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7698!$acc enter data create(spbf_source_y)
7699# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7700#elif defined(MFC_OpenMP)
7701# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7702!$omp target enter data map(always,alloc:spbf_source_y)
7703# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7704#endif
7705 end if
7706#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7707# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7708 block
7709# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7710 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7711# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7712 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7713# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7714#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7715# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7716 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7717# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7718#else
7719# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7720 use cuda_runtime_api
7721# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7722#endif
7723# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7724 integer :: istat
7725# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7726
7727# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7728 if (nv_uvm_pref_gpu) then
7729# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7730 ! set preferred location GPU
7731# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7732 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetpreferredlocation, 0)
7733# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7734 if (istat /= cudasuccess) then
7735# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7736 write (*, "('Error code: ',I0, ': ')") istat
7737# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7738 end if
7739# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7740 ! set accessed by CPU
7741# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7742 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetaccessedby, cudacpudeviceid)
7743# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7744 if (istat /= cudasuccess) then
7745# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7746 write (*, "('Error code: ',I0, ': ')") istat
7747# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7748 end if
7749# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7750 ! prefetch to GPU - physically populate memory pages
7751# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7752 istat = cudamemprefetchasync(c_devloc(spbf_source_x), sizeof(spbf_source_x), 0, 0)
7753# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7754 if (istat /= cudasuccess) then
7755# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7756 write (*, "('Error code: ',I0, ': ')") istat
7757# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7758 end if
7759# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7760 end if
7761# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7762 end block
7763# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7764#endif
7765#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7766# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7767 block
7768# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7769 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7770# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7771 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7772# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7773#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7774# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7775 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7776# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7777#else
7778# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7779 use cuda_runtime_api
7780# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7781#endif
7782# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7783 integer :: istat
7784# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7785
7786# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7787 if (nv_uvm_pref_gpu) then
7788# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7789 ! set preferred location GPU
7790# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7791 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetpreferredlocation, 0)
7792# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7793 if (istat /= cudasuccess) then
7794# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7795 write (*, "('Error code: ',I0, ': ')") istat
7796# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7797 end if
7798# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7799 ! set accessed by CPU
7800# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7801 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetaccessedby, cudacpudeviceid)
7802# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7803 if (istat /= cudasuccess) then
7804# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7805 write (*, "('Error code: ',I0, ': ')") istat
7806# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7807 end if
7808# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7809 ! prefetch to GPU - physically populate memory pages
7810# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7811 istat = cudamemprefetchasync(c_devloc(spbf_source_y), sizeof(spbf_source_y), 0, 0)
7812# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7813 if (istat /= cudasuccess) then
7814# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7815 write (*, "('Error code: ',I0, ': ')") istat
7816# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7817 end if
7818# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7819 end if
7820# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7821 end block
7822# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7823#endif
7824
7825 spbf_source_x = 0._wp
7826 spbf_source_y = 0._wp
7827
7828# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7829#if defined(MFC_OpenACC)
7830# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7831!$acc update device(spbf_source_x, spbf_source_y)
7832# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7833#elif defined(MFC_OpenMP)
7834# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7835!$omp target update to(spbf_source_x, spbf_source_y)
7836# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7837#endif
7838 end if
7839
7840 end subroutine s_initialize_rhs_module
7841
7842 !> Compute the right-hand side of the semi-discrete governing equations for a single time stage
7843 impure subroutine s_compute_rhs(q_cons_vf, q_T_sf, q_prim_vf, bc_type, rhs_vf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, stage)
7844
7845 type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_vf
7846 type(scalar_field), intent(inout) :: q_t_sf
7847 type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf
7848 type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type
7849 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
7850 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: pb_in
7851
7852 ! TODO :: I think these other two variables need to be stp as well, but it doesn't compile like that right now
7853 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_pb
7854 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: mv_in
7855 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_mv
7856 integer, intent(in) :: t_step
7857 integer, intent(in) :: stage
7858 integer :: id
7859 integer(kind=8) :: i, j, k, l, q !< Generic loop iterators
7860
7861 ! RHS: halo exchange -> reconstruct -> Riemann solve -> flux difference -> source terms
7862
7863 call nvtxstartrange("COMPUTE-RHS")
7864
7865 if (.not. igr) then
7866 ! Association/Population of Working Variables
7867
7868# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7869
7870# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7871#if defined(MFC_OpenACC)
7872# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7873!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
7874# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7875#elif defined(MFC_OpenMP)
7876# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7877
7878# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7879
7880# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7881
7882# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7883!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
7884# 596 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7885#endif
7886 do i = 1, sys_size
7887 do l = idwbuff(3)%beg, idwbuff(3)%end
7888 do k = idwbuff(2)%beg, idwbuff(2)%end
7889 do j = idwbuff(1)%beg, idwbuff(1)%end
7890 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_vf(i)%sf(j, k, l)
7891 end do
7892 end do
7893 end do
7894 end do
7895
7896# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7897#if defined(MFC_OpenACC)
7898# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7899!$acc end parallel loop
7900# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7901#elif defined(MFC_OpenMP)
7902# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7903
7904# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7905!$omp end target teams loop
7906# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7907#endif
7908
7909 ! Converting Conservative to Primitive Variables
7910
7911 if (mpp_lim .and. bubbles_euler) then
7912
7913# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7914
7915# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7916#if defined(MFC_OpenACC)
7917# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7918!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
7919# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7920#elif defined(MFC_OpenMP)
7921# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7922
7923# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7924
7925# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7926
7927# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7928!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
7929# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7930#endif
7931 do l = idwbuff(3)%beg, idwbuff(3)%end
7932 do k = idwbuff(2)%beg, idwbuff(2)%end
7933 do j = idwbuff(1)%beg, idwbuff(1)%end
7934 alf_sum%sf(j, k, l) = 0._wp
7935
7936# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7937#if defined(MFC_OpenACC)
7938# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7939!$acc loop seq
7940# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7941#elif defined(MFC_OpenMP)
7942# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7943
7944# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7945#endif
7946 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
7947 alf_sum%sf(j, k, l) = alf_sum%sf(j, k, l) + q_cons_qp%vf(i)%sf(j, k, l)
7948 end do
7949
7950# 620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7951#if defined(MFC_OpenACC)
7952# 620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7953!$acc loop seq
7954# 620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7955#elif defined(MFC_OpenMP)
7956# 620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7957
7958# 620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7959#endif
7960 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
7961 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_qp%vf(i)%sf(j, k, &
7962 & l)*(1._wp - q_cons_qp%vf(eqn_idx%alf)%sf(j, k, l))/alf_sum%sf(j, k, l)
7963 end do
7964 end do
7965 end do
7966 end do
7967
7968# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7969#if defined(MFC_OpenACC)
7970# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7971!$acc end parallel loop
7972# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7973#elif defined(MFC_OpenMP)
7974# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7975
7976# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7977!$omp end target teams loop
7978# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7979#endif
7980 end if
7981 end if
7982
7983 if (igr) then
7984 call nvtxstartrange("RHS-COMMUNICATION")
7985 call s_populate_variables_buffers(bc_type, q_cons_vf, pb_in, mv_in, q_t_sf)
7986 call nvtxendrange
7987 end if
7988 if (.not. igr) then
7989 call nvtxstartrange("RHS-CONVERT")
7990 call s_convert_conservative_to_primitive_variables(q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
7991 call nvtxendrange
7992
7993 call nvtxstartrange("RHS-COMMUNICATION")
7994 call s_populate_variables_buffers(bc_type, q_prim_qp%vf, pb_in, mv_in, q_t_sf)
7995 call nvtxendrange
7996 end if
7997
7998 if (cfl_dt) then
7999 if (mytime >= t_stop) return
8000 else
8001 if (t_step == t_step_stop) return
8002 end if
8003
8004 if (qbmm) call s_mom_inv(q_cons_qp%vf, q_prim_qp%vf, mom_sp, mom_3d, pb_in, rhs_pb, mv_in, rhs_mv, idwbuff(1), &
8005 & idwbuff(2), idwbuff(3))
8006
8007 if ((viscous .and. .not. igr)) then
8008 call nvtxstartrange("RHS-VISCOUS")
8011 & idwbuff(1), idwbuff(2), idwbuff(3))
8012 call nvtxendrange
8013 end if
8014
8015 if (surface_tension) then
8016 call nvtxstartrange("RHS-SURFACE-TENSION")
8017 call s_get_capillary(q_prim_qp%vf, bc_type)
8018 call nvtxendrange
8019 end if
8020
8021 if (int_comp == int_comp_mthinc .and. n > 0) then
8022 call nvtxstartrange("RHS-COMPRESSION-NORMALS")
8023 call s_compute_mthinc_normals(q_prim_qp%vf)
8024 call nvtxendrange
8025 end if
8026
8027 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8028 do id = 1, num_dims
8029 if (igr) then
8030 if (id == 1) then
8031
8032# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8033
8034# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8035#if defined(MFC_OpenACC)
8036# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8037!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8038# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8039#elif defined(MFC_OpenMP)
8040# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8041
8042# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8043
8044# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8045
8046# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8047!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
8048# 680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8049#endif
8050 do l = -1, p + 1
8051 do k = -1, n + 1
8052 do j = -1, m + 1
8053 do i = 1, sys_size
8054 rhs_vf(i)%sf(j, k, l) = 0._stp
8055 end do
8056 end do
8057 end do
8058 end do
8059
8060# 690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8061#if defined(MFC_OpenACC)
8062# 690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8063!$acc end parallel loop
8064# 690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8065#elif defined(MFC_OpenMP)
8066# 690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8067
8068# 690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8069!$omp end target teams loop
8070# 690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8071#endif
8072 end if
8073
8074 call nvtxstartrange("IGR_RIEMANN")
8075 call s_igr_riemann_solver(q_cons_vf, rhs_vf, id)
8076 call nvtxendrange
8077
8078 if (id == 1) then
8079 call nvtxstartrange("IGR_Jacobi")
8080 call s_igr_iterative_solve(q_cons_vf, bc_type, t_step)
8081 call nvtxendrange
8082
8083 call nvtxstartrange("IGR_SIGMA")
8084 call s_igr_sigma_x(q_cons_vf, rhs_vf)
8085 call nvtxendrange
8086 end if
8087 end if
8088 if (.not. igr) then
8090
8091 call s_compute_directional_rhs(id, rhs_vf, .false.)
8092
8093 ! RHS additions for hypoelasticity
8094 if (hypo_nc_mode == hypo_nc_mode_finite_diff) then
8095 call nvtxstartrange("RHS-HYPOELASTICITY-FD-PER-SWEEP")
8096 call s_compute_hypoelastic_rhs_finite_diff_per_sweep(id, q_prim_qp%vf, rhs_vf)
8097 call nvtxendrange
8098 end if
8099
8100 ! RHS for diffusion
8101 if (chemistry .and. chem_params%diffusion) then
8102 call nvtxstartrange("RHS-CHEM-DIFFUSION")
8103 call s_compute_chemistry_diffusion_flux(id, q_prim_qp%vf, flux_src_n(id)%vf, irx, iry, irz, q_t_sf)
8104 call nvtxendrange
8105 end if
8106
8107 ! Viscous stress contribution to RHS
8108 if (viscous .or. surface_tension .or. chem_params%diffusion) then
8109 call nvtxstartrange("RHS-ADD-PHYSICS")
8110 call s_compute_additional_physics_rhs(id, q_prim_qp%vf, rhs_vf, flux_src_n(id)%vf, dq_prim_dx_qp(1)%vf, &
8111 & dq_prim_dy_qp(1)%vf, dq_prim_dz_qp(1)%vf)
8112 call nvtxendrange
8113 end if
8114
8115 ! Bubble dynamics source terms
8116 if (bubbles_euler) then
8117 call nvtxstartrange("RHS-BUBBLES-COMPUTE")
8118 call s_compute_bubbles_ee_rhs(id, q_prim_qp%vf, divu)
8119 call nvtxendrange
8120 end if
8121
8122 ! RHS additions for qbmm bubbles
8123 if (qbmm) then
8124 call nvtxstartrange("RHS-QBMM")
8125 call s_compute_qbmm_rhs(id, q_cons_qp%vf, q_prim_qp%vf, rhs_vf, flux_n(id)%vf, pb_in, rhs_pb)
8126 call nvtxendrange
8127 end if
8128 ! END: Additional physics and source terms
8129
8130 if (hyper_cleaning) then
8131
8132# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8133
8134# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8135#if defined(MFC_OpenACC)
8136# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8137!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8138# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8139#elif defined(MFC_OpenMP)
8140# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8141
8142# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8143
8144# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8145
8146# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8147!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
8148# 750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8149#endif
8150 do l = 0, p
8151 do k = 0, n
8152 do j = 0, m
8153 rhs_vf(eqn_idx%psi)%sf(j, k, l) = rhs_vf(eqn_idx%psi)%sf(j, k, &
8154 & l) - q_prim_vf(eqn_idx%psi)%sf(j, k, l)/hyper_cleaning_tau
8155 end do
8156 end do
8157 end do
8158
8159# 759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8160#if defined(MFC_OpenACC)
8161# 759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8162!$acc end parallel loop
8163# 759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8164#elif defined(MFC_OpenMP)
8165# 759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8166
8167# 759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8168!$omp end target teams loop
8169# 759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8170#endif
8171 end if
8172
8173 ! END: Additional physics and source terms
8174 end if
8175 end do
8176 else
8177 ! Fused dual-pass HLLD: per direction, the Riemann states are reconstructed once and ONE fused solve computes both
8178 ! anchored flux sets (hat_L into flux_n/nc_iface_vel_n through the solver's own finalize; hat_R into the flux_hatR_rs*
8179 ! buffers). The hat_L partial RHS is assembled first; the hat_R set is then finalized into the same (already consumed)
8180 ! flux field arrays and assembled. The full RHS is the sum of the two anchored partial RHS's; the axisymmetric
8181 ! cylindrical completion for the volume fractions and stresses is applied once on the summed RHS, using the cell's own
8182 ! two anchored radial face traces (hat_L outer face, hat_R inner face).
8183 do id = 1, num_dims
8185 call s_compute_directional_rhs(id, rhs_hatl_vf, .true.)
8186 call nvtxstartrange("RHS-RIEMANN-FINALIZE-HATR")
8187 call s_finalize_riemann_solver_hatr(flux_n(id)%vf, flux_gsrc_n(id)%vf, id)
8188 if (use_nc_iface_vel) then
8189 call s_finalize_nc_iface_vel_hatr(nc_iface_vel_hatr_n(id)%vf, id)
8190 end if
8191 call nvtxendrange
8192 call nvtxstartrange("RHS-ADVECTION-SRC")
8194 call nvtxendrange
8195 end do
8196
8197
8198# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8199
8200# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8201#if defined(MFC_OpenACC)
8202# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8203!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8204# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8205#elif defined(MFC_OpenMP)
8206# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8207
8208# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8209
8210# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8211
8212# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8213!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
8214# 786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8215#endif
8216 do i = 1, sys_size
8217 do l = 0, p
8218 do k = 0, n
8219 do j = 0, m
8220 rhs_vf(i)%sf(j, k, l) = rhs_hatl_vf(i)%sf(j, k, l) + rhs_hatr_vf(i)%sf(j, k, l)
8221 end do
8222 end do
8223 end do
8224 end do
8225
8226# 796 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8227#if defined(MFC_OpenACC)
8228# 796 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8229!$acc end parallel loop
8230# 796 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8231#elif defined(MFC_OpenMP)
8232# 796 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8233
8234# 796 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8235!$omp end target teams loop
8236# 796 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8237#endif
8238
8239 if (grid_geometry == 2) then
8240 call nvtxstartrange("RHS-HYPOELASTICITY-AXISYM-HLLD")
8241 call s_compute_hypoelastic_rhs_axisym_geom_dual_pass(q_prim_qp%vf, rhs_vf, nc_iface_vel_n(2)%vf, &
8242 & nc_iface_vel_hatr_n(2)%vf)
8243 call nvtxendrange
8244 end if
8245 end if
8246 ! END: Dimensional Splitting Loop
8247
8248 ! RHS additions for hypoelasticity (interface-consistent path, after all sweeps)
8249 if (hypo_nc_mode == hypo_nc_mode_interface) then
8250 call nvtxstartrange("RHS-HYPOELASTICITY-IFACE")
8251 call s_compute_hypoelastic_rhs_iface(q_prim_qp%vf, rhs_vf, nc_iface_vel_n)
8252 call nvtxendrange
8253 end if
8254 if (ib) then
8255
8256# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8257
8258# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8259#if defined(MFC_OpenACC)
8260# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8261!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
8262# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8263#elif defined(MFC_OpenMP)
8264# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8265
8266# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8267
8268# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8269
8270# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8271!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
8272# 814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8273#endif
8274 do l = 0, p
8275 do k = 0, n
8276 do j = 0, m
8277 if (ib_markers%sf(j, k, l) /= 0) then
8278 do i = 1, sys_size
8279 rhs_vf(i)%sf(j, k, l) = 0._wp
8280 end do
8281 end if
8282 end do
8283 end do
8284 end do
8285
8286# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8287#if defined(MFC_OpenACC)
8288# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8289!$acc end parallel loop
8290# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8291#elif defined(MFC_OpenMP)
8292# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8293
8294# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8295!$omp end target teams loop
8296# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8297#endif
8298 end if
8299
8300 ! Additional Physics and Source Terms Additions for acoustic_source
8301 if (acoustic_source) then
8302 call nvtxstartrange("RHS-ACOUSTIC-SRC")
8303 call s_acoustic_src_calculations(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8304 call nvtxendrange
8305 end if
8306
8307 ! Add bubbles source term
8308 if (bubbles_euler .and. (.not. adap_dt) .and. (.not. qbmm)) then
8309 call nvtxstartrange("RHS-BUBBLES-SRC")
8310 call s_compute_bubble_ee_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf, divu)
8311 call nvtxendrange
8312 end if
8313
8314 ! ptil is a probe-output diagnostic only, so evaluate it only when probes are on.
8315 ! This sits outside the source-term branch above so that the qbmm and adap_dt
8316 ! paths, which skip that branch, still get a filled ptil.
8317 if (bubbles_euler .and. probe_wrt) then
8318 call s_compute_ptilde(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size))
8319 end if
8320
8321 if (bubbles_lagrange) then
8322 if (.not. adap_dt) then
8323 call nvtxstartrange("RHS-EL-BUBBLES-DYN")
8324 call s_compute_bubble_el_dynamics(q_prim_qp%vf(1:sys_size), bc_type, stage)
8325 call nvtxendrange
8326 end if
8327
8328 if (lag_params%solver_approach == 2) then
8329 call nvtxstartrange("RHS-EL-BUBBLES-SRC")
8330 call s_compute_bubbles_el_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8331 call nvtxendrange
8332 end if
8333 end if
8334
8335 ! When reaction_substeps > 0 the reaction source is integrated by operator splitting
8336 ! after the flow update (s_chemistry_reaction_substep), not added to the flow RHS here.
8337 if (chemistry .and. chem_params%reactions .and. chem_params%reaction_substeps == 0) then
8338 call nvtxstartrange("RHS-CHEM-REACTIONS")
8339 call s_compute_chemistry_reaction_flux(rhs_vf, q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8340 call nvtxendrange
8341 end if
8342
8343 if (reactive_burn) then
8344 call nvtxstartrange("RHS-REACTIVE-BURN")
8345 call s_compute_reactive_burn(rhs_vf, q_cons_qp%vf, q_prim_qp%vf, idwint)
8346 call nvtxendrange
8347 end if
8348
8349 if (cont_damage) call s_compute_damage_state(q_cons_qp%vf, rhs_vf)
8350
8351 ! END: Additional physics and source terms
8352
8353 if (run_time_info .or. probe_wrt .or. ib .or. bubbles_lagrange) then
8354 if (.not. igr) then
8355
8356# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8357
8358# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8359#if defined(MFC_OpenACC)
8360# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8361!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8362# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8363#elif defined(MFC_OpenMP)
8364# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8365
8366# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8367
8368# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8369
8370# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8371!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
8372# 884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8373#endif
8374 do i = 1, sys_size
8375 do l = idwbuff(3)%beg, idwbuff(3)%end
8376 do k = idwbuff(2)%beg, idwbuff(2)%end
8377 do j = idwbuff(1)%beg, idwbuff(1)%end
8378 q_prim_vf(i)%sf(j, k, l) = q_prim_qp%vf(i)%sf(j, k, l)
8379 end do
8380 end do
8381 end do
8382 end do
8383
8384# 894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8385#if defined(MFC_OpenACC)
8386# 894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8387!$acc end parallel loop
8388# 894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8389#elif defined(MFC_OpenMP)
8390# 894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8391
8392# 894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8393!$omp end target teams loop
8394# 894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8395#endif
8396 end if
8397 end if
8398
8399 call nvtxendrange
8400
8401 end subroutine s_compute_rhs
8402
8403 !> Reconstructs the left/right Riemann states (cell-boundary values) for one sweep direction into the module face buffers
8404 !! (qL/qR_rs*_vf and, for WENO-reconstructed viscous fluxes, dqL/dqR_rs*_vf). Depends only on q_prim_qp, so it runs once per
8405 !! sweep direction; both anchored passes of the fused dual-pass HLLD solve in that direction reuse these buffers.
8407
8408 integer, intent(in) :: id
8409 integer :: i, j, k, l !< Generic loop iterators
8410
8411 call nvtxstartrange("RHS-RECONSTRUCTION")
8412
8413 if (.not. surface_tension) then
8414 if ((.not. weno_re_flux) .or. int_comp > 0) then
8415 ! Reconstruct densitiess
8416 iv%beg = 1; iv%end = sys_size
8418 else
8419 iv%beg = 1; iv%end = eqn_idx%cont%end
8421
8422 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8423
8424# 922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8425#if defined(MFC_OpenACC)
8426# 922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8427!$acc update device(iv, iglob)
8428# 922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8429#elif defined(MFC_OpenMP)
8430# 922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8431!$omp target update to(iv, iglob)
8432# 922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8433#endif
8434
8435
8436# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8437
8438# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8439#if defined(MFC_OpenACC)
8440# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8441!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8442# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8443#elif defined(MFC_OpenMP)
8444# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8445
8446# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8447
8448# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8449
8450# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8451!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
8452# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8453#endif
8454 do i = iv%beg, iv%end
8455 do l = idwbuff(3)%beg, idwbuff(3)%end
8456 do k = idwbuff(2)%beg, idwbuff(2)%end
8457 do j = idwbuff(1)%beg, idwbuff(1)%end
8458 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8459 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8460 end do
8461 end do
8462 end do
8463 end do
8464
8465# 935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8466#if defined(MFC_OpenACC)
8467# 935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8468!$acc end parallel loop
8469# 935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8470#elif defined(MFC_OpenMP)
8471# 935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8472
8473# 935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8474!$omp end target teams loop
8475# 935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8476#endif
8477
8478 iv%beg = eqn_idx%E; iv%end = sys_size
8480 end if
8481 else
8482 if (int_comp > 0) then
8483 ! THINC reads cont and adv from v_rs_ws; must reconstruct full sys_size range to populate both
8484 iv%beg = 1; iv%end = sys_size
8486 ! Surface tension requires first-order energy; overwrite the higher-order result from the full pass above
8487 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8489 else if ((.not. weno_re_flux)) then
8490 iv%beg = 1; iv%end = eqn_idx%E - 1
8492
8493 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8495
8496 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8498 else
8499 iv%beg = 1; iv%end = eqn_idx%cont%end
8501
8502 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8503
8504# 962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8505#if defined(MFC_OpenACC)
8506# 962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8507!$acc update device(iv, iglob)
8508# 962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8509#elif defined(MFC_OpenMP)
8510# 962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8511!$omp target update to(iv, iglob)
8512# 962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8513#endif
8514
8515
8516# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8517
8518# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8519#if defined(MFC_OpenACC)
8520# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8521!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8522# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8523#elif defined(MFC_OpenMP)
8524# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8525
8526# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8527
8528# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8529
8530# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8531!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
8532# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8533#endif
8534 do i = iv%beg, iv%end
8535 do l = idwbuff(3)%beg, idwbuff(3)%end
8536 do k = idwbuff(2)%beg, idwbuff(2)%end
8537 do j = idwbuff(1)%beg, idwbuff(1)%end
8538 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8539 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8540 end do
8541 end do
8542 end do
8543 end do
8544
8545# 975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8546#if defined(MFC_OpenACC)
8547# 975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8548!$acc end parallel loop
8549# 975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8550#elif defined(MFC_OpenMP)
8551# 975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8552
8553# 975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8554!$omp end target teams loop
8555# 975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8556#endif
8557
8558 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8560
8561 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8563 end if
8564 end if
8565
8566 ! Reconstruct viscous derivatives for viscosity
8567 if (weno_re_flux) then
8568 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end
8569 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dx_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, dqr_rsx_vf, id, &
8570 & dql_prim_dx_n(id)%vf(iv%beg:iv%end), dqr_prim_dx_n(id)%vf(iv%beg:iv%end), idwbuff(1), idwbuff(2), idwbuff(3))
8571 if (n > 0) then
8572 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dy_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, dqr_rsx_vf, &
8573 & id, dql_prim_dy_n(id)%vf(iv%beg:iv%end), dqr_prim_dy_n(id)%vf(iv%beg:iv%end), idwbuff(1), idwbuff(2), &
8574 & idwbuff(3))
8575 if (p > 0) then
8576 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dz_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, &
8577 & dqr_rsx_vf, id, dql_prim_dz_n(id)%vf(iv%beg:iv%end), dqr_prim_dz_n(id)%vf(iv%beg:iv%end), idwbuff(1), &
8578 & idwbuff(2), idwbuff(3))
8579 end if
8580 end if
8581 end if
8582
8583 call nvtxendrange
8584
8585 end subroutine s_reconstruct_riemann_states
8586
8587 !> Computes one sweep direction's contribution to the RHS: the Riemann solve on the reconstructed cell-boundary states followed
8588 !! by the advection source term. For dual-pass HLLD the fused solve computes BOTH anchored flux sets in one call; this routine
8589 !! assembles the hat_L (is_hat_L=.true.) partial RHS, and the caller finalizes + assembles the hat_R set afterwards. is_hat_L
8590 !! selects which one-sided flux difference the advection source applies into rhs_vf.
8591 subroutine s_compute_directional_rhs(id, rhs_vf, is_hat_L)
8592
8593 integer, intent(in) :: id
8594 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8595 logical, intent(in) :: is_hat_L
8596
8597 ! Configuring Coordinate Direction Indexes
8598
8599 if (id == 1) then
8600 irx%beg = -1; iry%beg = 0; irz%beg = 0
8601 else if (id == 2) then
8602 irx%beg = 0; iry%beg = -1; irz%beg = 0
8603 else
8604 irx%beg = 0; iry%beg = 0; irz%beg = -1
8605 end if
8606 irx%end = m; iry%end = n; irz%end = p
8607
8608 ! Computing Riemann Solver Flux and Source Flux
8609 call nvtxstartrange("RHS-RIEMANN-SOLVER")
8610 call s_riemann_solver(qr_rsx_vf, dqr_prim_dx_n(id)%vf, dqr_prim_dy_n(id)%vf, dqr_prim_dz_n(id)%vf, qr_prim(id)%vf, &
8611 & ql_rsx_vf, dql_prim_dx_n(id)%vf, dql_prim_dy_n(id)%vf, dql_prim_dz_n(id)%vf, ql_prim(id)%vf, &
8612 & q_prim_qp%vf, flux_n(id)%vf, flux_src_n(id)%vf, flux_gsrc_n(id)%vf, id, irx, iry, irz)
8613 call nvtxendrange
8614
8615 if (use_nc_iface_vel) then
8616 call s_finalize_nc_iface_vel(nc_iface_vel_n(id)%vf, id)
8617 end if
8618
8619 ! Additional physics and source terms RHS addition for advection source
8620 call nvtxstartrange("RHS-ADVECTION-SRC")
8621 call s_compute_advection_source_term(id, rhs_vf, q_cons_qp, q_prim_qp, flux_src_n(id), is_hat_l)
8622 call nvtxendrange
8623
8624 end subroutine s_compute_directional_rhs
8625
8626 !> Accumulate advection source contributions from a given coordinate direction into the RHS
8627 subroutine s_compute_advection_source_term(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, is_hat_L)
8628
8629 integer, intent(in) :: idir
8630 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8631 type(vector_field), intent(inout) :: q_cons_vf
8632 type(vector_field), intent(inout) :: q_prim_vf
8633 type(vector_field), intent(inout) :: flux_src_n_vf
8634 logical, intent(in) :: is_hat_L
8635 integer :: j, k, l, q !< Loop iterators from original, meaning varies
8636 integer :: k_loop, l_loop, q_loop !< Standardized spatial loop iterators 0:m, 0:n, 0:p
8637 integer :: i_fluid_loop
8638 real(wp) :: inv_ds, flux_face1, flux_face2
8639 real(wp) :: advected_qty_val, pressure_val, velocity_val
8640 real(wp) :: G1_eff, G2_eff
8641
8642 g1_eff = 0._wp
8643 g2_eff = 0._wp
8644 if (hypoelasticity) then
8645 g1_eff = fluid_pp(1)%G
8646 g2_eff = fluid_pp(2)%G
8647 end if
8648
8649 if (alt_soundspeed) then
8650
8651# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8652
8653# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8654#if defined(MFC_OpenACC)
8655# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8656!$acc parallel loop collapse(3) gang vector default(present) private(k_loop, l_loop, q_loop)
8657# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8658#elif defined(MFC_OpenMP)
8659# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8660
8661# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8662
8663# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8664
8665# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8666!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8667# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8668!$omp& private(k_loop, l_loop, q_loop)
8669# 1069 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8670#endif
8671 do q_loop = 0, p
8672 do l_loop = 0, n
8673 do k_loop = 0, m
8674 blkmod1(k_loop, l_loop, q_loop) = f_bulk_modulus(q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop), &
8675 & gammas(1), pi_infs(1)) + (4._wp/3._wp)*g1_eff
8676 blkmod2(k_loop, l_loop, q_loop) = f_bulk_modulus(q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop), &
8677 & gammas(2), pi_infs(2)) + (4._wp/3._wp)*g2_eff
8678 alpha1(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8679
8680 if (bubbles_euler) then
8681 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%alf - 1)%sf(k_loop, l_loop, q_loop)
8682 else
8683 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8684 end if
8685
8686 kterm(k_loop, l_loop, q_loop) = alpha1(k_loop, l_loop, q_loop)*alpha2(k_loop, l_loop, &
8687 & q_loop)*(blkmod2(k_loop, l_loop, q_loop) - blkmod1(k_loop, l_loop, q_loop))/(alpha1(k_loop, &
8688 & l_loop, q_loop)*blkmod2(k_loop, l_loop, q_loop) + alpha2(k_loop, l_loop, q_loop)*blkmod1(k_loop, &
8689 & l_loop, q_loop))
8690 end do
8691 end do
8692 end do
8693
8694# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8695#if defined(MFC_OpenACC)
8696# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8697!$acc end parallel loop
8698# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8699#elif defined(MFC_OpenMP)
8700# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8701
8702# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8703!$omp end target teams loop
8704# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8705#endif
8706 end if
8707
8708 select case (idir)
8709 case (1) ! x-direction
8710 if (bc_x%beg <= bc_char_slip_wall .and. bc_x%beg >= bc_char_sup_outflow) then
8711 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8712 end if
8713 if (bc_x%end <= bc_char_slip_wall .and. bc_x%end >= bc_char_sup_outflow) then
8714 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8715 end if
8716
8717 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8718
8719# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8720
8721# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8722#if defined(MFC_OpenACC)
8723# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8724!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8725# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8726#elif defined(MFC_OpenMP)
8727# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8728
8729# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8730
8731# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8732
8733# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8734!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8735# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8736!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8737# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8738#endif
8739 do j = 1, sys_size
8740 do q_loop = 0, p
8741 do l_loop = 0, n
8742 do k_loop = 0, m
8743 inv_ds = 1._wp/dx(k_loop)
8744 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8745 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8746 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*(flux_face1 - flux_face2)
8747 end do
8748 end do
8749 end do
8750 end do
8751
8752# 1118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8753#if defined(MFC_OpenACC)
8754# 1118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8755!$acc end parallel loop
8756# 1118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8757#elif defined(MFC_OpenMP)
8758# 1118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8759
8760# 1118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8761!$omp end target teams loop
8762# 1118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8763#endif
8764 else if (is_hat_l) then
8765
8766# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8767
8768# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8769#if defined(MFC_OpenACC)
8770# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8771!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8772# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8773#elif defined(MFC_OpenMP)
8774# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8775
8776# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8777
8778# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8779
8780# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8781!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8782# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8783!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8784# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8785#endif
8786 do j = 1, sys_size
8787 do q_loop = 0, p
8788 do l_loop = 0, n
8789 do k_loop = 0, m
8790 inv_ds = 1._wp/dx(k_loop)
8791 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8792 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = -inv_ds*flux_face2
8793 end do
8794 end do
8795 end do
8796 end do
8797
8798# 1132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8799#if defined(MFC_OpenACC)
8800# 1132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8801!$acc end parallel loop
8802# 1132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8803#elif defined(MFC_OpenMP)
8804# 1132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8805
8806# 1132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8807!$omp end target teams loop
8808# 1132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8809#endif
8810 else ! is_hat_R
8811
8812# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8813
8814# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8815#if defined(MFC_OpenACC)
8816# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8817!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
8818# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8819#elif defined(MFC_OpenMP)
8820# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8821
8822# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8823
8824# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8825
8826# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8827!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8828# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8829!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
8830# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8831#endif
8832 do j = 1, sys_size
8833 do q_loop = 0, p
8834 do l_loop = 0, n
8835 do k_loop = 0, m
8836 inv_ds = 1._wp/dx(k_loop)
8837 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8838 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*flux_face1
8839 end do
8840 end do
8841 end do
8842 end do
8843
8844# 1146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8845#if defined(MFC_OpenACC)
8846# 1146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8847!$acc end parallel loop
8848# 1146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8849#elif defined(MFC_OpenMP)
8850# 1146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8851
8852# 1146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8853!$omp end target teams loop
8854# 1146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8855#endif
8856 end if
8857
8858 if (model_eqns == model_eqns_6eq) then
8859
8860# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8861
8862# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8863#if defined(MFC_OpenACC)
8864# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8865!$acc parallel loop collapse(4) gang vector default(present) private(i_fluid_loop, k_loop, l_loop, q_loop, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
8866# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8867#elif defined(MFC_OpenMP)
8868# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8869
8870# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8871
8872# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8873
8874# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8875!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8876# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8877!$omp& private(i_fluid_loop, k_loop, l_loop, q_loop, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
8878# 1150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8879#endif
8880# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8881 do q_loop = 0, p
8882 do l_loop = 0, n
8883 do k_loop = 0, m
8884 do i_fluid_loop = 1, num_fluids
8885 inv_ds = 1._wp/dx(k_loop)
8886 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(k_loop, l_loop, q_loop)
8887 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
8888 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8889 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop - 1, l_loop, q_loop)
8890 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
8891 & q_loop) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
8892 & q_loop) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
8893 end do
8894 end do
8895 end do
8896 end do
8897
8898# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8899#if defined(MFC_OpenACC)
8900# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8901!$acc end parallel loop
8902# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8903#elif defined(MFC_OpenMP)
8904# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8905
8906# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8907!$omp end target teams loop
8908# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8909#endif
8910 end if
8911
8912 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
8913 case (2) ! y-direction
8914 if (bc_y%beg <= bc_char_slip_wall .and. bc_y%beg >= bc_char_sup_outflow) then
8915 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8916 end if
8917 if (bc_y%end <= bc_char_slip_wall .and. bc_y%end >= bc_char_sup_outflow) then
8918 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8919 end if
8920
8921 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8922
8923# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8924
8925# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8926#if defined(MFC_OpenACC)
8927# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8928!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
8929# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8930#elif defined(MFC_OpenMP)
8931# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8932
8933# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8934
8935# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8936
8937# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8938!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8939# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8940!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
8941# 1181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8942#endif
8943 do j = 1, sys_size
8944 do l = 0, p
8945 do k = 0, n
8946 do q = 0, m
8947 inv_ds = 1._wp/dy(k)
8948 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
8949 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
8950 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*(flux_face1 - flux_face2)
8951 end do
8952 end do
8953 end do
8954 end do
8955
8956# 1194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8957#if defined(MFC_OpenACC)
8958# 1194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8959!$acc end parallel loop
8960# 1194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8961#elif defined(MFC_OpenMP)
8962# 1194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8963
8964# 1194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8965!$omp end target teams loop
8966# 1194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8967#endif
8968 else if (is_hat_l) then
8969
8970# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8971
8972# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8973#if defined(MFC_OpenACC)
8974# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8975!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
8976# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8977#elif defined(MFC_OpenMP)
8978# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8979
8980# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8981
8982# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8983
8984# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8985!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8986# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8987!$omp& private(j, k, l, q, inv_ds, flux_face2)
8988# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8989#endif
8990 do j = 1, sys_size
8991 do l = 0, p
8992 do k = 0, n
8993 do q = 0, m
8994 inv_ds = 1._wp/dy(k)
8995 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
8996 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - inv_ds*flux_face2
8997 end do
8998 end do
8999 end do
9000 end do
9001
9002# 1208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9003#if defined(MFC_OpenACC)
9004# 1208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9005!$acc end parallel loop
9006# 1208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9007#elif defined(MFC_OpenMP)
9008# 1208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9009
9010# 1208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9011!$omp end target teams loop
9012# 1208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9013#endif
9014 else ! is_hat_R
9015
9016# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9017
9018# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9019#if defined(MFC_OpenACC)
9020# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9021!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9022# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9023#elif defined(MFC_OpenMP)
9024# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9025
9026# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9027
9028# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9029
9030# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9031!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9032# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9033!$omp& private(j, k, l, q, inv_ds, flux_face1)
9034# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9035#endif
9036 do j = 1, sys_size
9037 do l = 0, p
9038 do k = 0, n
9039 do q = 0, m
9040 inv_ds = 1._wp/dy(k)
9041 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9042 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*flux_face1
9043 end do
9044 end do
9045 end do
9046 end do
9047
9048# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9049#if defined(MFC_OpenACC)
9050# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9051!$acc end parallel loop
9052# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9053#elif defined(MFC_OpenMP)
9054# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9055
9056# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9057!$omp end target teams loop
9058# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9059#endif
9060 end if
9061
9062 if (model_eqns == model_eqns_6eq) then
9063
9064# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9065
9066# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9067#if defined(MFC_OpenACC)
9068# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9069!$acc parallel loop collapse(4) gang vector default(present) private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9070# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9071#elif defined(MFC_OpenMP)
9072# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9073
9074# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9075
9076# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9077
9078# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9079!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9080# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9081!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9082# 1226 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9083#endif
9084# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9085 do l = 0, p
9086 do k = 0, n
9087 do q = 0, m
9088 do i_fluid_loop = 1, num_fluids
9089 inv_ds = 1._wp/dy(k)
9090 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(q, k, l)
9091 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(q, k, l)
9092 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k, l)
9093 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k - 1, l)
9094 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9095 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9096 & l) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9097 if (cyl_coord) then
9098 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9099 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9100 & l) - 5.e-1_wp/y_cc(k)*advected_qty_val*pressure_val*(flux_face1 + flux_face2)
9101 end if
9102 end do
9103 end do
9104 end do
9105 end do
9106
9107# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9108#if defined(MFC_OpenACC)
9109# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9110!$acc end parallel loop
9111# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9112#elif defined(MFC_OpenMP)
9113# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9114
9115# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9116!$omp end target teams loop
9117# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9118#endif
9119 end if
9120
9121 if (cyl_coord) then
9122 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
9123 ! Cell-owned anchored geometry: the hat_L pass owns the cell's outer radial face and the hat_R pass its
9124 ! inner face (the same anchor ownership as the one-sided flux differences above), so the summed RHS
9125 ! carries -(H_outer + H_inner)/(2*y_cc) with both faces anchored to the cell itself. With midpoint cell
9126 ! centers this equals the annular finite-volume divergence (r_+ F_+ - r_- F_-)/(y_cc*dy) for the rows
9127 ! whose geometric flux is the full radial flux.
9128 if (is_hat_l) then
9129
9130# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9131
9132# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9133#if defined(MFC_OpenACC)
9134# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9135!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face2)
9136# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9137#elif defined(MFC_OpenMP)
9138# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9139
9140# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9141
9142# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9143
9144# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9145!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9146# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9147!$omp& private(j, k, l, q, flux_face2)
9148# 1260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9149#endif
9150 do j = 1, sys_size
9151 do l = 0, p
9152 do k = 0, n
9153 do q = 0, m
9154 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9155 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face2
9156 end do
9157 end do
9158 end do
9159 end do
9160
9161# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9162#if defined(MFC_OpenACC)
9163# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9164!$acc end parallel loop
9165# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9166#elif defined(MFC_OpenMP)
9167# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9168
9169# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9170!$omp end target teams loop
9171# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9172#endif
9173 else ! is_hat_R
9174
9175# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9176
9177# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9178#if defined(MFC_OpenACC)
9179# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9180!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1)
9181# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9182#elif defined(MFC_OpenMP)
9183# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9184
9185# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9186
9187# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9188
9189# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9190!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9191# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9192!$omp& private(j, k, l, q, flux_face1)
9193# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9194#endif
9195 do j = 1, sys_size
9196 do l = 0, p
9197 do k = 0, n
9198 do q = 0, m
9199 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9200 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face1
9201 end do
9202 end do
9203 end do
9204 end do
9205
9206# 1284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9207#if defined(MFC_OpenACC)
9208# 1284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9209!$acc end parallel loop
9210# 1284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9211#elif defined(MFC_OpenMP)
9212# 1284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9213
9214# 1284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9215!$omp end target teams loop
9216# 1284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9217#endif
9218 end if
9219 else
9220
9221# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9222
9223# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9224#if defined(MFC_OpenACC)
9225# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9226!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9227# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9228#elif defined(MFC_OpenMP)
9229# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9230
9231# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9232
9233# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9234
9235# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9236!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9237# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9238!$omp& private(j, k, l, q, flux_face1, flux_face2)
9239# 1287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9240#endif
9241 do j = 1, sys_size
9242 do l = 0, p
9243 do k = 0, n
9244 do q = 0, m
9245 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9246 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9247 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*(flux_face1 + flux_face2)
9248 end do
9249 end do
9250 end do
9251 end do
9252
9253# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9254#if defined(MFC_OpenACC)
9255# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9256!$acc end parallel loop
9257# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9258#elif defined(MFC_OpenMP)
9259# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9260
9261# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9262!$omp end target teams loop
9263# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9264#endif
9265 end if
9266 end if
9267
9268 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9269 case (3) ! z-direction
9270 if (bc_z%beg <= bc_char_slip_wall .and. bc_z%beg >= bc_char_sup_outflow) then
9271 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9272 end if
9273 if (bc_z%end <= bc_char_slip_wall .and. bc_z%end >= bc_char_sup_outflow) then
9274 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9275 end if
9276
9277 if (grid_geometry == 3) then ! Cylindrical Coordinates
9278
9279# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9280
9281# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9282#if defined(MFC_OpenACC)
9283# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9284!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9285# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9286#elif defined(MFC_OpenMP)
9287# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9288
9289# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9290
9291# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9292
9293# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9294!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9295# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9296!$omp& private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9297# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9298#endif
9299 do j = 1, sys_size
9300 do k = 0, p
9301 do q = 0, n
9302 do l = 0, m
9303 inv_ds = 1._wp/(dz(k)*y_cc(q))
9304 velocity_val = q_prim_vf%vf(eqn_idx%cont%end + idir)%sf(l, q, k)
9305 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9306 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9307 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*velocity_val*(flux_face1 - flux_face2)
9308 end do
9309 end do
9310 end do
9311 end do
9312
9313# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9314#if defined(MFC_OpenACC)
9315# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9316!$acc end parallel loop
9317# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9318#elif defined(MFC_OpenMP)
9319# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9320
9321# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9322!$omp end target teams loop
9323# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9324#endif
9325
9326# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9327
9328# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9329#if defined(MFC_OpenACC)
9330# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9331!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9332# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9333#elif defined(MFC_OpenMP)
9334# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9335
9336# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9337
9338# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9339
9340# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9341!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9342# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9343!$omp& private(j, k, l, q, flux_face1, flux_face2)
9344# 1328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9345#endif
9346 do j = 1, sys_size
9347 do k = 0, p
9348 do q = 0, n
9349 do l = 0, m
9350 flux_face1 = flux_gsrc_n(3)%vf(j)%sf(l, q, k - 1)
9351 flux_face2 = flux_gsrc_n(3)%vf(j)%sf(l, q, k)
9352 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) - 5.e-1_wp/y_cc(q)*(flux_face1 + flux_face2)
9353 end do
9354 end do
9355 end do
9356 end do
9357
9358# 1340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9359#if defined(MFC_OpenACC)
9360# 1340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9361!$acc end parallel loop
9362# 1340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9363#elif defined(MFC_OpenMP)
9364# 1340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9365
9366# 1340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9367!$omp end target teams loop
9368# 1340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9369#endif
9370 else ! Cartesian Coordinates
9371 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9372
9373# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9374
9375# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9376#if defined(MFC_OpenACC)
9377# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9378!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9379# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9380#elif defined(MFC_OpenMP)
9381# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9382
9383# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9384
9385# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9386
9387# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9388!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9389# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9390!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9391# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9392#endif
9393 do j = 1, sys_size
9394 do k = 0, p
9395 do q = 0, n
9396 do l = 0, m
9397 inv_ds = 1._wp/dz(k)
9398 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9399 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9400 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*(flux_face1 - flux_face2)
9401 end do
9402 end do
9403 end do
9404 end do
9405
9406# 1356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9407#if defined(MFC_OpenACC)
9408# 1356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9409!$acc end parallel loop
9410# 1356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9411#elif defined(MFC_OpenMP)
9412# 1356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9413
9414# 1356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9415!$omp end target teams loop
9416# 1356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9417#endif
9418 else if (is_hat_l) then
9419
9420# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9421
9422# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9423#if defined(MFC_OpenACC)
9424# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9425!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9426# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9427#elif defined(MFC_OpenMP)
9428# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9429
9430# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9431
9432# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9433
9434# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9435!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9436# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9437!$omp& private(j, k, l, q, inv_ds, flux_face2)
9438# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9439#endif
9440 do j = 1, sys_size
9441 do k = 0, p
9442 do q = 0, n
9443 do l = 0, m
9444 inv_ds = 1._wp/dz(k)
9445 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9446 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) - inv_ds*flux_face2
9447 end do
9448 end do
9449 end do
9450 end do
9451
9452# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9453#if defined(MFC_OpenACC)
9454# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9455!$acc end parallel loop
9456# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9457#elif defined(MFC_OpenMP)
9458# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9459
9460# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9461!$omp end target teams loop
9462# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9463#endif
9464 else ! is_hat_R
9465
9466# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9467
9468# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9469#if defined(MFC_OpenACC)
9470# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9471!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9472# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9473#elif defined(MFC_OpenMP)
9474# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9475
9476# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9477
9478# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9479
9480# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9481!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9482# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9483!$omp& private(j, k, l, q, inv_ds, flux_face1)
9484# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9485#endif
9486 do j = 1, sys_size
9487 do k = 0, p
9488 do q = 0, n
9489 do l = 0, m
9490 inv_ds = 1._wp/dz(k)
9491 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9492 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*flux_face1
9493 end do
9494 end do
9495 end do
9496 end do
9497
9498# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9499#if defined(MFC_OpenACC)
9500# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9501!$acc end parallel loop
9502# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9503#elif defined(MFC_OpenMP)
9504# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9505
9506# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9507!$omp end target teams loop
9508# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9509#endif
9510 end if
9511 end if
9512
9513 if (model_eqns == model_eqns_6eq) then
9514
9515# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9516
9517# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9518#if defined(MFC_OpenACC)
9519# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9520!$acc parallel loop collapse(4) gang vector default(present) private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9521# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9522#elif defined(MFC_OpenMP)
9523# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9524
9525# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9526
9527# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9528
9529# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9530!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9531# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9532!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9533# 1389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9534#endif
9535# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9536 do k = 0, p
9537 do q = 0, n
9538 do l = 0, m
9539 do i_fluid_loop = 1, num_fluids
9540 inv_ds = 1._wp/dz(k)
9541 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(l, q, k)
9542 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(l, q, k)
9543 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k)
9544 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k - 1)
9545 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9546 & k) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9547 & k) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9548 end do
9549 end do
9550 end do
9551 end do
9552
9553# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9554#if defined(MFC_OpenACC)
9555# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9556!$acc end parallel loop
9557# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9558#elif defined(MFC_OpenMP)
9559# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9560
9561# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9562!$omp end target teams loop
9563# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9564#endif
9565 end if
9566
9567 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9568 end select
9569
9570 contains
9571
9572 !> Add the advection source flux-difference terms for a single coordinate direction to the RHS
9573 subroutine s_add_directional_advection_source_terms(current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, &
9574 & flux_src_n_vf_arg, Kterm_arg)
9575 integer, intent(in) :: current_idir
9576 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf_arg
9577 type(vector_field), intent(in) :: q_cons_vf_arg
9578 type(vector_field), intent(in) :: q_prim_vf_arg
9579 type(vector_field), intent(in) :: flux_src_n_vf_arg
9580 real(wp), allocatable, dimension(:,:,:), intent(in) :: Kterm_arg
9581 integer :: j_adv, k_idx, l_idx, q_idx
9582 real(wp) :: local_inv_ds, local_term_coeff, local_flux1, local_flux2
9583 real(wp) :: local_k_term_val
9584
9585 ! Three mutually exclusive modes for the NC volume fraction advection source term:
9586
9587 ! adv_src_mode_alpha_iface - HLL Method 1: flux_src carries per-fluid interface alpha_k
9588
9589 ! adv_src_mode_vel_iface - HLLC, HLL Method 2, Exact, LF: flux_src carries shared face-normal velocity
9590
9591 ! adv_src_mode_none - HLLD: MHD has no volume fractions; hypo uses dual-pass Riemann flux
9592
9593 select case (current_idir)
9594 case (1) ! x-direction
9595 if (adv_src_mode == adv_src_mode_alpha_iface) then
9596 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dx.
9597
9598# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9599
9600# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9601#if defined(MFC_OpenACC)
9602# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9603!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9604# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9605#elif defined(MFC_OpenMP)
9606# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9607
9608# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9609
9610# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9611
9612# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9613!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9614# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9615!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9616# 1440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9617#endif
9618# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9619 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9620 do q_idx = 0, p ! z_extent
9621 do l_idx = 0, n ! y_extent
9622 do k_idx = 0, m ! x_extent
9623 local_inv_ds = 1._wp/dx(k_idx)
9624 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(k_idx, l_idx, q_idx)
9625 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx - 1, l_idx, q_idx)
9626 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9627 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9628 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9629 end do
9630 end do
9631 end do
9632 end do
9633
9634# 1456 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9635#if defined(MFC_OpenACC)
9636# 1456 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9637!$acc end parallel loop
9638# 1456 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9639#elif defined(MFC_OpenMP)
9640# 1456 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9641
9642# 1456 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9643!$omp end target teams loop
9644# 1456 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9645#endif
9646 if (alt_soundspeed) then ! K*div(u) correction
9647
9648# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9649
9650# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9651#if defined(MFC_OpenACC)
9652# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9653!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9654# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9655#elif defined(MFC_OpenMP)
9656# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9657
9658# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9659
9660# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9661
9662# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9663!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9664# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9665!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9666# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9667#endif
9668# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9669 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9670 local_inv_ds = 1._wp/dx(k_idx)
9671 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9672 local_flux1 = nc_iface_vel_n(1)%vf(1)%sf(k_idx, l_idx, q_idx)
9673 local_flux2 = nc_iface_vel_n(1)%vf(1)%sf(k_idx - 1, l_idx, q_idx)
9674 rhs_vf_arg(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(k_idx, l_idx, &
9675 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9676 rhs_vf_arg(eqn_idx%adv%end)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(k_idx, l_idx, &
9677 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9678 end do; end do; end do
9679
9680# 1470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9681#if defined(MFC_OpenACC)
9682# 1470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9683!$acc end parallel loop
9684# 1470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9685#elif defined(MFC_OpenMP)
9686# 1470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9687
9688# 1470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9689!$omp end target teams loop
9690# 1470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9691#endif
9692 end if
9693 else if (adv_src_mode == adv_src_mode_vel_iface) then
9694 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dx.
9695
9696# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9697
9698# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9699#if defined(MFC_OpenACC)
9700# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9701!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9702# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9703#elif defined(MFC_OpenMP)
9704# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9705
9706# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9707
9708# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9709
9710# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9711!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9712# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9713!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9714# 1474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9715#endif
9716# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9717 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9718 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9719 local_inv_ds = 1._wp/dx(k_idx)
9720 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9721 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9722 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9723 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9724 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9725 end do; end do; end do
9726 end do
9727
9728# 1486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9729#if defined(MFC_OpenACC)
9730# 1486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9731!$acc end parallel loop
9732# 1486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9733#elif defined(MFC_OpenMP)
9734# 1486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9735
9736# 1486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9737!$omp end target teams loop
9738# 1486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9739#endif
9740 if (alt_soundspeed) then ! K*div(u) correction
9741
9742# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9743
9744# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9745#if defined(MFC_OpenACC)
9746# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9747!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9748# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9749#elif defined(MFC_OpenMP)
9750# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9751
9752# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9753
9754# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9755
9756# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9757!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9758# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9759!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9760# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9761#endif
9762# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9763 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9764 local_inv_ds = 1._wp/dx(k_idx)
9765 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9766 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9767 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9768 rhs_vf_arg(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(k_idx, l_idx, &
9769 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9770 rhs_vf_arg(eqn_idx%adv%end)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(k_idx, l_idx, &
9771 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9772 end do; end do; end do
9773
9774# 1500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9775#if defined(MFC_OpenACC)
9776# 1500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9777!$acc end parallel loop
9778# 1500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9779#elif defined(MFC_OpenMP)
9780# 1500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9781
9782# 1500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9783!$omp end target teams loop
9784# 1500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9785#endif
9786 end if
9787 end if
9788 case (2) ! y-direction
9789 if (adv_src_mode == adv_src_mode_alpha_iface) then
9790 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dy.
9791
9792# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9793
9794# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9795#if defined(MFC_OpenACC)
9796# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9797!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9798# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9799#elif defined(MFC_OpenMP)
9800# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9801
9802# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9803
9804# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9805
9806# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9807!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9808# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9809!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9810# 1506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9811#endif
9812# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9813 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9814 do l_idx = 0, p ! z_extent
9815 do k_idx = 0, n ! y_extent
9816 do q_idx = 0, m ! x_extent
9817 local_inv_ds = 1._wp/dy(k_idx)
9818 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(q_idx, k_idx, l_idx)
9819 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx - 1, l_idx)
9820 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
9821 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
9822 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9823 end do
9824 end do
9825 end do
9826 end do
9827
9828# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9829#if defined(MFC_OpenACC)
9830# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9831!$acc end parallel loop
9832# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9833#elif defined(MFC_OpenMP)
9834# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9835
9836# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9837!$omp end target teams loop
9838# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9839#endif
9840 if (alt_soundspeed) then ! K*div(u) correction
9841
9842# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9843
9844# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9845#if defined(MFC_OpenACC)
9846# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9847!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9848# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9849#elif defined(MFC_OpenMP)
9850# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9851
9852# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9853
9854# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9855
9856# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9857!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9858# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9859!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9860# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9861#endif
9862# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9863 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9864 local_inv_ds = 1._wp/dy(k_idx)
9865 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
9866 local_flux1 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx, l_idx)
9867 local_flux2 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx - 1, l_idx)
9868 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, &
9869 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9870 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, &
9871 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9872 end do; end do; end do
9873
9874# 1536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9875#if defined(MFC_OpenACC)
9876# 1536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9877!$acc end parallel loop
9878# 1536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9879#elif defined(MFC_OpenMP)
9880# 1536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9881
9882# 1536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9883!$omp end target teams loop
9884# 1536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9885#endif
9886 if (cyl_coord) then
9887
9888# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9889
9890# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9891#if defined(MFC_OpenACC)
9892# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9893!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val)
9894# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9895#elif defined(MFC_OpenMP)
9896# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9897
9898# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9899
9900# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9901
9902# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9903!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9904# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9905!$omp& private(k_idx, l_idx, q_idx, local_k_term_val)
9906# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9907#endif
9908 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9909 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
9910 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
9911 & k_idx, l_idx) + local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
9912 & k_idx, l_idx)/y_cc(k_idx)
9913 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
9914 & k_idx, l_idx) - local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
9915 & k_idx, l_idx)/y_cc(k_idx)
9916 end do; end do; end do
9917
9918# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9919#if defined(MFC_OpenACC)
9920# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9921!$acc end parallel loop
9922# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9923#elif defined(MFC_OpenMP)
9924# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9925
9926# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9927!$omp end target teams loop
9928# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9929#endif
9930 end if
9931 end if
9932 else if (adv_src_mode == adv_src_mode_vel_iface) then
9933 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dy.
9934
9935# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9936
9937# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9938#if defined(MFC_OpenACC)
9939# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9940!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9941# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9942#elif defined(MFC_OpenMP)
9943# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9944
9945# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9946
9947# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9948
9949# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9950!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9951# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9952!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9953# 1553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9954#endif
9955# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9956 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9957 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9958 local_inv_ds = 1._wp/dy(k_idx)
9959 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
9960 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
9961 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
9962 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
9963 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9964 end do; end do; end do
9965 end do
9966
9967# 1565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9968#if defined(MFC_OpenACC)
9969# 1565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9970!$acc end parallel loop
9971# 1565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9972#elif defined(MFC_OpenMP)
9973# 1565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9974
9975# 1565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9976!$omp end target teams loop
9977# 1565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9978#endif
9979 if (alt_soundspeed) then ! K*div(u) correction
9980
9981# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9982
9983# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9984#if defined(MFC_OpenACC)
9985# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9986!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9987# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9988#elif defined(MFC_OpenMP)
9989# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9990
9991# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9992
9993# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9994
9995# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9996!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9997# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9998!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9999# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10000#endif
10001# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10002 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10003 local_inv_ds = 1._wp/dy(k_idx)
10004 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10005 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10006 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10007 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, &
10008 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10009 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, &
10010 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10011 end do; end do; end do
10012
10013# 1579 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10014#if defined(MFC_OpenACC)
10015# 1579 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10016!$acc end parallel loop
10017# 1579 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10018#elif defined(MFC_OpenMP)
10019# 1579 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10020
10021# 1579 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10022!$omp end target teams loop
10023# 1579 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10024#endif
10025 if (cyl_coord) then
10026
10027# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10028
10029# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10030#if defined(MFC_OpenACC)
10031# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10032!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10033# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10034#elif defined(MFC_OpenMP)
10035# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10036
10037# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10038
10039# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10040
10041# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10042!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10043# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10044!$omp& private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10045# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10046#endif
10047# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10048 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10049 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10050 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10051 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10052 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10053 & k_idx, l_idx) + (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10054 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10055 & k_idx, l_idx) - (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10056 end do; end do; end do
10057
10058# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10059#if defined(MFC_OpenACC)
10060# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10061!$acc end parallel loop
10062# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10063#elif defined(MFC_OpenMP)
10064# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10065
10066# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10067!$omp end target teams loop
10068# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10069#endif
10070 end if
10071 end if
10072 end if
10073 case (3) ! z-direction
10074 if (grid_geometry == 3) then
10075 if (adv_src_mode == adv_src_mode_alpha_iface) then
10076
10077# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10078
10079# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10080#if defined(MFC_OpenACC)
10081# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10082!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10083# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10084#elif defined(MFC_OpenMP)
10085# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10086
10087# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10088
10089# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10090
10091# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10092!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10093# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10094!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10095# 1599 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10096#endif
10097# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10098 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10099 do k_idx = 0, p ! z_extent
10100 do q_idx = 0, n ! y_extent
10101 do l_idx = 0, m ! x_extent
10102 local_inv_ds = 1._wp/dz(k_idx)
10103 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10104 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10105 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10106 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10107 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10108 end do
10109 end do
10110 end do
10111 end do
10112
10113# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10114#if defined(MFC_OpenACC)
10115# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10116!$acc end parallel loop
10117# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10118#elif defined(MFC_OpenMP)
10119# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10120
10121# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10122!$omp end target teams loop
10123# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10124#endif
10125 if (alt_soundspeed) then ! K*div(u) correction
10126
10127# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10128
10129# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10130#if defined(MFC_OpenACC)
10131# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10132!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10133# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10134#elif defined(MFC_OpenMP)
10135# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10136
10137# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10138
10139# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10140
10141# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10142!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10143# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10144!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10145# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10146#endif
10147# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10148 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10149 local_inv_ds = 1._wp/dz(k_idx)
10150 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10151 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10152 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10153 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10154 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10155 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10156 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10157 end do; end do; end do
10158
10159# 1629 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10160#if defined(MFC_OpenACC)
10161# 1629 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10162!$acc end parallel loop
10163# 1629 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10164#elif defined(MFC_OpenMP)
10165# 1629 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10166
10167# 1629 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10168!$omp end target teams loop
10169# 1629 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10170#endif
10171 end if
10172 else if (adv_src_mode == adv_src_mode_vel_iface) then
10173 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10174
10175# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10176
10177# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10178#if defined(MFC_OpenACC)
10179# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10180!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10181# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10182#elif defined(MFC_OpenMP)
10183# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10184
10185# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10186
10187# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10188
10189# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10190!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10191# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10192!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10193# 1633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10194#endif
10195# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10196 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10197 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10198 local_inv_ds = 1._wp/dz(k_idx)
10199 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10200 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10201 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10202 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10203 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10204 end do; end do; end do
10205 end do
10206
10207# 1645 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10208#if defined(MFC_OpenACC)
10209# 1645 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10210!$acc end parallel loop
10211# 1645 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10212#elif defined(MFC_OpenMP)
10213# 1645 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10214
10215# 1645 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10216!$omp end target teams loop
10217# 1645 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10218#endif
10219 if (alt_soundspeed) then ! K*div(u) correction
10220
10221# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10222
10223# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10224#if defined(MFC_OpenACC)
10225# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10226!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10227# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10228#elif defined(MFC_OpenMP)
10229# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10230
10231# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10232
10233# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10234
10235# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10236!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10237# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10238!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10239# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10240#endif
10241# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10242 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10243 local_inv_ds = 1._wp/dz(k_idx)
10244 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10245 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10246 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10247 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10248 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10249 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10250 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10251 end do; end do; end do
10252
10253# 1659 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10254#if defined(MFC_OpenACC)
10255# 1659 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10256!$acc end parallel loop
10257# 1659 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10258#elif defined(MFC_OpenMP)
10259# 1659 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10260
10261# 1659 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10262!$omp end target teams loop
10263# 1659 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10264#endif
10265 end if
10266 end if
10267 else ! non-cylindrical z-direction
10268 if (adv_src_mode == adv_src_mode_alpha_iface) then
10269 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dz.
10270
10271# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10272
10273# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10274#if defined(MFC_OpenACC)
10275# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10276!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10277# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10278#elif defined(MFC_OpenMP)
10279# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10280
10281# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10282
10283# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10284
10285# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10286!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10287# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10288!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10289# 1665 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10290#endif
10291# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10292 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10293 do k_idx = 0, p ! z_extent
10294 do q_idx = 0, n ! y_extent
10295 do l_idx = 0, m ! x_extent
10296 local_inv_ds = 1._wp/dz(k_idx)
10297 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10298 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10299 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10300 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10301 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10302 end do
10303 end do
10304 end do
10305 end do
10306
10307# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10308#if defined(MFC_OpenACC)
10309# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10310!$acc end parallel loop
10311# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10312#elif defined(MFC_OpenMP)
10313# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10314
10315# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10316!$omp end target teams loop
10317# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10318#endif
10319 if (alt_soundspeed) then ! K*div(u) correction
10320
10321# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10322
10323# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10324#if defined(MFC_OpenACC)
10325# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10326!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10327# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10328#elif defined(MFC_OpenMP)
10329# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10330
10331# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10332
10333# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10334
10335# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10336!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10337# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10338!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10339# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10340#endif
10341# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10342 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10343 local_inv_ds = 1._wp/dz(k_idx)
10344 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10345 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10346 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10347 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10348 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10349 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10350 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10351 end do; end do; end do
10352
10353# 1695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10354#if defined(MFC_OpenACC)
10355# 1695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10356!$acc end parallel loop
10357# 1695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10358#elif defined(MFC_OpenMP)
10359# 1695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10360
10361# 1695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10362!$omp end target teams loop
10363# 1695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10364#endif
10365 end if
10366 else if (adv_src_mode == adv_src_mode_vel_iface) then
10367 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10368
10369# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10370
10371# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10372#if defined(MFC_OpenACC)
10373# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10374!$acc parallel loop collapse(4) gang vector default(present) private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10375# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10376#elif defined(MFC_OpenMP)
10377# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10378
10379# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10380
10381# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10382
10383# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10384!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10385# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10386!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10387# 1699 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10388#endif
10389# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10390 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10391 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10392 local_inv_ds = 1._wp/dz(k_idx)
10393 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10394 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10395 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10396 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10397 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10398 end do; end do; end do
10399 end do
10400
10401# 1711 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10402#if defined(MFC_OpenACC)
10403# 1711 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10404!$acc end parallel loop
10405# 1711 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10406#elif defined(MFC_OpenMP)
10407# 1711 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10408
10409# 1711 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10410!$omp end target teams loop
10411# 1711 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10412#endif
10413 if (alt_soundspeed) then ! K*div(u) correction
10414
10415# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10416
10417# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10418#if defined(MFC_OpenACC)
10419# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10420!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10421# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10422#elif defined(MFC_OpenMP)
10423# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10424
10425# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10426
10427# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10428
10429# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10430!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10431# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10432!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10433# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10434#endif
10435# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10436 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10437 local_inv_ds = 1._wp/dz(k_idx)
10438 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10439 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10440 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10441 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10442 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10443 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10444 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10445 end do; end do; end do
10446
10447# 1725 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10448#if defined(MFC_OpenACC)
10449# 1725 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10450!$acc end parallel loop
10451# 1725 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10452#elif defined(MFC_OpenMP)
10453# 1725 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10454
10455# 1725 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10456!$omp end target teams loop
10457# 1725 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10458#endif
10459 end if
10460 end if
10461 end if
10462 end select
10463
10465
10466 end subroutine s_compute_advection_source_term
10467
10468 !> Add viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given direction
10469 subroutine s_compute_additional_physics_rhs(idir, q_prim_vf, rhs_vf, flux_src_n_in, dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf)
10470
10471 integer, intent(in) :: idir
10472 type(scalar_field), dimension(sys_size), intent(in) :: q_prim_vf
10473 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
10474 type(scalar_field), dimension(sys_size), intent(in) :: flux_src_n_in
10475 type(scalar_field), dimension(sys_size), intent(in) :: dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf
10476 integer :: i, j, k, l
10477
10478 if (idir == 1) then ! x-direction
10479 if (surface_tension) then
10480
10481# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10482
10483# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10484#if defined(MFC_OpenACC)
10485# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10486!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10487# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10488#elif defined(MFC_OpenMP)
10489# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10490
10491# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10492
10493# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10494
10495# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10496!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
10497# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10498#endif
10499 do l = 0, p
10500 do k = 0, n
10501 do j = 0, m
10502 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10503 & l) + 1._wp/dx(j)*q_prim_vf(eqn_idx%c)%sf(j, k, l)*(flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, &
10504 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j - 1, k, l))
10505 end do
10506 end do
10507 end do
10508
10509# 1757 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10510#if defined(MFC_OpenACC)
10511# 1757 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10512!$acc end parallel loop
10513# 1757 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10514#elif defined(MFC_OpenMP)
10515# 1757 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10516
10517# 1757 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10518!$omp end target teams loop
10519# 1757 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10520#endif
10521 end if
10522
10523 if ((surface_tension .or. viscous) .or. chem_params%diffusion) then
10524
10525# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10526
10527# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10528#if defined(MFC_OpenACC)
10529# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10530!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10531# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10532#elif defined(MFC_OpenMP)
10533# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10534
10535# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10536
10537# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10538
10539# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10540!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
10541# 1761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10542#endif
10543 do l = 0, p
10544 do k = 0, n
10545 do j = 0, m
10546 if (surface_tension .or. viscous) then
10547
10548# 1766 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10549#if defined(MFC_OpenACC)
10550# 1766 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10551!$acc loop seq
10552# 1766 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10553#elif defined(MFC_OpenMP)
10554# 1766 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10555
10556# 1766 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10557#endif
10558 do i = eqn_idx%mom%beg, eqn_idx%E
10559 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dx(j)*(flux_src_n_in(i)%sf(j - 1, k, &
10560 & l) - flux_src_n_in(i)%sf(j, k, l))
10561 end do
10562 end if
10563
10564 if (chem_params%diffusion) then
10565
10566# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10567#if defined(MFC_OpenACC)
10568# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10569!$acc loop seq
10570# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10571#elif defined(MFC_OpenMP)
10572# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10573
10574# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10575#endif
10576 do i = eqn_idx%species%beg, eqn_idx%species%end
10577 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dx(j)*(flux_src_n_in(i)%sf(j - 1, k, &
10578 & l) - flux_src_n_in(i)%sf(j, k, l))
10579 end do
10580
10581 if (.not. viscous) then
10582 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10583 & l) + 1._wp/dx(j)*(flux_src_n_in(eqn_idx%E)%sf(j - 1, k, &
10584 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10585 end if
10586 end if
10587 end do
10588 end do
10589 end do
10590
10591# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10592#if defined(MFC_OpenACC)
10593# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10594!$acc end parallel loop
10595# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10596#elif defined(MFC_OpenMP)
10597# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10598
10599# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10600!$omp end target teams loop
10601# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10602#endif
10603 end if
10604 else if (idir == 2) then ! y-direction
10605 if (surface_tension) then
10606
10607# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10608
10609# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10610#if defined(MFC_OpenACC)
10611# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10612!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10613# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10614#elif defined(MFC_OpenMP)
10615# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10616
10617# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10618
10619# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10620
10621# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10622!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
10623# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10624#endif
10625 do l = 0, p
10626 do k = 0, n
10627 do j = 0, m
10628 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10629 & l) + 1._wp/dy(k)*q_prim_vf(eqn_idx%c)%sf(j, k, l)*(flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, &
10630 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k - 1, l))
10631 end do
10632 end do
10633 end do
10634
10635# 1803 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10636#if defined(MFC_OpenACC)
10637# 1803 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10638!$acc end parallel loop
10639# 1803 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10640#elif defined(MFC_OpenMP)
10641# 1803 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10642
10643# 1803 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10644!$omp end target teams loop
10645# 1803 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10646#endif
10647 end if
10648
10649 if (cyl_coord .and. ((bc_y%beg == -2) .or. (bc_y%beg == -14))) then
10650 if (viscous) then
10651 if (p > 0) then
10652 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, &
10653 & dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10654 & dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10655 else
10656 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, &
10657 & dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10658 & dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10659 end if
10660
10661
10662# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10663
10664# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10665#if defined(MFC_OpenACC)
10666# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10667!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10668# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10669#elif defined(MFC_OpenMP)
10670# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10671
10672# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10673
10674# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10675
10676# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10677!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(2) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, l)
10678# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10679#endif
10680 do l = 0, p
10681 do j = 0, m
10682
10683# 1821 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10684#if defined(MFC_OpenACC)
10685# 1821 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10686!$acc loop seq
10687# 1821 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10688#elif defined(MFC_OpenMP)
10689# 1821 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10690
10691# 1821 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10692#endif
10693 do i = eqn_idx%mom%beg, eqn_idx%E
10694 rhs_vf(i)%sf(j, 0, l) = rhs_vf(i)%sf(j, 0, l) + 1._wp/(y_cc(1) - y_cc(-1))*(tau_re_vf(i)%sf(j, &
10695 & -1, l) - tau_re_vf(i)%sf(j, 1, l))
10696 end do
10697 end do
10698 end do
10699
10700# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10701#if defined(MFC_OpenACC)
10702# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10703!$acc end parallel loop
10704# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10705#elif defined(MFC_OpenMP)
10706# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10707
10708# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10709!$omp end target teams loop
10710# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10711#endif
10712 end if
10713
10714
10715# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10716
10717# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10718#if defined(MFC_OpenACC)
10719# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10720!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10721# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10722#elif defined(MFC_OpenMP)
10723# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10724
10725# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10726
10727# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10728
10729# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10730!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
10731# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10732#endif
10733 do l = 0, p
10734 do k = 1, n
10735 do j = 0, m
10736
10737# 1835 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10738#if defined(MFC_OpenACC)
10739# 1835 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10740!$acc loop seq
10741# 1835 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10742#elif defined(MFC_OpenMP)
10743# 1835 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10744
10745# 1835 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10746#endif
10747 do i = eqn_idx%mom%beg, eqn_idx%E
10748 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dy(k)*(flux_src_n_in(i)%sf(j, k - 1, &
10749 & l) - flux_src_n_in(i)%sf(j, k, l))
10750 end do
10751 end do
10752 end do
10753 end do
10754
10755# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10756#if defined(MFC_OpenACC)
10757# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10758!$acc end parallel loop
10759# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10760#elif defined(MFC_OpenMP)
10761# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10762
10763# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10764!$omp end target teams loop
10765# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10766#endif
10767 else
10768 if ((surface_tension .or. viscous) .or. chem_params%diffusion) then
10769
10770# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10771
10772# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10773#if defined(MFC_OpenACC)
10774# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10775!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10776# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10777#elif defined(MFC_OpenMP)
10778# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10779
10780# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10781
10782# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10783
10784# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10785!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
10786# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10787#endif
10788 do l = 0, p
10789 do k = 0, n
10790 do j = 0, m
10791 if (surface_tension .or. viscous) then
10792
10793# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10794#if defined(MFC_OpenACC)
10795# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10796!$acc loop seq
10797# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10798#elif defined(MFC_OpenMP)
10799# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10800
10801# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10802#endif
10803 do i = eqn_idx%mom%beg, eqn_idx%E
10804 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dy(k)*(flux_src_n_in(i)%sf(j, &
10805 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
10806 end do
10807 end if
10808
10809 if (chem_params%diffusion) then
10810
10811# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10812#if defined(MFC_OpenACC)
10813# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10814!$acc loop seq
10815# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10816#elif defined(MFC_OpenMP)
10817# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10818
10819# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10820#endif
10821 do i = eqn_idx%species%beg, eqn_idx%species%end
10822 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dy(k)*(flux_src_n_in(i)%sf(j, &
10823 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
10824 end do
10825 if (.not. viscous) then
10826 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10827 & l) + 1._wp/dy(k)*(flux_src_n_in(eqn_idx%E)%sf(j, k - 1, &
10828 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10829 end if
10830 end if
10831 end do
10832 end do
10833 end do
10834
10835# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10836#if defined(MFC_OpenACC)
10837# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10838!$acc end parallel loop
10839# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10840#elif defined(MFC_OpenMP)
10841# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10842
10843# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10844!$omp end target teams loop
10845# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10846#endif
10847 end if
10848 end if
10849
10850 ! Applying the geometrical viscous Riemann source fluxes calculated as average of values at cell boundaries
10851 if (cyl_coord) then
10852 if ((bc_y%beg == -2) .or. (bc_y%beg == -14)) then
10853
10854# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10855
10856# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10857#if defined(MFC_OpenACC)
10858# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10859!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10860# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10861#elif defined(MFC_OpenMP)
10862# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10863
10864# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10865
10866# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10867
10868# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10869!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
10870# 1880 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10871#endif
10872 do l = 0, p
10873 do k = 1, n
10874 do j = 0, m
10875
10876# 1884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10877#if defined(MFC_OpenACC)
10878# 1884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10879!$acc loop seq
10880# 1884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10881#elif defined(MFC_OpenMP)
10882# 1884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10883
10884# 1884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10885#endif
10886 do i = eqn_idx%mom%beg, eqn_idx%E
10887 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) - 5.e-1_wp/y_cc(k)*(flux_src_n_in(i)%sf(j, &
10888 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
10889 end do
10890 end do
10891 end do
10892 end do
10893
10894# 1892 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10895#if defined(MFC_OpenACC)
10896# 1892 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10897!$acc end parallel loop
10898# 1892 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10899#elif defined(MFC_OpenMP)
10900# 1892 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10901
10902# 1892 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10903!$omp end target teams loop
10904# 1892 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10905#endif
10906
10907 if (viscous) then
10908
10909# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10910
10911# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10912#if defined(MFC_OpenACC)
10913# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10914!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10915# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10916#elif defined(MFC_OpenMP)
10917# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10918
10919# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10920
10921# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10922
10923# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10924!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(2) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, l)
10925# 1895 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10926#endif
10927 do l = 0, p
10928 do j = 0, m
10929
10930# 1898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10931#if defined(MFC_OpenACC)
10932# 1898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10933!$acc loop seq
10934# 1898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10935#elif defined(MFC_OpenMP)
10936# 1898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10937
10938# 1898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10939#endif
10940 do i = eqn_idx%mom%beg, eqn_idx%E
10941 rhs_vf(i)%sf(j, 0, l) = rhs_vf(i)%sf(j, 0, l) - 1._wp/y_cc(0)*tau_re_vf(i)%sf(j, 0, l)
10942 end do
10943 end do
10944 end do
10945
10946# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10947#if defined(MFC_OpenACC)
10948# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10949!$acc end parallel loop
10950# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10951#elif defined(MFC_OpenMP)
10952# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10953
10954# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10955!$omp end target teams loop
10956# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10957#endif
10958 end if
10959 else
10960
10961# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10962
10963# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10964#if defined(MFC_OpenACC)
10965# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10966!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10967# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10968#elif defined(MFC_OpenMP)
10969# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10970
10971# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10972
10973# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10974
10975# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10976!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
10977# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10978#endif
10979 do l = 0, p
10980 do k = 0, n
10981 do j = 0, m
10982
10983# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10984#if defined(MFC_OpenACC)
10985# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10986!$acc loop seq
10987# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10988#elif defined(MFC_OpenMP)
10989# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10990
10991# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10992#endif
10993 do i = eqn_idx%mom%beg, eqn_idx%E
10994 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) - 5.e-1_wp/y_cc(k)*(flux_src_n_in(i)%sf(j, &
10995 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
10996 end do
10997 end do
10998 end do
10999 end do
11000
11001# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11002#if defined(MFC_OpenACC)
11003# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11004!$acc end parallel loop
11005# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11006#elif defined(MFC_OpenMP)
11007# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11008
11009# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11010!$omp end target teams loop
11011# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11012#endif
11013 end if
11014 end if
11015 else if (idir == 3) then ! z-direction
11016 if (surface_tension) then
11017
11018# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11019
11020# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11021#if defined(MFC_OpenACC)
11022# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11023!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11024# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11025#elif defined(MFC_OpenMP)
11026# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11027
11028# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11029
11030# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11031
11032# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11033!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
11034# 1924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11035#endif
11036 do l = 0, p
11037 do k = 0, n
11038 do j = 0, m
11039 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
11040 & l) + 1._wp/dz(l)*q_prim_vf(eqn_idx%c)%sf(j, k, l)*(flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, &
11041 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, l - 1))
11042 end do
11043 end do
11044 end do
11045
11046# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11047#if defined(MFC_OpenACC)
11048# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11049!$acc end parallel loop
11050# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11051#elif defined(MFC_OpenMP)
11052# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11053
11054# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11055!$omp end target teams loop
11056# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11057#endif
11058 end if
11059
11060 if ((surface_tension .or. viscous) .or. chem_params%diffusion) then
11061
11062# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11063
11064# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11065#if defined(MFC_OpenACC)
11066# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11067!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11068# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11069#elif defined(MFC_OpenMP)
11070# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11071
11072# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11073
11074# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11075
11076# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11077!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
11078# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11079#endif
11080 do l = 0, p
11081 do k = 0, n
11082 do j = 0, m
11083 if (surface_tension .or. viscous) then
11084
11085# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11086#if defined(MFC_OpenACC)
11087# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11088!$acc loop seq
11089# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11090#elif defined(MFC_OpenMP)
11091# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11092
11093# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11094#endif
11095 do i = eqn_idx%mom%beg, eqn_idx%E
11096 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dz(l)*(flux_src_n_in(i)%sf(j, k, &
11097 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11098 end do
11099 end if
11100
11101 if (chem_params%diffusion) then
11102
11103# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11104#if defined(MFC_OpenACC)
11105# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11106!$acc loop seq
11107# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11108#elif defined(MFC_OpenMP)
11109# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11110
11111# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11112#endif
11113 do i = eqn_idx%species%beg, eqn_idx%species%end
11114 rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + 1._wp/dz(l)*(flux_src_n_in(i)%sf(j, k, &
11115 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11116 end do
11117 if (.not. viscous) then
11118 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11119 & l) + 1._wp/dz(l)*(flux_src_n_in(eqn_idx%E)%sf(j, k, &
11120 & l - 1) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11121 end if
11122 end if
11123 end do
11124 end do
11125 end do
11126
11127# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11128#if defined(MFC_OpenACC)
11129# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11130!$acc end parallel loop
11131# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11132#elif defined(MFC_OpenMP)
11133# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11134
11135# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11136!$omp end target teams loop
11137# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11138#endif
11139 end if
11140
11141 if (grid_geometry == 3) then
11142
11143# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11144
11145# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11146#if defined(MFC_OpenACC)
11147# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11148!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11149# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11150#elif defined(MFC_OpenMP)
11151# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11152
11153# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11154
11155# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11156
11157# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11158!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(j, k, l)
11159# 1969 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11160#endif
11161 do l = 0, p
11162 do k = 0, n
11163 do j = 0, m
11164 rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
11165 & l) + 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%end)%sf(j, k, &
11166 & l - 1) + flux_src_n_in(eqn_idx%mom%end)%sf(j, k, l))
11167
11168 rhs_vf(eqn_idx%mom%end)%sf(j, k, l) = rhs_vf(eqn_idx%mom%end)%sf(j, k, &
11169 & l) - 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, &
11170 & l - 1) + flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, l))
11171 end do
11172 end do
11173 end do
11174
11175# 1983 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11176#if defined(MFC_OpenACC)
11177# 1983 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11178!$acc end parallel loop
11179# 1983 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11180#elif defined(MFC_OpenMP)
11181# 1983 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11182
11183# 1983 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11184!$omp end target teams loop
11185# 1983 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11186#endif
11187 end if
11188 end if
11189
11191
11192 !> Reconstruct left and right cell-boundary values from cell-averaged variables
11193 subroutine s_reconstruct_cell_boundary_values(v_vf, vL_x, vR_x, norm_dir)
11194
11195 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11196 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11197 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11198 integer, intent(in) :: norm_dir
11199 integer :: recon_dir !< Coordinate direction of the reconstruction
11200 integer :: i, j, k, l
11201
11202# 2000 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11203 if (recon_type == recon_type_weno) then
11204 ! Reconstruction in s1-direction
11205 if (norm_dir == 1) then
11206 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11207 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11208 is1%end = is1%end - weno_polyn
11209 else if (norm_dir == 2) then
11210 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11211 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11212 is1%end = is1%end - weno_polyn
11213 else
11214 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11215 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11216 is1%end = is1%end - weno_polyn
11217 end if
11218
11219 call s_weno (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11220 & is2, is3)
11221 end if
11222# 2000 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11223 if (recon_type == recon_type_muscl) then
11224 ! Reconstruction in s1-direction
11225 if (norm_dir == 1) then
11226 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11227 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11228 is1%end = is1%end - muscl_polyn
11229 else if (norm_dir == 2) then
11230 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11231 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11232 is1%end = is1%end - muscl_polyn
11233 else
11234 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11235 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11236 is1%end = is1%end - muscl_polyn
11237 end if
11238
11239 call s_muscl (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11240 & is2, is3)
11241 end if
11242# 2020 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11243
11245
11246 !> Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values
11247 subroutine s_reconstruct_cell_boundary_values_first_order(v_vf, vL_x, vR_x, norm_dir)
11248
11249 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11250 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11251 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11252 integer, intent(in) :: norm_dir
11253 integer :: recon_dir !< Coordinate direction of the reconstruction
11254 integer :: i, j, k, l
11255 ! Reconstruction in s1-direction
11256
11257# 2035 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11258 if (recon_type == recon_type_weno) then
11259 if (norm_dir == 1) then
11260 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11261 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11262 is1%end = is1%end - weno_polyn
11263 else if (norm_dir == 2) then
11264 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11265 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11266 is1%end = is1%end - weno_polyn
11267 else
11268 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11269 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11270 is1%end = is1%end - weno_polyn
11271 end if
11272
11273
11274# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11275#if defined(MFC_OpenACC)
11276# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11277!$acc update device(is1, is2, is3, iv)
11278# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11279#elif defined(MFC_OpenMP)
11280# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11281!$omp target update to(is1, is2, is3, iv)
11282# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11283#endif
11284 end if
11285# 2035 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11286 if (recon_type == recon_type_muscl) then
11287 if (norm_dir == 1) then
11288 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11289 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11290 is1%end = is1%end - muscl_polyn
11291 else if (norm_dir == 2) then
11292 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11293 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11294 is1%end = is1%end - muscl_polyn
11295 else
11296 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11297 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11298 is1%end = is1%end - muscl_polyn
11299 end if
11300
11301
11302# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11303#if defined(MFC_OpenACC)
11304# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11305!$acc update device(is1, is2, is3, iv)
11306# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11307#elif defined(MFC_OpenMP)
11308# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11309!$omp target update to(is1, is2, is3, iv)
11310# 2050 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11311#endif
11312 end if
11313# 2053 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11314
11315 if (recon_dir == 1) then
11316
11317# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11318
11319# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11320#if defined(MFC_OpenACC)
11321# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11322!$acc parallel loop collapse(4) gang vector default(present)
11323# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11324#elif defined(MFC_OpenMP)
11325# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11326
11327# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11328
11329# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11330
11331# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11332!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11333# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11334#endif
11335 do i = iv%beg, iv%end
11336 do l = is3%beg, is3%end
11337 do k = is2%beg, is2%end
11338 do j = is1%beg, is1%end
11339 vl_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11340 vr_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11341 end do
11342 end do
11343 end do
11344 end do
11345
11346# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11347#if defined(MFC_OpenACC)
11348# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11349!$acc end parallel loop
11350# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11351#elif defined(MFC_OpenMP)
11352# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11353
11354# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11355!$omp end target teams loop
11356# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11357#endif
11358 else if (recon_dir == 2) then
11359
11360# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11361
11362# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11363#if defined(MFC_OpenACC)
11364# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11365!$acc parallel loop collapse(4) gang vector default(present)
11366# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11367#elif defined(MFC_OpenMP)
11368# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11369
11370# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11371
11372# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11373
11374# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11375!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11376# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11377#endif
11378 do i = iv%beg, iv%end
11379 do l = is3%beg, is3%end
11380 do j = is1%beg, is1%end
11381 do k = is2%beg, is2%end
11382 vl_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11383 vr_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11384 end do
11385 end do
11386 end do
11387 end do
11388
11389# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11390#if defined(MFC_OpenACC)
11391# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11392!$acc end parallel loop
11393# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11394#elif defined(MFC_OpenMP)
11395# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11396
11397# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11398!$omp end target teams loop
11399# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11400#endif
11401 else if (recon_dir == 3) then
11402
11403# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11404
11405# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11406#if defined(MFC_OpenACC)
11407# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11408!$acc parallel loop collapse(4) gang vector default(present)
11409# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11410#elif defined(MFC_OpenMP)
11411# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11412
11413# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11414
11415# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11416
11417# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11418!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11419# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11420#endif
11421 do i = iv%beg, iv%end
11422 do j = is1%beg, is1%end
11423 do k = is2%beg, is2%end
11424 do l = is3%beg, is3%end
11425 vl_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11426 vr_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11427 end do
11428 end do
11429 end do
11430 end do
11431
11432# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11433#if defined(MFC_OpenACC)
11434# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11435!$acc end parallel loop
11436# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11437#elif defined(MFC_OpenMP)
11438# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11439
11440# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11441!$omp end target teams loop
11442# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11443#endif
11444 end if
11445
11447
11448 !> Module deallocation and/or disassociation procedures
11449 impure subroutine s_finalize_rhs_module
11450
11451 integer :: i, j, l
11452
11453 if (.not. igr) then
11454 do j = eqn_idx%cont%beg, eqn_idx%cont%end
11455 if (relativity) then
11456 ! Cons and Prim densities are different for relativity
11457#ifdef MFC_DEBUG
11458# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11459 block
11460# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11461 use iso_fortran_env, only: output_unit
11462# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11463
11464# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11465 print *, 'm_rhs.fpp:2106: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11466# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11467
11468# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11469 call flush (output_unit)
11470# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11471 end block
11472# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11473#endif
11474# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11475
11476# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11477#if defined(MFC_OpenACC)
11478# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11479!$acc exit data delete(q_cons_qp%vf(j)%sf)
11480# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11481#elif defined(MFC_OpenMP)
11482# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11483!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11484# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11485#endif
11486# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11487 deallocate (q_cons_qp%vf(j)%sf)
11488#ifdef MFC_DEBUG
11489# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11490 block
11491# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11492 use iso_fortran_env, only: output_unit
11493# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11494
11495# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11496 print *, 'm_rhs.fpp:2107: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11497# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11498
11499# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11500 call flush (output_unit)
11501# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11502 end block
11503# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11504#endif
11505# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11506
11507# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11508#if defined(MFC_OpenACC)
11509# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11510!$acc exit data delete(q_prim_qp%vf(j)%sf)
11511# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11512#elif defined(MFC_OpenMP)
11513# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11514!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11515# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11516#endif
11517# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11518 deallocate (q_prim_qp%vf(j)%sf)
11519 else
11520 nullify (q_prim_qp%vf(j)%sf)
11521 end if
11522 end do
11523
11524 do j = eqn_idx%adv%beg, eqn_idx%adv%end
11525 nullify (q_prim_qp%vf(j)%sf)
11526 end do
11527
11528 do j = eqn_idx%mom%beg, eqn_idx%E
11529#ifdef MFC_DEBUG
11530# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11531 block
11532# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11533 use iso_fortran_env, only: output_unit
11534# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11535
11536# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11537 print *, 'm_rhs.fpp:2118: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11538# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11539
11540# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11541 call flush (output_unit)
11542# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11543 end block
11544# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11545#endif
11546# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11547
11548# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11549#if defined(MFC_OpenACC)
11550# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11551!$acc exit data delete(q_cons_qp%vf(j)%sf)
11552# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11553#elif defined(MFC_OpenMP)
11554# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11555!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11556# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11557#endif
11558# 2118 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11559 deallocate (q_cons_qp%vf(j)%sf)
11560#ifdef MFC_DEBUG
11561# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11562 block
11563# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11564 use iso_fortran_env, only: output_unit
11565# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11566
11567# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11568 print *, 'm_rhs.fpp:2119: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11569# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11570
11571# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11572 call flush (output_unit)
11573# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11574 end block
11575# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11576#endif
11577# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11578
11579# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11580#if defined(MFC_OpenACC)
11581# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11582!$acc exit data delete(q_prim_qp%vf(j)%sf)
11583# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11584#elif defined(MFC_OpenMP)
11585# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11586!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11587# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11588#endif
11589# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11590 deallocate (q_prim_qp%vf(j)%sf)
11591 end do
11592 end if
11593
11594#ifdef MFC_DEBUG
11595# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11596 block
11597# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11598 use iso_fortran_env, only: output_unit
11599# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11600
11601# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11602 print *, 'm_rhs.fpp:2123: ', '@:DEALLOCATE(q_cons_qp%vf, q_prim_qp%vf)'
11603# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11604
11605# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11606 call flush (output_unit)
11607# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11608 end block
11609# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11610#endif
11611# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11612
11613# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11614#if defined(MFC_OpenACC)
11615# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11616!$acc exit data delete(q_cons_qp%vf, q_prim_qp%vf)
11617# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11618#elif defined(MFC_OpenMP)
11619# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11620!$omp target exit data map(release:q_cons_qp%vf, q_prim_qp%vf)
11621# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11622#endif
11623# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11624 deallocate (q_cons_qp%vf, q_prim_qp%vf)
11625
11626 if (.not. igr) then
11627#ifdef MFC_DEBUG
11628# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11629 block
11630# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11631 use iso_fortran_env, only: output_unit
11632# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11633
11634# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11635 print *, 'm_rhs.fpp:2126: ', '@:DEALLOCATE(qL_rsx_vf, qR_rsx_vf)'
11636# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11637
11638# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11639 call flush (output_unit)
11640# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11641 end block
11642# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11643#endif
11644# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11645
11646# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11647#if defined(MFC_OpenACC)
11648# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11649!$acc exit data delete(qL_rsx_vf, qR_rsx_vf)
11650# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11651#elif defined(MFC_OpenMP)
11652# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11653!$omp target exit data map(release:qL_rsx_vf, qR_rsx_vf)
11654# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11655#endif
11656# 2126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11657 deallocate (ql_rsx_vf, qr_rsx_vf)
11658
11659 if (viscous) then
11660 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11661#ifdef MFC_DEBUG
11662# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11663 block
11664# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11665 use iso_fortran_env, only: output_unit
11666# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11667
11668# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11669 print *, 'm_rhs.fpp:2130: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf)'
11670# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11671
11672# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11673 call flush (output_unit)
11674# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11675 end block
11676# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11677#endif
11678# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11679
11680# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11681#if defined(MFC_OpenACC)
11682# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11683!$acc exit data delete(dq_prim_dx_qp(1)%vf(l)%sf)
11684# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11685#elif defined(MFC_OpenMP)
11686# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11687!$omp target exit data map(release:dq_prim_dx_qp(1)%vf(l)%sf)
11688# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11689#endif
11690# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11691 deallocate (dq_prim_dx_qp(1)%vf(l)%sf)
11692 end do
11693
11694 if (n > 0) then
11695 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11696#ifdef MFC_DEBUG
11697# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11698 block
11699# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11700 use iso_fortran_env, only: output_unit
11701# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11702
11703# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11704 print *, 'm_rhs.fpp:2135: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf)'
11705# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11706
11707# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11708 call flush (output_unit)
11709# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11710 end block
11711# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11712#endif
11713# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11714
11715# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11716#if defined(MFC_OpenACC)
11717# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11718!$acc exit data delete(dq_prim_dy_qp(1)%vf(l)%sf)
11719# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11720#elif defined(MFC_OpenMP)
11721# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11722!$omp target exit data map(release:dq_prim_dy_qp(1)%vf(l)%sf)
11723# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11724#endif
11725# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11726 deallocate (dq_prim_dy_qp(1)%vf(l)%sf)
11727 end do
11728
11729 if (p > 0) then
11730 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11731#ifdef MFC_DEBUG
11732# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11733 block
11734# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11735 use iso_fortran_env, only: output_unit
11736# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11737
11738# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11739 print *, 'm_rhs.fpp:2140: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf)'
11740# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11741
11742# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11743 call flush (output_unit)
11744# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11745 end block
11746# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11747#endif
11748# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11749
11750# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11751#if defined(MFC_OpenACC)
11752# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11753!$acc exit data delete(dq_prim_dz_qp(1)%vf(l)%sf)
11754# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11755#elif defined(MFC_OpenMP)
11756# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11757!$omp target exit data map(release:dq_prim_dz_qp(1)%vf(l)%sf)
11758# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11759#endif
11760# 2140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11761 deallocate (dq_prim_dz_qp(1)%vf(l)%sf)
11762 end do
11763 end if
11764 end if
11765
11766#ifdef MFC_DEBUG
11767# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11768 block
11769# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11770 use iso_fortran_env, only: output_unit
11771# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11772
11773# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11774 print *, 'm_rhs.fpp:2145: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf)'
11775# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11776
11777# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11778 call flush (output_unit)
11779# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11780 end block
11781# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11782#endif
11783# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11784
11785# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11786#if defined(MFC_OpenACC)
11787# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11788!$acc exit data delete(dq_prim_dx_qp(1)%vf)
11789# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11790#elif defined(MFC_OpenMP)
11791# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11792!$omp target exit data map(release:dq_prim_dx_qp(1)%vf)
11793# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11794#endif
11795# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11796 deallocate (dq_prim_dx_qp(1)%vf)
11797#ifdef MFC_DEBUG
11798# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11799 block
11800# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11801 use iso_fortran_env, only: output_unit
11802# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11803
11804# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11805 print *, 'm_rhs.fpp:2146: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf)'
11806# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11807
11808# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11809 call flush (output_unit)
11810# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11811 end block
11812# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11813#endif
11814# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11815
11816# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11817#if defined(MFC_OpenACC)
11818# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11819!$acc exit data delete(dq_prim_dy_qp(1)%vf)
11820# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11821#elif defined(MFC_OpenMP)
11822# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11823!$omp target exit data map(release:dq_prim_dy_qp(1)%vf)
11824# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11825#endif
11826# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11827 deallocate (dq_prim_dy_qp(1)%vf)
11828#ifdef MFC_DEBUG
11829# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11830 block
11831# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11832 use iso_fortran_env, only: output_unit
11833# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11834
11835# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11836 print *, 'm_rhs.fpp:2147: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf)'
11837# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11838
11839# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11840 call flush (output_unit)
11841# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11842 end block
11843# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11844#endif
11845# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11846
11847# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11848#if defined(MFC_OpenACC)
11849# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11850!$acc exit data delete(dq_prim_dz_qp(1)%vf)
11851# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11852#elif defined(MFC_OpenMP)
11853# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11854!$omp target exit data map(release:dq_prim_dz_qp(1)%vf)
11855# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11856#endif
11857# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11858 deallocate (dq_prim_dz_qp(1)%vf)
11859
11860 do i = num_dims, 1, -1
11861 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11862#ifdef MFC_DEBUG
11863# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11864 block
11865# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11866 use iso_fortran_env, only: output_unit
11867# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11868
11869# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11870 print *, 'm_rhs.fpp:2151: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf)'
11871# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11872
11873# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11874 call flush (output_unit)
11875# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11876 end block
11877# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11878#endif
11879# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11880
11881# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11882#if defined(MFC_OpenACC)
11883# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11884!$acc exit data delete(dqL_prim_dx_n(i)%vf(l)%sf)
11885# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11886#elif defined(MFC_OpenMP)
11887# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11888!$omp target exit data map(release:dqL_prim_dx_n(i)%vf(l)%sf)
11889# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11890#endif
11891# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11892 deallocate (dql_prim_dx_n(i)%vf(l)%sf)
11893#ifdef MFC_DEBUG
11894# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11895 block
11896# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11897 use iso_fortran_env, only: output_unit
11898# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11899
11900# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11901 print *, 'm_rhs.fpp:2152: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf)'
11902# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11903
11904# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11905 call flush (output_unit)
11906# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11907 end block
11908# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11909#endif
11910# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11911
11912# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11913#if defined(MFC_OpenACC)
11914# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11915!$acc exit data delete(dqR_prim_dx_n(i)%vf(l)%sf)
11916# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11917#elif defined(MFC_OpenMP)
11918# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11919!$omp target exit data map(release:dqR_prim_dx_n(i)%vf(l)%sf)
11920# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11921#endif
11922# 2152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11923 deallocate (dqr_prim_dx_n(i)%vf(l)%sf)
11924 end do
11925
11926 if (n > 0) then
11927 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11928#ifdef MFC_DEBUG
11929# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11930 block
11931# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11932 use iso_fortran_env, only: output_unit
11933# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11934
11935# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11936 print *, 'm_rhs.fpp:2157: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf)'
11937# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11938
11939# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11940 call flush (output_unit)
11941# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11942 end block
11943# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11944#endif
11945# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11946
11947# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11948#if defined(MFC_OpenACC)
11949# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11950!$acc exit data delete(dqL_prim_dy_n(i)%vf(l)%sf)
11951# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11952#elif defined(MFC_OpenMP)
11953# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11954!$omp target exit data map(release:dqL_prim_dy_n(i)%vf(l)%sf)
11955# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11956#endif
11957# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11958 deallocate (dql_prim_dy_n(i)%vf(l)%sf)
11959#ifdef MFC_DEBUG
11960# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11961 block
11962# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11963 use iso_fortran_env, only: output_unit
11964# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11965
11966# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11967 print *, 'm_rhs.fpp:2158: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf)'
11968# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11969
11970# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11971 call flush (output_unit)
11972# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11973 end block
11974# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11975#endif
11976# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11977
11978# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11979#if defined(MFC_OpenACC)
11980# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11981!$acc exit data delete(dqR_prim_dy_n(i)%vf(l)%sf)
11982# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11983#elif defined(MFC_OpenMP)
11984# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11985!$omp target exit data map(release:dqR_prim_dy_n(i)%vf(l)%sf)
11986# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11987#endif
11988# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11989 deallocate (dqr_prim_dy_n(i)%vf(l)%sf)
11990 end do
11991 end if
11992
11993 if (p > 0) then
11994 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11995#ifdef MFC_DEBUG
11996# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11997 block
11998# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11999 use iso_fortran_env, only: output_unit
12000# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12001
12002# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12003 print *, 'm_rhs.fpp:2164: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf)'
12004# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12005
12006# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12007 call flush (output_unit)
12008# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12009 end block
12010# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12011#endif
12012# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12013
12014# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12015#if defined(MFC_OpenACC)
12016# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12017!$acc exit data delete(dqL_prim_dz_n(i)%vf(l)%sf)
12018# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12019#elif defined(MFC_OpenMP)
12020# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12021!$omp target exit data map(release:dqL_prim_dz_n(i)%vf(l)%sf)
12022# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12023#endif
12024# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12025 deallocate (dql_prim_dz_n(i)%vf(l)%sf)
12026#ifdef MFC_DEBUG
12027# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12028 block
12029# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12030 use iso_fortran_env, only: output_unit
12031# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12032
12033# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12034 print *, 'm_rhs.fpp:2165: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf)'
12035# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12036
12037# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12038 call flush (output_unit)
12039# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12040 end block
12041# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12042#endif
12043# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12044
12045# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12046#if defined(MFC_OpenACC)
12047# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12048!$acc exit data delete(dqR_prim_dz_n(i)%vf(l)%sf)
12049# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12050#elif defined(MFC_OpenMP)
12051# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12052!$omp target exit data map(release:dqR_prim_dz_n(i)%vf(l)%sf)
12053# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12054#endif
12055# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12056 deallocate (dqr_prim_dz_n(i)%vf(l)%sf)
12057 end do
12058 end if
12059
12060#ifdef MFC_DEBUG
12061# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12062 block
12063# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12064 use iso_fortran_env, only: output_unit
12065# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12066
12067# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12068 print *, 'm_rhs.fpp:2169: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf)'
12069# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12070
12071# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12072 call flush (output_unit)
12073# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12074 end block
12075# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12076#endif
12077# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12078
12079# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12080#if defined(MFC_OpenACC)
12081# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12082!$acc exit data delete(dqL_prim_dx_n(i)%vf)
12083# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12084#elif defined(MFC_OpenMP)
12085# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12086!$omp target exit data map(release:dqL_prim_dx_n(i)%vf)
12087# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12088#endif
12089# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12090 deallocate (dql_prim_dx_n(i)%vf)
12091#ifdef MFC_DEBUG
12092# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12093 block
12094# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12095 use iso_fortran_env, only: output_unit
12096# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12097
12098# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12099 print *, 'm_rhs.fpp:2170: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf)'
12100# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12101
12102# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12103 call flush (output_unit)
12104# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12105 end block
12106# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12107#endif
12108# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12109
12110# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12111#if defined(MFC_OpenACC)
12112# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12113!$acc exit data delete(dqL_prim_dy_n(i)%vf)
12114# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12115#elif defined(MFC_OpenMP)
12116# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12117!$omp target exit data map(release:dqL_prim_dy_n(i)%vf)
12118# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12119#endif
12120# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12121 deallocate (dql_prim_dy_n(i)%vf)
12122#ifdef MFC_DEBUG
12123# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12124 block
12125# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12126 use iso_fortran_env, only: output_unit
12127# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12128
12129# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12130 print *, 'm_rhs.fpp:2171: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf)'
12131# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12132
12133# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12134 call flush (output_unit)
12135# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12136 end block
12137# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12138#endif
12139# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12140
12141# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12142#if defined(MFC_OpenACC)
12143# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12144!$acc exit data delete(dqL_prim_dz_n(i)%vf)
12145# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12146#elif defined(MFC_OpenMP)
12147# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12148!$omp target exit data map(release:dqL_prim_dz_n(i)%vf)
12149# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12150#endif
12151# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12152 deallocate (dql_prim_dz_n(i)%vf)
12153#ifdef MFC_DEBUG
12154# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12155 block
12156# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12157 use iso_fortran_env, only: output_unit
12158# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12159
12160# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12161 print *, 'm_rhs.fpp:2172: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf)'
12162# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12163
12164# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12165 call flush (output_unit)
12166# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12167 end block
12168# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12169#endif
12170# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12171
12172# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12173#if defined(MFC_OpenACC)
12174# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12175!$acc exit data delete(dqR_prim_dx_n(i)%vf)
12176# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12177#elif defined(MFC_OpenMP)
12178# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12179!$omp target exit data map(release:dqR_prim_dx_n(i)%vf)
12180# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12181#endif
12182# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12183 deallocate (dqr_prim_dx_n(i)%vf)
12184#ifdef MFC_DEBUG
12185# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12186 block
12187# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12188 use iso_fortran_env, only: output_unit
12189# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12190
12191# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12192 print *, 'm_rhs.fpp:2173: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf)'
12193# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12194
12195# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12196 call flush (output_unit)
12197# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12198 end block
12199# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12200#endif
12201# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12202
12203# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12204#if defined(MFC_OpenACC)
12205# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12206!$acc exit data delete(dqR_prim_dy_n(i)%vf)
12207# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12208#elif defined(MFC_OpenMP)
12209# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12210!$omp target exit data map(release:dqR_prim_dy_n(i)%vf)
12211# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12212#endif
12213# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12214 deallocate (dqr_prim_dy_n(i)%vf)
12215#ifdef MFC_DEBUG
12216# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12217 block
12218# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12219 use iso_fortran_env, only: output_unit
12220# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12221
12222# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12223 print *, 'm_rhs.fpp:2174: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf)'
12224# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12225
12226# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12227 call flush (output_unit)
12228# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12229 end block
12230# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12231#endif
12232# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12233
12234# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12235#if defined(MFC_OpenACC)
12236# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12237!$acc exit data delete(dqR_prim_dz_n(i)%vf)
12238# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12239#elif defined(MFC_OpenMP)
12240# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12241!$omp target exit data map(release:dqR_prim_dz_n(i)%vf)
12242# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12243#endif
12244# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12245 deallocate (dqr_prim_dz_n(i)%vf)
12246 end do
12247
12248 if (weno_re_flux) then
12249#ifdef MFC_DEBUG
12250# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12251 block
12252# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12253 use iso_fortran_env, only: output_unit
12254# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12255
12256# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12257 print *, 'm_rhs.fpp:2178: ', '@:DEALLOCATE(dqL_rsx_vf, dqR_rsx_vf)'
12258# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12259
12260# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12261 call flush (output_unit)
12262# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12263 end block
12264# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12265#endif
12266# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12267
12268# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12269#if defined(MFC_OpenACC)
12270# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12271!$acc exit data delete(dqL_rsx_vf, dqR_rsx_vf)
12272# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12273#elif defined(MFC_OpenMP)
12274# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12275!$omp target exit data map(release:dqL_rsx_vf, dqR_rsx_vf)
12276# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12277#endif
12278# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12279 deallocate (dql_rsx_vf, dqr_rsx_vf)
12280 end if
12281
12282 do i = 1, num_dims
12283#ifdef MFC_DEBUG
12284# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12285 block
12286# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12287 use iso_fortran_env, only: output_unit
12288# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12289
12290# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12291 print *, 'm_rhs.fpp:2182: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%cont%end + i)%sf)'
12292# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12293
12294# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12295 call flush (output_unit)
12296# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12297 end block
12298# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12299#endif
12300# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12301
12302# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12303#if defined(MFC_OpenACC)
12304# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12305!$acc exit data delete(tau_Re_vf(eqn_idx%cont%end + i)%sf)
12306# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12307#elif defined(MFC_OpenMP)
12308# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12309!$omp target exit data map(release:tau_Re_vf(eqn_idx%cont%end + i)%sf)
12310# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12311#endif
12312# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12313 deallocate (tau_re_vf(eqn_idx%cont%end + i)%sf)
12314 end do
12315#ifdef MFC_DEBUG
12316# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12317 block
12318# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12319 use iso_fortran_env, only: output_unit
12320# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12321
12322# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12323 print *, 'm_rhs.fpp:2184: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%E)%sf)'
12324# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12325
12326# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12327 call flush (output_unit)
12328# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12329 end block
12330# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12331#endif
12332# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12333
12334# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12335#if defined(MFC_OpenACC)
12336# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12337!$acc exit data delete(tau_Re_vf(eqn_idx%E)%sf)
12338# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12339#elif defined(MFC_OpenMP)
12340# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12341!$omp target exit data map(release:tau_Re_vf(eqn_idx%E)%sf)
12342# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12343#endif
12344# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12345 deallocate (tau_re_vf(eqn_idx%E)%sf)
12346#ifdef MFC_DEBUG
12347# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12348 block
12349# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12350 use iso_fortran_env, only: output_unit
12351# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12352
12353# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12354 print *, 'm_rhs.fpp:2185: ', '@:DEALLOCATE(tau_Re_vf)'
12355# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12356
12357# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12358 call flush (output_unit)
12359# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12360 end block
12361# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12362#endif
12363# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12364
12365# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12366#if defined(MFC_OpenACC)
12367# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12368!$acc exit data delete(tau_Re_vf)
12369# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12370#elif defined(MFC_OpenMP)
12371# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12372!$omp target exit data map(release:tau_Re_vf)
12373# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12374#endif
12375# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12376 deallocate (tau_re_vf)
12377 end if
12378#ifdef MFC_DEBUG
12379# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12380 block
12381# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12382 use iso_fortran_env, only: output_unit
12383# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12384
12385# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12386 print *, 'm_rhs.fpp:2187: ', '@:DEALLOCATE(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)'
12387# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12388
12389# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12390 call flush (output_unit)
12391# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12392 end block
12393# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12394#endif
12395# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12396
12397# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12398#if defined(MFC_OpenACC)
12399# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12400!$acc exit data delete(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12401# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12402#elif defined(MFC_OpenMP)
12403# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12404!$omp target exit data map(release:dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12405# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12406#endif
12407# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12409#ifdef MFC_DEBUG
12410# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12411 block
12412# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12413 use iso_fortran_env, only: output_unit
12414# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12415
12416# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12417 print *, 'm_rhs.fpp:2188: ', '@:DEALLOCATE(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)'
12418# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12419
12420# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12421 call flush (output_unit)
12422# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12423 end block
12424# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12425#endif
12426# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12427
12428# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12429#if defined(MFC_OpenACC)
12430# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12431!$acc exit data delete(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12432# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12433#elif defined(MFC_OpenMP)
12434# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12435!$omp target exit data map(release:dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12436# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12437#endif
12438# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12440 end if
12441
12442 if (mpp_lim .and. bubbles_euler) then
12443#ifdef MFC_DEBUG
12444# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12445 block
12446# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12447 use iso_fortran_env, only: output_unit
12448# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12449
12450# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12451 print *, 'm_rhs.fpp:2192: ', '@:DEALLOCATE(alf_sum%sf)'
12452# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12453
12454# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12455 call flush (output_unit)
12456# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12457 end block
12458# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12459#endif
12460# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12461
12462# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12463#if defined(MFC_OpenACC)
12464# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12465!$acc exit data delete(alf_sum%sf)
12466# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12467#elif defined(MFC_OpenMP)
12468# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12469!$omp target exit data map(release:alf_sum%sf)
12470# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12471#endif
12472# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12473 deallocate (alf_sum%sf)
12474 end if
12475
12476 if (.not. igr) then
12477 do i = num_dims, 1, -1
12478 if (i /= 1) then
12479 do l = 1, sys_size
12480 nullify (flux_n(i)%vf(l)%sf)
12481 nullify (flux_src_n(i)%vf(l)%sf)
12482#ifdef MFC_DEBUG
12483# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12484 block
12485# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12486 use iso_fortran_env, only: output_unit
12487# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12488
12489# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12490 print *, 'm_rhs.fpp:2201: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12491# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12492
12493# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12494 call flush (output_unit)
12495# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12496 end block
12497# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12498#endif
12499# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12500
12501# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12502#if defined(MFC_OpenACC)
12503# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12504!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12505# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12506#elif defined(MFC_OpenMP)
12507# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12508!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12509# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12510#endif
12511# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12512 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12513 end do
12514 else
12515 do l = 1, sys_size
12516#ifdef MFC_DEBUG
12517# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12518 block
12519# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12520 use iso_fortran_env, only: output_unit
12521# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12522
12523# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12524 print *, 'm_rhs.fpp:2205: ', '@:DEALLOCATE(flux_n(i)%vf(l)%sf)'
12525# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12526
12527# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12528 call flush (output_unit)
12529# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12530 end block
12531# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12532#endif
12533# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12534
12535# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12536#if defined(MFC_OpenACC)
12537# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12538!$acc exit data delete(flux_n(i)%vf(l)%sf)
12539# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12540#elif defined(MFC_OpenMP)
12541# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12542!$omp target exit data map(release:flux_n(i)%vf(l)%sf)
12543# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12544#endif
12545# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12546 deallocate (flux_n(i)%vf(l)%sf)
12547#ifdef MFC_DEBUG
12548# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12549 block
12550# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12551 use iso_fortran_env, only: output_unit
12552# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12553
12554# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12555 print *, 'm_rhs.fpp:2206: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12556# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12557
12558# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12559 call flush (output_unit)
12560# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12561 end block
12562# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12563#endif
12564# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12565
12566# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12567#if defined(MFC_OpenACC)
12568# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12569!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12570# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12571#elif defined(MFC_OpenMP)
12572# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12573!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12574# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12575#endif
12576# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12577 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12578 end do
12579
12580 if (viscous) then
12581 do l = eqn_idx%mom%beg, eqn_idx%E
12582#ifdef MFC_DEBUG
12583# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12584 block
12585# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12586 use iso_fortran_env, only: output_unit
12587# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12588
12589# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12590 print *, 'm_rhs.fpp:2211: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12591# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12592
12593# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12594 call flush (output_unit)
12595# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12596 end block
12597# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12598#endif
12599# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12600
12601# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12602#if defined(MFC_OpenACC)
12603# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12604!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12605# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12606#elif defined(MFC_OpenMP)
12607# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12608!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12609# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12610#endif
12611# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12612 deallocate (flux_src_n(i)%vf(l)%sf)
12613 end do
12614 end if
12615
12616 if (chem_params%diffusion .and. .not. viscous) then
12617#ifdef MFC_DEBUG
12618# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12619 block
12620# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12621 use iso_fortran_env, only: output_unit
12622# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12623
12624# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12625 print *, 'm_rhs.fpp:2216: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%E)%sf)'
12626# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12627
12628# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12629 call flush (output_unit)
12630# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12631 end block
12632# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12633#endif
12634# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12635
12636# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12637#if defined(MFC_OpenACC)
12638# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12639!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%E)%sf)
12640# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12641#elif defined(MFC_OpenMP)
12642# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12643!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%E)%sf)
12644# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12645#endif
12646# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12647 deallocate (flux_src_n(i)%vf(eqn_idx%E)%sf)
12648 end if
12649
12650 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
12651 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
12652#ifdef MFC_DEBUG
12653# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12654 block
12655# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12656 use iso_fortran_env, only: output_unit
12657# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12658
12659# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12660 print *, 'm_rhs.fpp:2221: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12661# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12662
12663# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12664 call flush (output_unit)
12665# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12666 end block
12667# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12668#endif
12669# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12670
12671# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12672#if defined(MFC_OpenACC)
12673# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12674!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12675# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12676#elif defined(MFC_OpenMP)
12677# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12678!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12679# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12680#endif
12681# 2221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12682 deallocate (flux_src_n(i)%vf(l)%sf)
12683 end do
12684 else
12685 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
12686 nullify (flux_src_n(i)%vf(l)%sf)
12687 end do
12688 end if
12689
12690#ifdef MFC_DEBUG
12691# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12692 block
12693# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12694 use iso_fortran_env, only: output_unit
12695# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12696
12697# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12698 print *, 'm_rhs.fpp:2229: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)'
12699# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12700
12701# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12702 call flush (output_unit)
12703# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12704 end block
12705# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12706#endif
12707# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12708
12709# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12710#if defined(MFC_OpenACC)
12711# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12712!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12713# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12714#elif defined(MFC_OpenMP)
12715# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12716!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12717# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12718#endif
12719# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12720 deallocate (flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12721 end if
12722
12723#ifdef MFC_DEBUG
12724# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12725 block
12726# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12727 use iso_fortran_env, only: output_unit
12728# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12729
12730# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12731 print *, 'm_rhs.fpp:2232: ', '@:DEALLOCATE(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)'
12732# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12733
12734# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12735 call flush (output_unit)
12736# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12737 end block
12738# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12739#endif
12740# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12741
12742# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12743#if defined(MFC_OpenACC)
12744# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12745!$acc exit data delete(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12746# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12747#elif defined(MFC_OpenMP)
12748# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12749!$omp target exit data map(release:flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12750# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12751#endif
12752# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12753 deallocate (flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12754 end do
12755
12756#ifdef MFC_DEBUG
12757# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12758 block
12759# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12760 use iso_fortran_env, only: output_unit
12761# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12762
12763# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12764 print *, 'm_rhs.fpp:2235: ', '@:DEALLOCATE(flux_n, flux_src_n, flux_gsrc_n)'
12765# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12766
12767# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12768 call flush (output_unit)
12769# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12770 end block
12771# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12772#endif
12773# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12774
12775# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12776#if defined(MFC_OpenACC)
12777# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12778!$acc exit data delete(flux_n, flux_src_n, flux_gsrc_n)
12779# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12780#elif defined(MFC_OpenMP)
12781# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12782!$omp target exit data map(release:flux_n, flux_src_n, flux_gsrc_n)
12783# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12784#endif
12785# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12786 deallocate (flux_n, flux_src_n, flux_gsrc_n)
12787 do i = 1, num_dims
12788 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12789#ifdef MFC_DEBUG
12790# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12791 block
12792# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12793 use iso_fortran_env, only: output_unit
12794# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12795
12796# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12797 print *, 'm_rhs.fpp:2238: ', '@:DEALLOCATE(qL_prim(i)%vf(l)%sf)'
12798# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12799
12800# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12801 call flush (output_unit)
12802# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12803 end block
12804# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12805#endif
12806# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12807
12808# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12809#if defined(MFC_OpenACC)
12810# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12811!$acc exit data delete(qL_prim(i)%vf(l)%sf)
12812# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12813#elif defined(MFC_OpenMP)
12814# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12815!$omp target exit data map(release:qL_prim(i)%vf(l)%sf)
12816# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12817#endif
12818# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12819 deallocate (ql_prim(i)%vf(l)%sf)
12820#ifdef MFC_DEBUG
12821# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12822 block
12823# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12824 use iso_fortran_env, only: output_unit
12825# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12826
12827# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12828 print *, 'm_rhs.fpp:2239: ', '@:DEALLOCATE(qR_prim(i)%vf(l)%sf)'
12829# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12830
12831# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12832 call flush (output_unit)
12833# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12834 end block
12835# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12836#endif
12837# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12838
12839# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12840#if defined(MFC_OpenACC)
12841# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12842!$acc exit data delete(qR_prim(i)%vf(l)%sf)
12843# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12844#elif defined(MFC_OpenMP)
12845# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12846!$omp target exit data map(release:qR_prim(i)%vf(l)%sf)
12847# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12848#endif
12849# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12850 deallocate (qr_prim(i)%vf(l)%sf)
12851 end do
12852#ifdef MFC_DEBUG
12853# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12854 block
12855# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12856 use iso_fortran_env, only: output_unit
12857# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12858
12859# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12860 print *, 'm_rhs.fpp:2241: ', '@:DEALLOCATE(qL_prim(i)%vf, qR_prim(i)%vf)'
12861# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12862
12863# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12864 call flush (output_unit)
12865# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12866 end block
12867# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12868#endif
12869# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12870
12871# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12872#if defined(MFC_OpenACC)
12873# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12874!$acc exit data delete(qL_prim(i)%vf, qR_prim(i)%vf)
12875# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12876#elif defined(MFC_OpenMP)
12877# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12878!$omp target exit data map(release:qL_prim(i)%vf, qR_prim(i)%vf)
12879# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12880#endif
12881# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12882 deallocate (ql_prim(i)%vf, qr_prim(i)%vf)
12883 end do
12884#ifdef MFC_DEBUG
12885# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12886 block
12887# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12888 use iso_fortran_env, only: output_unit
12889# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12890
12891# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12892 print *, 'm_rhs.fpp:2243: ', '@:DEALLOCATE(qL_prim, qR_prim)'
12893# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12894
12895# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12896 call flush (output_unit)
12897# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12898 end block
12899# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12900#endif
12901# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12902
12903# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12904#if defined(MFC_OpenACC)
12905# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12906!$acc exit data delete(qL_prim, qR_prim)
12907# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12908#elif defined(MFC_OpenMP)
12909# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12910!$omp target exit data map(release:qL_prim, qR_prim)
12911# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12912#endif
12913# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12914 deallocate (ql_prim, qr_prim)
12915 end if
12916
12917 if (alt_soundspeed) then
12918#ifdef MFC_DEBUG
12919# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12920 block
12921# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12922 use iso_fortran_env, only: output_unit
12923# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12924
12925# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12926 print *, 'm_rhs.fpp:2247: ', '@:DEALLOCATE(blkmod1, blkmod2, alpha1, alpha2, Kterm)'
12927# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12928
12929# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12930 call flush (output_unit)
12931# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12932 end block
12933# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12934#endif
12935# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12936
12937# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12938#if defined(MFC_OpenACC)
12939# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12940!$acc exit data delete(blkmod1, blkmod2, alpha1, alpha2, Kterm)
12941# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12942#elif defined(MFC_OpenMP)
12943# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12944!$omp target exit data map(release:blkmod1, blkmod2, alpha1, alpha2, Kterm)
12945# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12946#endif
12947# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12948 deallocate (blkmod1, blkmod2, alpha1, alpha2, kterm)
12949 end if
12950
12951 if (qbmm) then
12952 do i = 0, 2
12953 do j = 0, 2
12954 do l = 1, nb
12955#ifdef MFC_DEBUG
12956# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12957 block
12958# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12959 use iso_fortran_env, only: output_unit
12960# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12961
12962# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12963 print *, 'm_rhs.fpp:2254: ', '@:DEALLOCATE(mom_3d(i, j, l)%sf)'
12964# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12965
12966# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12967 call flush (output_unit)
12968# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12969 end block
12970# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12971#endif
12972# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12973
12974# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12975#if defined(MFC_OpenACC)
12976# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12977!$acc exit data delete(mom_3d(i, j, l)%sf)
12978# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12979#elif defined(MFC_OpenMP)
12980# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12981!$omp target exit data map(release:mom_3d(i, j, l)%sf)
12982# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12983#endif
12984# 2254 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12985 deallocate (mom_3d(i, j, l)%sf)
12986 end do
12987 end do
12988 end do
12989 do i = 1, nmomsp
12990#ifdef MFC_DEBUG
12991# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12992 block
12993# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12994 use iso_fortran_env, only: output_unit
12995# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12996
12997# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12998 print *, 'm_rhs.fpp:2259: ', '@:DEALLOCATE(mom_sp(i)%sf)'
12999# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13000
13001# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13002 call flush (output_unit)
13003# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13004 end block
13005# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13006#endif
13007# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13008
13009# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13010#if defined(MFC_OpenACC)
13011# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13012!$acc exit data delete(mom_sp(i)%sf)
13013# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13014#elif defined(MFC_OpenMP)
13015# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13016!$omp target exit data map(release:mom_sp(i)%sf)
13017# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13018#endif
13019# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13020 deallocate (mom_sp(i)%sf)
13021 end do
13022#ifdef MFC_DEBUG
13023# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13024 block
13025# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13026 use iso_fortran_env, only: output_unit
13027# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13028
13029# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13030 print *, 'm_rhs.fpp:2261: ', '@:DEALLOCATE(mom_sp, mom_3d)'
13031# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13032
13033# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13034 call flush (output_unit)
13035# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13036 end block
13037# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13038#endif
13039# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13040
13041# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13042#if defined(MFC_OpenACC)
13043# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13044!$acc exit data delete(mom_sp, mom_3d)
13045# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13046#elif defined(MFC_OpenMP)
13047# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13048!$omp target exit data map(release:mom_sp, mom_3d)
13049# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13050#endif
13051# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13052 deallocate (mom_sp, mom_3d)
13053 end if
13054
13055 if (use_nc_iface_vel) then
13056 do i = 1, num_dims
13057 do l = 1, num_dims
13058#ifdef MFC_DEBUG
13059# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13060 block
13061# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13062 use iso_fortran_env, only: output_unit
13063# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13064
13065# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13066 print *, 'm_rhs.fpp:2267: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf(l)%sf)'
13067# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13068
13069# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13070 call flush (output_unit)
13071# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13072 end block
13073# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13074#endif
13075# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13076
13077# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13078#if defined(MFC_OpenACC)
13079# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13080!$acc exit data delete(nc_iface_vel_n(i)%vf(l)%sf)
13081# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13082#elif defined(MFC_OpenMP)
13083# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13084!$omp target exit data map(release:nc_iface_vel_n(i)%vf(l)%sf)
13085# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13086#endif
13087# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13088 deallocate (nc_iface_vel_n(i)%vf(l)%sf)
13089 end do
13090#ifdef MFC_DEBUG
13091# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13092 block
13093# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13094 use iso_fortran_env, only: output_unit
13095# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13096
13097# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13098 print *, 'm_rhs.fpp:2269: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf)'
13099# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13100
13101# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13102 call flush (output_unit)
13103# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13104 end block
13105# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13106#endif
13107# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13108
13109# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13110#if defined(MFC_OpenACC)
13111# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13112!$acc exit data delete(nc_iface_vel_n(i)%vf)
13113# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13114#elif defined(MFC_OpenMP)
13115# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13116!$omp target exit data map(release:nc_iface_vel_n(i)%vf)
13117# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13118#endif
13119# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13120 deallocate (nc_iface_vel_n(i)%vf)
13121 end do
13122#ifdef MFC_DEBUG
13123# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13124 block
13125# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13126 use iso_fortran_env, only: output_unit
13127# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13128
13129# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13130 print *, 'm_rhs.fpp:2271: ', '@:DEALLOCATE(nc_iface_vel_n)'
13131# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13132
13133# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13134 call flush (output_unit)
13135# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13136 end block
13137# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13138#endif
13139# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13140
13141# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13142#if defined(MFC_OpenACC)
13143# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13144!$acc exit data delete(nc_iface_vel_n)
13145# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13146#elif defined(MFC_OpenMP)
13147# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13148!$omp target exit data map(release:nc_iface_vel_n)
13149# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13150#endif
13151# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13152 deallocate (nc_iface_vel_n)
13153 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13154 do i = 1, num_dims
13155 do l = 1, num_dims
13156#ifdef MFC_DEBUG
13157# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13158 block
13159# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13160 use iso_fortran_env, only: output_unit
13161# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13162
13163# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13164 print *, 'm_rhs.fpp:2275: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf(l)%sf)'
13165# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13166
13167# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13168 call flush (output_unit)
13169# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13170 end block
13171# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13172#endif
13173# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13174
13175# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13176#if defined(MFC_OpenACC)
13177# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13178!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf(l)%sf)
13179# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13180#elif defined(MFC_OpenMP)
13181# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13182!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf(l)%sf)
13183# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13184#endif
13185# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13186 deallocate (nc_iface_vel_hatr_n(i)%vf(l)%sf)
13187 end do
13188#ifdef MFC_DEBUG
13189# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13190 block
13191# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13192 use iso_fortran_env, only: output_unit
13193# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13194
13195# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13196 print *, 'm_rhs.fpp:2277: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf)'
13197# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13198
13199# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13200 call flush (output_unit)
13201# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13202 end block
13203# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13204#endif
13205# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13206
13207# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13208#if defined(MFC_OpenACC)
13209# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13210!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf)
13211# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13212#elif defined(MFC_OpenMP)
13213# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13214!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf)
13215# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13216#endif
13217# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13218 deallocate (nc_iface_vel_hatr_n(i)%vf)
13219 end do
13220#ifdef MFC_DEBUG
13221# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13222 block
13223# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13224 use iso_fortran_env, only: output_unit
13225# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13226
13227# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13228 print *, 'm_rhs.fpp:2279: ', '@:DEALLOCATE(nc_iface_vel_hatR_n)'
13229# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13230
13231# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13232 call flush (output_unit)
13233# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13234 end block
13235# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13236#endif
13237# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13238
13239# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13240#if defined(MFC_OpenACC)
13241# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13242!$acc exit data delete(nc_iface_vel_hatR_n)
13243# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13244#elif defined(MFC_OpenMP)
13245# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13246!$omp target exit data map(release:nc_iface_vel_hatR_n)
13247# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13248#endif
13249# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13250 deallocate (nc_iface_vel_hatr_n)
13251 end if
13252 end if
13253
13254 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13255 do i = 1, sys_size
13256#ifdef MFC_DEBUG
13257# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13258 block
13259# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13260 use iso_fortran_env, only: output_unit
13261# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13262
13263# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13264 print *, 'm_rhs.fpp:2285: ', '@:DEALLOCATE(rhs_hatL_vf(i)%sf)'
13265# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13266
13267# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13268 call flush (output_unit)
13269# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13270 end block
13271# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13272#endif
13273# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13274
13275# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13276#if defined(MFC_OpenACC)
13277# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13278!$acc exit data delete(rhs_hatL_vf(i)%sf)
13279# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13280#elif defined(MFC_OpenMP)
13281# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13282!$omp target exit data map(release:rhs_hatL_vf(i)%sf)
13283# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13284#endif
13285# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13286 deallocate (rhs_hatl_vf(i)%sf)
13287#ifdef MFC_DEBUG
13288# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13289 block
13290# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13291 use iso_fortran_env, only: output_unit
13292# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13293
13294# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13295 print *, 'm_rhs.fpp:2286: ', '@:DEALLOCATE(rhs_hatR_vf(i)%sf)'
13296# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13297
13298# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13299 call flush (output_unit)
13300# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13301 end block
13302# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13303#endif
13304# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13305
13306# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13307#if defined(MFC_OpenACC)
13308# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13309!$acc exit data delete(rhs_hatR_vf(i)%sf)
13310# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13311#elif defined(MFC_OpenMP)
13312# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13313!$omp target exit data map(release:rhs_hatR_vf(i)%sf)
13314# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13315#endif
13316# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13317 deallocate (rhs_hatr_vf(i)%sf)
13318 end do
13319#ifdef MFC_DEBUG
13320# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13321 block
13322# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13323 use iso_fortran_env, only: output_unit
13324# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13325
13326# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13327 print *, 'm_rhs.fpp:2288: ', '@:DEALLOCATE(rhs_hatL_vf)'
13328# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13329
13330# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13331 call flush (output_unit)
13332# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13333 end block
13334# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13335#endif
13336# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13337
13338# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13339#if defined(MFC_OpenACC)
13340# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13341!$acc exit data delete(rhs_hatL_vf)
13342# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13343#elif defined(MFC_OpenMP)
13344# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13345!$omp target exit data map(release:rhs_hatL_vf)
13346# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13347#endif
13348# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13349 deallocate (rhs_hatl_vf)
13350#ifdef MFC_DEBUG
13351# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13352 block
13353# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13354 use iso_fortran_env, only: output_unit
13355# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13356
13357# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13358 print *, 'm_rhs.fpp:2289: ', '@:DEALLOCATE(rhs_hatR_vf)'
13359# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13360
13361# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13362 call flush (output_unit)
13363# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13364 end block
13365# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13366#endif
13367# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13368
13369# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13370#if defined(MFC_OpenACC)
13371# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13372!$acc exit data delete(rhs_hatR_vf)
13373# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13374#elif defined(MFC_OpenMP)
13375# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13376!$omp target exit data map(release:rhs_hatR_vf)
13377# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13378#endif
13379# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13380 deallocate (rhs_hatr_vf)
13381 end if
13382
13383 if (bf_spatial_support) then
13384#ifdef MFC_DEBUG
13385# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13386 block
13387# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13388 use iso_fortran_env, only: output_unit
13389# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13390
13391# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13392 print *, 'm_rhs.fpp:2293: ', '@:DEALLOCATE(spbf_source_x, spbf_source_y)'
13393# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13394
13395# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13396 call flush (output_unit)
13397# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13398 end block
13399# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13400#endif
13401# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13402
13403# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13404#if defined(MFC_OpenACC)
13405# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13406!$acc exit data delete(spbf_source_x, spbf_source_y)
13407# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13408#elif defined(MFC_OpenMP)
13409# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13410!$omp target exit data map(release:spbf_source_x, spbf_source_y)
13411# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13412#endif
13413# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13414 deallocate (spbf_source_x, spbf_source_y)
13415 end if
13416
13417 end subroutine s_finalize_rhs_module
13418
13419end module m_rhs
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
integer, intent(in) k
integer, intent(in) j
integer, intent(in) l
subroutine s_add_directional_advection_source_terms(current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, flux_src_n_vf_arg, kterm_arg)
Add the advection source flux-difference terms for a single coordinate direction to the RHS.
One-way acoustic source injection, Maeda and Colonius JCP (2017).
Computes gravitational and body force source terms for the momentum equations.
Noncharacteristic and processor boundary condition application for ghost cells and buffer regions.
Computes ensemble-averaged (Euler–Euler) bubble source terms for radius, velocity,...
Tracks Lagrangian bubbles and couples their dynamics to the Eulerian flow via volume averaging.
Characteristic boundary conditions (CBC) for slip walls, non-reflecting subsonic inflow/outflow,...
type(int_bounds_info) is3
Indical bounds in the s1-, s2- and s3-directions.
type(int_bounds_info) is1
type(int_bounds_info) is2
Multi-species chemistry interface for thermodynamic properties, reaction rates, and transport coeffic...
Compile-time constant parameters: default values, tolerances, and physical constants.
integer, parameter int_comp_mthinc
integer, parameter riemann_solver_hll
integer, parameter riemann_solver_hlld
integer, parameter recon_type_muscl
integer, parameter recon_type_weno
integer, parameter model_eqns_6eq
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
Computes hypoelastic stress-rate source terms and damage-state evolution.
Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients,...
Iterative ghost rasterization (IGR) for sharp immersed boundary treatment.
integer(kind=8) j
integer(kind=8) i
integer(kind=8) l
integer(kind=8) k
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.
MUSCL reconstruction with interface sharpening for contact-preserving advection.
NVIDIA NVTX profiling API bindings for GPU performance instrumentation.
Definition m_nvtx.f90:6
Pressure relaxation for the six-equation multi-component model via Newton–Raphson equilibration and v...
Quadrature-based moment methods (QBMM) for polydisperse bubble moment inversion and transport.
Condensed-phase reactive burn: a pressure-driven programmed-burn source that converts a "reactant" fl...
Assemble the right-hand side of the governing equations using finite-volume flux differencing,...
type(vector_field), dimension(:), allocatable dqr_prim_dz_n
real(wp), dimension(:,:,:), allocatable kterm
type(vector_field), dimension(:), allocatable dql_prim_dz_n
type(vector_field), dimension(:), allocatable flux_src_n
integer iglob
type(vector_field), dimension(:), allocatable dq_prim_dx_qp
type(vector_field), dimension(:), allocatable flux_gsrc_n
subroutine s_compute_additional_physics_rhs(idir, q_prim_vf, rhs_vf, flux_src_n_in, dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf)
Add viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given ...
subroutine s_reconstruct_cell_boundary_values(v_vf, vl_x, vr_x, norm_dir)
Reconstruct left and right cell-boundary values from cell-averaged variables.
impure subroutine, public s_compute_rhs(q_cons_vf, q_t_sf, q_prim_vf, bc_type, rhs_vf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, stage)
Compute the right-hand side of the semi-discrete governing equations for a single time stage.
real(wp), dimension(:,:,:,:), allocatable dqr_rsx_vf
type(vector_field), dimension(:), allocatable dql_prim_dy_n
real(wp), dimension(:,:,:,:), allocatable dql_rsx_vf
type(vector_field), dimension(:), allocatable qr_prim
type(int_bounds_info) is1
subroutine s_compute_directional_rhs(id, rhs_vf, is_hat_l)
Computes one sweep direction's contribution to the RHS: the Riemann solve on the reconstructed cell-b...
type(vector_field), dimension(:), allocatable nc_iface_vel_n
type(vector_field) q_cons_qp
WENO-reconstructed cell-average conservative variables at quadrature points.
type(vector_field), dimension(:), allocatable dq_prim_dy_qp
real(wp), dimension(:,:,:,:), allocatable ql_rsx_vf
type(int_bounds_info) is3
type(int_bounds_info) irz
subroutine s_compute_advection_source_term(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, is_hat_l)
Accumulate advection source contributions from a given coordinate direction into the RHS.
type(int_bounds_info) is2
type(scalar_field), dimension(:), allocatable tau_re_vf
real(wp), dimension(:,:,:), allocatable alpha2
real(wp), dimension(:,:,:,:), allocatable qr_rsx_vf
type(int_bounds_info) irx
type(int_bounds_info) iv
Vector field indical bounds.
real(wp), dimension(:,:,:), allocatable alpha1
type(scalar_field) alf_sum
subroutine s_reconstruct_riemann_states(id)
Reconstructs the left/right Riemann states (cell-boundary values) for one sweep direction into the mo...
type(vector_field), dimension(:), allocatable dqr_prim_dy_n
type(int_bounds_info) iry
type(vector_field), dimension(:), allocatable nc_iface_vel_hatr_n
hat_R-pass interface velocities for fused dual-pass HLLD: the axisymmetric geometric source consumes ...
real(wp), dimension(:,:,:), allocatable blkmod1
impure subroutine, public s_initialize_rhs_module
Initialize the RHS module.
type(vector_field), dimension(:), allocatable ql_prim
type(vector_field), dimension(:), allocatable dql_prim_dx_n
subroutine s_reconstruct_cell_boundary_values_first_order(v_vf, vl_x, vr_x, norm_dir)
Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values.
type(scalar_field), dimension(:), allocatable rhs_hatl_vf
type(vector_field) q_prim_qp
Primitive variables at cell-interior quadrature points.
type(vector_field), dimension(:), allocatable flux_n
type(scalar_field), dimension(:), allocatable rhs_hatr_vf
type(vector_field), dimension(:), allocatable dq_prim_dz_qp
real(wp), dimension(:,:,:), allocatable blkmod2
impure subroutine, public s_finalize_rhs_module
Module deallocation and/or disassociation procedures.
type(vector_field), dimension(:), allocatable dqr_prim_dx_n
Approximate and exact Riemann solvers (HLL, HLLC, HLLD, exact) for the multicomponent Navier–Stokes e...
Computes capillary source fluxes and color-function gradients for the diffuse-interface surface tensi...
THINC and MTHINC interface compression for volume fraction sharpening. THINC (int_comp=1): 1D directi...
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
Computes viscous stress tensors and diffusive flux contributions for the Navier–Stokes equations.
WENO/WENO-Z/TENO reconstruction with optional monotonicity-preserving bounds and mapped weights.
Integer bounds for variables.
Derived type annexing a scalar field (SF).
Derived type annexing a vector field (VF).