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# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98
99# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100
101# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102
103# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104
105# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106
107# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108
109# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110
111# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112
113# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114
115# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116
117# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118
119# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120
121# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122
123# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124
125# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126
127# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129
130# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131
132# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133
134# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135
136# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137
138# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139
140# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141
142# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143
144# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145
146# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147
148# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149
150# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151
152# 377 "/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# 55 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311
312! Allocate and create GPU device memory
313# 75 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314
315! Free GPU device memory and deallocate
316# 83 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317
318! Cray-specific GPU pointer setup for vector fields
319# 107 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320
321! Cray-specific GPU pointer setup for scalar fields
322# 123 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323
324! Cray-specific GPU pointer setup for acoustic source spatials
325# 148 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326
327# 154 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328
329# 161 "/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 ! print*, "Moving rhs_hatL_vf to GPU => ", SHAPE(rhs_hatL_vf) 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 ! write(*,*) cudaGetErrorString(istat)
7231# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7232 end if
7233# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7234 ! set accessed by CPU
7235# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7236 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7237# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7238 if (istat /= cudasuccess) then
7239# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7240 write (*, "('Error code: ',I0, ': ')") istat
7241# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7242 ! write(*,*) cudaGetErrorString(istat)
7243# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7244 end if
7245# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7246 ! prefetch to GPU - physically populate memory pages
7247# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7248 istat = cudamemprefetchasync(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), 0, 0)
7249# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7250 if (istat /= cudasuccess) then
7251# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7252 write (*, "('Error code: ',I0, ': ')") istat
7253# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7254 ! write(*,*) cudaGetErrorString(istat)
7255# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7256 end if
7257# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7258 end if
7259# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7260 end block
7261# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7262#endif
7263#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7264# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7265 block
7266# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7267 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7268# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7269 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7270# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7271#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7272# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7273 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7274# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7275#else
7276# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7277 use cuda_runtime_api
7278# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7279#endif
7280# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7281 integer :: istat
7282# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7283
7284# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7285 if (nv_uvm_pref_gpu) then
7286# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7287 ! print*, "Moving rhs_hatR_vf to GPU => ", SHAPE(rhs_hatR_vf) set preferred location GPU
7288# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7289 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetpreferredlocation, 0)
7290# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7291 if (istat /= cudasuccess) then
7292# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7293 write (*, "('Error code: ',I0, ': ')") istat
7294# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7295 ! write(*,*) cudaGetErrorString(istat)
7296# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7297 end if
7298# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7299 ! set accessed by CPU
7300# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7301 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7302# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7303 if (istat /= cudasuccess) then
7304# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7305 write (*, "('Error code: ',I0, ': ')") istat
7306# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7307 ! write(*,*) cudaGetErrorString(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 ! prefetch to GPU - physically populate memory pages
7312# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7313 istat = cudamemprefetchasync(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), 0, 0)
7314# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7315 if (istat /= cudasuccess) then
7316# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7317 write (*, "('Error code: ',I0, ': ')") istat
7318# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7319 ! write(*,*) cudaGetErrorString(istat)
7320# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7321 end if
7322# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7323 end if
7324# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7325 end block
7326# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7327#endif
7328
7329 do i = 1, sys_size
7330#ifdef MFC_DEBUG
7331# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7332 block
7333# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7334 use iso_fortran_env, only: output_unit
7335# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7336
7337# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7338 print *, 'm_rhs.fpp:537: ', '@:ALLOCATE(rhs_hatL_vf(i)%sf(0:m, 0:n, 0:p))'
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 call flush (output_unit)
7343# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7344 end block
7345# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7346#endif
7347# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7348 allocate (rhs_hatl_vf(i)%sf(0:m, 0:n, 0:p))
7349# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7350
7351# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7352
7353# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7354#if defined(MFC_OpenACC)
7355# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7356!$acc enter data create(rhs_hatL_vf(i)%sf)
7357# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7358#elif defined(MFC_OpenMP)
7359# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7360!$omp target enter data map(always,alloc:rhs_hatL_vf(i)%sf)
7361# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7362#endif
7363#ifdef MFC_DEBUG
7364# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7365 block
7366# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7367 use iso_fortran_env, only: output_unit
7368# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7369
7370# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7371 print *, 'm_rhs.fpp:538: ', '@:ALLOCATE(rhs_hatR_vf(i)%sf(0:m, 0:n, 0:p))'
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 call flush (output_unit)
7376# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7377 end block
7378# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7379#endif
7380# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7381 allocate (rhs_hatr_vf(i)%sf(0:m, 0:n, 0:p))
7382# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7383
7384# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7385
7386# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7387#if defined(MFC_OpenACC)
7388# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7389!$acc enter data create(rhs_hatR_vf(i)%sf)
7390# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7391#elif defined(MFC_OpenMP)
7392# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7393!$omp target enter data map(always,alloc:rhs_hatR_vf(i)%sf)
7394# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7395#endif
7396#ifdef _CRAYFTN
7397# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7398 block
7399# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7400#ifdef MFC_DEBUG
7401# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7402 block
7403# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7404 use iso_fortran_env, only: output_unit
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 print *, 'm_rhs.fpp:539: ', '@:ACC_SETUP_SFs(rhs_hatL_vf(i))'
7409# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7410
7411# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7412 call flush (output_unit)
7413# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7414 end block
7415# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7416#endif
7417# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7418
7419# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7420
7421# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7422#if defined(MFC_OpenACC)
7423# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7424!$acc enter data copyin(rhs_hatL_vf(i))
7425# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7426#elif defined(MFC_OpenMP)
7427# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7428!$omp target enter data map(to:rhs_hatL_vf(i))
7429# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7430#endif
7431# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7432 if (associated(rhs_hatl_vf(i)%sf)) then
7433# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7434
7435# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7436#if defined(MFC_OpenACC)
7437# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7438!$acc enter data copyin(rhs_hatL_vf(i)%sf)
7439# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7440#elif defined(MFC_OpenMP)
7441# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7442!$omp target enter data map(to:rhs_hatL_vf(i)%sf)
7443# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7444#endif
7445# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7446 end if
7447# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7448 end block
7449# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7450#endif
7451#ifdef _CRAYFTN
7452# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7453 block
7454# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7455#ifdef MFC_DEBUG
7456# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7457 block
7458# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7459 use iso_fortran_env, only: output_unit
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 print *, 'm_rhs.fpp:540: ', '@:ACC_SETUP_SFs(rhs_hatR_vf(i))'
7464# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7465
7466# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7467 call flush (output_unit)
7468# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7469 end block
7470# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7471#endif
7472# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7473
7474# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7475
7476# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7477#if defined(MFC_OpenACC)
7478# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7479!$acc enter data copyin(rhs_hatR_vf(i))
7480# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7481#elif defined(MFC_OpenMP)
7482# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7483!$omp target enter data map(to:rhs_hatR_vf(i))
7484# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7485#endif
7486# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7487 if (associated(rhs_hatr_vf(i)%sf)) then
7488# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7489
7490# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7491#if defined(MFC_OpenACC)
7492# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7493!$acc enter data copyin(rhs_hatR_vf(i)%sf)
7494# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7495#elif defined(MFC_OpenMP)
7496# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7497!$omp target enter data map(to:rhs_hatR_vf(i)%sf)
7498# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7499#endif
7500# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7501 end if
7502# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7503 end block
7504# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7505#endif
7506 end do
7507 end if
7508
7509 call s_initialize_pressure_relaxation_module
7510
7511 ! Spatial body force source arrays - sized to include ghost cells so the
7512 ! same indexing as q_*_vf is valid; iteration is restricted to interior
7513 ! cells via the `bounds` argument in m_body_forces. Only allocated when the
7514 ! feature is active (the write/read sites are likewise guarded).
7515 if (bf_spatial_support) then
7516 if (n > 0) then
7517 if (p > 0) then
7518#ifdef MFC_DEBUG
7519# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7520 block
7521# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7522 use iso_fortran_env, only: output_unit
7523# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7524
7525# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7526 print *, 'm_rhs.fpp:553: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7527# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7528
7529# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7530 call flush (output_unit)
7531# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7532 end block
7533# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7534#endif
7535# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7536 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7537# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7538
7539# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7540
7541# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7542#if defined(MFC_OpenACC)
7543# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7544!$acc enter data create(spbf_source_x)
7545# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7546#elif defined(MFC_OpenMP)
7547# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7548!$omp target enter data map(always,alloc:spbf_source_x)
7549# 553 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7550#endif
7551#ifdef MFC_DEBUG
7552# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7553 block
7554# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7555 use iso_fortran_env, only: output_unit
7556# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7557
7558# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7559 print *, 'm_rhs.fpp:554: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7560# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7561
7562# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7563 call flush (output_unit)
7564# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7565 end block
7566# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7567#endif
7568# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7569 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7570# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7571
7572# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7573
7574# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7575#if defined(MFC_OpenACC)
7576# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7577!$acc enter data create(spbf_source_y)
7578# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7579#elif defined(MFC_OpenMP)
7580# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7581!$omp target enter data map(always,alloc:spbf_source_y)
7582# 554 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7583#endif
7584 else
7585#ifdef MFC_DEBUG
7586# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7587 block
7588# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7589 use iso_fortran_env, only: output_unit
7590# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7591
7592# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7593 print *, 'm_rhs.fpp:556: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7594# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7595
7596# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7597 call flush (output_unit)
7598# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7599 end block
7600# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7601#endif
7602# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7603 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7604# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7605
7606# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7607
7608# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7609#if defined(MFC_OpenACC)
7610# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7611!$acc enter data create(spbf_source_x)
7612# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7613#elif defined(MFC_OpenMP)
7614# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7615!$omp target enter data map(always,alloc:spbf_source_x)
7616# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7617#endif
7618#ifdef MFC_DEBUG
7619# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7620 block
7621# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7622 use iso_fortran_env, only: output_unit
7623# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7624
7625# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7626 print *, 'm_rhs.fpp:557: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7627# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7628
7629# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7630 call flush (output_unit)
7631# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7632 end block
7633# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7634#endif
7635# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7636 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7637# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7638
7639# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7640
7641# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7642#if defined(MFC_OpenACC)
7643# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7644!$acc enter data create(spbf_source_y)
7645# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7646#elif defined(MFC_OpenMP)
7647# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7648!$omp target enter data map(always,alloc:spbf_source_y)
7649# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7650#endif
7651 end if
7652 else
7653#ifdef MFC_DEBUG
7654# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7655 block
7656# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7657 use iso_fortran_env, only: output_unit
7658# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7659
7660# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7661 print *, 'm_rhs.fpp:560: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))'
7662# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7663
7664# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7665 call flush (output_unit)
7666# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7667 end block
7668# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7669#endif
7670# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7671 allocate (spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))
7672# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7673
7674# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7675
7676# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7677#if defined(MFC_OpenACC)
7678# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7679!$acc enter data create(spbf_source_x)
7680# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7681#elif defined(MFC_OpenMP)
7682# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7683!$omp target enter data map(always,alloc:spbf_source_x)
7684# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7685#endif
7686#ifdef MFC_DEBUG
7687# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7688 block
7689# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7690 use iso_fortran_env, only: output_unit
7691# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7692
7693# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7694 print *, 'm_rhs.fpp:561: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))'
7695# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7696
7697# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7698 call flush (output_unit)
7699# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7700 end block
7701# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7702#endif
7703# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7704 allocate (spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))
7705# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7706
7707# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7708
7709# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7710#if defined(MFC_OpenACC)
7711# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7712!$acc enter data create(spbf_source_y)
7713# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7714#elif defined(MFC_OpenMP)
7715# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7716!$omp target enter data map(always,alloc:spbf_source_y)
7717# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7718#endif
7719 end if
7720#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7721# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7722 block
7723# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7724 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7725# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7726 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7727# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7728#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7729# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7730 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7731# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7732#else
7733# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7734 use cuda_runtime_api
7735# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7736#endif
7737# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7738 integer :: istat
7739# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7740
7741# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7742 if (nv_uvm_pref_gpu) then
7743# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7744 ! print*, "Moving spbf_source_x to GPU => ", SHAPE(spbf_source_x) set preferred location GPU
7745# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7746 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetpreferredlocation, 0)
7747# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7748 if (istat /= cudasuccess) then
7749# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7750 write (*, "('Error code: ',I0, ': ')") istat
7751# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7752 ! write(*,*) cudaGetErrorString(istat)
7753# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7754 end if
7755# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7756 ! set accessed by CPU
7757# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7758 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetaccessedby, cudacpudeviceid)
7759# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7760 if (istat /= cudasuccess) then
7761# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7762 write (*, "('Error code: ',I0, ': ')") istat
7763# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7764 ! write(*,*) cudaGetErrorString(istat)
7765# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7766 end if
7767# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7768 ! prefetch to GPU - physically populate memory pages
7769# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7770 istat = cudamemprefetchasync(c_devloc(spbf_source_x), sizeof(spbf_source_x), 0, 0)
7771# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7772 if (istat /= cudasuccess) then
7773# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7774 write (*, "('Error code: ',I0, ': ')") istat
7775# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7776 ! write(*,*) cudaGetErrorString(istat)
7777# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7778 end if
7779# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7780 end if
7781# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7782 end block
7783# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7784#endif
7785#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7786# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7787 block
7788# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7789 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7790# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7791 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7792# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7793#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7794# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7795 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7796# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7797#else
7798# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7799 use cuda_runtime_api
7800# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7801#endif
7802# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7803 integer :: istat
7804# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7805
7806# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7807 if (nv_uvm_pref_gpu) then
7808# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7809 ! print*, "Moving spbf_source_y to GPU => ", SHAPE(spbf_source_y) set preferred location GPU
7810# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7811 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetpreferredlocation, 0)
7812# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7813 if (istat /= cudasuccess) then
7814# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7815 write (*, "('Error code: ',I0, ': ')") istat
7816# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7817 ! write(*,*) cudaGetErrorString(istat)
7818# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7819 end if
7820# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7821 ! set accessed by CPU
7822# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7823 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetaccessedby, cudacpudeviceid)
7824# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7825 if (istat /= cudasuccess) then
7826# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7827 write (*, "('Error code: ',I0, ': ')") istat
7828# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7829 ! write(*,*) cudaGetErrorString(istat)
7830# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7831 end if
7832# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7833 ! prefetch to GPU - physically populate memory pages
7834# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7835 istat = cudamemprefetchasync(c_devloc(spbf_source_y), sizeof(spbf_source_y), 0, 0)
7836# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7837 if (istat /= cudasuccess) then
7838# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7839 write (*, "('Error code: ',I0, ': ')") istat
7840# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7841 ! write(*,*) cudaGetErrorString(istat)
7842# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7843 end if
7844# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7845 end if
7846# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7847 end block
7848# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7849#endif
7850
7851 spbf_source_x = 0._wp
7852 spbf_source_y = 0._wp
7853
7854# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7855#if defined(MFC_OpenACC)
7856# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7857!$acc update device(spbf_source_x, spbf_source_y)
7858# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7859#elif defined(MFC_OpenMP)
7860# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7861!$omp target update to(spbf_source_x, spbf_source_y)
7862# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7863#endif
7864 end if
7865
7866 end subroutine s_initialize_rhs_module
7867
7868 !> Compute the right-hand side of the semi-discrete governing equations for a single time stage
7869 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)
7870
7871 type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_vf
7872 type(scalar_field), intent(inout) :: q_t_sf
7873 type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf
7874 type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type
7875 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
7876 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: pb_in
7877
7878 ! TODO :: I think these other two variables need to be stp as well, but it doesn't compile like that right now
7879 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_pb
7880 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: mv_in
7881 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_mv
7882 integer, intent(in) :: t_step
7883 integer, intent(in) :: stage
7884 integer :: id
7885 integer(kind=8) :: i, j, k, l, q !< Generic loop iterators
7886
7887 ! RHS: halo exchange -> reconstruct -> Riemann solve -> flux difference -> source terms
7888
7889 call nvtxstartrange("COMPUTE-RHS")
7890
7891 if (.not. igr) then
7892 ! Association/Population of Working Variables
7893
7894# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7895
7896# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7897#if defined(MFC_OpenACC)
7898# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7899!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
7900# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7901#elif defined(MFC_OpenMP)
7902# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7903
7904# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7905
7906# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7907
7908# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7909!$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)
7910# 598 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7911#endif
7912 do i = 1, sys_size
7913 do l = idwbuff(3)%beg, idwbuff(3)%end
7914 do k = idwbuff(2)%beg, idwbuff(2)%end
7915 do j = idwbuff(1)%beg, idwbuff(1)%end
7916 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_vf(i)%sf(j, k, l)
7917 end do
7918 end do
7919 end do
7920 end do
7921
7922# 608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7923#if defined(MFC_OpenACC)
7924# 608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7925!$acc end parallel loop
7926# 608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7927#elif defined(MFC_OpenMP)
7928# 608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7929
7930# 608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7931!$omp end target teams loop
7932# 608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7933#endif
7934
7935 ! Converting Conservative to Primitive Variables
7936
7937 if (mpp_lim .and. bubbles_euler) then
7938
7939# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7940
7941# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7942#if defined(MFC_OpenACC)
7943# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7944!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
7945# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7946#elif defined(MFC_OpenMP)
7947# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7948
7949# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7950
7951# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7952
7953# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7954!$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)
7955# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7956#endif
7957 do l = idwbuff(3)%beg, idwbuff(3)%end
7958 do k = idwbuff(2)%beg, idwbuff(2)%end
7959 do j = idwbuff(1)%beg, idwbuff(1)%end
7960 alf_sum%sf(j, k, l) = 0._wp
7961
7962# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7963#if defined(MFC_OpenACC)
7964# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7965!$acc loop seq
7966# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7967#elif defined(MFC_OpenMP)
7968# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7969
7970# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7971#endif
7972 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
7973 alf_sum%sf(j, k, l) = alf_sum%sf(j, k, l) + q_cons_qp%vf(i)%sf(j, k, l)
7974 end do
7975
7976# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7977#if defined(MFC_OpenACC)
7978# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7979!$acc loop seq
7980# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7981#elif defined(MFC_OpenMP)
7982# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7983
7984# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7985#endif
7986 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
7987 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_qp%vf(i)%sf(j, k, &
7988 & l)*(1._wp - q_cons_qp%vf(eqn_idx%alf)%sf(j, k, l))/alf_sum%sf(j, k, l)
7989 end do
7990 end do
7991 end do
7992 end do
7993
7994# 630 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7995#if defined(MFC_OpenACC)
7996# 630 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7997!$acc end parallel loop
7998# 630 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7999#elif defined(MFC_OpenMP)
8000# 630 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8001
8002# 630 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8003!$omp end target teams loop
8004# 630 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8005#endif
8006 end if
8007 end if
8008
8009 if (igr) then
8010 call nvtxstartrange("RHS-COMMUNICATION")
8011 call s_populate_variables_buffers(bc_type, q_cons_vf, pb_in, mv_in, q_t_sf)
8012 call nvtxendrange
8013 end if
8014 if (.not. igr) then
8015 call nvtxstartrange("RHS-CONVERT")
8016 call s_convert_conservative_to_primitive_variables(q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8017 call nvtxendrange
8018
8019 call nvtxstartrange("RHS-COMMUNICATION")
8020 call s_populate_variables_buffers(bc_type, q_prim_qp%vf, pb_in, mv_in, q_t_sf)
8021 call nvtxendrange
8022 end if
8023
8024 if (cfl_dt) then
8025 if (mytime >= t_stop) return
8026 else
8027 if (t_step == t_step_stop) return
8028 end if
8029
8030 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), &
8031 & idwbuff(2), idwbuff(3))
8032
8033 if ((viscous .and. .not. igr)) then
8034 call nvtxstartrange("RHS-VISCOUS")
8037 & idwbuff(1), idwbuff(2), idwbuff(3))
8038 call nvtxendrange
8039 end if
8040
8041 if (surface_tension) then
8042 call nvtxstartrange("RHS-SURFACE-TENSION")
8043 call s_get_capillary(q_prim_qp%vf, bc_type)
8044 call nvtxendrange
8045 end if
8046
8047 if (int_comp == int_comp_mthinc .and. n > 0) then
8048 call nvtxstartrange("RHS-COMPRESSION-NORMALS")
8049 call s_compute_mthinc_normals(q_prim_qp%vf)
8050 call nvtxendrange
8051 end if
8052
8053 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8054 do id = 1, num_dims
8055 if (igr) then
8056 if (id == 1) then
8057
8058# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8059
8060# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8061#if defined(MFC_OpenACC)
8062# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8063!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8064# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8065#elif defined(MFC_OpenMP)
8066# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8067
8068# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8069
8070# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8071
8072# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8073!$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)
8074# 682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8075#endif
8076 do l = -1, p + 1
8077 do k = -1, n + 1
8078 do j = -1, m + 1
8079 do i = 1, sys_size
8080 rhs_vf(i)%sf(j, k, l) = 0._stp
8081 end do
8082 end do
8083 end do
8084 end do
8085
8086# 692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8087#if defined(MFC_OpenACC)
8088# 692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8089!$acc end parallel loop
8090# 692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8091#elif defined(MFC_OpenMP)
8092# 692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8093
8094# 692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8095!$omp end target teams loop
8096# 692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8097#endif
8098 end if
8099
8100 call nvtxstartrange("IGR_RIEMANN")
8101 call s_igr_riemann_solver(q_cons_vf, rhs_vf, id)
8102 call nvtxendrange
8103
8104 if (id == 1) then
8105 call nvtxstartrange("IGR_Jacobi")
8106 call s_igr_iterative_solve(q_cons_vf, bc_type, t_step)
8107 call nvtxendrange
8108
8109 call nvtxstartrange("IGR_SIGMA")
8110 call s_igr_sigma_x(q_cons_vf, rhs_vf)
8111 call nvtxendrange
8112 end if
8113 end if
8114 if (.not. igr) then
8116
8117 call s_compute_directional_rhs(id, rhs_vf, .false.)
8118
8119 ! RHS additions for hypoelasticity
8120 if (hypo_nc_mode == hypo_nc_mode_finite_diff) then
8121 call nvtxstartrange("RHS-HYPOELASTICITY-FD-PER-SWEEP")
8122 call s_compute_hypoelastic_rhs_finite_diff_per_sweep(id, q_prim_qp%vf, rhs_vf)
8123 call nvtxendrange
8124 end if
8125
8126 ! RHS for diffusion
8127 if (chemistry .and. chem_params%diffusion) then
8128 call nvtxstartrange("RHS-CHEM-DIFFUSION")
8129 call s_compute_chemistry_diffusion_flux(id, q_prim_qp%vf, flux_src_n(id)%vf, irx, iry, irz, q_t_sf)
8130 call nvtxendrange
8131 end if
8132
8133 ! Viscous stress contribution to RHS
8134 if (viscous .or. surface_tension .or. chem_params%diffusion) then
8135 call nvtxstartrange("RHS-ADD-PHYSICS")
8136 call s_compute_additional_physics_rhs(id, q_prim_qp%vf, rhs_vf, flux_src_n(id)%vf, dq_prim_dx_qp(1)%vf, &
8137 & dq_prim_dy_qp(1)%vf, dq_prim_dz_qp(1)%vf)
8138 call nvtxendrange
8139 end if
8140
8141 ! Bubble dynamics source terms
8142 if (bubbles_euler) then
8143 call nvtxstartrange("RHS-BUBBLES-COMPUTE")
8144 call s_compute_bubbles_ee_rhs(id, q_prim_qp%vf, divu)
8145 call nvtxendrange
8146 end if
8147
8148 ! RHS additions for qbmm bubbles
8149 if (qbmm) then
8150 call nvtxstartrange("RHS-QBMM")
8151 call s_compute_qbmm_rhs(id, q_cons_qp%vf, q_prim_qp%vf, rhs_vf, flux_n(id)%vf, pb_in, rhs_pb)
8152 call nvtxendrange
8153 end if
8154 ! END: Additional physics and source terms
8155
8156 if (hyper_cleaning) then
8157
8158# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8159
8160# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8161#if defined(MFC_OpenACC)
8162# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8163!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8164# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8165#elif defined(MFC_OpenMP)
8166# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8167
8168# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8169
8170# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8171
8172# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8173!$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)
8174# 752 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8175#endif
8176 do l = 0, p
8177 do k = 0, n
8178 do j = 0, m
8179 rhs_vf(eqn_idx%psi)%sf(j, k, l) = rhs_vf(eqn_idx%psi)%sf(j, k, &
8180 & l) - q_prim_vf(eqn_idx%psi)%sf(j, k, l)/hyper_cleaning_tau
8181 end do
8182 end do
8183 end do
8184
8185# 761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8186#if defined(MFC_OpenACC)
8187# 761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8188!$acc end parallel loop
8189# 761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8190#elif defined(MFC_OpenMP)
8191# 761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8192
8193# 761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8194!$omp end target teams loop
8195# 761 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8196#endif
8197 end if
8198
8199 ! END: Additional physics and source terms
8200 end if
8201 end do
8202 else
8203 ! Fused dual-pass HLLD: per direction, the Riemann states are reconstructed once and ONE fused solve computes both
8204 ! 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*
8205 ! buffers). The hat_L partial RHS is assembled first; the hat_R set is then finalized into the same (already consumed)
8206 ! flux field arrays and assembled. The full RHS is the sum of the two anchored partial RHS's; the axisymmetric
8207 ! cylindrical completion for the volume fractions and stresses is applied once on the summed RHS, using the cell's own
8208 ! two anchored radial face traces (hat_L outer face, hat_R inner face).
8209 do id = 1, num_dims
8211 call s_compute_directional_rhs(id, rhs_hatl_vf, .true.)
8212 call nvtxstartrange("RHS-RIEMANN-FINALIZE-HATR")
8213 call s_finalize_riemann_solver_hatr(flux_n(id)%vf, flux_gsrc_n(id)%vf, id)
8214 if (use_nc_iface_vel) then
8215 call s_finalize_nc_iface_vel_hatr(nc_iface_vel_hatr_n(id)%vf, id)
8216 end if
8217 call nvtxendrange
8218 call nvtxstartrange("RHS-ADVECTION-SRC")
8220 call nvtxendrange
8221 end do
8222
8223
8224# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8225
8226# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8227#if defined(MFC_OpenACC)
8228# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8229!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8230# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8231#elif defined(MFC_OpenMP)
8232# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8233
8234# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8235
8236# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8237
8238# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8239!$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)
8240# 788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8241#endif
8242 do i = 1, sys_size
8243 do l = 0, p
8244 do k = 0, n
8245 do j = 0, m
8246 rhs_vf(i)%sf(j, k, l) = rhs_hatl_vf(i)%sf(j, k, l) + rhs_hatr_vf(i)%sf(j, k, l)
8247 end do
8248 end do
8249 end do
8250 end do
8251
8252# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8253#if defined(MFC_OpenACC)
8254# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8255!$acc end parallel loop
8256# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8257#elif defined(MFC_OpenMP)
8258# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8259
8260# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8261!$omp end target teams loop
8262# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8263#endif
8264
8265 if (grid_geometry == 2) then
8266 call nvtxstartrange("RHS-HYPOELASTICITY-AXISYM-HLLD")
8267 call s_compute_hypoelastic_rhs_axisym_geom_dual_pass(q_prim_qp%vf, rhs_vf, nc_iface_vel_n(2)%vf, &
8268 & nc_iface_vel_hatr_n(2)%vf)
8269 call nvtxendrange
8270 end if
8271 end if
8272 ! END: Dimensional Splitting Loop
8273
8274 ! RHS additions for hypoelasticity (interface-consistent path, after all sweeps)
8275 if (hypo_nc_mode == hypo_nc_mode_interface) then
8276 call nvtxstartrange("RHS-HYPOELASTICITY-IFACE")
8277 call s_compute_hypoelastic_rhs_iface(q_prim_qp%vf, rhs_vf, nc_iface_vel_n)
8278 call nvtxendrange
8279 end if
8280 if (ib) then
8281
8282# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8283
8284# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8285#if defined(MFC_OpenACC)
8286# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8287!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
8288# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8289#elif defined(MFC_OpenMP)
8290# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8291
8292# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8293
8294# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8295
8296# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8297!$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)
8298# 816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8299#endif
8300 do l = 0, p
8301 do k = 0, n
8302 do j = 0, m
8303 if (ib_markers%sf(j, k, l) /= 0) then
8304 do i = 1, sys_size
8305 rhs_vf(i)%sf(j, k, l) = 0._wp
8306 end do
8307 end if
8308 end do
8309 end do
8310 end do
8311
8312# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8313#if defined(MFC_OpenACC)
8314# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8315!$acc end parallel loop
8316# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8317#elif defined(MFC_OpenMP)
8318# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8319
8320# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8321!$omp end target teams loop
8322# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8323#endif
8324 end if
8325
8326 ! Additional Physics and Source Terms Additions for acoustic_source
8327 if (acoustic_source) then
8328 call nvtxstartrange("RHS-ACOUSTIC-SRC")
8329 call s_acoustic_src_calculations(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8330 call nvtxendrange
8331 end if
8332
8333 ! Add bubbles source term
8334 if (bubbles_euler .and. (.not. adap_dt) .and. (.not. qbmm)) then
8335 call nvtxstartrange("RHS-BUBBLES-SRC")
8336 call s_compute_bubble_ee_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf, divu)
8337 call nvtxendrange
8338 end if
8339
8340 ! ptil is a probe-output diagnostic only, so evaluate it only when probes are on.
8341 ! This sits outside the source-term branch above so that the qbmm and adap_dt
8342 ! paths, which skip that branch, still get a filled ptil.
8343 if (bubbles_euler .and. probe_wrt) then
8344 call s_compute_ptilde(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size))
8345 end if
8346
8347 if (bubbles_lagrange) then
8348 if (.not. adap_dt) then
8349 call nvtxstartrange("RHS-EL-BUBBLES-DYN")
8350 call s_compute_bubble_el_dynamics(q_prim_qp%vf(1:sys_size), bc_type, stage)
8351 call nvtxendrange
8352 end if
8353
8354 if (lag_params%solver_approach == 2) then
8355 call nvtxstartrange("RHS-EL-BUBBLES-SRC")
8356 call s_compute_bubbles_el_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8357 call nvtxendrange
8358 end if
8359 end if
8360
8361 ! When reaction_substeps > 0 the reaction source is integrated by operator splitting
8362 ! after the flow update (s_chemistry_reaction_substep), not added to the flow RHS here.
8363 if (chemistry .and. chem_params%reactions .and. chem_params%reaction_substeps == 0) then
8364 call nvtxstartrange("RHS-CHEM-REACTIONS")
8365 call s_compute_chemistry_reaction_flux(rhs_vf, q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8366 call nvtxendrange
8367 end if
8368
8369 if (reactive_burn) then
8370 call nvtxstartrange("RHS-REACTIVE-BURN")
8371 call s_compute_reactive_burn(rhs_vf, q_cons_qp%vf, q_prim_qp%vf, idwint)
8372 call nvtxendrange
8373 end if
8374
8375 if (cont_damage) call s_compute_damage_state(q_cons_qp%vf, rhs_vf)
8376
8377 ! END: Additional physics and source terms
8378
8379 if (run_time_info .or. probe_wrt .or. ib .or. bubbles_lagrange) then
8380 if (.not. igr) then
8381
8382# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8383
8384# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8385#if defined(MFC_OpenACC)
8386# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8387!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8388# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8389#elif defined(MFC_OpenMP)
8390# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8391
8392# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8393
8394# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8395
8396# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8397!$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)
8398# 886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8399#endif
8400 do i = 1, sys_size
8401 do l = idwbuff(3)%beg, idwbuff(3)%end
8402 do k = idwbuff(2)%beg, idwbuff(2)%end
8403 do j = idwbuff(1)%beg, idwbuff(1)%end
8404 q_prim_vf(i)%sf(j, k, l) = q_prim_qp%vf(i)%sf(j, k, l)
8405 end do
8406 end do
8407 end do
8408 end do
8409
8410# 896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8411#if defined(MFC_OpenACC)
8412# 896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8413!$acc end parallel loop
8414# 896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8415#elif defined(MFC_OpenMP)
8416# 896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8417
8418# 896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8419!$omp end target teams loop
8420# 896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8421#endif
8422 end if
8423 end if
8424
8425 call nvtxendrange
8426
8427 end subroutine s_compute_rhs
8428
8429 !> Reconstructs the left/right Riemann states (cell-boundary values) for one sweep direction into the module face buffers
8430 !! (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
8431 !! sweep direction; both anchored passes of the fused dual-pass HLLD solve in that direction reuse these buffers.
8433
8434 integer, intent(in) :: id
8435 integer :: i, j, k, l !< Generic loop iterators
8436
8437 call nvtxstartrange("RHS-RECONSTRUCTION")
8438
8439 if (.not. surface_tension) then
8440 if ((.not. weno_re_flux) .or. int_comp > 0) then
8441 ! Reconstruct densitiess
8442 iv%beg = 1; iv%end = sys_size
8444 else
8445 iv%beg = 1; iv%end = eqn_idx%cont%end
8447
8448 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8449
8450# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8451#if defined(MFC_OpenACC)
8452# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8453!$acc update device(iv, iglob)
8454# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8455#elif defined(MFC_OpenMP)
8456# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8457!$omp target update to(iv, iglob)
8458# 924 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8459#endif
8460
8461
8462# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8463
8464# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8465#if defined(MFC_OpenACC)
8466# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8467!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8468# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8469#elif defined(MFC_OpenMP)
8470# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8471
8472# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8473
8474# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8475
8476# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8477!$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)
8478# 926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8479#endif
8480 do i = iv%beg, iv%end
8481 do l = idwbuff(3)%beg, idwbuff(3)%end
8482 do k = idwbuff(2)%beg, idwbuff(2)%end
8483 do j = idwbuff(1)%beg, idwbuff(1)%end
8484 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8485 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8486 end do
8487 end do
8488 end do
8489 end do
8490
8491# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8492#if defined(MFC_OpenACC)
8493# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8494!$acc end parallel loop
8495# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8496#elif defined(MFC_OpenMP)
8497# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8498
8499# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8500!$omp end target teams loop
8501# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8502#endif
8503
8504 iv%beg = eqn_idx%E; iv%end = sys_size
8506 end if
8507 else
8508 if (int_comp > 0) then
8509 ! THINC reads cont and adv from v_rs_ws; must reconstruct full sys_size range to populate both
8510 iv%beg = 1; iv%end = sys_size
8512 ! Surface tension requires first-order energy; overwrite the higher-order result from the full pass above
8513 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8515 else if ((.not. weno_re_flux)) then
8516 iv%beg = 1; iv%end = eqn_idx%E - 1
8518
8519 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8521
8522 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8524 else
8525 iv%beg = 1; iv%end = eqn_idx%cont%end
8527
8528 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8529
8530# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8531#if defined(MFC_OpenACC)
8532# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8533!$acc update device(iv, iglob)
8534# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8535#elif defined(MFC_OpenMP)
8536# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8537!$omp target update to(iv, iglob)
8538# 964 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8539#endif
8540
8541
8542# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8543
8544# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8545#if defined(MFC_OpenACC)
8546# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8547!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8548# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8549#elif defined(MFC_OpenMP)
8550# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8551
8552# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8553
8554# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8555
8556# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8557!$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)
8558# 966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8559#endif
8560 do i = iv%beg, iv%end
8561 do l = idwbuff(3)%beg, idwbuff(3)%end
8562 do k = idwbuff(2)%beg, idwbuff(2)%end
8563 do j = idwbuff(1)%beg, idwbuff(1)%end
8564 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8565 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8566 end do
8567 end do
8568 end do
8569 end do
8570
8571# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8572#if defined(MFC_OpenACC)
8573# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8574!$acc end parallel loop
8575# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8576#elif defined(MFC_OpenMP)
8577# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8578
8579# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8580!$omp end target teams loop
8581# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8582#endif
8583
8584 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8586
8587 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8589 end if
8590 end if
8591
8592 ! Reconstruct viscous derivatives for viscosity
8593 if (weno_re_flux) then
8594 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end
8595 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, &
8596 & 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))
8597 if (n > 0) then
8598 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dy_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, dqr_rsx_vf, &
8599 & 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), &
8600 & idwbuff(3))
8601 if (p > 0) then
8602 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dz_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, &
8603 & 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), &
8604 & idwbuff(2), idwbuff(3))
8605 end if
8606 end if
8607 end if
8608
8609 call nvtxendrange
8610
8611 end subroutine s_reconstruct_riemann_states
8612
8613 !> Computes one sweep direction's contribution to the RHS: the Riemann solve on the reconstructed cell-boundary states followed
8614 !! by the advection source term. For dual-pass HLLD the fused solve computes BOTH anchored flux sets in one call; this routine
8615 !! assembles the hat_L (is_hat_L=.true.) partial RHS, and the caller finalizes + assembles the hat_R set afterwards. is_hat_L
8616 !! selects which one-sided flux difference the advection source applies into rhs_vf.
8617 subroutine s_compute_directional_rhs(id, rhs_vf, is_hat_L)
8618
8619 integer, intent(in) :: id
8620 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8621 logical, intent(in) :: is_hat_L
8622
8623 ! Configuring Coordinate Direction Indexes
8624
8625 if (id == 1) then
8626 irx%beg = -1; iry%beg = 0; irz%beg = 0
8627 else if (id == 2) then
8628 irx%beg = 0; iry%beg = -1; irz%beg = 0
8629 else
8630 irx%beg = 0; iry%beg = 0; irz%beg = -1
8631 end if
8632 irx%end = m; iry%end = n; irz%end = p
8633
8634 ! Computing Riemann Solver Flux and Source Flux
8635 call nvtxstartrange("RHS-RIEMANN-SOLVER")
8636 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, &
8637 & 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, &
8638 & q_prim_qp%vf, flux_n(id)%vf, flux_src_n(id)%vf, flux_gsrc_n(id)%vf, id, irx, iry, irz)
8639 call nvtxendrange
8640
8641 if (use_nc_iface_vel) then
8642 call s_finalize_nc_iface_vel(nc_iface_vel_n(id)%vf, id)
8643 end if
8644
8645 ! Additional physics and source terms RHS addition for advection source
8646 call nvtxstartrange("RHS-ADVECTION-SRC")
8647 call s_compute_advection_source_term(id, rhs_vf, q_cons_qp, q_prim_qp, flux_src_n(id), is_hat_l)
8648 call nvtxendrange
8649
8650 end subroutine s_compute_directional_rhs
8651
8652 !> Accumulate advection source contributions from a given coordinate direction into the RHS
8653 subroutine s_compute_advection_source_term(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, is_hat_L)
8654
8655 integer, intent(in) :: idir
8656 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8657 type(vector_field), intent(inout) :: q_cons_vf
8658 type(vector_field), intent(inout) :: q_prim_vf
8659 type(vector_field), intent(inout) :: flux_src_n_vf
8660 logical, intent(in) :: is_hat_L
8661 integer :: j, k, l, q !< Loop iterators from original, meaning varies
8662 integer :: k_loop, l_loop, q_loop !< Standardized spatial loop iterators 0:m, 0:n, 0:p
8663 integer :: i_fluid_loop
8664 real(wp) :: inv_ds, flux_face1, flux_face2
8665 real(wp) :: advected_qty_val, pressure_val, velocity_val
8666 real(wp) :: G1_eff, G2_eff
8667
8668 g1_eff = 0._wp
8669 g2_eff = 0._wp
8670 if (hypoelasticity) then
8671 g1_eff = fluid_pp(1)%G
8672 g2_eff = fluid_pp(2)%G
8673 end if
8674
8675 if (alt_soundspeed) then
8676
8677# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8678
8679# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8680#if defined(MFC_OpenACC)
8681# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8682!$acc parallel loop collapse(3) gang vector default(present) private(k_loop, l_loop, q_loop)
8683# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8684#elif defined(MFC_OpenMP)
8685# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8686
8687# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8688
8689# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8690
8691# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8692!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8693# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8694!$omp& private(k_loop, l_loop, q_loop)
8695# 1071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8696#endif
8697 do q_loop = 0, p
8698 do l_loop = 0, n
8699 do k_loop = 0, m
8700 blkmod1(k_loop, l_loop, q_loop) = ((gammas(1) + 1._wp)*q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, &
8701 & q_loop) + pi_infs(1))/gammas(1) + (4._wp/3._wp)*g1_eff
8702 blkmod2(k_loop, l_loop, q_loop) = ((gammas(2) + 1._wp)*q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, &
8703 & q_loop) + pi_infs(2))/gammas(2) + (4._wp/3._wp)*g2_eff
8704 alpha1(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8705
8706 if (bubbles_euler) then
8707 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%alf - 1)%sf(k_loop, l_loop, q_loop)
8708 else
8709 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8710 end if
8711
8712 kterm(k_loop, l_loop, q_loop) = alpha1(k_loop, l_loop, q_loop)*alpha2(k_loop, l_loop, &
8713 & q_loop)*(blkmod2(k_loop, l_loop, q_loop) - blkmod1(k_loop, l_loop, q_loop))/(alpha1(k_loop, &
8714 & l_loop, q_loop)*blkmod2(k_loop, l_loop, q_loop) + alpha2(k_loop, l_loop, q_loop)*blkmod1(k_loop, &
8715 & l_loop, q_loop))
8716 end do
8717 end do
8718 end do
8719
8720# 1094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8721#if defined(MFC_OpenACC)
8722# 1094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8723!$acc end parallel loop
8724# 1094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8725#elif defined(MFC_OpenMP)
8726# 1094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8727
8728# 1094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8729!$omp end target teams loop
8730# 1094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8731#endif
8732 end if
8733
8734 select case (idir)
8735 case (1) ! x-direction
8736 if (bc_x%beg <= bc_char_slip_wall .and. bc_x%beg >= bc_char_sup_outflow) then
8737 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8738 end if
8739 if (bc_x%end <= bc_char_slip_wall .and. bc_x%end >= bc_char_sup_outflow) then
8740 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8741 end if
8742
8743 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8744
8745# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8746
8747# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8748#if defined(MFC_OpenACC)
8749# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8750!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8751# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8752#elif defined(MFC_OpenMP)
8753# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8754
8755# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8756
8757# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8758
8759# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8760!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8761# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8762!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8763# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8764#endif
8765 do j = 1, sys_size
8766 do q_loop = 0, p
8767 do l_loop = 0, n
8768 do k_loop = 0, m
8769 inv_ds = 1._wp/dx(k_loop)
8770 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8771 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8772 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*(flux_face1 - flux_face2)
8773 end do
8774 end do
8775 end do
8776 end do
8777
8778# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8779#if defined(MFC_OpenACC)
8780# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8781!$acc end parallel loop
8782# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8783#elif defined(MFC_OpenMP)
8784# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8785
8786# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8787!$omp end target teams loop
8788# 1120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8789#endif
8790 else if (is_hat_l) then
8791
8792# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8793
8794# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8795#if defined(MFC_OpenACC)
8796# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8797!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8798# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8799#elif defined(MFC_OpenMP)
8800# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8801
8802# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8803
8804# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8805
8806# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8807!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8808# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8809!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8810# 1122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8811#endif
8812 do j = 1, sys_size
8813 do q_loop = 0, p
8814 do l_loop = 0, n
8815 do k_loop = 0, m
8816 inv_ds = 1._wp/dx(k_loop)
8817 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8818 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = -inv_ds*flux_face2
8819 end do
8820 end do
8821 end do
8822 end do
8823
8824# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8825#if defined(MFC_OpenACC)
8826# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8827!$acc end parallel loop
8828# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8829#elif defined(MFC_OpenMP)
8830# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8831
8832# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8833!$omp end target teams loop
8834# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8835#endif
8836 else ! is_hat_R
8837
8838# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8839
8840# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8841#if defined(MFC_OpenACC)
8842# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8843!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
8844# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8845#elif defined(MFC_OpenMP)
8846# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8847
8848# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8849
8850# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8851
8852# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8853!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8854# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8855!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
8856# 1136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8857#endif
8858 do j = 1, sys_size
8859 do q_loop = 0, p
8860 do l_loop = 0, n
8861 do k_loop = 0, m
8862 inv_ds = 1._wp/dx(k_loop)
8863 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8864 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*flux_face1
8865 end do
8866 end do
8867 end do
8868 end do
8869
8870# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8871#if defined(MFC_OpenACC)
8872# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8873!$acc end parallel loop
8874# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8875#elif defined(MFC_OpenMP)
8876# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8877
8878# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8879!$omp end target teams loop
8880# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8881#endif
8882 end if
8883
8884 if (model_eqns == model_eqns_6eq) then
8885
8886# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8887
8888# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8889#if defined(MFC_OpenACC)
8890# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8891!$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)
8892# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8893#elif defined(MFC_OpenMP)
8894# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8895
8896# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8897
8898# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8899
8900# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8901!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8902# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8903!$omp& private(i_fluid_loop, k_loop, l_loop, q_loop, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
8904# 1152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8905#endif
8906# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8907 do q_loop = 0, p
8908 do l_loop = 0, n
8909 do k_loop = 0, m
8910 do i_fluid_loop = 1, num_fluids
8911 inv_ds = 1._wp/dx(k_loop)
8912 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(k_loop, l_loop, q_loop)
8913 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
8914 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8915 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop - 1, l_loop, q_loop)
8916 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
8917 & q_loop) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
8918 & q_loop) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
8919 end do
8920 end do
8921 end do
8922 end do
8923
8924# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8925#if defined(MFC_OpenACC)
8926# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8927!$acc end parallel loop
8928# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8929#elif defined(MFC_OpenMP)
8930# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8931
8932# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8933!$omp end target teams loop
8934# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8935#endif
8936 end if
8937
8938 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
8939 case (2) ! y-direction
8940 if (bc_y%beg <= bc_char_slip_wall .and. bc_y%beg >= bc_char_sup_outflow) then
8941 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8942 end if
8943 if (bc_y%end <= bc_char_slip_wall .and. bc_y%end >= bc_char_sup_outflow) then
8944 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8945 end if
8946
8947 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8948
8949# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8950
8951# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8952#if defined(MFC_OpenACC)
8953# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8954!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
8955# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8956#elif defined(MFC_OpenMP)
8957# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8958
8959# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8960
8961# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8962
8963# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8964!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8965# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8966!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
8967# 1183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8968#endif
8969 do j = 1, sys_size
8970 do l = 0, p
8971 do k = 0, n
8972 do q = 0, m
8973 inv_ds = 1._wp/dy(k)
8974 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
8975 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
8976 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*(flux_face1 - flux_face2)
8977 end do
8978 end do
8979 end do
8980 end do
8981
8982# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8983#if defined(MFC_OpenACC)
8984# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8985!$acc end parallel loop
8986# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8987#elif defined(MFC_OpenMP)
8988# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8989
8990# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8991!$omp end target teams loop
8992# 1196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8993#endif
8994 else if (is_hat_l) then
8995
8996# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8997
8998# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8999#if defined(MFC_OpenACC)
9000# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9001!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9002# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9003#elif defined(MFC_OpenMP)
9004# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9005
9006# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9007
9008# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9009
9010# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9011!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9012# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9013!$omp& private(j, k, l, q, inv_ds, flux_face2)
9014# 1198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9015#endif
9016 do j = 1, sys_size
9017 do l = 0, p
9018 do k = 0, n
9019 do q = 0, m
9020 inv_ds = 1._wp/dy(k)
9021 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
9022 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - inv_ds*flux_face2
9023 end do
9024 end do
9025 end do
9026 end do
9027
9028# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9029#if defined(MFC_OpenACC)
9030# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9031!$acc end parallel loop
9032# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9033#elif defined(MFC_OpenMP)
9034# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9035
9036# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9037!$omp end target teams loop
9038# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9039#endif
9040 else ! is_hat_R
9041
9042# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9043
9044# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9045#if defined(MFC_OpenACC)
9046# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9047!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9048# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9049#elif defined(MFC_OpenMP)
9050# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9051
9052# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9053
9054# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9055
9056# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9057!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9058# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9059!$omp& private(j, k, l, q, inv_ds, flux_face1)
9060# 1212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9061#endif
9062 do j = 1, sys_size
9063 do l = 0, p
9064 do k = 0, n
9065 do q = 0, m
9066 inv_ds = 1._wp/dy(k)
9067 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9068 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*flux_face1
9069 end do
9070 end do
9071 end do
9072 end do
9073
9074# 1224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9075#if defined(MFC_OpenACC)
9076# 1224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9077!$acc end parallel loop
9078# 1224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9079#elif defined(MFC_OpenMP)
9080# 1224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9081
9082# 1224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9083!$omp end target teams loop
9084# 1224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9085#endif
9086 end if
9087
9088 if (model_eqns == model_eqns_6eq) then
9089
9090# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9091
9092# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9093#if defined(MFC_OpenACC)
9094# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9095!$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)
9096# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9097#elif defined(MFC_OpenMP)
9098# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9099
9100# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9101
9102# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9103
9104# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9105!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9106# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9107!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9108# 1228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9109#endif
9110# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9111 do l = 0, p
9112 do k = 0, n
9113 do q = 0, m
9114 do i_fluid_loop = 1, num_fluids
9115 inv_ds = 1._wp/dy(k)
9116 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(q, k, l)
9117 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(q, k, l)
9118 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k, l)
9119 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k - 1, l)
9120 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9121 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9122 & l) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9123 if (cyl_coord) then
9124 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9125 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9126 & l) - 5.e-1_wp/y_cc(k)*advected_qty_val*pressure_val*(flux_face1 + flux_face2)
9127 end if
9128 end do
9129 end do
9130 end do
9131 end do
9132
9133# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9134#if defined(MFC_OpenACC)
9135# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9136!$acc end parallel loop
9137# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9138#elif defined(MFC_OpenMP)
9139# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9140
9141# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9142!$omp end target teams loop
9143# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9144#endif
9145 end if
9146
9147 if (cyl_coord) then
9148 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
9149 ! Cell-owned anchored geometry: the hat_L pass owns the cell's outer radial face and the hat_R pass its
9150 ! inner face (the same anchor ownership as the one-sided flux differences above), so the summed RHS
9151 ! carries -(H_outer + H_inner)/(2*y_cc) with both faces anchored to the cell itself. With midpoint cell
9152 ! centers this equals the annular finite-volume divergence (r_+ F_+ - r_- F_-)/(y_cc*dy) for the rows
9153 ! whose geometric flux is the full radial flux.
9154 if (is_hat_l) then
9155
9156# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9157
9158# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9159#if defined(MFC_OpenACC)
9160# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9161!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face2)
9162# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9163#elif defined(MFC_OpenMP)
9164# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9165
9166# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9167
9168# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9169
9170# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9171!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9172# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9173!$omp& private(j, k, l, q, flux_face2)
9174# 1262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9175#endif
9176 do j = 1, sys_size
9177 do l = 0, p
9178 do k = 0, n
9179 do q = 0, m
9180 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9181 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face2
9182 end do
9183 end do
9184 end do
9185 end do
9186
9187# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9188#if defined(MFC_OpenACC)
9189# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9190!$acc end parallel loop
9191# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9192#elif defined(MFC_OpenMP)
9193# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9194
9195# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9196!$omp end target teams loop
9197# 1273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9198#endif
9199 else ! is_hat_R
9200
9201# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9202
9203# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9204#if defined(MFC_OpenACC)
9205# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9206!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1)
9207# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9208#elif defined(MFC_OpenMP)
9209# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9210
9211# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9212
9213# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9214
9215# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9216!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9217# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9218!$omp& private(j, k, l, q, flux_face1)
9219# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9220#endif
9221 do j = 1, sys_size
9222 do l = 0, p
9223 do k = 0, n
9224 do q = 0, m
9225 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9226 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face1
9227 end do
9228 end do
9229 end do
9230 end do
9231
9232# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9233#if defined(MFC_OpenACC)
9234# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9235!$acc end parallel loop
9236# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9237#elif defined(MFC_OpenMP)
9238# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9239
9240# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9241!$omp end target teams loop
9242# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9243#endif
9244 end if
9245 else
9246
9247# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9248
9249# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9250#if defined(MFC_OpenACC)
9251# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9252!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9253# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9254#elif defined(MFC_OpenMP)
9255# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9256
9257# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9258
9259# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9260
9261# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9262!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9263# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9264!$omp& private(j, k, l, q, flux_face1, flux_face2)
9265# 1289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9266#endif
9267 do j = 1, sys_size
9268 do l = 0, p
9269 do k = 0, n
9270 do q = 0, m
9271 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9272 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9273 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)
9274 end do
9275 end do
9276 end do
9277 end do
9278
9279# 1301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9280#if defined(MFC_OpenACC)
9281# 1301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9282!$acc end parallel loop
9283# 1301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9284#elif defined(MFC_OpenMP)
9285# 1301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9286
9287# 1301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9288!$omp end target teams loop
9289# 1301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9290#endif
9291 end if
9292 end if
9293
9294 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9295 case (3) ! z-direction
9296 if (bc_z%beg <= bc_char_slip_wall .and. bc_z%beg >= bc_char_sup_outflow) then
9297 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9298 end if
9299 if (bc_z%end <= bc_char_slip_wall .and. bc_z%end >= bc_char_sup_outflow) then
9300 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9301 end if
9302
9303 if (grid_geometry == 3) then ! Cylindrical Coordinates
9304
9305# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9306
9307# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9308#if defined(MFC_OpenACC)
9309# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9310!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9311# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9312#elif defined(MFC_OpenMP)
9313# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9314
9315# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9316
9317# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9318
9319# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9320!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9321# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9322!$omp& private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9323# 1315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9324#endif
9325 do j = 1, sys_size
9326 do k = 0, p
9327 do q = 0, n
9328 do l = 0, m
9329 inv_ds = 1._wp/(dz(k)*y_cc(q))
9330 velocity_val = q_prim_vf%vf(eqn_idx%cont%end + idir)%sf(l, q, k)
9331 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9332 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9333 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*velocity_val*(flux_face1 - flux_face2)
9334 end do
9335 end do
9336 end do
9337 end do
9338
9339# 1329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9340#if defined(MFC_OpenACC)
9341# 1329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9342!$acc end parallel loop
9343# 1329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9344#elif defined(MFC_OpenMP)
9345# 1329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9346
9347# 1329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9348!$omp end target teams loop
9349# 1329 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9350#endif
9351
9352# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9353
9354# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9355#if defined(MFC_OpenACC)
9356# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9357!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9358# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9359#elif defined(MFC_OpenMP)
9360# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9361
9362# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9363
9364# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9365
9366# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9367!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9368# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9369!$omp& private(j, k, l, q, flux_face1, flux_face2)
9370# 1330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9371#endif
9372 do j = 1, sys_size
9373 do k = 0, p
9374 do q = 0, n
9375 do l = 0, m
9376 flux_face1 = flux_gsrc_n(3)%vf(j)%sf(l, q, k - 1)
9377 flux_face2 = flux_gsrc_n(3)%vf(j)%sf(l, q, k)
9378 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)
9379 end do
9380 end do
9381 end do
9382 end do
9383
9384# 1342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9385#if defined(MFC_OpenACC)
9386# 1342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9387!$acc end parallel loop
9388# 1342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9389#elif defined(MFC_OpenMP)
9390# 1342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9391
9392# 1342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9393!$omp end target teams loop
9394# 1342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9395#endif
9396 else ! Cartesian Coordinates
9397 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9398
9399# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9400
9401# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9402#if defined(MFC_OpenACC)
9403# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9404!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9405# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9406#elif defined(MFC_OpenMP)
9407# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9408
9409# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9410
9411# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9412
9413# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9414!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9415# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9416!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9417# 1345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9418#endif
9419 do j = 1, sys_size
9420 do k = 0, p
9421 do q = 0, n
9422 do l = 0, m
9423 inv_ds = 1._wp/dz(k)
9424 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9425 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9426 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*(flux_face1 - flux_face2)
9427 end do
9428 end do
9429 end do
9430 end do
9431
9432# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9433#if defined(MFC_OpenACC)
9434# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9435!$acc end parallel loop
9436# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9437#elif defined(MFC_OpenMP)
9438# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9439
9440# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9441!$omp end target teams loop
9442# 1358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9443#endif
9444 else if (is_hat_l) then
9445
9446# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9447
9448# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9449#if defined(MFC_OpenACC)
9450# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9451!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9452# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9453#elif defined(MFC_OpenMP)
9454# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9455
9456# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9457
9458# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9459
9460# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9461!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9462# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9463!$omp& private(j, k, l, q, inv_ds, flux_face2)
9464# 1360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9465#endif
9466 do j = 1, sys_size
9467 do k = 0, p
9468 do q = 0, n
9469 do l = 0, m
9470 inv_ds = 1._wp/dz(k)
9471 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9472 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) - inv_ds*flux_face2
9473 end do
9474 end do
9475 end do
9476 end do
9477
9478# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9479#if defined(MFC_OpenACC)
9480# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9481!$acc end parallel loop
9482# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9483#elif defined(MFC_OpenMP)
9484# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9485
9486# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9487!$omp end target teams loop
9488# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9489#endif
9490 else ! is_hat_R
9491
9492# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9493
9494# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9495#if defined(MFC_OpenACC)
9496# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9497!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9498# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9499#elif defined(MFC_OpenMP)
9500# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9501
9502# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9503
9504# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9505
9506# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9507!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9508# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9509!$omp& private(j, k, l, q, inv_ds, flux_face1)
9510# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9511#endif
9512 do j = 1, sys_size
9513 do k = 0, p
9514 do q = 0, n
9515 do l = 0, m
9516 inv_ds = 1._wp/dz(k)
9517 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9518 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*flux_face1
9519 end do
9520 end do
9521 end do
9522 end do
9523
9524# 1386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9525#if defined(MFC_OpenACC)
9526# 1386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9527!$acc end parallel loop
9528# 1386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9529#elif defined(MFC_OpenMP)
9530# 1386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9531
9532# 1386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9533!$omp end target teams loop
9534# 1386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9535#endif
9536 end if
9537 end if
9538
9539 if (model_eqns == model_eqns_6eq) then
9540
9541# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9542
9543# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9544#if defined(MFC_OpenACC)
9545# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9546!$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)
9547# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9548#elif defined(MFC_OpenMP)
9549# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9550
9551# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9552
9553# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9554
9555# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9556!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9557# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9558!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9559# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9560#endif
9561# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9562 do k = 0, p
9563 do q = 0, n
9564 do l = 0, m
9565 do i_fluid_loop = 1, num_fluids
9566 inv_ds = 1._wp/dz(k)
9567 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(l, q, k)
9568 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(l, q, k)
9569 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k)
9570 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k - 1)
9571 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9572 & k) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9573 & k) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9574 end do
9575 end do
9576 end do
9577 end do
9578
9579# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9580#if defined(MFC_OpenACC)
9581# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9582!$acc end parallel loop
9583# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9584#elif defined(MFC_OpenMP)
9585# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9586
9587# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9588!$omp end target teams loop
9589# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9590#endif
9591 end if
9592
9593 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9594 end select
9595
9596 contains
9597
9598 !> Add the advection source flux-difference terms for a single coordinate direction to the RHS
9599 subroutine s_add_directional_advection_source_terms(current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, &
9600 & flux_src_n_vf_arg, Kterm_arg)
9601 integer, intent(in) :: current_idir
9602 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf_arg
9603 type(vector_field), intent(in) :: q_cons_vf_arg
9604 type(vector_field), intent(in) :: q_prim_vf_arg
9605 type(vector_field), intent(in) :: flux_src_n_vf_arg
9606 real(wp), allocatable, dimension(:,:,:), intent(in) :: Kterm_arg
9607 integer :: j_adv, k_idx, l_idx, q_idx
9608 real(wp) :: local_inv_ds, local_term_coeff, local_flux1, local_flux2
9609 real(wp) :: local_k_term_val
9610
9611 ! Three mutually exclusive modes for the NC volume fraction advection source term:
9612
9613 ! adv_src_mode_alpha_iface - HLL Method 1: flux_src carries per-fluid interface alpha_k
9614
9615 ! adv_src_mode_vel_iface - HLLC, HLL Method 2, Exact, LF: flux_src carries shared face-normal velocity
9616
9617 ! adv_src_mode_none - HLLD: MHD has no volume fractions; hypo uses dual-pass Riemann flux
9618
9619 select case (current_idir)
9620 case (1) ! x-direction
9621 if (adv_src_mode == adv_src_mode_alpha_iface) then
9622 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dx.
9623
9624# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9625
9626# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9627#if defined(MFC_OpenACC)
9628# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9629!$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)
9630# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9631#elif defined(MFC_OpenMP)
9632# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9633
9634# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9635
9636# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9637
9638# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9639!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9640# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9641!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9642# 1442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9643#endif
9644# 1444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9645 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9646 do q_idx = 0, p ! z_extent
9647 do l_idx = 0, n ! y_extent
9648 do k_idx = 0, m ! x_extent
9649 local_inv_ds = 1._wp/dx(k_idx)
9650 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(k_idx, l_idx, q_idx)
9651 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx - 1, l_idx, q_idx)
9652 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9653 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9654 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9655 end do
9656 end do
9657 end do
9658 end do
9659
9660# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9661#if defined(MFC_OpenACC)
9662# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9663!$acc end parallel loop
9664# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9665#elif defined(MFC_OpenMP)
9666# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9667
9668# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9669!$omp end target teams loop
9670# 1458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9671#endif
9672 if (alt_soundspeed) then ! K*div(u) correction
9673
9674# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9675
9676# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9677#if defined(MFC_OpenACC)
9678# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9679!$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)
9680# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9681#elif defined(MFC_OpenMP)
9682# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9683
9684# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9685
9686# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9687
9688# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9689!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9690# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9691!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9692# 1460 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9693#endif
9694# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9695 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9696 local_inv_ds = 1._wp/dx(k_idx)
9697 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9698 local_flux1 = nc_iface_vel_n(1)%vf(1)%sf(k_idx, l_idx, q_idx)
9699 local_flux2 = nc_iface_vel_n(1)%vf(1)%sf(k_idx - 1, l_idx, q_idx)
9700 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, &
9701 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9702 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, &
9703 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9704 end do; end do; end do
9705
9706# 1472 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9707#if defined(MFC_OpenACC)
9708# 1472 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9709!$acc end parallel loop
9710# 1472 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9711#elif defined(MFC_OpenMP)
9712# 1472 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9713
9714# 1472 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9715!$omp end target teams loop
9716# 1472 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9717#endif
9718 end if
9719 else if (adv_src_mode == adv_src_mode_vel_iface) then
9720 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dx.
9721
9722# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9723
9724# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9725#if defined(MFC_OpenACC)
9726# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9727!$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)
9728# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9729#elif defined(MFC_OpenMP)
9730# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9731
9732# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9733
9734# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9735
9736# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9737!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9738# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9739!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9740# 1476 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9741#endif
9742# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9743 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9744 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9745 local_inv_ds = 1._wp/dx(k_idx)
9746 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9747 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9748 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9749 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9750 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9751 end do; end do; end do
9752 end do
9753
9754# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9755#if defined(MFC_OpenACC)
9756# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9757!$acc end parallel loop
9758# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9759#elif defined(MFC_OpenMP)
9760# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9761
9762# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9763!$omp end target teams loop
9764# 1488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9765#endif
9766 if (alt_soundspeed) then ! K*div(u) correction
9767
9768# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9769
9770# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9771#if defined(MFC_OpenACC)
9772# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9773!$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)
9774# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9775#elif defined(MFC_OpenMP)
9776# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9777
9778# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9779
9780# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9781
9782# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9783!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9784# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9785!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9786# 1490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9787#endif
9788# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9789 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9790 local_inv_ds = 1._wp/dx(k_idx)
9791 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9792 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9793 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9794 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, &
9795 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9796 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, &
9797 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9798 end do; end do; end do
9799
9800# 1502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9801#if defined(MFC_OpenACC)
9802# 1502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9803!$acc end parallel loop
9804# 1502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9805#elif defined(MFC_OpenMP)
9806# 1502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9807
9808# 1502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9809!$omp end target teams loop
9810# 1502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9811#endif
9812 end if
9813 end if
9814 case (2) ! y-direction
9815 if (adv_src_mode == adv_src_mode_alpha_iface) then
9816 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dy.
9817
9818# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9819
9820# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9821#if defined(MFC_OpenACC)
9822# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9823!$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)
9824# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9825#elif defined(MFC_OpenMP)
9826# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9827
9828# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9829
9830# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9831
9832# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9833!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9834# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9835!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9836# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9837#endif
9838# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9839 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9840 do l_idx = 0, p ! z_extent
9841 do k_idx = 0, n ! y_extent
9842 do q_idx = 0, m ! x_extent
9843 local_inv_ds = 1._wp/dy(k_idx)
9844 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(q_idx, k_idx, l_idx)
9845 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx - 1, l_idx)
9846 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
9847 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
9848 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9849 end do
9850 end do
9851 end do
9852 end do
9853
9854# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9855#if defined(MFC_OpenACC)
9856# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9857!$acc end parallel loop
9858# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9859#elif defined(MFC_OpenMP)
9860# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9861
9862# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9863!$omp end target teams loop
9864# 1524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9865#endif
9866 if (alt_soundspeed) then ! K*div(u) correction
9867
9868# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9869
9870# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9871#if defined(MFC_OpenACC)
9872# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9873!$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)
9874# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9875#elif defined(MFC_OpenMP)
9876# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9877
9878# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9879
9880# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9881
9882# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9883!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9884# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9885!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9886# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9887#endif
9888# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9889 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9890 local_inv_ds = 1._wp/dy(k_idx)
9891 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
9892 local_flux1 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx, l_idx)
9893 local_flux2 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx - 1, l_idx)
9894 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, &
9895 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9896 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, &
9897 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9898 end do; end do; end do
9899
9900# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9901#if defined(MFC_OpenACC)
9902# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9903!$acc end parallel loop
9904# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9905#elif defined(MFC_OpenMP)
9906# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9907
9908# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9909!$omp end target teams loop
9910# 1538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9911#endif
9912 if (cyl_coord) then
9913
9914# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9915
9916# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9917#if defined(MFC_OpenACC)
9918# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9919!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val)
9920# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9921#elif defined(MFC_OpenMP)
9922# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9923
9924# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9925
9926# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9927
9928# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9929!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9930# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9931!$omp& private(k_idx, l_idx, q_idx, local_k_term_val)
9932# 1540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9933#endif
9934 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9935 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
9936 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
9937 & k_idx, l_idx) + local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
9938 & k_idx, l_idx)/y_cc(k_idx)
9939 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
9940 & k_idx, l_idx) - local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
9941 & k_idx, l_idx)/y_cc(k_idx)
9942 end do; end do; end do
9943
9944# 1550 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9945#if defined(MFC_OpenACC)
9946# 1550 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9947!$acc end parallel loop
9948# 1550 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9949#elif defined(MFC_OpenMP)
9950# 1550 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9951
9952# 1550 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9953!$omp end target teams loop
9954# 1550 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9955#endif
9956 end if
9957 end if
9958 else if (adv_src_mode == adv_src_mode_vel_iface) then
9959 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dy.
9960
9961# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9962
9963# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9964#if defined(MFC_OpenACC)
9965# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9966!$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)
9967# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9968#elif defined(MFC_OpenMP)
9969# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9970
9971# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9972
9973# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9974
9975# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9976!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9977# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9978!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9979# 1555 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9980#endif
9981# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9982 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9983 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9984 local_inv_ds = 1._wp/dy(k_idx)
9985 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
9986 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
9987 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
9988 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
9989 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9990 end do; end do; end do
9991 end do
9992
9993# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9994#if defined(MFC_OpenACC)
9995# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9996!$acc end parallel loop
9997# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9998#elif defined(MFC_OpenMP)
9999# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10000
10001# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10002!$omp end target teams loop
10003# 1567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10004#endif
10005 if (alt_soundspeed) then ! K*div(u) correction
10006
10007# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10008
10009# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10010#if defined(MFC_OpenACC)
10011# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10012!$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)
10013# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10014#elif defined(MFC_OpenMP)
10015# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10016
10017# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10018
10019# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10020
10021# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10022!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10023# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10024!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10025# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10026#endif
10027# 1571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10028 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10029 local_inv_ds = 1._wp/dy(k_idx)
10030 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10031 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10032 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10033 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, &
10034 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10035 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, &
10036 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10037 end do; end do; end do
10038
10039# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10040#if defined(MFC_OpenACC)
10041# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10042!$acc end parallel loop
10043# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10044#elif defined(MFC_OpenMP)
10045# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10046
10047# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10048!$omp end target teams loop
10049# 1581 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10050#endif
10051 if (cyl_coord) then
10052
10053# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10054
10055# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10056#if defined(MFC_OpenACC)
10057# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10058!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10059# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10060#elif defined(MFC_OpenMP)
10061# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10062
10063# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10064
10065# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10066
10067# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10068!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10069# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10070!$omp& private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10071# 1583 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10072#endif
10073# 1585 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10074 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10075 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10076 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10077 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10078 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10079 & k_idx, l_idx) + (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10080 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10081 & k_idx, l_idx) - (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10082 end do; end do; end do
10083
10084# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10085#if defined(MFC_OpenACC)
10086# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10087!$acc end parallel loop
10088# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10089#elif defined(MFC_OpenMP)
10090# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10091
10092# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10093!$omp end target teams loop
10094# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10095#endif
10096 end if
10097 end if
10098 end if
10099 case (3) ! z-direction
10100 if (grid_geometry == 3) then
10101 if (adv_src_mode == adv_src_mode_alpha_iface) then
10102
10103# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10104
10105# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10106#if defined(MFC_OpenACC)
10107# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10108!$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)
10109# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10110#elif defined(MFC_OpenMP)
10111# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10112
10113# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10114
10115# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10116
10117# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10118!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10119# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10120!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10121# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10122#endif
10123# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10124 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10125 do k_idx = 0, p ! z_extent
10126 do q_idx = 0, n ! y_extent
10127 do l_idx = 0, m ! x_extent
10128 local_inv_ds = 1._wp/dz(k_idx)
10129 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10130 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10131 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10132 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10133 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10134 end do
10135 end do
10136 end do
10137 end do
10138
10139# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10140#if defined(MFC_OpenACC)
10141# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10142!$acc end parallel loop
10143# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10144#elif defined(MFC_OpenMP)
10145# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10146
10147# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10148!$omp end target teams loop
10149# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10150#endif
10151 if (alt_soundspeed) then ! K*div(u) correction
10152
10153# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10154
10155# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10156#if defined(MFC_OpenACC)
10157# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10158!$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)
10159# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10160#elif defined(MFC_OpenMP)
10161# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10162
10163# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10164
10165# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10166
10167# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10168!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10169# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10170!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10171# 1619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10172#endif
10173# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10174 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10175 local_inv_ds = 1._wp/dz(k_idx)
10176 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10177 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10178 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10179 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10180 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10181 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10182 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10183 end do; end do; end do
10184
10185# 1631 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10186#if defined(MFC_OpenACC)
10187# 1631 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10188!$acc end parallel loop
10189# 1631 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10190#elif defined(MFC_OpenMP)
10191# 1631 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10192
10193# 1631 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10194!$omp end target teams loop
10195# 1631 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10196#endif
10197 end if
10198 else if (adv_src_mode == adv_src_mode_vel_iface) then
10199 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10200
10201# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10202
10203# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10204#if defined(MFC_OpenACC)
10205# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10206!$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)
10207# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10208#elif defined(MFC_OpenMP)
10209# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10210
10211# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10212
10213# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10214
10215# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10216!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10217# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10218!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10219# 1635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10220#endif
10221# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10222 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10223 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10224 local_inv_ds = 1._wp/dz(k_idx)
10225 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10226 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10227 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10228 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10229 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10230 end do; end do; end do
10231 end do
10232
10233# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10234#if defined(MFC_OpenACC)
10235# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10236!$acc end parallel loop
10237# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10238#elif defined(MFC_OpenMP)
10239# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10240
10241# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10242!$omp end target teams loop
10243# 1647 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10244#endif
10245 if (alt_soundspeed) then ! K*div(u) correction
10246
10247# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10248
10249# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10250#if defined(MFC_OpenACC)
10251# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10252!$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)
10253# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10254#elif defined(MFC_OpenMP)
10255# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10256
10257# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10258
10259# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10260
10261# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10262!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10263# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10264!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10265# 1649 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10266#endif
10267# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10268 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10269 local_inv_ds = 1._wp/dz(k_idx)
10270 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10271 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10272 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10273 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10274 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10275 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10276 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10277 end do; end do; end do
10278
10279# 1661 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10280#if defined(MFC_OpenACC)
10281# 1661 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10282!$acc end parallel loop
10283# 1661 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10284#elif defined(MFC_OpenMP)
10285# 1661 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10286
10287# 1661 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10288!$omp end target teams loop
10289# 1661 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10290#endif
10291 end if
10292 end if
10293 else ! non-cylindrical z-direction
10294 if (adv_src_mode == adv_src_mode_alpha_iface) then
10295 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dz.
10296
10297# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10298
10299# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10300#if defined(MFC_OpenACC)
10301# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10302!$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)
10303# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10304#elif defined(MFC_OpenMP)
10305# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10306
10307# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10308
10309# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10310
10311# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10312!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10313# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10314!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10315# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10316#endif
10317# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10318 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10319 do k_idx = 0, p ! z_extent
10320 do q_idx = 0, n ! y_extent
10321 do l_idx = 0, m ! x_extent
10322 local_inv_ds = 1._wp/dz(k_idx)
10323 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10324 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10325 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10326 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10327 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10328 end do
10329 end do
10330 end do
10331 end do
10332
10333# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10334#if defined(MFC_OpenACC)
10335# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10336!$acc end parallel loop
10337# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10338#elif defined(MFC_OpenMP)
10339# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10340
10341# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10342!$omp end target teams loop
10343# 1683 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10344#endif
10345 if (alt_soundspeed) then ! K*div(u) correction
10346
10347# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10348
10349# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10350#if defined(MFC_OpenACC)
10351# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10352!$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)
10353# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10354#elif defined(MFC_OpenMP)
10355# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10356
10357# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10358
10359# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10360
10361# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10362!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10363# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10364!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10365# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10366#endif
10367# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10368 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10369 local_inv_ds = 1._wp/dz(k_idx)
10370 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10371 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10372 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10373 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10374 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10375 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10376 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10377 end do; end do; end do
10378
10379# 1697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10380#if defined(MFC_OpenACC)
10381# 1697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10382!$acc end parallel loop
10383# 1697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10384#elif defined(MFC_OpenMP)
10385# 1697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10386
10387# 1697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10388!$omp end target teams loop
10389# 1697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10390#endif
10391 end if
10392 else if (adv_src_mode == adv_src_mode_vel_iface) then
10393 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10394
10395# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10396
10397# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10398#if defined(MFC_OpenACC)
10399# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10400!$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)
10401# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10402#elif defined(MFC_OpenMP)
10403# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10404
10405# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10406
10407# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10408
10409# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10410!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10411# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10412!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10413# 1701 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10414#endif
10415# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10416 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10417 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10418 local_inv_ds = 1._wp/dz(k_idx)
10419 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10420 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10421 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10422 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10423 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10424 end do; end do; end do
10425 end do
10426
10427# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10428#if defined(MFC_OpenACC)
10429# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10430!$acc end parallel loop
10431# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10432#elif defined(MFC_OpenMP)
10433# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10434
10435# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10436!$omp end target teams loop
10437# 1713 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10438#endif
10439 if (alt_soundspeed) then ! K*div(u) correction
10440
10441# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10442
10443# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10444#if defined(MFC_OpenACC)
10445# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10446!$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)
10447# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10448#elif defined(MFC_OpenMP)
10449# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10450
10451# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10452
10453# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10454
10455# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10456!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10457# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10458!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10459# 1715 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10460#endif
10461# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10462 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10463 local_inv_ds = 1._wp/dz(k_idx)
10464 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10465 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10466 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10467 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10468 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10469 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10470 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10471 end do; end do; end do
10472
10473# 1727 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10474#if defined(MFC_OpenACC)
10475# 1727 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10476!$acc end parallel loop
10477# 1727 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10478#elif defined(MFC_OpenMP)
10479# 1727 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10480
10481# 1727 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10482!$omp end target teams loop
10483# 1727 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10484#endif
10485 end if
10486 end if
10487 end if
10488 end select
10489
10491
10492 end subroutine s_compute_advection_source_term
10493
10494 !> Add viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given direction
10495 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)
10496
10497 integer, intent(in) :: idir
10498 type(scalar_field), dimension(sys_size), intent(in) :: q_prim_vf
10499 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
10500 type(scalar_field), dimension(sys_size), intent(in) :: flux_src_n_in
10501 type(scalar_field), dimension(sys_size), intent(in) :: dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf
10502 integer :: i, j, k, l
10503
10504 if (idir == 1) then ! x-direction
10505 if (surface_tension) then
10506
10507# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10508
10509# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10510#if defined(MFC_OpenACC)
10511# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10512!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10513# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10514#elif defined(MFC_OpenMP)
10515# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10516
10517# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10518
10519# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10520
10521# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10522!$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)
10523# 1749 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10524#endif
10525 do l = 0, p
10526 do k = 0, n
10527 do j = 0, m
10528 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10529 & 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, &
10530 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j - 1, k, l))
10531 end do
10532 end do
10533 end do
10534
10535# 1759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10536#if defined(MFC_OpenACC)
10537# 1759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10538!$acc end parallel loop
10539# 1759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10540#elif defined(MFC_OpenMP)
10541# 1759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10542
10543# 1759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10544!$omp end target teams loop
10545# 1759 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10546#endif
10547 end if
10548
10549 if ((surface_tension .or. viscous) .or. chem_params%diffusion) then
10550
10551# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10552
10553# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10554#if defined(MFC_OpenACC)
10555# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10556!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10557# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10558#elif defined(MFC_OpenMP)
10559# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10560
10561# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10562
10563# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10564
10565# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10566!$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)
10567# 1763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10568#endif
10569 do l = 0, p
10570 do k = 0, n
10571 do j = 0, m
10572 if (surface_tension .or. viscous) then
10573
10574# 1768 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10575#if defined(MFC_OpenACC)
10576# 1768 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10577!$acc loop seq
10578# 1768 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10579#elif defined(MFC_OpenMP)
10580# 1768 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10581
10582# 1768 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10583#endif
10584 do i = eqn_idx%mom%beg, eqn_idx%E
10585 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, &
10586 & l) - flux_src_n_in(i)%sf(j, k, l))
10587 end do
10588 end if
10589
10590 if (chem_params%diffusion) then
10591
10592# 1776 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10593#if defined(MFC_OpenACC)
10594# 1776 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10595!$acc loop seq
10596# 1776 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10597#elif defined(MFC_OpenMP)
10598# 1776 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10599
10600# 1776 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10601#endif
10602 do i = eqn_idx%species%beg, eqn_idx%species%end
10603 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, &
10604 & l) - flux_src_n_in(i)%sf(j, k, l))
10605 end do
10606
10607 if (.not. viscous) then
10608 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10609 & l) + 1._wp/dx(j)*(flux_src_n_in(eqn_idx%E)%sf(j - 1, k, &
10610 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10611 end if
10612 end if
10613 end do
10614 end do
10615 end do
10616
10617# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10618#if defined(MFC_OpenACC)
10619# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10620!$acc end parallel loop
10621# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10622#elif defined(MFC_OpenMP)
10623# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10624
10625# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10626!$omp end target teams loop
10627# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10628#endif
10629 end if
10630 else if (idir == 2) then ! y-direction
10631 if (surface_tension) then
10632
10633# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10634
10635# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10636#if defined(MFC_OpenACC)
10637# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10638!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10639# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10640#elif defined(MFC_OpenMP)
10641# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10642
10643# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10644
10645# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10646
10647# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10648!$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)
10649# 1795 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10650#endif
10651 do l = 0, p
10652 do k = 0, n
10653 do j = 0, m
10654 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10655 & 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, &
10656 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k - 1, l))
10657 end do
10658 end do
10659 end do
10660
10661# 1805 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10662#if defined(MFC_OpenACC)
10663# 1805 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10664!$acc end parallel loop
10665# 1805 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10666#elif defined(MFC_OpenMP)
10667# 1805 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10668
10669# 1805 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10670!$omp end target teams loop
10671# 1805 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10672#endif
10673 end if
10674
10675 if (cyl_coord .and. ((bc_y%beg == -2) .or. (bc_y%beg == -14))) then
10676 if (viscous) then
10677 if (p > 0) then
10678 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, &
10679 & dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10680 & dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10681 else
10682 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, &
10683 & dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10684 & dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10685 end if
10686
10687
10688# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10689
10690# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10691#if defined(MFC_OpenACC)
10692# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10693!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10694# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10695#elif defined(MFC_OpenMP)
10696# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10697
10698# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10699
10700# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10701
10702# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10703!$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)
10704# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10705#endif
10706 do l = 0, p
10707 do j = 0, m
10708
10709# 1823 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10710#if defined(MFC_OpenACC)
10711# 1823 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10712!$acc loop seq
10713# 1823 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10714#elif defined(MFC_OpenMP)
10715# 1823 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10716
10717# 1823 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10718#endif
10719 do i = eqn_idx%mom%beg, eqn_idx%E
10720 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, &
10721 & -1, l) - tau_re_vf(i)%sf(j, 1, l))
10722 end do
10723 end do
10724 end do
10725
10726# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10727#if defined(MFC_OpenACC)
10728# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10729!$acc end parallel loop
10730# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10731#elif defined(MFC_OpenMP)
10732# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10733
10734# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10735!$omp end target teams loop
10736# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10737#endif
10738 end if
10739
10740
10741# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10742
10743# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10744#if defined(MFC_OpenACC)
10745# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10746!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10747# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10748#elif defined(MFC_OpenMP)
10749# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10750
10751# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10752
10753# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10754
10755# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10756!$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)
10757# 1833 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10758#endif
10759 do l = 0, p
10760 do k = 1, n
10761 do j = 0, m
10762
10763# 1837 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10764#if defined(MFC_OpenACC)
10765# 1837 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10766!$acc loop seq
10767# 1837 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10768#elif defined(MFC_OpenMP)
10769# 1837 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10770
10771# 1837 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10772#endif
10773 do i = eqn_idx%mom%beg, eqn_idx%E
10774 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, &
10775 & l) - flux_src_n_in(i)%sf(j, k, l))
10776 end do
10777 end do
10778 end do
10779 end do
10780
10781# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10782#if defined(MFC_OpenACC)
10783# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10784!$acc end parallel loop
10785# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10786#elif defined(MFC_OpenMP)
10787# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10788
10789# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10790!$omp end target teams loop
10791# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10792#endif
10793 else
10794 if ((surface_tension .or. viscous) .or. chem_params%diffusion) then
10795
10796# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10797
10798# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10799#if defined(MFC_OpenACC)
10800# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10801!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10802# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10803#elif defined(MFC_OpenMP)
10804# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10805
10806# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10807
10808# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10809
10810# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10811!$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)
10812# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10813#endif
10814 do l = 0, p
10815 do k = 0, n
10816 do j = 0, m
10817 if (surface_tension .or. viscous) then
10818
10819# 1853 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10820#if defined(MFC_OpenACC)
10821# 1853 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10822!$acc loop seq
10823# 1853 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10824#elif defined(MFC_OpenMP)
10825# 1853 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10826
10827# 1853 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10828#endif
10829 do i = eqn_idx%mom%beg, eqn_idx%E
10830 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, &
10831 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
10832 end do
10833 end if
10834
10835 if (chem_params%diffusion) then
10836
10837# 1861 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10838#if defined(MFC_OpenACC)
10839# 1861 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10840!$acc loop seq
10841# 1861 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10842#elif defined(MFC_OpenMP)
10843# 1861 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10844
10845# 1861 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10846#endif
10847 do i = eqn_idx%species%beg, eqn_idx%species%end
10848 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, &
10849 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
10850 end do
10851 if (.not. viscous) then
10852 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10853 & l) + 1._wp/dy(k)*(flux_src_n_in(eqn_idx%E)%sf(j, k - 1, &
10854 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10855 end if
10856 end if
10857 end do
10858 end do
10859 end do
10860
10861# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10862#if defined(MFC_OpenACC)
10863# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10864!$acc end parallel loop
10865# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10866#elif defined(MFC_OpenMP)
10867# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10868
10869# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10870!$omp end target teams loop
10871# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10872#endif
10873 end if
10874 end if
10875
10876 ! Applying the geometrical viscous Riemann source fluxes calculated as average of values at cell boundaries
10877 if (cyl_coord) then
10878 if ((bc_y%beg == -2) .or. (bc_y%beg == -14)) then
10879
10880# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10881
10882# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10883#if defined(MFC_OpenACC)
10884# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10885!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10886# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10887#elif defined(MFC_OpenMP)
10888# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10889
10890# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10891
10892# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10893
10894# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10895!$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)
10896# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10897#endif
10898 do l = 0, p
10899 do k = 1, n
10900 do j = 0, m
10901
10902# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10903#if defined(MFC_OpenACC)
10904# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10905!$acc loop seq
10906# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10907#elif defined(MFC_OpenMP)
10908# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10909
10910# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10911#endif
10912 do i = eqn_idx%mom%beg, eqn_idx%E
10913 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, &
10914 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
10915 end do
10916 end do
10917 end do
10918 end do
10919
10920# 1894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10921#if defined(MFC_OpenACC)
10922# 1894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10923!$acc end parallel loop
10924# 1894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10925#elif defined(MFC_OpenMP)
10926# 1894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10927
10928# 1894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10929!$omp end target teams loop
10930# 1894 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10931#endif
10932
10933 if (viscous) then
10934
10935# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10936
10937# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10938#if defined(MFC_OpenACC)
10939# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10940!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10941# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10942#elif defined(MFC_OpenMP)
10943# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10944
10945# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10946
10947# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10948
10949# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10950!$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)
10951# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10952#endif
10953 do l = 0, p
10954 do j = 0, m
10955
10956# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10957#if defined(MFC_OpenACC)
10958# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10959!$acc loop seq
10960# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10961#elif defined(MFC_OpenMP)
10962# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10963
10964# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10965#endif
10966 do i = eqn_idx%mom%beg, eqn_idx%E
10967 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)
10968 end do
10969 end do
10970 end do
10971
10972# 1906 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10973#if defined(MFC_OpenACC)
10974# 1906 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10975!$acc end parallel loop
10976# 1906 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10977#elif defined(MFC_OpenMP)
10978# 1906 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10979
10980# 1906 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10981!$omp end target teams loop
10982# 1906 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10983#endif
10984 end if
10985 else
10986
10987# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10988
10989# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10990#if defined(MFC_OpenACC)
10991# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10992!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10993# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10994#elif defined(MFC_OpenMP)
10995# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10996
10997# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10998
10999# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11000
11001# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11002!$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)
11003# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11004#endif
11005 do l = 0, p
11006 do k = 0, n
11007 do j = 0, m
11008
11009# 1913 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11010#if defined(MFC_OpenACC)
11011# 1913 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11012!$acc loop seq
11013# 1913 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11014#elif defined(MFC_OpenMP)
11015# 1913 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11016
11017# 1913 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11018#endif
11019 do i = eqn_idx%mom%beg, eqn_idx%E
11020 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, &
11021 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
11022 end do
11023 end do
11024 end do
11025 end do
11026
11027# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11028#if defined(MFC_OpenACC)
11029# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11030!$acc end parallel loop
11031# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11032#elif defined(MFC_OpenMP)
11033# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11034
11035# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11036!$omp end target teams loop
11037# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11038#endif
11039 end if
11040 end if
11041 else if (idir == 3) then ! z-direction
11042 if (surface_tension) then
11043
11044# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11045
11046# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11047#if defined(MFC_OpenACC)
11048# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11049!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11050# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11051#elif defined(MFC_OpenMP)
11052# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11053
11054# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11055
11056# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11057
11058# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11059!$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)
11060# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11061#endif
11062 do l = 0, p
11063 do k = 0, n
11064 do j = 0, m
11065 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
11066 & 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, &
11067 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, l - 1))
11068 end do
11069 end do
11070 end do
11071
11072# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11073#if defined(MFC_OpenACC)
11074# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11075!$acc end parallel loop
11076# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11077#elif defined(MFC_OpenMP)
11078# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11079
11080# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11081!$omp end target teams loop
11082# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11083#endif
11084 end if
11085
11086 if ((surface_tension .or. viscous) .or. chem_params%diffusion) then
11087
11088# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11089
11090# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11091#if defined(MFC_OpenACC)
11092# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11093!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11094# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11095#elif defined(MFC_OpenMP)
11096# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11097
11098# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11099
11100# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11101
11102# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11103!$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)
11104# 1940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11105#endif
11106 do l = 0, p
11107 do k = 0, n
11108 do j = 0, m
11109 if (surface_tension .or. viscous) then
11110
11111# 1945 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11112#if defined(MFC_OpenACC)
11113# 1945 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11114!$acc loop seq
11115# 1945 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11116#elif defined(MFC_OpenMP)
11117# 1945 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11118
11119# 1945 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11120#endif
11121 do i = eqn_idx%mom%beg, eqn_idx%E
11122 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, &
11123 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11124 end do
11125 end if
11126
11127 if (chem_params%diffusion) then
11128
11129# 1953 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11130#if defined(MFC_OpenACC)
11131# 1953 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11132!$acc loop seq
11133# 1953 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11134#elif defined(MFC_OpenMP)
11135# 1953 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11136
11137# 1953 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11138#endif
11139 do i = eqn_idx%species%beg, eqn_idx%species%end
11140 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, &
11141 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11142 end do
11143 if (.not. viscous) then
11144 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11145 & l) + 1._wp/dz(l)*(flux_src_n_in(eqn_idx%E)%sf(j, k, &
11146 & l - 1) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11147 end if
11148 end if
11149 end do
11150 end do
11151 end do
11152
11153# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11154#if defined(MFC_OpenACC)
11155# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11156!$acc end parallel loop
11157# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11158#elif defined(MFC_OpenMP)
11159# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11160
11161# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11162!$omp end target teams loop
11163# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11164#endif
11165 end if
11166
11167 if (grid_geometry == 3) then
11168
11169# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11170
11171# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11172#if defined(MFC_OpenACC)
11173# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11174!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11175# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11176#elif defined(MFC_OpenMP)
11177# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11178
11179# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11180
11181# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11182
11183# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11184!$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)
11185# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11186#endif
11187 do l = 0, p
11188 do k = 0, n
11189 do j = 0, m
11190 rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
11191 & l) + 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%end)%sf(j, k, &
11192 & l - 1) + flux_src_n_in(eqn_idx%mom%end)%sf(j, k, l))
11193
11194 rhs_vf(eqn_idx%mom%end)%sf(j, k, l) = rhs_vf(eqn_idx%mom%end)%sf(j, k, &
11195 & l) - 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, &
11196 & l - 1) + flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, l))
11197 end do
11198 end do
11199 end do
11200
11201# 1985 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11202#if defined(MFC_OpenACC)
11203# 1985 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11204!$acc end parallel loop
11205# 1985 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11206#elif defined(MFC_OpenMP)
11207# 1985 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11208
11209# 1985 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11210!$omp end target teams loop
11211# 1985 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11212#endif
11213 end if
11214 end if
11215
11217
11218 !> Reconstruct left and right cell-boundary values from cell-averaged variables
11219 subroutine s_reconstruct_cell_boundary_values(v_vf, vL_x, vR_x, norm_dir)
11220
11221 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11222 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11223 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11224 integer, intent(in) :: norm_dir
11225 integer :: recon_dir !< Coordinate direction of the reconstruction
11226 integer :: i, j, k, l
11227
11228# 2002 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11229 if (recon_type == recon_type_weno) then
11230 ! Reconstruction in s1-direction
11231 if (norm_dir == 1) then
11232 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11233 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11234 is1%end = is1%end - weno_polyn
11235 else if (norm_dir == 2) then
11236 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11237 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11238 is1%end = is1%end - weno_polyn
11239 else
11240 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11241 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11242 is1%end = is1%end - weno_polyn
11243 end if
11244
11245 call s_weno (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11246 & is2, is3)
11247 end if
11248# 2002 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11249 if (recon_type == recon_type_muscl) then
11250 ! Reconstruction in s1-direction
11251 if (norm_dir == 1) then
11252 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11253 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11254 is1%end = is1%end - muscl_polyn
11255 else if (norm_dir == 2) then
11256 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11257 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11258 is1%end = is1%end - muscl_polyn
11259 else
11260 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11261 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11262 is1%end = is1%end - muscl_polyn
11263 end if
11264
11265 call s_muscl (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11266 & is2, is3)
11267 end if
11268# 2022 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11269
11271
11272 !> Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values
11273 subroutine s_reconstruct_cell_boundary_values_first_order(v_vf, vL_x, vR_x, norm_dir)
11274
11275 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11276 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11277 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11278 integer, intent(in) :: norm_dir
11279 integer :: recon_dir !< Coordinate direction of the reconstruction
11280 integer :: i, j, k, l
11281 ! Reconstruction in s1-direction
11282
11283# 2037 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11284 if (recon_type == recon_type_weno) then
11285 if (norm_dir == 1) then
11286 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11287 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11288 is1%end = is1%end - weno_polyn
11289 else if (norm_dir == 2) then
11290 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11291 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11292 is1%end = is1%end - weno_polyn
11293 else
11294 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11295 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11296 is1%end = is1%end - weno_polyn
11297 end if
11298
11299
11300# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11301#if defined(MFC_OpenACC)
11302# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11303!$acc update device(is1, is2, is3, iv)
11304# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11305#elif defined(MFC_OpenMP)
11306# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11307!$omp target update to(is1, is2, is3, iv)
11308# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11309#endif
11310 end if
11311# 2037 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11312 if (recon_type == recon_type_muscl) then
11313 if (norm_dir == 1) then
11314 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11315 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11316 is1%end = is1%end - muscl_polyn
11317 else if (norm_dir == 2) then
11318 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11319 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11320 is1%end = is1%end - muscl_polyn
11321 else
11322 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11323 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11324 is1%end = is1%end - muscl_polyn
11325 end if
11326
11327
11328# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11329#if defined(MFC_OpenACC)
11330# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11331!$acc update device(is1, is2, is3, iv)
11332# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11333#elif defined(MFC_OpenMP)
11334# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11335!$omp target update to(is1, is2, is3, iv)
11336# 2052 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11337#endif
11338 end if
11339# 2055 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11340
11341 if (recon_dir == 1) then
11342
11343# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11344
11345# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11346#if defined(MFC_OpenACC)
11347# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11348!$acc parallel loop collapse(4) gang vector default(present)
11349# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11350#elif defined(MFC_OpenMP)
11351# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11352
11353# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11354
11355# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11356
11357# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11358!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11359# 2057 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11360#endif
11361 do i = iv%beg, iv%end
11362 do l = is3%beg, is3%end
11363 do k = is2%beg, is2%end
11364 do j = is1%beg, is1%end
11365 vl_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11366 vr_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11367 end do
11368 end do
11369 end do
11370 end do
11371
11372# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11373#if defined(MFC_OpenACC)
11374# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11375!$acc end parallel loop
11376# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11377#elif defined(MFC_OpenMP)
11378# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11379
11380# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11381!$omp end target teams loop
11382# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11383#endif
11384 else if (recon_dir == 2) then
11385
11386# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11387
11388# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11389#if defined(MFC_OpenACC)
11390# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11391!$acc parallel loop collapse(4) gang vector default(present)
11392# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11393#elif defined(MFC_OpenMP)
11394# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11395
11396# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11397
11398# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11399
11400# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11401!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11402# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11403#endif
11404 do i = iv%beg, iv%end
11405 do l = is3%beg, is3%end
11406 do j = is1%beg, is1%end
11407 do k = is2%beg, is2%end
11408 vl_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11409 vr_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11410 end do
11411 end do
11412 end do
11413 end do
11414
11415# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11416#if defined(MFC_OpenACC)
11417# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11418!$acc end parallel loop
11419# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11420#elif defined(MFC_OpenMP)
11421# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11422
11423# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11424!$omp end target teams loop
11425# 2081 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11426#endif
11427 else if (recon_dir == 3) then
11428
11429# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11430
11431# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11432#if defined(MFC_OpenACC)
11433# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11434!$acc parallel loop collapse(4) gang vector default(present)
11435# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11436#elif defined(MFC_OpenMP)
11437# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11438
11439# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11440
11441# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11442
11443# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11444!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11445# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11446#endif
11447 do i = iv%beg, iv%end
11448 do j = is1%beg, is1%end
11449 do k = is2%beg, is2%end
11450 do l = is3%beg, is3%end
11451 vl_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11452 vr_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11453 end do
11454 end do
11455 end do
11456 end do
11457
11458# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11459#if defined(MFC_OpenACC)
11460# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11461!$acc end parallel loop
11462# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11463#elif defined(MFC_OpenMP)
11464# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11465
11466# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11467!$omp end target teams loop
11468# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11469#endif
11470 end if
11471
11473
11474 !> Module deallocation and/or disassociation procedures
11475 impure subroutine s_finalize_rhs_module
11476
11477 integer :: i, j, l
11478
11479 call s_finalize_pressure_relaxation_module
11480
11481 if (.not. igr) then
11482 do j = eqn_idx%cont%beg, eqn_idx%cont%end
11483 if (relativity) then
11484 ! Cons and Prim densities are different for relativity
11485#ifdef MFC_DEBUG
11486# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11487 block
11488# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11489 use iso_fortran_env, only: output_unit
11490# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11491
11492# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11493 print *, 'm_rhs.fpp:2110: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11494# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11495
11496# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11497 call flush (output_unit)
11498# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11499 end block
11500# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11501#endif
11502# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11503
11504# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11505#if defined(MFC_OpenACC)
11506# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11507!$acc exit data delete(q_cons_qp%vf(j)%sf)
11508# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11509#elif defined(MFC_OpenMP)
11510# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11511!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11512# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11513#endif
11514# 2110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11515 deallocate (q_cons_qp%vf(j)%sf)
11516#ifdef MFC_DEBUG
11517# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11518 block
11519# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11520 use iso_fortran_env, only: output_unit
11521# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11522
11523# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11524 print *, 'm_rhs.fpp:2111: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11525# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11526
11527# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11528 call flush (output_unit)
11529# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11530 end block
11531# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11532#endif
11533# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11534
11535# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11536#if defined(MFC_OpenACC)
11537# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11538!$acc exit data delete(q_prim_qp%vf(j)%sf)
11539# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11540#elif defined(MFC_OpenMP)
11541# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11542!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11543# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11544#endif
11545# 2111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11546 deallocate (q_prim_qp%vf(j)%sf)
11547 else
11548 nullify (q_prim_qp%vf(j)%sf)
11549 end if
11550 end do
11551
11552 do j = eqn_idx%adv%beg, eqn_idx%adv%end
11553 nullify (q_prim_qp%vf(j)%sf)
11554 end do
11555
11556 do j = eqn_idx%mom%beg, eqn_idx%E
11557#ifdef MFC_DEBUG
11558# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11559 block
11560# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11561 use iso_fortran_env, only: output_unit
11562# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11563
11564# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11565 print *, 'm_rhs.fpp:2122: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11566# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11567
11568# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11569 call flush (output_unit)
11570# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11571 end block
11572# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11573#endif
11574# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11575
11576# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11577#if defined(MFC_OpenACC)
11578# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11579!$acc exit data delete(q_cons_qp%vf(j)%sf)
11580# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11581#elif defined(MFC_OpenMP)
11582# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11583!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11584# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11585#endif
11586# 2122 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11587 deallocate (q_cons_qp%vf(j)%sf)
11588#ifdef MFC_DEBUG
11589# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11590 block
11591# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11592 use iso_fortran_env, only: output_unit
11593# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11594
11595# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11596 print *, 'm_rhs.fpp:2123: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11597# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11598
11599# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11600 call flush (output_unit)
11601# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11602 end block
11603# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11604#endif
11605# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11606
11607# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11608#if defined(MFC_OpenACC)
11609# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11610!$acc exit data delete(q_prim_qp%vf(j)%sf)
11611# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11612#elif defined(MFC_OpenMP)
11613# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11614!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11615# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11616#endif
11617# 2123 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11618 deallocate (q_prim_qp%vf(j)%sf)
11619 end do
11620 end if
11621
11622#ifdef MFC_DEBUG
11623# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11624 block
11625# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11626 use iso_fortran_env, only: output_unit
11627# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11628
11629# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11630 print *, 'm_rhs.fpp:2127: ', '@:DEALLOCATE(q_cons_qp%vf, q_prim_qp%vf)'
11631# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11632
11633# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11634 call flush (output_unit)
11635# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11636 end block
11637# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11638#endif
11639# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11640
11641# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11642#if defined(MFC_OpenACC)
11643# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11644!$acc exit data delete(q_cons_qp%vf, q_prim_qp%vf)
11645# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11646#elif defined(MFC_OpenMP)
11647# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11648!$omp target exit data map(release:q_cons_qp%vf, q_prim_qp%vf)
11649# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11650#endif
11651# 2127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11652 deallocate (q_cons_qp%vf, q_prim_qp%vf)
11653
11654 if (.not. igr) then
11655#ifdef MFC_DEBUG
11656# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11657 block
11658# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11659 use iso_fortran_env, only: output_unit
11660# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11661
11662# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11663 print *, 'm_rhs.fpp:2130: ', '@:DEALLOCATE(qL_rsx_vf, qR_rsx_vf)'
11664# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11665
11666# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11667 call flush (output_unit)
11668# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11669 end block
11670# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11671#endif
11672# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11673
11674# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11675#if defined(MFC_OpenACC)
11676# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11677!$acc exit data delete(qL_rsx_vf, qR_rsx_vf)
11678# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11679#elif defined(MFC_OpenMP)
11680# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11681!$omp target exit data map(release:qL_rsx_vf, qR_rsx_vf)
11682# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11683#endif
11684# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11685 deallocate (ql_rsx_vf, qr_rsx_vf)
11686
11687 if (viscous) then
11688 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11689#ifdef MFC_DEBUG
11690# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11691 block
11692# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11693 use iso_fortran_env, only: output_unit
11694# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11695
11696# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11697 print *, 'm_rhs.fpp:2134: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf)'
11698# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11699
11700# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11701 call flush (output_unit)
11702# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11703 end block
11704# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11705#endif
11706# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11707
11708# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11709#if defined(MFC_OpenACC)
11710# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11711!$acc exit data delete(dq_prim_dx_qp(1)%vf(l)%sf)
11712# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11713#elif defined(MFC_OpenMP)
11714# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11715!$omp target exit data map(release:dq_prim_dx_qp(1)%vf(l)%sf)
11716# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11717#endif
11718# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11719 deallocate (dq_prim_dx_qp(1)%vf(l)%sf)
11720 end do
11721
11722 if (n > 0) then
11723 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11724#ifdef MFC_DEBUG
11725# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11726 block
11727# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11728 use iso_fortran_env, only: output_unit
11729# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11730
11731# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11732 print *, 'm_rhs.fpp:2139: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf)'
11733# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11734
11735# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11736 call flush (output_unit)
11737# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11738 end block
11739# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11740#endif
11741# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11742
11743# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11744#if defined(MFC_OpenACC)
11745# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11746!$acc exit data delete(dq_prim_dy_qp(1)%vf(l)%sf)
11747# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11748#elif defined(MFC_OpenMP)
11749# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11750!$omp target exit data map(release:dq_prim_dy_qp(1)%vf(l)%sf)
11751# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11752#endif
11753# 2139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11754 deallocate (dq_prim_dy_qp(1)%vf(l)%sf)
11755 end do
11756
11757 if (p > 0) then
11758 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11759#ifdef MFC_DEBUG
11760# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11761 block
11762# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11763 use iso_fortran_env, only: output_unit
11764# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11765
11766# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11767 print *, 'm_rhs.fpp:2144: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf)'
11768# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11769
11770# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11771 call flush (output_unit)
11772# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11773 end block
11774# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11775#endif
11776# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11777
11778# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11779#if defined(MFC_OpenACC)
11780# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11781!$acc exit data delete(dq_prim_dz_qp(1)%vf(l)%sf)
11782# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11783#elif defined(MFC_OpenMP)
11784# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11785!$omp target exit data map(release:dq_prim_dz_qp(1)%vf(l)%sf)
11786# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11787#endif
11788# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11789 deallocate (dq_prim_dz_qp(1)%vf(l)%sf)
11790 end do
11791 end if
11792 end if
11793
11794#ifdef MFC_DEBUG
11795# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11796 block
11797# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11798 use iso_fortran_env, only: output_unit
11799# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11800
11801# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11802 print *, 'm_rhs.fpp:2149: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf)'
11803# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11804
11805# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11806 call flush (output_unit)
11807# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11808 end block
11809# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11810#endif
11811# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11812
11813# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11814#if defined(MFC_OpenACC)
11815# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11816!$acc exit data delete(dq_prim_dx_qp(1)%vf)
11817# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11818#elif defined(MFC_OpenMP)
11819# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11820!$omp target exit data map(release:dq_prim_dx_qp(1)%vf)
11821# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11822#endif
11823# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11824 deallocate (dq_prim_dx_qp(1)%vf)
11825#ifdef MFC_DEBUG
11826# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11827 block
11828# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11829 use iso_fortran_env, only: output_unit
11830# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11831
11832# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11833 print *, 'm_rhs.fpp:2150: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf)'
11834# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11835
11836# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11837 call flush (output_unit)
11838# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11839 end block
11840# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11841#endif
11842# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11843
11844# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11845#if defined(MFC_OpenACC)
11846# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11847!$acc exit data delete(dq_prim_dy_qp(1)%vf)
11848# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11849#elif defined(MFC_OpenMP)
11850# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11851!$omp target exit data map(release:dq_prim_dy_qp(1)%vf)
11852# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11853#endif
11854# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11855 deallocate (dq_prim_dy_qp(1)%vf)
11856#ifdef MFC_DEBUG
11857# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11858 block
11859# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11860 use iso_fortran_env, only: output_unit
11861# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11862
11863# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11864 print *, 'm_rhs.fpp:2151: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf)'
11865# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11866
11867# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11868 call flush (output_unit)
11869# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11870 end block
11871# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11872#endif
11873# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11874
11875# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11876#if defined(MFC_OpenACC)
11877# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11878!$acc exit data delete(dq_prim_dz_qp(1)%vf)
11879# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11880#elif defined(MFC_OpenMP)
11881# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11882!$omp target exit data map(release:dq_prim_dz_qp(1)%vf)
11883# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11884#endif
11885# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11886 deallocate (dq_prim_dz_qp(1)%vf)
11887
11888 do i = num_dims, 1, -1
11889 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11890#ifdef MFC_DEBUG
11891# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11892 block
11893# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11894 use iso_fortran_env, only: output_unit
11895# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11896
11897# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11898 print *, 'm_rhs.fpp:2155: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf)'
11899# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11900
11901# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11902 call flush (output_unit)
11903# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11904 end block
11905# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11906#endif
11907# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11908
11909# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11910#if defined(MFC_OpenACC)
11911# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11912!$acc exit data delete(dqL_prim_dx_n(i)%vf(l)%sf)
11913# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11914#elif defined(MFC_OpenMP)
11915# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11916!$omp target exit data map(release:dqL_prim_dx_n(i)%vf(l)%sf)
11917# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11918#endif
11919# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11920 deallocate (dql_prim_dx_n(i)%vf(l)%sf)
11921#ifdef MFC_DEBUG
11922# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11923 block
11924# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11925 use iso_fortran_env, only: output_unit
11926# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11927
11928# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11929 print *, 'm_rhs.fpp:2156: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf)'
11930# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11931
11932# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11933 call flush (output_unit)
11934# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11935 end block
11936# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11937#endif
11938# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11939
11940# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11941#if defined(MFC_OpenACC)
11942# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11943!$acc exit data delete(dqR_prim_dx_n(i)%vf(l)%sf)
11944# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11945#elif defined(MFC_OpenMP)
11946# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11947!$omp target exit data map(release:dqR_prim_dx_n(i)%vf(l)%sf)
11948# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11949#endif
11950# 2156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11951 deallocate (dqr_prim_dx_n(i)%vf(l)%sf)
11952 end do
11953
11954 if (n > 0) then
11955 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11956#ifdef MFC_DEBUG
11957# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11958 block
11959# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11960 use iso_fortran_env, only: output_unit
11961# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11962
11963# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11964 print *, 'm_rhs.fpp:2161: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf)'
11965# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11966
11967# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11968 call flush (output_unit)
11969# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11970 end block
11971# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11972#endif
11973# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11974
11975# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11976#if defined(MFC_OpenACC)
11977# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11978!$acc exit data delete(dqL_prim_dy_n(i)%vf(l)%sf)
11979# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11980#elif defined(MFC_OpenMP)
11981# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11982!$omp target exit data map(release:dqL_prim_dy_n(i)%vf(l)%sf)
11983# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11984#endif
11985# 2161 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11986 deallocate (dql_prim_dy_n(i)%vf(l)%sf)
11987#ifdef MFC_DEBUG
11988# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11989 block
11990# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11991 use iso_fortran_env, only: output_unit
11992# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11993
11994# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11995 print *, 'm_rhs.fpp:2162: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf)'
11996# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11997
11998# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11999 call flush (output_unit)
12000# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12001 end block
12002# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12003#endif
12004# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12005
12006# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12007#if defined(MFC_OpenACC)
12008# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12009!$acc exit data delete(dqR_prim_dy_n(i)%vf(l)%sf)
12010# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12011#elif defined(MFC_OpenMP)
12012# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12013!$omp target exit data map(release:dqR_prim_dy_n(i)%vf(l)%sf)
12014# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12015#endif
12016# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12017 deallocate (dqr_prim_dy_n(i)%vf(l)%sf)
12018 end do
12019 end if
12020
12021 if (p > 0) then
12022 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12023#ifdef MFC_DEBUG
12024# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12025 block
12026# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12027 use iso_fortran_env, only: output_unit
12028# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12029
12030# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12031 print *, 'm_rhs.fpp:2168: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf)'
12032# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12033
12034# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12035 call flush (output_unit)
12036# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12037 end block
12038# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12039#endif
12040# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12041
12042# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12043#if defined(MFC_OpenACC)
12044# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12045!$acc exit data delete(dqL_prim_dz_n(i)%vf(l)%sf)
12046# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12047#elif defined(MFC_OpenMP)
12048# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12049!$omp target exit data map(release:dqL_prim_dz_n(i)%vf(l)%sf)
12050# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12051#endif
12052# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12053 deallocate (dql_prim_dz_n(i)%vf(l)%sf)
12054#ifdef MFC_DEBUG
12055# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12056 block
12057# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12058 use iso_fortran_env, only: output_unit
12059# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12060
12061# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12062 print *, 'm_rhs.fpp:2169: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf)'
12063# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12064
12065# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12066 call flush (output_unit)
12067# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12068 end block
12069# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12070#endif
12071# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12072
12073# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12074#if defined(MFC_OpenACC)
12075# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12076!$acc exit data delete(dqR_prim_dz_n(i)%vf(l)%sf)
12077# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12078#elif defined(MFC_OpenMP)
12079# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12080!$omp target exit data map(release:dqR_prim_dz_n(i)%vf(l)%sf)
12081# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12082#endif
12083# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12084 deallocate (dqr_prim_dz_n(i)%vf(l)%sf)
12085 end do
12086 end if
12087
12088#ifdef MFC_DEBUG
12089# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12090 block
12091# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12092 use iso_fortran_env, only: output_unit
12093# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12094
12095# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12096 print *, 'm_rhs.fpp:2173: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf)'
12097# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12098
12099# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12100 call flush (output_unit)
12101# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12102 end block
12103# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12104#endif
12105# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12106
12107# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12108#if defined(MFC_OpenACC)
12109# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12110!$acc exit data delete(dqL_prim_dx_n(i)%vf)
12111# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12112#elif defined(MFC_OpenMP)
12113# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12114!$omp target exit data map(release:dqL_prim_dx_n(i)%vf)
12115# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12116#endif
12117# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12118 deallocate (dql_prim_dx_n(i)%vf)
12119#ifdef MFC_DEBUG
12120# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12121 block
12122# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12123 use iso_fortran_env, only: output_unit
12124# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12125
12126# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12127 print *, 'm_rhs.fpp:2174: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf)'
12128# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12129
12130# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12131 call flush (output_unit)
12132# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12133 end block
12134# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12135#endif
12136# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12137
12138# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12139#if defined(MFC_OpenACC)
12140# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12141!$acc exit data delete(dqL_prim_dy_n(i)%vf)
12142# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12143#elif defined(MFC_OpenMP)
12144# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12145!$omp target exit data map(release:dqL_prim_dy_n(i)%vf)
12146# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12147#endif
12148# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12149 deallocate (dql_prim_dy_n(i)%vf)
12150#ifdef MFC_DEBUG
12151# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12152 block
12153# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12154 use iso_fortran_env, only: output_unit
12155# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12156
12157# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12158 print *, 'm_rhs.fpp:2175: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf)'
12159# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12160
12161# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12162 call flush (output_unit)
12163# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12164 end block
12165# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12166#endif
12167# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12168
12169# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12170#if defined(MFC_OpenACC)
12171# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12172!$acc exit data delete(dqL_prim_dz_n(i)%vf)
12173# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12174#elif defined(MFC_OpenMP)
12175# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12176!$omp target exit data map(release:dqL_prim_dz_n(i)%vf)
12177# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12178#endif
12179# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12180 deallocate (dql_prim_dz_n(i)%vf)
12181#ifdef MFC_DEBUG
12182# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12183 block
12184# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12185 use iso_fortran_env, only: output_unit
12186# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12187
12188# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12189 print *, 'm_rhs.fpp:2176: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf)'
12190# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12191
12192# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12193 call flush (output_unit)
12194# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12195 end block
12196# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12197#endif
12198# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12199
12200# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12201#if defined(MFC_OpenACC)
12202# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12203!$acc exit data delete(dqR_prim_dx_n(i)%vf)
12204# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12205#elif defined(MFC_OpenMP)
12206# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12207!$omp target exit data map(release:dqR_prim_dx_n(i)%vf)
12208# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12209#endif
12210# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12211 deallocate (dqr_prim_dx_n(i)%vf)
12212#ifdef MFC_DEBUG
12213# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12214 block
12215# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12216 use iso_fortran_env, only: output_unit
12217# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12218
12219# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12220 print *, 'm_rhs.fpp:2177: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf)'
12221# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12222
12223# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12224 call flush (output_unit)
12225# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12226 end block
12227# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12228#endif
12229# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12230
12231# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12232#if defined(MFC_OpenACC)
12233# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12234!$acc exit data delete(dqR_prim_dy_n(i)%vf)
12235# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12236#elif defined(MFC_OpenMP)
12237# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12238!$omp target exit data map(release:dqR_prim_dy_n(i)%vf)
12239# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12240#endif
12241# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12242 deallocate (dqr_prim_dy_n(i)%vf)
12243#ifdef MFC_DEBUG
12244# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12245 block
12246# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12247 use iso_fortran_env, only: output_unit
12248# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12249
12250# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12251 print *, 'm_rhs.fpp:2178: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf)'
12252# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12253
12254# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12255 call flush (output_unit)
12256# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12257 end block
12258# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12259#endif
12260# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12261
12262# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12263#if defined(MFC_OpenACC)
12264# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12265!$acc exit data delete(dqR_prim_dz_n(i)%vf)
12266# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12267#elif defined(MFC_OpenMP)
12268# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12269!$omp target exit data map(release:dqR_prim_dz_n(i)%vf)
12270# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12271#endif
12272# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12273 deallocate (dqr_prim_dz_n(i)%vf)
12274 end do
12275
12276 if (weno_re_flux) then
12277#ifdef MFC_DEBUG
12278# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12279 block
12280# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12281 use iso_fortran_env, only: output_unit
12282# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12283
12284# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12285 print *, 'm_rhs.fpp:2182: ', '@:DEALLOCATE(dqL_rsx_vf, dqR_rsx_vf)'
12286# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12287
12288# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12289 call flush (output_unit)
12290# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12291 end block
12292# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12293#endif
12294# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12295
12296# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12297#if defined(MFC_OpenACC)
12298# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12299!$acc exit data delete(dqL_rsx_vf, dqR_rsx_vf)
12300# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12301#elif defined(MFC_OpenMP)
12302# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12303!$omp target exit data map(release:dqL_rsx_vf, dqR_rsx_vf)
12304# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12305#endif
12306# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12307 deallocate (dql_rsx_vf, dqr_rsx_vf)
12308 end if
12309
12310 do i = 1, num_dims
12311#ifdef MFC_DEBUG
12312# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12313 block
12314# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12315 use iso_fortran_env, only: output_unit
12316# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12317
12318# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12319 print *, 'm_rhs.fpp:2186: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%cont%end + i)%sf)'
12320# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12321
12322# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12323 call flush (output_unit)
12324# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12325 end block
12326# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12327#endif
12328# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12329
12330# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12331#if defined(MFC_OpenACC)
12332# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12333!$acc exit data delete(tau_Re_vf(eqn_idx%cont%end + i)%sf)
12334# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12335#elif defined(MFC_OpenMP)
12336# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12337!$omp target exit data map(release:tau_Re_vf(eqn_idx%cont%end + i)%sf)
12338# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12339#endif
12340# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12341 deallocate (tau_re_vf(eqn_idx%cont%end + i)%sf)
12342 end do
12343#ifdef MFC_DEBUG
12344# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12345 block
12346# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12347 use iso_fortran_env, only: output_unit
12348# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12349
12350# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12351 print *, 'm_rhs.fpp:2188: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%E)%sf)'
12352# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12353
12354# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12355 call flush (output_unit)
12356# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12357 end block
12358# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12359#endif
12360# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12361
12362# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12363#if defined(MFC_OpenACC)
12364# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12365!$acc exit data delete(tau_Re_vf(eqn_idx%E)%sf)
12366# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12367#elif defined(MFC_OpenMP)
12368# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12369!$omp target exit data map(release:tau_Re_vf(eqn_idx%E)%sf)
12370# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12371#endif
12372# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12373 deallocate (tau_re_vf(eqn_idx%E)%sf)
12374#ifdef MFC_DEBUG
12375# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12376 block
12377# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12378 use iso_fortran_env, only: output_unit
12379# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12380
12381# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12382 print *, 'm_rhs.fpp:2189: ', '@:DEALLOCATE(tau_Re_vf)'
12383# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12384
12385# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12386 call flush (output_unit)
12387# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12388 end block
12389# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12390#endif
12391# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12392
12393# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12394#if defined(MFC_OpenACC)
12395# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12396!$acc exit data delete(tau_Re_vf)
12397# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12398#elif defined(MFC_OpenMP)
12399# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12400!$omp target exit data map(release:tau_Re_vf)
12401# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12402#endif
12403# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12404 deallocate (tau_re_vf)
12405 end if
12406#ifdef MFC_DEBUG
12407# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12408 block
12409# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12410 use iso_fortran_env, only: output_unit
12411# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12412
12413# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12414 print *, 'm_rhs.fpp:2191: ', '@:DEALLOCATE(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)'
12415# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12416
12417# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12418 call flush (output_unit)
12419# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12420 end block
12421# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12422#endif
12423# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12424
12425# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12426#if defined(MFC_OpenACC)
12427# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12428!$acc exit data delete(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12429# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12430#elif defined(MFC_OpenMP)
12431# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12432!$omp target exit data map(release:dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12433# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12434#endif
12435# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12437#ifdef MFC_DEBUG
12438# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12439 block
12440# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12441 use iso_fortran_env, only: output_unit
12442# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12443
12444# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12445 print *, 'm_rhs.fpp:2192: ', '@:DEALLOCATE(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)'
12446# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12447
12448# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12449 call flush (output_unit)
12450# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12451 end block
12452# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12453#endif
12454# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12455
12456# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12457#if defined(MFC_OpenACC)
12458# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12459!$acc exit data delete(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12460# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12461#elif defined(MFC_OpenMP)
12462# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12463!$omp target exit data map(release:dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12464# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12465#endif
12466# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12468 end if
12469
12470 if (mpp_lim .and. bubbles_euler) then
12471#ifdef MFC_DEBUG
12472# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12473 block
12474# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12475 use iso_fortran_env, only: output_unit
12476# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12477
12478# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12479 print *, 'm_rhs.fpp:2196: ', '@:DEALLOCATE(alf_sum%sf)'
12480# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12481
12482# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12483 call flush (output_unit)
12484# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12485 end block
12486# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12487#endif
12488# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12489
12490# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12491#if defined(MFC_OpenACC)
12492# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12493!$acc exit data delete(alf_sum%sf)
12494# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12495#elif defined(MFC_OpenMP)
12496# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12497!$omp target exit data map(release:alf_sum%sf)
12498# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12499#endif
12500# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12501 deallocate (alf_sum%sf)
12502 end if
12503
12504 if (.not. igr) then
12505 do i = num_dims, 1, -1
12506 if (i /= 1) then
12507 do l = 1, sys_size
12508 nullify (flux_n(i)%vf(l)%sf)
12509 nullify (flux_src_n(i)%vf(l)%sf)
12510#ifdef MFC_DEBUG
12511# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12512 block
12513# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12514 use iso_fortran_env, only: output_unit
12515# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12516
12517# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12518 print *, 'm_rhs.fpp:2205: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12519# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12520
12521# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12522 call flush (output_unit)
12523# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12524 end block
12525# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12526#endif
12527# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12528
12529# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12530#if defined(MFC_OpenACC)
12531# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12532!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12533# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12534#elif defined(MFC_OpenMP)
12535# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12536!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12537# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12538#endif
12539# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12540 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12541 end do
12542 else
12543 do l = 1, sys_size
12544#ifdef MFC_DEBUG
12545# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12546 block
12547# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12548 use iso_fortran_env, only: output_unit
12549# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12550
12551# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12552 print *, 'm_rhs.fpp:2209: ', '@:DEALLOCATE(flux_n(i)%vf(l)%sf)'
12553# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12554
12555# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12556 call flush (output_unit)
12557# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12558 end block
12559# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12560#endif
12561# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12562
12563# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12564#if defined(MFC_OpenACC)
12565# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12566!$acc exit data delete(flux_n(i)%vf(l)%sf)
12567# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12568#elif defined(MFC_OpenMP)
12569# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12570!$omp target exit data map(release:flux_n(i)%vf(l)%sf)
12571# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12572#endif
12573# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12574 deallocate (flux_n(i)%vf(l)%sf)
12575#ifdef MFC_DEBUG
12576# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12577 block
12578# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12579 use iso_fortran_env, only: output_unit
12580# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12581
12582# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12583 print *, 'm_rhs.fpp:2210: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12584# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12585
12586# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12587 call flush (output_unit)
12588# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12589 end block
12590# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12591#endif
12592# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12593
12594# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12595#if defined(MFC_OpenACC)
12596# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12597!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12598# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12599#elif defined(MFC_OpenMP)
12600# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12601!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12602# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12603#endif
12604# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12605 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12606 end do
12607
12608 if (viscous) then
12609 do l = eqn_idx%mom%beg, eqn_idx%E
12610#ifdef MFC_DEBUG
12611# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12612 block
12613# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12614 use iso_fortran_env, only: output_unit
12615# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12616
12617# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12618 print *, 'm_rhs.fpp:2215: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12619# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12620
12621# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12622 call flush (output_unit)
12623# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12624 end block
12625# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12626#endif
12627# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12628
12629# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12630#if defined(MFC_OpenACC)
12631# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12632!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12633# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12634#elif defined(MFC_OpenMP)
12635# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12636!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12637# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12638#endif
12639# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12640 deallocate (flux_src_n(i)%vf(l)%sf)
12641 end do
12642 end if
12643
12644 if (chem_params%diffusion .and. .not. viscous) then
12645#ifdef MFC_DEBUG
12646# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12647 block
12648# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12649 use iso_fortran_env, only: output_unit
12650# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12651
12652# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12653 print *, 'm_rhs.fpp:2220: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%E)%sf)'
12654# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12655
12656# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12657 call flush (output_unit)
12658# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12659 end block
12660# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12661#endif
12662# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12663
12664# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12665#if defined(MFC_OpenACC)
12666# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12667!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%E)%sf)
12668# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12669#elif defined(MFC_OpenMP)
12670# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12671!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%E)%sf)
12672# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12673#endif
12674# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12675 deallocate (flux_src_n(i)%vf(eqn_idx%E)%sf)
12676 end if
12677
12678 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
12679 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
12680#ifdef MFC_DEBUG
12681# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12682 block
12683# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12684 use iso_fortran_env, only: output_unit
12685# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12686
12687# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12688 print *, 'm_rhs.fpp:2225: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12689# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12690
12691# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12692 call flush (output_unit)
12693# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12694 end block
12695# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12696#endif
12697# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12698
12699# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12700#if defined(MFC_OpenACC)
12701# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12702!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12703# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12704#elif defined(MFC_OpenMP)
12705# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12706!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12707# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12708#endif
12709# 2225 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12710 deallocate (flux_src_n(i)%vf(l)%sf)
12711 end do
12712 else
12713 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
12714 nullify (flux_src_n(i)%vf(l)%sf)
12715 end do
12716 end if
12717
12718#ifdef MFC_DEBUG
12719# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12720 block
12721# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12722 use iso_fortran_env, only: output_unit
12723# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12724
12725# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12726 print *, 'm_rhs.fpp:2233: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)'
12727# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12728
12729# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12730 call flush (output_unit)
12731# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12732 end block
12733# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12734#endif
12735# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12736
12737# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12738#if defined(MFC_OpenACC)
12739# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12740!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12741# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12742#elif defined(MFC_OpenMP)
12743# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12744!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12745# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12746#endif
12747# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12748 deallocate (flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12749 end if
12750
12751#ifdef MFC_DEBUG
12752# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12753 block
12754# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12755 use iso_fortran_env, only: output_unit
12756# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12757
12758# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12759 print *, 'm_rhs.fpp:2236: ', '@:DEALLOCATE(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)'
12760# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12761
12762# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12763 call flush (output_unit)
12764# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12765 end block
12766# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12767#endif
12768# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12769
12770# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12771#if defined(MFC_OpenACC)
12772# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12773!$acc exit data delete(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12774# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12775#elif defined(MFC_OpenMP)
12776# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12777!$omp target exit data map(release:flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12778# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12779#endif
12780# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12781 deallocate (flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12782 end do
12783
12784#ifdef MFC_DEBUG
12785# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12786 block
12787# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12788 use iso_fortran_env, only: output_unit
12789# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12790
12791# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12792 print *, 'm_rhs.fpp:2239: ', '@:DEALLOCATE(flux_n, flux_src_n, flux_gsrc_n)'
12793# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12794
12795# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12796 call flush (output_unit)
12797# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12798 end block
12799# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12800#endif
12801# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12802
12803# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12804#if defined(MFC_OpenACC)
12805# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12806!$acc exit data delete(flux_n, flux_src_n, flux_gsrc_n)
12807# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12808#elif defined(MFC_OpenMP)
12809# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12810!$omp target exit data map(release:flux_n, flux_src_n, flux_gsrc_n)
12811# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12812#endif
12813# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12814 deallocate (flux_n, flux_src_n, flux_gsrc_n)
12815 do i = 1, num_dims
12816 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12817#ifdef MFC_DEBUG
12818# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12819 block
12820# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12821 use iso_fortran_env, only: output_unit
12822# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12823
12824# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12825 print *, 'm_rhs.fpp:2242: ', '@:DEALLOCATE(qL_prim(i)%vf(l)%sf)'
12826# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12827
12828# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12829 call flush (output_unit)
12830# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12831 end block
12832# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12833#endif
12834# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12835
12836# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12837#if defined(MFC_OpenACC)
12838# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12839!$acc exit data delete(qL_prim(i)%vf(l)%sf)
12840# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12841#elif defined(MFC_OpenMP)
12842# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12843!$omp target exit data map(release:qL_prim(i)%vf(l)%sf)
12844# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12845#endif
12846# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12847 deallocate (ql_prim(i)%vf(l)%sf)
12848#ifdef MFC_DEBUG
12849# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12850 block
12851# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12852 use iso_fortran_env, only: output_unit
12853# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12854
12855# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12856 print *, 'm_rhs.fpp:2243: ', '@:DEALLOCATE(qR_prim(i)%vf(l)%sf)'
12857# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12858
12859# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12860 call flush (output_unit)
12861# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12862 end block
12863# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12864#endif
12865# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12866
12867# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12868#if defined(MFC_OpenACC)
12869# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12870!$acc exit data delete(qR_prim(i)%vf(l)%sf)
12871# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12872#elif defined(MFC_OpenMP)
12873# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12874!$omp target exit data map(release:qR_prim(i)%vf(l)%sf)
12875# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12876#endif
12877# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12878 deallocate (qr_prim(i)%vf(l)%sf)
12879 end do
12880#ifdef MFC_DEBUG
12881# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12882 block
12883# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12884 use iso_fortran_env, only: output_unit
12885# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12886
12887# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12888 print *, 'm_rhs.fpp:2245: ', '@:DEALLOCATE(qL_prim(i)%vf, qR_prim(i)%vf)'
12889# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12890
12891# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12892 call flush (output_unit)
12893# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12894 end block
12895# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12896#endif
12897# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12898
12899# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12900#if defined(MFC_OpenACC)
12901# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12902!$acc exit data delete(qL_prim(i)%vf, qR_prim(i)%vf)
12903# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12904#elif defined(MFC_OpenMP)
12905# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12906!$omp target exit data map(release:qL_prim(i)%vf, qR_prim(i)%vf)
12907# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12908#endif
12909# 2245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12910 deallocate (ql_prim(i)%vf, qr_prim(i)%vf)
12911 end do
12912#ifdef MFC_DEBUG
12913# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12914 block
12915# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12916 use iso_fortran_env, only: output_unit
12917# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12918
12919# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12920 print *, 'm_rhs.fpp:2247: ', '@:DEALLOCATE(qL_prim, qR_prim)'
12921# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12922
12923# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12924 call flush (output_unit)
12925# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12926 end block
12927# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12928#endif
12929# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12930
12931# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12932#if defined(MFC_OpenACC)
12933# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12934!$acc exit data delete(qL_prim, qR_prim)
12935# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12936#elif defined(MFC_OpenMP)
12937# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12938!$omp target exit data map(release:qL_prim, qR_prim)
12939# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12940#endif
12941# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12942 deallocate (ql_prim, qr_prim)
12943 end if
12944
12945 if (alt_soundspeed) then
12946#ifdef MFC_DEBUG
12947# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12948 block
12949# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12950 use iso_fortran_env, only: output_unit
12951# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12952
12953# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12954 print *, 'm_rhs.fpp:2251: ', '@:DEALLOCATE(blkmod1, blkmod2, alpha1, alpha2, Kterm)'
12955# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12956
12957# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12958 call flush (output_unit)
12959# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12960 end block
12961# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12962#endif
12963# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12964
12965# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12966#if defined(MFC_OpenACC)
12967# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12968!$acc exit data delete(blkmod1, blkmod2, alpha1, alpha2, Kterm)
12969# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12970#elif defined(MFC_OpenMP)
12971# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12972!$omp target exit data map(release:blkmod1, blkmod2, alpha1, alpha2, Kterm)
12973# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12974#endif
12975# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12976 deallocate (blkmod1, blkmod2, alpha1, alpha2, kterm)
12977 end if
12978
12979 if (qbmm) then
12980 do i = 0, 2
12981 do j = 0, 2
12982 do l = 1, nb
12983#ifdef MFC_DEBUG
12984# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12985 block
12986# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12987 use iso_fortran_env, only: output_unit
12988# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12989
12990# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12991 print *, 'm_rhs.fpp:2258: ', '@:DEALLOCATE(mom_3d(i, j, l)%sf)'
12992# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12993
12994# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12995 call flush (output_unit)
12996# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12997 end block
12998# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12999#endif
13000# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13001
13002# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13003#if defined(MFC_OpenACC)
13004# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13005!$acc exit data delete(mom_3d(i, j, l)%sf)
13006# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13007#elif defined(MFC_OpenMP)
13008# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13009!$omp target exit data map(release:mom_3d(i, j, l)%sf)
13010# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13011#endif
13012# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13013 deallocate (mom_3d(i, j, l)%sf)
13014 end do
13015 end do
13016 end do
13017 do i = 1, nmomsp
13018#ifdef MFC_DEBUG
13019# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13020 block
13021# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13022 use iso_fortran_env, only: output_unit
13023# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13024
13025# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13026 print *, 'm_rhs.fpp:2263: ', '@:DEALLOCATE(mom_sp(i)%sf)'
13027# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13028
13029# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13030 call flush (output_unit)
13031# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13032 end block
13033# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13034#endif
13035# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13036
13037# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13038#if defined(MFC_OpenACC)
13039# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13040!$acc exit data delete(mom_sp(i)%sf)
13041# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13042#elif defined(MFC_OpenMP)
13043# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13044!$omp target exit data map(release:mom_sp(i)%sf)
13045# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13046#endif
13047# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13048 deallocate (mom_sp(i)%sf)
13049 end do
13050#ifdef MFC_DEBUG
13051# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13052 block
13053# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13054 use iso_fortran_env, only: output_unit
13055# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13056
13057# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13058 print *, 'm_rhs.fpp:2265: ', '@:DEALLOCATE(mom_sp, mom_3d)'
13059# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13060
13061# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13062 call flush (output_unit)
13063# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13064 end block
13065# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13066#endif
13067# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13068
13069# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13070#if defined(MFC_OpenACC)
13071# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13072!$acc exit data delete(mom_sp, mom_3d)
13073# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13074#elif defined(MFC_OpenMP)
13075# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13076!$omp target exit data map(release:mom_sp, mom_3d)
13077# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13078#endif
13079# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13080 deallocate (mom_sp, mom_3d)
13081 end if
13082
13083 if (use_nc_iface_vel) then
13084 do i = 1, num_dims
13085 do l = 1, num_dims
13086#ifdef MFC_DEBUG
13087# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13088 block
13089# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13090 use iso_fortran_env, only: output_unit
13091# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13092
13093# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13094 print *, 'm_rhs.fpp:2271: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf(l)%sf)'
13095# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13096
13097# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13098 call flush (output_unit)
13099# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13100 end block
13101# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13102#endif
13103# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13104
13105# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13106#if defined(MFC_OpenACC)
13107# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13108!$acc exit data delete(nc_iface_vel_n(i)%vf(l)%sf)
13109# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13110#elif defined(MFC_OpenMP)
13111# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13112!$omp target exit data map(release:nc_iface_vel_n(i)%vf(l)%sf)
13113# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13114#endif
13115# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13116 deallocate (nc_iface_vel_n(i)%vf(l)%sf)
13117 end do
13118#ifdef MFC_DEBUG
13119# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13120 block
13121# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13122 use iso_fortran_env, only: output_unit
13123# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13124
13125# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13126 print *, 'm_rhs.fpp:2273: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf)'
13127# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13128
13129# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13130 call flush (output_unit)
13131# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13132 end block
13133# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13134#endif
13135# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13136
13137# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13138#if defined(MFC_OpenACC)
13139# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13140!$acc exit data delete(nc_iface_vel_n(i)%vf)
13141# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13142#elif defined(MFC_OpenMP)
13143# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13144!$omp target exit data map(release:nc_iface_vel_n(i)%vf)
13145# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13146#endif
13147# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13148 deallocate (nc_iface_vel_n(i)%vf)
13149 end do
13150#ifdef MFC_DEBUG
13151# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13152 block
13153# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13154 use iso_fortran_env, only: output_unit
13155# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13156
13157# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13158 print *, 'm_rhs.fpp:2275: ', '@:DEALLOCATE(nc_iface_vel_n)'
13159# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13160
13161# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13162 call flush (output_unit)
13163# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13164 end block
13165# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13166#endif
13167# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13168
13169# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13170#if defined(MFC_OpenACC)
13171# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13172!$acc exit data delete(nc_iface_vel_n)
13173# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13174#elif defined(MFC_OpenMP)
13175# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13176!$omp target exit data map(release:nc_iface_vel_n)
13177# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13178#endif
13179# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13180 deallocate (nc_iface_vel_n)
13181 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13182 do i = 1, num_dims
13183 do l = 1, num_dims
13184#ifdef MFC_DEBUG
13185# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13186 block
13187# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13188 use iso_fortran_env, only: output_unit
13189# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13190
13191# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13192 print *, 'm_rhs.fpp:2279: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf(l)%sf)'
13193# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13194
13195# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13196 call flush (output_unit)
13197# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13198 end block
13199# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13200#endif
13201# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13202
13203# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13204#if defined(MFC_OpenACC)
13205# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13206!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf(l)%sf)
13207# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13208#elif defined(MFC_OpenMP)
13209# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13210!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf(l)%sf)
13211# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13212#endif
13213# 2279 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13214 deallocate (nc_iface_vel_hatr_n(i)%vf(l)%sf)
13215 end do
13216#ifdef MFC_DEBUG
13217# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13218 block
13219# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13220 use iso_fortran_env, only: output_unit
13221# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13222
13223# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13224 print *, 'm_rhs.fpp:2281: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf)'
13225# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13226
13227# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13228 call flush (output_unit)
13229# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13230 end block
13231# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13232#endif
13233# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13234
13235# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13236#if defined(MFC_OpenACC)
13237# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13238!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf)
13239# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13240#elif defined(MFC_OpenMP)
13241# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13242!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf)
13243# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13244#endif
13245# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13246 deallocate (nc_iface_vel_hatr_n(i)%vf)
13247 end do
13248#ifdef MFC_DEBUG
13249# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13250 block
13251# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13252 use iso_fortran_env, only: output_unit
13253# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13254
13255# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13256 print *, 'm_rhs.fpp:2283: ', '@:DEALLOCATE(nc_iface_vel_hatR_n)'
13257# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13258
13259# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13260 call flush (output_unit)
13261# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13262 end block
13263# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13264#endif
13265# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13266
13267# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13268#if defined(MFC_OpenACC)
13269# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13270!$acc exit data delete(nc_iface_vel_hatR_n)
13271# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13272#elif defined(MFC_OpenMP)
13273# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13274!$omp target exit data map(release:nc_iface_vel_hatR_n)
13275# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13276#endif
13277# 2283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13278 deallocate (nc_iface_vel_hatr_n)
13279 end if
13280 end if
13281
13282 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13283 do i = 1, sys_size
13284#ifdef MFC_DEBUG
13285# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13286 block
13287# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13288 use iso_fortran_env, only: output_unit
13289# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13290
13291# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13292 print *, 'm_rhs.fpp:2289: ', '@:DEALLOCATE(rhs_hatL_vf(i)%sf)'
13293# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13294
13295# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13296 call flush (output_unit)
13297# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13298 end block
13299# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13300#endif
13301# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13302
13303# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13304#if defined(MFC_OpenACC)
13305# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13306!$acc exit data delete(rhs_hatL_vf(i)%sf)
13307# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13308#elif defined(MFC_OpenMP)
13309# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13310!$omp target exit data map(release:rhs_hatL_vf(i)%sf)
13311# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13312#endif
13313# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13314 deallocate (rhs_hatl_vf(i)%sf)
13315#ifdef MFC_DEBUG
13316# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13317 block
13318# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13319 use iso_fortran_env, only: output_unit
13320# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13321
13322# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13323 print *, 'm_rhs.fpp:2290: ', '@:DEALLOCATE(rhs_hatR_vf(i)%sf)'
13324# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13325
13326# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13327 call flush (output_unit)
13328# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13329 end block
13330# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13331#endif
13332# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13333
13334# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13335#if defined(MFC_OpenACC)
13336# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13337!$acc exit data delete(rhs_hatR_vf(i)%sf)
13338# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13339#elif defined(MFC_OpenMP)
13340# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13341!$omp target exit data map(release:rhs_hatR_vf(i)%sf)
13342# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13343#endif
13344# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13345 deallocate (rhs_hatr_vf(i)%sf)
13346 end do
13347#ifdef MFC_DEBUG
13348# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13349 block
13350# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13351 use iso_fortran_env, only: output_unit
13352# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13353
13354# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13355 print *, 'm_rhs.fpp:2292: ', '@:DEALLOCATE(rhs_hatL_vf)'
13356# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13357
13358# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13359 call flush (output_unit)
13360# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13361 end block
13362# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13363#endif
13364# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13365
13366# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13367#if defined(MFC_OpenACC)
13368# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13369!$acc exit data delete(rhs_hatL_vf)
13370# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13371#elif defined(MFC_OpenMP)
13372# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13373!$omp target exit data map(release:rhs_hatL_vf)
13374# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13375#endif
13376# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13377 deallocate (rhs_hatl_vf)
13378#ifdef MFC_DEBUG
13379# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13380 block
13381# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13382 use iso_fortran_env, only: output_unit
13383# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13384
13385# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13386 print *, 'm_rhs.fpp:2293: ', '@:DEALLOCATE(rhs_hatR_vf)'
13387# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13388
13389# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13390 call flush (output_unit)
13391# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13392 end block
13393# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13394#endif
13395# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13396
13397# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13398#if defined(MFC_OpenACC)
13399# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13400!$acc exit data delete(rhs_hatR_vf)
13401# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13402#elif defined(MFC_OpenMP)
13403# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13404!$omp target exit data map(release:rhs_hatR_vf)
13405# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13406#endif
13407# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13408 deallocate (rhs_hatr_vf)
13409 end if
13410
13411 if (bf_spatial_support) then
13412#ifdef MFC_DEBUG
13413# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13414 block
13415# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13416 use iso_fortran_env, only: output_unit
13417# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13418
13419# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13420 print *, 'm_rhs.fpp:2297: ', '@:DEALLOCATE(spbf_source_x, spbf_source_y)'
13421# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13422
13423# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13424 call flush (output_unit)
13425# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13426 end block
13427# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13428#endif
13429# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13430
13431# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13432#if defined(MFC_OpenACC)
13433# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13434!$acc exit data delete(spbf_source_x, spbf_source_y)
13435# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13436#elif defined(MFC_OpenMP)
13437# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13438!$omp target exit data map(release:spbf_source_x, spbf_source_y)
13439# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13440#endif
13441# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13442 deallocate (spbf_source_x, spbf_source_y)
13443 end if
13444
13445 end subroutine s_finalize_rhs_module
13446
13447end 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).