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# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33
34# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35
36# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37
38# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39
40# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41
42# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43
44# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45
46# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
47
48# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49! New line at end of file is required for FYPP
50# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
51# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
52# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
53# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58
59# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62
63# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66
67# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68
69# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70
71# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72
73# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74
75# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
76
77# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
78
79# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80
81# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82! New line at end of file is required for FYPP
83# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
84
85# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
87# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90
91# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92
93# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94
95# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96
97# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98
99# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100
101# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102
103# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104
105# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106
107# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108
109# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110
111# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112
113# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114
115# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116
117# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118
119# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120
121# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122
123# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124
125# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126
127# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128
129# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130
131# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132
133# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134
135# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137
138# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139
140# 320 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141
142# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143
144# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145
146# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147
148# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149
150# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151
152# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153
154# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155
156# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157
158# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159
160# 403 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161! New line at end of file is required for FYPP
162# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
163# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
164# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
165# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
167# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170
171# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
173# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174
175# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
177# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178
179# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180
181# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182
183# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184
185# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
186
187# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
188
189# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
190
191# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
192
193# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
194! New line at end of file is required for FYPP
195# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
196
197# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198
199# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200
201# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202
203# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204
205# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206
207# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208
209# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210
211# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212
213# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214
215# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216
217# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218
219# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220
221# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222
223# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224
225# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226
227# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228
229# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230
231# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232
233# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234
235# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236
237# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238
239# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240
241# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
242
243# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
244
245# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
246
247# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
248
249# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
250
251# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
252! New line at end of file is required for FYPP
253# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
254
255! GPU parallel region (scalar reductions, maxval/minval)
256# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257
258! GPU parallel loop over threads (most common GPU macro)
259# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260
261! Required closing for GPU_PARALLEL_LOOP
262# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263
264! Mark routine for device compilation
265# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266
267! Declare device-resident data
268# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269
270! Inner loop within a GPU parallel region
271# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272
273! Scoped GPU data region
274# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275
276! Host code with device pointers (for MPI with GPU buffers)
277# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278
279! Allocate device memory (unscoped)
280# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281
282! Free device memory
283# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284
285! Atomic operation on device
286# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287
288! End atomic capture block
289# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290
291! Copy data between host and device
292# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293
294! Synchronization barrier
295# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296
297! Import GPU library module (openacc or omp_lib)
298# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299
300! Emit code only for AMD compiler
301# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302
303! Emit code for non-Cray compilers
304# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305
306! Emit code only for Cray compiler
307# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308
309! Emit code for non-NVIDIA compilers
310# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311
312# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
313# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314! New line at end of file is required for FYPP
315# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
316
317# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
318
319! Caution: This macro requires the use of a binding script to set CUDA_VISIBLE_DEVICES, such that we have one GPU device per MPI
320! rank. That's because for both cudaMemAdvise (preferred location) and cudaMemPrefetchAsync we use location = device_id = 0. For an
321! example see misc/nvidia_uvm/bind.sh.
322# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323
324! Allocate and create GPU device memory
325# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326
327! Free GPU device memory and deallocate
328# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
329
330! Cray-specific GPU pointer setup for vector fields
331# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332
333! Cray-specific GPU pointer setup for scalar fields
334# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
335
336! Cray-specific GPU pointer setup for acoustic source spatials
337# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
338
339# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
340
341# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
342! New line at end of file is required for FYPP
343# 7 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp" 2
344
345!> @brief Assemble the right-hand side of the governing equations using finite-volume flux differencing, Riemann solvers, and
346!! physical source terms
347module m_rhs
348
351 use m_mpi_proxy
353 use m_weno
356 use m_muscl
358 use m_cbc
359 use m_bubbles_ee
360 use m_bubbles_el
361 use m_qbmm
362 use m_hypoelastic
364 use m_viscous
365 use m_ibm
366 use m_nvtx
368 use m_helper
370 use m_body_forces
371 use m_chemistry
372 use m_conduction
374 use m_igr
375 use m_thinc
377
378 implicit none
379
381
382 type(vector_field) :: q_cons_qp !< WENO-reconstructed cell-average conservative variables at quadrature points
383
384# 46 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
385#if defined(MFC_OpenACC)
386# 46 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
387!$acc declare create(q_cons_qp)
388# 46 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
389#elif defined(MFC_OpenMP)
390# 46 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
391!$omp declare target (q_cons_qp)
392# 46 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
393#endif
394
395 type(vector_field) :: q_prim_qp !< Primitive variables at cell-interior quadrature points
396
397# 49 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
398#if defined(MFC_OpenACC)
399# 49 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
400!$acc declare create(q_prim_qp)
401# 49 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
402#elif defined(MFC_OpenMP)
403# 49 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
404!$omp declare target (q_prim_qp)
405# 49 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
406#endif
407
408 !> @name The first-order spatial derivatives of the primitive variables at cell- interior Gaussian quadrature points. These are
409 !! WENO-reconstructed from their respective cell-average values, obtained through the application of the divergence theorem on
410 !! the integral-average cell-boundary values of the primitive variables, located in qK_prim_n, where K = L or R.
411 !> @{
412 type(vector_field), allocatable, dimension(:) :: dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp
413
414# 56 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
415#if defined(MFC_OpenACC)
416# 56 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
417!$acc declare create(dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp)
418# 56 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
419#elif defined(MFC_OpenMP)
420# 56 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
421!$omp declare target (dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp)
422# 56 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
423#endif
424 !> @}
425
426 !> @name The left and right WENO-reconstructed cell-boundary values of the cell- average first-order spatial derivatives of the
427 !! primitive variables. The cell-average of the first-order spatial derivatives may be found in the variables dq_prim_ds_qp,
428 !! where s = x, y or z.
429 !> @{
430 type(vector_field), allocatable, dimension(:) :: dql_prim_dx_n, dql_prim_dy_n, dql_prim_dz_n
431 type(vector_field), allocatable, dimension(:) :: dqr_prim_dx_n, dqr_prim_dy_n, dqr_prim_dz_n
432#if defined(MFC_OpenACC)
433
434# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
435#if defined(MFC_OpenACC)
436# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
437!$acc declare create(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
438# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
439#elif defined(MFC_OpenMP)
440# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
441!$omp declare target (dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
442# 66 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
443#endif
444
445# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
446#if defined(MFC_OpenACC)
447# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
448!$acc declare create(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
449# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
450#elif defined(MFC_OpenMP)
451# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
452!$omp declare target (dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
453# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
454#endif
455#endif
456 !> @}
457
458 type(scalar_field), allocatable, dimension(:) :: tau_re_vf
459
460# 72 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
461#if defined(MFC_OpenACC)
462# 72 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
463!$acc declare create(tau_Re_vf)
464# 72 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
465#elif defined(MFC_OpenMP)
466# 72 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
467!$omp declare target (tau_Re_vf)
468# 72 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
469#endif
470
471 !> @name The cell-boundary values of the fluxes (src - source, gsrc - geometrical source). These are computed by applying the
472 !! chosen Riemann problem solver on the left and right cell-boundary values of the primitive variables
473 !> @{
474 type(vector_field), allocatable, dimension(:) :: flux_n
475 type(vector_field), allocatable, dimension(:) :: flux_src_n
476 type(vector_field), allocatable, dimension(:) :: flux_gsrc_n
477
478#if defined(MFC_OpenACC)
479
480# 82 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
481#if defined(MFC_OpenACC)
482# 82 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
483!$acc declare create(flux_n, flux_src_n, flux_gsrc_n)
484# 82 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
485#elif defined(MFC_OpenMP)
486# 82 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
487!$omp declare target (flux_n, flux_src_n, flux_gsrc_n)
488# 82 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
489#endif
490#endif
491 !> @}
492
493 type(vector_field), allocatable, dimension(:) :: nc_iface_vel_n
494#if defined(MFC_OpenACC)
495
496# 88 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
497#if defined(MFC_OpenACC)
498# 88 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
499!$acc declare create(nc_iface_vel_n)
500# 88 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
501#elif defined(MFC_OpenMP)
502# 88 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
503!$omp declare target (nc_iface_vel_n)
504# 88 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
505#endif
506#endif
507
508 !> hat_R-pass interface velocities for fused dual-pass HLLD: the axisymmetric geometric source consumes both passes' face
509 !! velocities after the direction loop, so the hat_R values need their own field set (hat_L uses nc_iface_vel_n).
510 type(vector_field), allocatable, dimension(:) :: nc_iface_vel_hatr_n
511#if defined(MFC_OpenACC)
512
513# 95 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
514#if defined(MFC_OpenACC)
515# 95 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
516!$acc declare create(nc_iface_vel_hatR_n)
517# 95 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
518#elif defined(MFC_OpenMP)
519# 95 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
520!$omp declare target (nc_iface_vel_hatR_n)
521# 95 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
522#endif
523#endif
524
525 type(vector_field), allocatable, dimension(:) :: ql_prim, qr_prim
526#if defined(MFC_OpenACC)
527
528# 100 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
529#if defined(MFC_OpenACC)
530# 100 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
531!$acc declare create(qL_prim, qR_prim)
532# 100 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
533#elif defined(MFC_OpenMP)
534# 100 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
535!$omp declare target (qL_prim, qR_prim)
536# 100 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
537#endif
538#endif
539
540 type(int_bounds_info) :: iv !< Vector field indical bounds
541
542# 104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
543#if defined(MFC_OpenACC)
544# 104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
545!$acc declare create(iv)
546# 104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
547#elif defined(MFC_OpenMP)
548# 104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
549!$omp declare target (iv)
550# 104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
551#endif
552
553 !> @name Indical bounds in the x-, y- and z-directions
554 !> @{
556
557# 109 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
558#if defined(MFC_OpenACC)
559# 109 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
560!$acc declare create(irx, iry, irz)
561# 109 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
562#elif defined(MFC_OpenMP)
563# 109 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
564!$omp declare target (irx, iry, irz)
565# 109 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
566#endif
567
569 !> @}
570
571# 113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
572#if defined(MFC_OpenACC)
573# 113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
574!$acc declare create(is1, is2, is3)
575# 113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
576#elif defined(MFC_OpenMP)
577# 113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
578!$omp declare target (is1, is2, is3)
579# 113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
580#endif
581
582 !> @name Saved fluxes for testing
583 !> @{
585 !> @}
586
587# 119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
588#if defined(MFC_OpenACC)
589# 119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
590!$acc declare create(alf_sum)
591# 119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
592#elif defined(MFC_OpenMP)
593# 119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
594!$omp declare target (alf_sum)
595# 119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
596#endif
597
598 real(wp), allocatable, dimension(:,:,:) :: blkmod1, blkmod2, alpha1, alpha2, kterm
599 real(wp), allocatable, dimension(:,:,:,:) :: ql_rsx_vf, qr_rsx_vf
600 real(wp), allocatable, dimension(:,:,:,:) :: dql_rsx_vf, dqr_rsx_vf
601
602# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
603#if defined(MFC_OpenACC)
604# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
605!$acc declare create(blkmod1, blkmod2, alpha1, alpha2, Kterm)
606# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
607#elif defined(MFC_OpenMP)
608# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
609!$omp declare target (blkmod1, blkmod2, alpha1, alpha2, Kterm)
610# 124 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
611#endif
612
613# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
614#if defined(MFC_OpenACC)
615# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
616!$acc declare create(qL_rsx_vf, qR_rsx_vf)
617# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
618#elif defined(MFC_OpenMP)
619# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
620!$omp declare target (qL_rsx_vf, qR_rsx_vf)
621# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
622#endif
623
624# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
625#if defined(MFC_OpenACC)
626# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
627!$acc declare create(dqL_rsx_vf, dqR_rsx_vf)
628# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
629#elif defined(MFC_OpenMP)
630# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
631!$omp declare target (dqL_rsx_vf, dqR_rsx_vf)
632# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
633#endif
634
635 integer :: iglob
636
637# 129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
638#if defined(MFC_OpenACC)
639# 129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
640!$acc declare create(iglob)
641# 129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
642#elif defined(MFC_OpenMP)
643# 129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
644!$omp declare target (iglob)
645# 129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
646#endif
647
648 !> @name Partial right-hand sides of the two anchored passes of dual-pass HLLD
649 !> @{
650 type(scalar_field), allocatable, dimension(:) :: rhs_hatl_vf, rhs_hatr_vf
651 !> @}
652
653# 135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
654#if defined(MFC_OpenACC)
655# 135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
656!$acc declare create(rhs_hatL_vf, rhs_hatR_vf)
657# 135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
658#elif defined(MFC_OpenMP)
659# 135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
660!$omp declare target (rhs_hatL_vf, rhs_hatR_vf)
661# 135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
662#endif
663
664contains
665
666 !> Initialize the RHS module
667 impure subroutine s_initialize_rhs_module
668
669 integer :: i, j, k, l, id !< Generic loop iterators
670
671
672# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
673#if defined(MFC_OpenACC)
674# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
675!$acc enter data copyin(idwbuff)
676# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
677#elif defined(MFC_OpenMP)
678# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
679!$omp target enter data map(to:idwbuff)
680# 144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
681#endif
682
683# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
684#if defined(MFC_OpenACC)
685# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
686!$acc update device(idwbuff)
687# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
688#elif defined(MFC_OpenMP)
689# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
690!$omp target update to(idwbuff)
691# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
692#endif
693
694#ifdef MFC_DEBUG
695# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
696 block
697# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
698 use iso_fortran_env, only: output_unit
699# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
700
701# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
702 print *, 'm_rhs.fpp:147: ', '@:ALLOCATE(q_cons_qp%vf(1:sys_size))'
703# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
704
705# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
706 call flush (output_unit)
707# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
708 end block
709# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
710#endif
711# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
712 allocate (q_cons_qp%vf(1:sys_size))
713# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
714
715# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
716
717# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
718#if defined(MFC_OpenACC)
719# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
720!$acc enter data create(q_cons_qp%vf)
721# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
722#elif defined(MFC_OpenMP)
723# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
724!$omp target enter data map(always,alloc:q_cons_qp%vf)
725# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
726#endif
727#ifdef MFC_DEBUG
728# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
729 block
730# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
731 use iso_fortran_env, only: output_unit
732# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
733
734# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
735 print *, 'm_rhs.fpp:148: ', '@:ALLOCATE(q_prim_qp%vf(1:sys_size))'
736# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
737
738# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
739 call flush (output_unit)
740# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
741 end block
742# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
743#endif
744# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
745 allocate (q_prim_qp%vf(1:sys_size))
746# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
747
748# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
749
750# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
751#if defined(MFC_OpenACC)
752# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
753!$acc enter data create(q_prim_qp%vf)
754# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
755#elif defined(MFC_OpenMP)
756# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
757!$omp target enter data map(always,alloc:q_prim_qp%vf)
758# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
759#endif
760
761 if (.not. igr) then
762 do l = 1, sys_size
763#ifdef MFC_DEBUG
764# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
765 block
766# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
767 use iso_fortran_env, only: output_unit
768# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
769
770# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
771 print *, 'm_rhs.fpp:152: ', '@: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))'
772# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
773
774# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
775 call flush (output_unit)
776# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
777 end block
778# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
779#endif
780# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
781 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))
782# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
783
784# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
785
786# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
787#if defined(MFC_OpenACC)
788# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
789!$acc enter data create(q_cons_qp%vf(l)%sf)
790# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
791#elif defined(MFC_OpenMP)
792# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
793!$omp target enter data map(always,alloc:q_cons_qp%vf(l)%sf)
794# 152 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
795#endif
796# 154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
797 end do
798 do l = eqn_idx%mom%beg, eqn_idx%E
799#ifdef MFC_DEBUG
800# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
801 block
802# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
803 use iso_fortran_env, only: output_unit
804# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
805
806# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
807 print *, 'm_rhs.fpp:156: ', '@: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))'
808# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
809
810# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
811 call flush (output_unit)
812# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
813 end block
814# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
815#endif
816# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
817 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))
818# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
819
820# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
821
822# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
823#if defined(MFC_OpenACC)
824# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
825!$acc enter data create(q_prim_qp%vf(l)%sf)
826# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
827#elif defined(MFC_OpenMP)
828# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
829!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
830# 156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
831#endif
832# 158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
833 end do
834 end if
835
836 if (surface_tension) then
837 do l = eqn_idx%adv%end + 1, eqn_idx%c - 1
838#ifdef MFC_DEBUG
839# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
840 block
841# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
842 use iso_fortran_env, only: output_unit
843# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
844
845# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
846 print *, 'm_rhs.fpp:163: ', '@: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))'
847# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
848
849# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
850 call flush (output_unit)
851# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
852 end block
853# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
854#endif
855# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
856 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))
857# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
858
859# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
860
861# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
862#if defined(MFC_OpenACC)
863# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
864!$acc enter data create(q_prim_qp%vf(l)%sf)
865# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
866#elif defined(MFC_OpenMP)
867# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
868!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
869# 163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
870#endif
871# 165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
872 end do
873 else
874 do l = eqn_idx%adv%end + 1, sys_size
875#ifdef MFC_DEBUG
876# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
877 block
878# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
879 use iso_fortran_env, only: output_unit
880# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
881
882# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
883 print *, 'm_rhs.fpp:168: ', '@: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))'
884# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
885
886# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
887 call flush (output_unit)
888# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
889 end block
890# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
891#endif
892# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
893 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))
894# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
895
896# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
897
898# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
899#if defined(MFC_OpenACC)
900# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
901!$acc enter data create(q_prim_qp%vf(l)%sf)
902# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
903#elif defined(MFC_OpenMP)
904# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
905!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
906# 168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
907#endif
908# 170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
909 end do
910 end if
911
912 if (.not. igr) then
913#ifdef _CRAYFTN
914# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
915 block
916# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
917 integer :: macros_setup_vfs_i
918# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
919
920# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
921#ifdef MFC_DEBUG
922# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
923 block
924# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
925 use iso_fortran_env, only: output_unit
926# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
927
928# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
929 print *, 'm_rhs.fpp:174: ', '@:ACC_SETUP_VFs(q_cons_qp, q_prim_qp)'
930# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
931
932# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
933 call flush (output_unit)
934# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
935 end block
936# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
937#endif
938# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
939
940# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
941
942# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
943#if defined(MFC_OpenACC)
944# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
945!$acc enter data copyin(q_cons_qp)
946# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
947#elif defined(MFC_OpenMP)
948# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
949!$omp target enter data map(to:q_cons_qp)
950# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
951#endif
952# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
953
954# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
955#if defined(MFC_OpenACC)
956# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
957!$acc enter data copyin(q_cons_qp%vf)
958# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
959#elif defined(MFC_OpenMP)
960# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
961!$omp target enter data map(to:q_cons_qp%vf)
962# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
963#endif
964# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
965 if (allocated(q_cons_qp%vf)) then
966# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
967 do macros_setup_vfs_i = lbound(q_cons_qp%vf, 1), ubound(q_cons_qp%vf, 1)
968# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
969 if (associated(q_cons_qp%vf(macros_setup_vfs_i)%sf)) then
970# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
971
972# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
973#if defined(MFC_OpenACC)
974# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
975!$acc enter data copyin(q_cons_qp%vf(macros_setup_vfs_i))
976# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
977#elif defined(MFC_OpenMP)
978# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
979!$omp target enter data map(to:q_cons_qp%vf(macros_setup_vfs_i))
980# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
981#endif
982# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
983
984# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
985#if defined(MFC_OpenACC)
986# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
987!$acc enter data copyin(q_cons_qp%vf(macros_setup_vfs_i)%sf)
988# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
989#elif defined(MFC_OpenMP)
990# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
991!$omp target enter data map(to:q_cons_qp%vf(macros_setup_vfs_i)%sf)
992# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
993#endif
994# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
995 end if
996# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
997 end do
998# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
999 end if
1000# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1001
1002# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1003#if defined(MFC_OpenACC)
1004# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1005!$acc enter data copyin(q_prim_qp)
1006# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1007#elif defined(MFC_OpenMP)
1008# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1009!$omp target enter data map(to:q_prim_qp)
1010# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1011#endif
1012# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1013
1014# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1015#if defined(MFC_OpenACC)
1016# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1017!$acc enter data copyin(q_prim_qp%vf)
1018# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1019#elif defined(MFC_OpenMP)
1020# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1021!$omp target enter data map(to:q_prim_qp%vf)
1022# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1023#endif
1024# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1025 if (allocated(q_prim_qp%vf)) then
1026# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1027 do macros_setup_vfs_i = lbound(q_prim_qp%vf, 1), ubound(q_prim_qp%vf, 1)
1028# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1029 if (associated(q_prim_qp%vf(macros_setup_vfs_i)%sf)) then
1030# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1031
1032# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1033#if defined(MFC_OpenACC)
1034# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1035!$acc enter data copyin(q_prim_qp%vf(macros_setup_vfs_i))
1036# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1037#elif defined(MFC_OpenMP)
1038# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1039!$omp target enter data map(to:q_prim_qp%vf(macros_setup_vfs_i))
1040# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1041#endif
1042# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1043
1044# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1045#if defined(MFC_OpenACC)
1046# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1047!$acc enter data copyin(q_prim_qp%vf(macros_setup_vfs_i)%sf)
1048# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1049#elif defined(MFC_OpenMP)
1050# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1051!$omp target enter data map(to:q_prim_qp%vf(macros_setup_vfs_i)%sf)
1052# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1053#endif
1054# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1055 end if
1056# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1057 end do
1058# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1059 end if
1060# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1061 end block
1062# 174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1063#endif
1064
1065 do l = 1, eqn_idx%cont%end
1066 if (relativity) then
1067 ! Cons and Prim densities are different for relativity
1068#ifdef MFC_DEBUG
1069# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1070 block
1071# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1072 use iso_fortran_env, only: output_unit
1073# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1074
1075# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1076 print *, 'm_rhs.fpp:179: ', '@: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))'
1077# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1078
1079# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1080 call flush (output_unit)
1081# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1082 end block
1083# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1084#endif
1085# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1086 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))
1087# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1088
1089# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1090
1091# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1092#if defined(MFC_OpenACC)
1093# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1094!$acc enter data create(q_prim_qp%vf(l)%sf)
1095# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1096#elif defined(MFC_OpenMP)
1097# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1098!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
1099# 179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1100#endif
1101# 181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1102 else
1103 q_prim_qp%vf(l)%sf => q_cons_qp%vf(l)%sf
1104
1105# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1106#if defined(MFC_OpenACC)
1107# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1108!$acc enter data copyin(q_prim_qp%vf(l)%sf)
1109# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1110#elif defined(MFC_OpenMP)
1111# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1112!$omp target enter data map(to:q_prim_qp%vf(l)%sf)
1113# 183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1114#endif
1115
1116# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1117#if defined(MFC_OpenACC)
1118# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1119!$acc enter data attach(q_prim_qp%vf(l)%sf)
1120# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1121#elif defined(MFC_OpenMP)
1122# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1123!$omp target enter data map(always,to:q_prim_qp%vf(l)%sf)
1124# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1125#endif
1126 end if
1127 end do
1128
1129 do l = eqn_idx%adv%beg, eqn_idx%adv%end
1130 q_prim_qp%vf(l)%sf => q_cons_qp%vf(l)%sf
1131
1132# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1133#if defined(MFC_OpenACC)
1134# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1135!$acc enter data copyin(q_prim_qp%vf(l)%sf)
1136# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1137#elif defined(MFC_OpenMP)
1138# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1139!$omp target enter data map(to:q_prim_qp%vf(l)%sf)
1140# 190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1141#endif
1142
1143# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1144#if defined(MFC_OpenACC)
1145# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1146!$acc enter data attach(q_prim_qp%vf(l)%sf)
1147# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1148#elif defined(MFC_OpenMP)
1149# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1150!$omp target enter data map(always,to:q_prim_qp%vf(l)%sf)
1151# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1152#endif
1153 end do
1154 end if
1155
1156 if (surface_tension) then
1157 q_prim_qp%vf(eqn_idx%c)%sf => q_cons_qp%vf(eqn_idx%c)%sf
1158
1159# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1160#if defined(MFC_OpenACC)
1161# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1162!$acc enter data copyin(q_prim_qp%vf(eqn_idx%c)%sf)
1163# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1164#elif defined(MFC_OpenMP)
1165# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1166!$omp target enter data map(to:q_prim_qp%vf(eqn_idx%c)%sf)
1167# 197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1168#endif
1169
1170# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1171#if defined(MFC_OpenACC)
1172# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1173!$acc enter data attach(q_prim_qp%vf(eqn_idx%c)%sf)
1174# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1175#elif defined(MFC_OpenMP)
1176# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1177!$omp target enter data map(always,to:q_prim_qp%vf(eqn_idx%c)%sf)
1178# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1179#endif
1180 end if
1181
1182 if (hyper_cleaning) then
1183 q_prim_qp%vf(eqn_idx%psi)%sf => q_cons_qp%vf(eqn_idx%psi)%sf
1184
1185# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1186#if defined(MFC_OpenACC)
1187# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1188!$acc enter data copyin(q_prim_qp%vf(eqn_idx%psi)%sf)
1189# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1190#elif defined(MFC_OpenMP)
1191# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1192!$omp target enter data map(to:q_prim_qp%vf(eqn_idx%psi)%sf)
1193# 203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1194#endif
1195
1196# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1197#if defined(MFC_OpenACC)
1198# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1199!$acc enter data attach(q_prim_qp%vf(eqn_idx%psi)%sf)
1200# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1201#elif defined(MFC_OpenMP)
1202# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1203!$omp target enter data map(always,to:q_prim_qp%vf(eqn_idx%psi)%sf)
1204# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1205#endif
1206 end if
1207
1208 if (.not. igr) then
1209#ifdef MFC_DEBUG
1210# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1211 block
1212# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1213 use iso_fortran_env, only: output_unit
1214# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1215
1216# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1217 print *, 'm_rhs.fpp:208: ', '@:ALLOCATE(flux_n(1:num_dims))'
1218# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1219
1220# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1221 call flush (output_unit)
1222# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1223 end block
1224# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1225#endif
1226# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1227 allocate (flux_n(1:num_dims))
1228# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1229
1230# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1231
1232# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1233#if defined(MFC_OpenACC)
1234# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1235!$acc enter data create(flux_n)
1236# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1237#elif defined(MFC_OpenMP)
1238# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1239!$omp target enter data map(always,alloc:flux_n)
1240# 208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1241#endif
1242#ifdef MFC_DEBUG
1243# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1244 block
1245# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1246 use iso_fortran_env, only: output_unit
1247# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1248
1249# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1250 print *, 'm_rhs.fpp:209: ', '@:ALLOCATE(flux_src_n(1:num_dims))'
1251# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1252
1253# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1254 call flush (output_unit)
1255# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1256 end block
1257# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1258#endif
1259# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1260 allocate (flux_src_n(1:num_dims))
1261# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1262
1263# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1264
1265# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1266#if defined(MFC_OpenACC)
1267# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1268!$acc enter data create(flux_src_n)
1269# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1270#elif defined(MFC_OpenMP)
1271# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1272!$omp target enter data map(always,alloc:flux_src_n)
1273# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1274#endif
1275#ifdef MFC_DEBUG
1276# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1277 block
1278# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1279 use iso_fortran_env, only: output_unit
1280# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1281
1282# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1283 print *, 'm_rhs.fpp:210: ', '@:ALLOCATE(flux_gsrc_n(1:num_dims))'
1284# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1285
1286# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1287 call flush (output_unit)
1288# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1289 end block
1290# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1291#endif
1292# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1293 allocate (flux_gsrc_n(1:num_dims))
1294# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1295
1296# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1297
1298# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1299#if defined(MFC_OpenACC)
1300# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1301!$acc enter data create(flux_gsrc_n)
1302# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1303#elif defined(MFC_OpenMP)
1304# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1305!$omp target enter data map(always,alloc:flux_gsrc_n)
1306# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1307#endif
1308
1309 do i = 1, num_dims
1310#ifdef MFC_DEBUG
1311# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1312 block
1313# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1314 use iso_fortran_env, only: output_unit
1315# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1316
1317# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1318 print *, 'm_rhs.fpp:213: ', '@:ALLOCATE(flux_n(i)%vf(1:sys_size))'
1319# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1320
1321# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1322 call flush (output_unit)
1323# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1324 end block
1325# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1326#endif
1327# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1328 allocate (flux_n(i)%vf(1:sys_size))
1329# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1330
1331# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1332
1333# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1334#if defined(MFC_OpenACC)
1335# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1336!$acc enter data create(flux_n(i)%vf)
1337# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1338#elif defined(MFC_OpenMP)
1339# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1340!$omp target enter data map(always,alloc:flux_n(i)%vf)
1341# 213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1342#endif
1343#ifdef MFC_DEBUG
1344# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1345 block
1346# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1347 use iso_fortran_env, only: output_unit
1348# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1349
1350# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1351 print *, 'm_rhs.fpp:214: ', '@:ALLOCATE(flux_src_n(i)%vf(1:sys_size))'
1352# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1353
1354# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1355 call flush (output_unit)
1356# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1357 end block
1358# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1359#endif
1360# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1361 allocate (flux_src_n(i)%vf(1:sys_size))
1362# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1363
1364# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1365
1366# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1367#if defined(MFC_OpenACC)
1368# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1369!$acc enter data create(flux_src_n(i)%vf)
1370# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1371#elif defined(MFC_OpenMP)
1372# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1373!$omp target enter data map(always,alloc:flux_src_n(i)%vf)
1374# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1375#endif
1376#ifdef MFC_DEBUG
1377# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1378 block
1379# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1380 use iso_fortran_env, only: output_unit
1381# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1382
1383# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1384 print *, 'm_rhs.fpp:215: ', '@:ALLOCATE(flux_gsrc_n(i)%vf(1:sys_size))'
1385# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1386
1387# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1388 call flush (output_unit)
1389# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1390 end block
1391# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1392#endif
1393# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1394 allocate (flux_gsrc_n(i)%vf(1:sys_size))
1395# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1396
1397# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1398
1399# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1400#if defined(MFC_OpenACC)
1401# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1402!$acc enter data create(flux_gsrc_n(i)%vf)
1403# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1404#elif defined(MFC_OpenMP)
1405# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1406!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf)
1407# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1408#endif
1409
1410 if (i == 1) then
1411 do l = 1, sys_size
1412#ifdef MFC_DEBUG
1413# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1414 block
1415# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1416 use iso_fortran_env, only: output_unit
1417# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1418
1419# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1420 print *, 'm_rhs.fpp:219: ', '@: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))'
1421# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1422
1423# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1424 call flush (output_unit)
1425# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1426 end block
1427# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1428#endif
1429# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1430 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))
1431# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1432
1433# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1434
1435# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1436#if defined(MFC_OpenACC)
1437# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1438!$acc enter data create(flux_n(i)%vf(l)%sf)
1439# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1440#elif defined(MFC_OpenMP)
1441# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1442!$omp target enter data map(always,alloc:flux_n(i)%vf(l)%sf)
1443# 219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1444#endif
1445# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1446#ifdef MFC_DEBUG
1447# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1448 block
1449# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1450 use iso_fortran_env, only: output_unit
1451# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1452
1453# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1454 print *, 'm_rhs.fpp:221: ', '@: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))'
1455# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1456
1457# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1458 call flush (output_unit)
1459# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1460 end block
1461# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1462#endif
1463# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1464 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))
1465# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1466
1467# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1468
1469# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1470#if defined(MFC_OpenACC)
1471# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1472!$acc enter data create(flux_gsrc_n(i)%vf(l)%sf)
1473# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1474#elif defined(MFC_OpenMP)
1475# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1476!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf(l)%sf)
1477# 221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1478#endif
1479# 223 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1480 end do
1481
1482 if (viscous .or. surface_tension .or. heat_conduction) then
1483 do l = eqn_idx%mom%beg, eqn_idx%E
1484#ifdef MFC_DEBUG
1485# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1486 block
1487# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1488 use iso_fortran_env, only: output_unit
1489# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1490
1491# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1492 print *, 'm_rhs.fpp:227: ', '@: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))'
1493# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1494
1495# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1496 call flush (output_unit)
1497# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1498 end block
1499# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1500#endif
1501# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1502 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))
1503# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1504
1505# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1506
1507# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1508#if defined(MFC_OpenACC)
1509# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1510!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1511# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1512#elif defined(MFC_OpenMP)
1513# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1514!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1515# 227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1516#endif
1517# 229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1518 end do
1519 end if
1520
1521 ! flux_src at adv%beg:adv%end is overloaded by design:
1522 !
1523 ! adv_src_mode_alpha_iface: flux_src(adv%beg:adv%end) = per-fluid interface alpha values. Each fluid
1524 ! gets a separate 3D array.
1525 !
1526 ! adv_src_mode_vel_iface: flux_src(adv%beg) = one shared face-normal interface velocity.
1527 ! adv%beg+1:adv%end are pointer-aliased to adv%beg so loops over adv%beg:adv%end can keep fluid indexing
1528 ! while still reading one value. Saves (num_fluids - 1) fields.
1529 !
1530 ! adv_src_mode_none: flux_src(adv%beg:adv%end) = zeros. No separate NC advection source term. Allocated
1531 ! for structural consistency with s_finalize_riemann_solver.
1532#ifdef MFC_DEBUG
1533# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1534 block
1535# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1536 use iso_fortran_env, only: output_unit
1537# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1538
1539# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1540 print *, 'm_rhs.fpp:243: ', '@: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))'
1541# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1542
1543# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1544 call flush (output_unit)
1545# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1546 end block
1547# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1548#endif
1549# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1550 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))
1551# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1552
1553# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1554
1555# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1556#if defined(MFC_OpenACC)
1557# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1558!$acc enter data create(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
1559# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1560#elif defined(MFC_OpenMP)
1561# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1562!$omp target enter data map(always,alloc:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
1563# 243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1564#endif
1565# 245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1566
1567 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
1568 ! Alpha-interface needs separate per-fluid arrays. HLLD (adv_src_mode_none) allocates for structural
1569 ! consistency with s_finalize_riemann_solver.
1570 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
1571#ifdef MFC_DEBUG
1572# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1573 block
1574# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1575 use iso_fortran_env, only: output_unit
1576# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1577
1578# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1579 print *, 'm_rhs.fpp:250: ', '@: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))'
1580# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1581
1582# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1583 call flush (output_unit)
1584# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1585 end block
1586# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1587#endif
1588# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1589 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))
1590# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1591
1592# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1593
1594# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1595#if defined(MFC_OpenACC)
1596# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1597!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1598# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1599#elif defined(MFC_OpenMP)
1600# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1601!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1602# 250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1603#endif
1604# 252 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1605 end do
1606 end if
1607
1608 if (chemistry) then
1609 do l = eqn_idx%species%beg, eqn_idx%species%end
1610#ifdef MFC_DEBUG
1611# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1612 block
1613# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1614 use iso_fortran_env, only: output_unit
1615# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1616
1617# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1618 print *, 'm_rhs.fpp:257: ', '@: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))'
1619# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1620
1621# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1622 call flush (output_unit)
1623# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1624 end block
1625# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1626#endif
1627# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1628 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))
1629# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1630
1631# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1632
1633# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1634#if defined(MFC_OpenACC)
1635# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1636!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1637# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1638#elif defined(MFC_OpenMP)
1639# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1640!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1641# 257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1642#endif
1643# 259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1644 end do
1645 if (chem_params%diffusion .and. .not. (viscous .or. surface_tension .or. heat_conduction)) then
1646#ifdef MFC_DEBUG
1647# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1648 block
1649# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1650 use iso_fortran_env, only: output_unit
1651# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1652
1653# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1654 print *, 'm_rhs.fpp:261: ', '@: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))'
1655# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1656
1657# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1658 call flush (output_unit)
1659# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1660 end block
1661# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1662#endif
1663# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1664 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))
1665# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1666
1667# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1668
1669# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1670#if defined(MFC_OpenACC)
1671# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1672!$acc enter data create(flux_src_n(i)%vf(eqn_idx%E)%sf)
1673# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1674#elif defined(MFC_OpenMP)
1675# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1676!$omp target enter data map(always,alloc:flux_src_n(i)%vf(eqn_idx%E)%sf)
1677# 261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1678#endif
1679# 263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1680 end if
1681 end if
1682 else
1683 do l = 1, sys_size
1684#ifdef MFC_DEBUG
1685# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1686 block
1687# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1688 use iso_fortran_env, only: output_unit
1689# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1690
1691# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1692 print *, 'm_rhs.fpp:267: ', '@: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))'
1693# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1694
1695# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1696 call flush (output_unit)
1697# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1698 end block
1699# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1700#endif
1701# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1702 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))
1703# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1704
1705# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1706
1707# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1708#if defined(MFC_OpenACC)
1709# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1710!$acc enter data create(flux_gsrc_n(i)%vf(l)%sf)
1711# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1712#elif defined(MFC_OpenMP)
1713# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1714!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf(l)%sf)
1715# 267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1716#endif
1717# 269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1718 end do
1719 end if
1720
1721#ifdef _CRAYFTN
1722# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1723 block
1724# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1725 integer :: macros_setup_vfs_i
1726# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1727
1728# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1729#ifdef MFC_DEBUG
1730# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1731 block
1732# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1733 use iso_fortran_env, only: output_unit
1734# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1735
1736# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1737 print *, 'm_rhs.fpp:272: ', '@:ACC_SETUP_VFs(flux_n(i))'
1738# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1739
1740# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1741 call flush (output_unit)
1742# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1743 end block
1744# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1745#endif
1746# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1747
1748# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1749
1750# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1751#if defined(MFC_OpenACC)
1752# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1753!$acc enter data copyin(flux_n(i))
1754# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1755#elif defined(MFC_OpenMP)
1756# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1757!$omp target enter data map(to:flux_n(i))
1758# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1759#endif
1760# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1761
1762# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1763#if defined(MFC_OpenACC)
1764# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1765!$acc enter data copyin(flux_n(i)%vf)
1766# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1767#elif defined(MFC_OpenMP)
1768# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1769!$omp target enter data map(to:flux_n(i)%vf)
1770# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1771#endif
1772# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1773 if (allocated(flux_n(i)%vf)) then
1774# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1775 do macros_setup_vfs_i = lbound(flux_n(i)%vf, 1), ubound(flux_n(i)%vf, 1)
1776# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1777 if (associated(flux_n(i)%vf(macros_setup_vfs_i)%sf)) then
1778# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1779
1780# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1781#if defined(MFC_OpenACC)
1782# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1783!$acc enter data copyin(flux_n(i)%vf(macros_setup_vfs_i))
1784# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1785#elif defined(MFC_OpenMP)
1786# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1787!$omp target enter data map(to:flux_n(i)%vf(macros_setup_vfs_i))
1788# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1789#endif
1790# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1791
1792# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1793#if defined(MFC_OpenACC)
1794# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1795!$acc enter data copyin(flux_n(i)%vf(macros_setup_vfs_i)%sf)
1796# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1797#elif defined(MFC_OpenMP)
1798# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1799!$omp target enter data map(to:flux_n(i)%vf(macros_setup_vfs_i)%sf)
1800# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1801#endif
1802# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1803 end if
1804# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1805 end do
1806# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1807 end if
1808# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1809 end block
1810# 272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1811#endif
1812#ifdef _CRAYFTN
1813# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1814 block
1815# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1816 integer :: macros_setup_vfs_i
1817# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1818
1819# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1820#ifdef MFC_DEBUG
1821# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1822 block
1823# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1824 use iso_fortran_env, only: output_unit
1825# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1826
1827# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1828 print *, 'm_rhs.fpp:273: ', '@:ACC_SETUP_VFs(flux_src_n(i), flux_gsrc_n(i))'
1829# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1830
1831# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1832 call flush (output_unit)
1833# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1834 end block
1835# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1836#endif
1837# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1838
1839# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1840
1841# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1842#if defined(MFC_OpenACC)
1843# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1844!$acc enter data copyin(flux_src_n(i))
1845# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1846#elif defined(MFC_OpenMP)
1847# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1848!$omp target enter data map(to:flux_src_n(i))
1849# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1850#endif
1851# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1852
1853# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1854#if defined(MFC_OpenACC)
1855# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1856!$acc enter data copyin(flux_src_n(i)%vf)
1857# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1858#elif defined(MFC_OpenMP)
1859# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1860!$omp target enter data map(to:flux_src_n(i)%vf)
1861# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1862#endif
1863# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1864 if (allocated(flux_src_n(i)%vf)) then
1865# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1866 do macros_setup_vfs_i = lbound(flux_src_n(i)%vf, 1), ubound(flux_src_n(i)%vf, 1)
1867# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1868 if (associated(flux_src_n(i)%vf(macros_setup_vfs_i)%sf)) then
1869# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1870
1871# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1872#if defined(MFC_OpenACC)
1873# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1874!$acc enter data copyin(flux_src_n(i)%vf(macros_setup_vfs_i))
1875# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1876#elif defined(MFC_OpenMP)
1877# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1878!$omp target enter data map(to:flux_src_n(i)%vf(macros_setup_vfs_i))
1879# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1880#endif
1881# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1882
1883# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1884#if defined(MFC_OpenACC)
1885# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1886!$acc enter data copyin(flux_src_n(i)%vf(macros_setup_vfs_i)%sf)
1887# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1888#elif defined(MFC_OpenMP)
1889# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1890!$omp target enter data map(to:flux_src_n(i)%vf(macros_setup_vfs_i)%sf)
1891# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1892#endif
1893# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1894 end if
1895# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1896 end do
1897# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1898 end if
1899# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1900
1901# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1902#if defined(MFC_OpenACC)
1903# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1904!$acc enter data copyin(flux_gsrc_n(i))
1905# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1906#elif defined(MFC_OpenMP)
1907# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1908!$omp target enter data map(to:flux_gsrc_n(i))
1909# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1910#endif
1911# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1912
1913# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1914#if defined(MFC_OpenACC)
1915# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1916!$acc enter data copyin(flux_gsrc_n(i)%vf)
1917# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1918#elif defined(MFC_OpenMP)
1919# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1920!$omp target enter data map(to:flux_gsrc_n(i)%vf)
1921# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1922#endif
1923# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1924 if (allocated(flux_gsrc_n(i)%vf)) then
1925# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1926 do macros_setup_vfs_i = lbound(flux_gsrc_n(i)%vf, 1), ubound(flux_gsrc_n(i)%vf, 1)
1927# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1928 if (associated(flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)) then
1929# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1930
1931# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1932#if defined(MFC_OpenACC)
1933# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1934!$acc enter data copyin(flux_gsrc_n(i)%vf(macros_setup_vfs_i))
1935# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1936#elif defined(MFC_OpenMP)
1937# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1938!$omp target enter data map(to:flux_gsrc_n(i)%vf(macros_setup_vfs_i))
1939# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1940#endif
1941# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1942
1943# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1944#if defined(MFC_OpenACC)
1945# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1946!$acc enter data copyin(flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)
1947# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1948#elif defined(MFC_OpenMP)
1949# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1950!$omp target enter data map(to:flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)
1951# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1952#endif
1953# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1954 end if
1955# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1956 end do
1957# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1958 end if
1959# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1960 end block
1961# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1962#endif
1963
1964 if (i == 1) then
1965 if (adv_src_mode == adv_src_mode_vel_iface) then
1966 ! u-interface: flux_src(adv%beg) holds one shared face-normal velocity. Pointer-alias adv%beg+1:adv%end to
1967 ! the same memory so loops over adv%beg:adv%end can keep fluid indexing while still reading one value. This
1968 ! saves (num_fluids - 1) 3D field allocations
1969 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
1970 flux_src_n(i)%vf(l)%sf => flux_src_n(i)%vf(eqn_idx%adv%beg)%sf
1971
1972# 282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1973#if defined(MFC_OpenACC)
1974# 282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1975!$acc enter data attach(flux_src_n(i)%vf(l)%sf)
1976# 282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1977#elif defined(MFC_OpenMP)
1978# 282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1979!$omp target enter data map(always,to:flux_src_n(i)%vf(l)%sf)
1980# 282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1981#endif
1982 end do
1983 end if
1984 else
1985 do l = 1, sys_size
1986 flux_n(i)%vf(l)%sf => flux_n(1)%vf(l)%sf
1987
1988# 288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1989#if defined(MFC_OpenACC)
1990# 288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1991!$acc enter data attach(flux_n(i)%vf(l)%sf)
1992# 288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1993#elif defined(MFC_OpenMP)
1994# 288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1995!$omp target enter data map(always,to:flux_n(i)%vf(l)%sf)
1996# 288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1997#endif
1998 flux_src_n(i)%vf(l)%sf => flux_src_n(1)%vf(l)%sf
1999
2000# 290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2001#if defined(MFC_OpenACC)
2002# 290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2003!$acc enter data attach(flux_src_n(i)%vf(l)%sf)
2004# 290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2005#elif defined(MFC_OpenMP)
2006# 290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2007!$omp target enter data map(always,to:flux_src_n(i)%vf(l)%sf)
2008# 290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2009#endif
2010 end do
2011 end if
2012 end do
2013 end if
2014
2015 if ((.not. igr)) then
2016#ifdef MFC_DEBUG
2017# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2018 block
2019# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2020 use iso_fortran_env, only: output_unit
2021# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2022
2023# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2024 print *, 'm_rhs.fpp:297: ', '@:ALLOCATE(dq_prim_dx_qp(1:1))'
2025# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2026
2027# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2028 call flush (output_unit)
2029# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2030 end block
2031# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2032#endif
2033# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2034 allocate (dq_prim_dx_qp(1:1))
2035# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2036
2037# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2038
2039# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2040#if defined(MFC_OpenACC)
2041# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2042!$acc enter data create(dq_prim_dx_qp)
2043# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2044#elif defined(MFC_OpenMP)
2045# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2046!$omp target enter data map(always,alloc:dq_prim_dx_qp)
2047# 297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2048#endif
2049#ifdef MFC_DEBUG
2050# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2051 block
2052# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2053 use iso_fortran_env, only: output_unit
2054# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2055
2056# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2057 print *, 'm_rhs.fpp:298: ', '@:ALLOCATE(dq_prim_dy_qp(1:1))'
2058# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2059
2060# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2061 call flush (output_unit)
2062# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2063 end block
2064# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2065#endif
2066# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2067 allocate (dq_prim_dy_qp(1:1))
2068# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2069
2070# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2071
2072# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2073#if defined(MFC_OpenACC)
2074# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2075!$acc enter data create(dq_prim_dy_qp)
2076# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2077#elif defined(MFC_OpenMP)
2078# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2079!$omp target enter data map(always,alloc:dq_prim_dy_qp)
2080# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2081#endif
2082#ifdef MFC_DEBUG
2083# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2084 block
2085# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2086 use iso_fortran_env, only: output_unit
2087# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2088
2089# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2090 print *, 'm_rhs.fpp:299: ', '@:ALLOCATE(dq_prim_dz_qp(1:1))'
2091# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2092
2093# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2094 call flush (output_unit)
2095# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2096 end block
2097# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2098#endif
2099# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2100 allocate (dq_prim_dz_qp(1:1))
2101# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2102
2103# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2104
2105# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2106#if defined(MFC_OpenACC)
2107# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2108!$acc enter data create(dq_prim_dz_qp)
2109# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2110#elif defined(MFC_OpenMP)
2111# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2112!$omp target enter data map(always,alloc:dq_prim_dz_qp)
2113# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2114#endif
2115
2116#ifdef MFC_DEBUG
2117# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2118 block
2119# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2120 use iso_fortran_env, only: output_unit
2121# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2122
2123# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2124 print *, 'm_rhs.fpp:301: ', '@:ALLOCATE(qL_prim(1:num_dims))'
2125# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2126
2127# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2128 call flush (output_unit)
2129# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2130 end block
2131# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2132#endif
2133# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2134 allocate (ql_prim(1:num_dims))
2135# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2136
2137# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2138
2139# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2140#if defined(MFC_OpenACC)
2141# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2142!$acc enter data create(qL_prim)
2143# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2144#elif defined(MFC_OpenMP)
2145# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2146!$omp target enter data map(always,alloc:qL_prim)
2147# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2148#endif
2149#ifdef MFC_DEBUG
2150# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2151 block
2152# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2153 use iso_fortran_env, only: output_unit
2154# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2155
2156# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2157 print *, 'm_rhs.fpp:302: ', '@:ALLOCATE(qR_prim(1:num_dims))'
2158# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2159
2160# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2161 call flush (output_unit)
2162# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2163 end block
2164# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2165#endif
2166# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2167 allocate (qr_prim(1:num_dims))
2168# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2169
2170# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2171
2172# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2173#if defined(MFC_OpenACC)
2174# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2175!$acc enter data create(qR_prim)
2176# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2177#elif defined(MFC_OpenMP)
2178# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2179!$omp target enter data map(always,alloc:qR_prim)
2180# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2181#endif
2182
2183#ifdef MFC_DEBUG
2184# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2185 block
2186# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2187 use iso_fortran_env, only: output_unit
2188# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2189
2190# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2191 print *, 'm_rhs.fpp:304: ', '@:ALLOCATE(dqL_prim_dx_n(1:num_dims))'
2192# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2193
2194# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2195 call flush (output_unit)
2196# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2197 end block
2198# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2199#endif
2200# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2201 allocate (dql_prim_dx_n(1:num_dims))
2202# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2203
2204# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2205
2206# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2207#if defined(MFC_OpenACC)
2208# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2209!$acc enter data create(dqL_prim_dx_n)
2210# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2211#elif defined(MFC_OpenMP)
2212# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2213!$omp target enter data map(always,alloc:dqL_prim_dx_n)
2214# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2215#endif
2216#ifdef MFC_DEBUG
2217# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2218 block
2219# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2220 use iso_fortran_env, only: output_unit
2221# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2222
2223# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2224 print *, 'm_rhs.fpp:305: ', '@:ALLOCATE(dqL_prim_dy_n(1:num_dims))'
2225# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2226
2227# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2228 call flush (output_unit)
2229# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2230 end block
2231# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2232#endif
2233# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2234 allocate (dql_prim_dy_n(1:num_dims))
2235# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2236
2237# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2238
2239# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2240#if defined(MFC_OpenACC)
2241# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2242!$acc enter data create(dqL_prim_dy_n)
2243# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2244#elif defined(MFC_OpenMP)
2245# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2246!$omp target enter data map(always,alloc:dqL_prim_dy_n)
2247# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2248#endif
2249#ifdef MFC_DEBUG
2250# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2251 block
2252# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2253 use iso_fortran_env, only: output_unit
2254# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2255
2256# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2257 print *, 'm_rhs.fpp:306: ', '@:ALLOCATE(dqL_prim_dz_n(1:num_dims))'
2258# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2259
2260# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2261 call flush (output_unit)
2262# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2263 end block
2264# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2265#endif
2266# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2267 allocate (dql_prim_dz_n(1:num_dims))
2268# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2269
2270# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2271
2272# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2273#if defined(MFC_OpenACC)
2274# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2275!$acc enter data create(dqL_prim_dz_n)
2276# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2277#elif defined(MFC_OpenMP)
2278# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2279!$omp target enter data map(always,alloc:dqL_prim_dz_n)
2280# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2281#endif
2282#ifdef MFC_DEBUG
2283# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2284 block
2285# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2286 use iso_fortran_env, only: output_unit
2287# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2288
2289# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2290 print *, 'm_rhs.fpp:307: ', '@:ALLOCATE(dqR_prim_dx_n(1:num_dims))'
2291# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2292
2293# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2294 call flush (output_unit)
2295# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2296 end block
2297# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2298#endif
2299# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2300 allocate (dqr_prim_dx_n(1:num_dims))
2301# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2302
2303# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2304
2305# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2306#if defined(MFC_OpenACC)
2307# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2308!$acc enter data create(dqR_prim_dx_n)
2309# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2310#elif defined(MFC_OpenMP)
2311# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2312!$omp target enter data map(always,alloc:dqR_prim_dx_n)
2313# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2314#endif
2315#ifdef MFC_DEBUG
2316# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2317 block
2318# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2319 use iso_fortran_env, only: output_unit
2320# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2321
2322# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2323 print *, 'm_rhs.fpp:308: ', '@:ALLOCATE(dqR_prim_dy_n(1:num_dims))'
2324# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2325
2326# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2327 call flush (output_unit)
2328# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2329 end block
2330# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2331#endif
2332# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2333 allocate (dqr_prim_dy_n(1:num_dims))
2334# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2335
2336# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2337
2338# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2339#if defined(MFC_OpenACC)
2340# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2341!$acc enter data create(dqR_prim_dy_n)
2342# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2343#elif defined(MFC_OpenMP)
2344# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2345!$omp target enter data map(always,alloc:dqR_prim_dy_n)
2346# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2347#endif
2348#ifdef MFC_DEBUG
2349# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2350 block
2351# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2352 use iso_fortran_env, only: output_unit
2353# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2354
2355# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2356 print *, 'm_rhs.fpp:309: ', '@:ALLOCATE(dqR_prim_dz_n(1:num_dims))'
2357# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2358
2359# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2360 call flush (output_unit)
2361# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2362 end block
2363# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2364#endif
2365# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2366 allocate (dqr_prim_dz_n(1:num_dims))
2367# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2368
2369# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2370
2371# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2372#if defined(MFC_OpenACC)
2373# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2374!$acc enter data create(dqR_prim_dz_n)
2375# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2376#elif defined(MFC_OpenMP)
2377# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2378!$omp target enter data map(always,alloc:dqR_prim_dz_n)
2379# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2380#endif
2381
2382 do i = 1, num_dims
2383#ifdef MFC_DEBUG
2384# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2385 block
2386# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2387 use iso_fortran_env, only: output_unit
2388# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2389
2390# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2391 print *, 'm_rhs.fpp:312: ', '@:ALLOCATE(qL_prim(i)%vf(1:sys_size))'
2392# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2393
2394# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2395 call flush (output_unit)
2396# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2397 end block
2398# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2399#endif
2400# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2401 allocate (ql_prim(i)%vf(1:sys_size))
2402# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2403
2404# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2405
2406# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2407#if defined(MFC_OpenACC)
2408# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2409!$acc enter data create(qL_prim(i)%vf)
2410# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2411#elif defined(MFC_OpenMP)
2412# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2413!$omp target enter data map(always,alloc:qL_prim(i)%vf)
2414# 312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2415#endif
2416#ifdef MFC_DEBUG
2417# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2418 block
2419# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2420 use iso_fortran_env, only: output_unit
2421# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2422
2423# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2424 print *, 'm_rhs.fpp:313: ', '@:ALLOCATE(qR_prim(i)%vf(1:sys_size))'
2425# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2426
2427# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2428 call flush (output_unit)
2429# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2430 end block
2431# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2432#endif
2433# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2434 allocate (qr_prim(i)%vf(1:sys_size))
2435# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2436
2437# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2438
2439# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2440#if defined(MFC_OpenACC)
2441# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2442!$acc enter data create(qR_prim(i)%vf)
2443# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2444#elif defined(MFC_OpenMP)
2445# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2446!$omp target enter data map(always,alloc:qR_prim(i)%vf)
2447# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2448#endif
2449 do l = eqn_idx%mom%beg, eqn_idx%mom%end
2450#ifdef MFC_DEBUG
2451# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2452 block
2453# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2454 use iso_fortran_env, only: output_unit
2455# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2456
2457# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2458 print *, 'm_rhs.fpp:315: ', '@: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))'
2459# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2460
2461# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2462 call flush (output_unit)
2463# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2464 end block
2465# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2466#endif
2467# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2468 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))
2469# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2470
2471# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2472
2473# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2474#if defined(MFC_OpenACC)
2475# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2476!$acc enter data create(qL_prim(i)%vf(l)%sf)
2477# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2478#elif defined(MFC_OpenMP)
2479# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2480!$omp target enter data map(always,alloc:qL_prim(i)%vf(l)%sf)
2481# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2482#endif
2483# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2484#ifdef MFC_DEBUG
2485# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2486 block
2487# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2488 use iso_fortran_env, only: output_unit
2489# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2490
2491# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2492 print *, 'm_rhs.fpp:317: ', '@: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))'
2493# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2494
2495# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2496 call flush (output_unit)
2497# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2498 end block
2499# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2500#endif
2501# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2502 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))
2503# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2504
2505# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2506
2507# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2508#if defined(MFC_OpenACC)
2509# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2510!$acc enter data create(qR_prim(i)%vf(l)%sf)
2511# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2512#elif defined(MFC_OpenMP)
2513# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2514!$omp target enter data map(always,alloc:qR_prim(i)%vf(l)%sf)
2515# 317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2516#endif
2517# 319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2518 end do
2519#ifdef _CRAYFTN
2520# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2521 block
2522# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2523 integer :: macros_setup_vfs_i
2524# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2525
2526# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2527#ifdef MFC_DEBUG
2528# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2529 block
2530# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2531 use iso_fortran_env, only: output_unit
2532# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2533
2534# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2535 print *, 'm_rhs.fpp:320: ', '@:ACC_SETUP_VFs(qL_prim(i), qR_prim(i))'
2536# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2537
2538# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2539 call flush (output_unit)
2540# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2541 end block
2542# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2543#endif
2544# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2545
2546# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2547
2548# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2549#if defined(MFC_OpenACC)
2550# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2551!$acc enter data copyin(qL_prim(i))
2552# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2553#elif defined(MFC_OpenMP)
2554# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2555!$omp target enter data map(to:qL_prim(i))
2556# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2557#endif
2558# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2559
2560# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2561#if defined(MFC_OpenACC)
2562# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2563!$acc enter data copyin(qL_prim(i)%vf)
2564# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2565#elif defined(MFC_OpenMP)
2566# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2567!$omp target enter data map(to:qL_prim(i)%vf)
2568# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2569#endif
2570# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2571 if (allocated(ql_prim(i)%vf)) then
2572# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2573 do macros_setup_vfs_i = lbound(ql_prim(i)%vf, 1), ubound(ql_prim(i)%vf, 1)
2574# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2575 if (associated(ql_prim(i)%vf(macros_setup_vfs_i)%sf)) then
2576# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2577
2578# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2579#if defined(MFC_OpenACC)
2580# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2581!$acc enter data copyin(qL_prim(i)%vf(macros_setup_vfs_i))
2582# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2583#elif defined(MFC_OpenMP)
2584# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2585!$omp target enter data map(to:qL_prim(i)%vf(macros_setup_vfs_i))
2586# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2587#endif
2588# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2589
2590# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2591#if defined(MFC_OpenACC)
2592# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2593!$acc enter data copyin(qL_prim(i)%vf(macros_setup_vfs_i)%sf)
2594# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2595#elif defined(MFC_OpenMP)
2596# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2597!$omp target enter data map(to:qL_prim(i)%vf(macros_setup_vfs_i)%sf)
2598# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2599#endif
2600# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2601 end if
2602# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2603 end do
2604# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2605 end if
2606# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2607
2608# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2609#if defined(MFC_OpenACC)
2610# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2611!$acc enter data copyin(qR_prim(i))
2612# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2613#elif defined(MFC_OpenMP)
2614# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2615!$omp target enter data map(to:qR_prim(i))
2616# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2617#endif
2618# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2619
2620# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2621#if defined(MFC_OpenACC)
2622# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2623!$acc enter data copyin(qR_prim(i)%vf)
2624# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2625#elif defined(MFC_OpenMP)
2626# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2627!$omp target enter data map(to:qR_prim(i)%vf)
2628# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2629#endif
2630# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2631 if (allocated(qr_prim(i)%vf)) then
2632# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2633 do macros_setup_vfs_i = lbound(qr_prim(i)%vf, 1), ubound(qr_prim(i)%vf, 1)
2634# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2635 if (associated(qr_prim(i)%vf(macros_setup_vfs_i)%sf)) then
2636# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2637
2638# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2639#if defined(MFC_OpenACC)
2640# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2641!$acc enter data copyin(qR_prim(i)%vf(macros_setup_vfs_i))
2642# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2643#elif defined(MFC_OpenMP)
2644# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2645!$omp target enter data map(to:qR_prim(i)%vf(macros_setup_vfs_i))
2646# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2647#endif
2648# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2649
2650# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2651#if defined(MFC_OpenACC)
2652# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2653!$acc enter data copyin(qR_prim(i)%vf(macros_setup_vfs_i)%sf)
2654# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2655#elif defined(MFC_OpenMP)
2656# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2657!$omp target enter data map(to:qR_prim(i)%vf(macros_setup_vfs_i)%sf)
2658# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2659#endif
2660# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2661 end if
2662# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2663 end do
2664# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2665 end if
2666# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2667 end block
2668# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2669#endif
2670 end do
2671
2672#ifdef MFC_DEBUG
2673# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2674 block
2675# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2676 use iso_fortran_env, only: output_unit
2677# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2678
2679# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2680 print *, 'm_rhs.fpp:323: ', '@: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))'
2681# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2682
2683# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2684 call flush (output_unit)
2685# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2686 end block
2687# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2688#endif
2689# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2690 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))
2691# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2692
2693# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2694
2695# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2696#if defined(MFC_OpenACC)
2697# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2698!$acc enter data create(qL_rsx_vf)
2699# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2700#elif defined(MFC_OpenMP)
2701# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2702!$omp target enter data map(always,alloc:qL_rsx_vf)
2703# 323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2704#endif
2705# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2706#ifdef MFC_DEBUG
2707# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2708 block
2709# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2710 use iso_fortran_env, only: output_unit
2711# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2712
2713# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2714 print *, 'm_rhs.fpp:325: ', '@: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))'
2715# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2716
2717# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2718 call flush (output_unit)
2719# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2720 end block
2721# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2722#endif
2723# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2724 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))
2725# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2726
2727# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2728
2729# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2730#if defined(MFC_OpenACC)
2731# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2732!$acc enter data create(qR_rsx_vf)
2733# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2734#elif defined(MFC_OpenMP)
2735# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2736!$omp target enter data map(always,alloc:qR_rsx_vf)
2737# 325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2738#endif
2739# 327 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2740
2741 if (.not. viscous) then
2742 do i = 1, num_dims
2743#ifdef MFC_DEBUG
2744# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2745 block
2746# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2747 use iso_fortran_env, only: output_unit
2748# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2749
2750# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2751 print *, 'm_rhs.fpp:330: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(1:sys_size))'
2752# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2753
2754# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2755 call flush (output_unit)
2756# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2757 end block
2758# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2759#endif
2760# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2761 allocate (dql_prim_dx_n(i)%vf(1:sys_size))
2762# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2763
2764# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2765
2766# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2767#if defined(MFC_OpenACC)
2768# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2769!$acc enter data create(dqL_prim_dx_n(i)%vf)
2770# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2771#elif defined(MFC_OpenMP)
2772# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2773!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf)
2774# 330 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2775#endif
2776#ifdef MFC_DEBUG
2777# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2778 block
2779# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2780 use iso_fortran_env, only: output_unit
2781# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2782
2783# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2784 print *, 'm_rhs.fpp:331: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(1:sys_size))'
2785# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2786
2787# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2788 call flush (output_unit)
2789# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2790 end block
2791# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2792#endif
2793# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2794 allocate (dql_prim_dy_n(i)%vf(1:sys_size))
2795# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2796
2797# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2798
2799# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2800#if defined(MFC_OpenACC)
2801# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2802!$acc enter data create(dqL_prim_dy_n(i)%vf)
2803# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2804#elif defined(MFC_OpenMP)
2805# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2806!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf)
2807# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2808#endif
2809#ifdef MFC_DEBUG
2810# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2811 block
2812# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2813 use iso_fortran_env, only: output_unit
2814# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2815
2816# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2817 print *, 'm_rhs.fpp:332: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(1:sys_size))'
2818# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2819
2820# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2821 call flush (output_unit)
2822# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2823 end block
2824# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2825#endif
2826# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2827 allocate (dql_prim_dz_n(i)%vf(1:sys_size))
2828# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2829
2830# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2831
2832# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2833#if defined(MFC_OpenACC)
2834# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2835!$acc enter data create(dqL_prim_dz_n(i)%vf)
2836# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2837#elif defined(MFC_OpenMP)
2838# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2839!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf)
2840# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2841#endif
2842#ifdef MFC_DEBUG
2843# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2844 block
2845# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2846 use iso_fortran_env, only: output_unit
2847# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2848
2849# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2850 print *, 'm_rhs.fpp:333: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(1:sys_size))'
2851# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2852
2853# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2854 call flush (output_unit)
2855# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2856 end block
2857# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2858#endif
2859# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2860 allocate (dqr_prim_dx_n(i)%vf(1:sys_size))
2861# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2862
2863# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2864
2865# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2866#if defined(MFC_OpenACC)
2867# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2868!$acc enter data create(dqR_prim_dx_n(i)%vf)
2869# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2870#elif defined(MFC_OpenMP)
2871# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2872!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf)
2873# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2874#endif
2875#ifdef MFC_DEBUG
2876# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2877 block
2878# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2879 use iso_fortran_env, only: output_unit
2880# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2881
2882# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2883 print *, 'm_rhs.fpp:334: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(1:sys_size))'
2884# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2885
2886# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2887 call flush (output_unit)
2888# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2889 end block
2890# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2891#endif
2892# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2893 allocate (dqr_prim_dy_n(i)%vf(1:sys_size))
2894# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2895
2896# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2897
2898# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2899#if defined(MFC_OpenACC)
2900# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2901!$acc enter data create(dqR_prim_dy_n(i)%vf)
2902# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2903#elif defined(MFC_OpenMP)
2904# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2905!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf)
2906# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2907#endif
2908#ifdef MFC_DEBUG
2909# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2910 block
2911# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2912 use iso_fortran_env, only: output_unit
2913# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2914
2915# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2916 print *, 'm_rhs.fpp:335: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(1:sys_size))'
2917# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2918
2919# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2920 call flush (output_unit)
2921# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2922 end block
2923# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2924#endif
2925# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2926 allocate (dqr_prim_dz_n(i)%vf(1:sys_size))
2927# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2928
2929# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2930
2931# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2932#if defined(MFC_OpenACC)
2933# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2934!$acc enter data create(dqR_prim_dz_n(i)%vf)
2935# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2936#elif defined(MFC_OpenMP)
2937# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2938!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf)
2939# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2940#endif
2941
2942 do l = eqn_idx%mom%beg, eqn_idx%mom%end
2943#ifdef MFC_DEBUG
2944# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2945 block
2946# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2947 use iso_fortran_env, only: output_unit
2948# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2949
2950# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2951 print *, 'm_rhs.fpp:338: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
2952# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2953
2954# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2955 call flush (output_unit)
2956# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2957 end block
2958# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2959#endif
2960# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2961 allocate (dql_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
2962# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2963
2964# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2965
2966# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2967#if defined(MFC_OpenACC)
2968# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2969!$acc enter data create(dqL_prim_dx_n(i)%vf(l)%sf)
2970# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2971#elif defined(MFC_OpenMP)
2972# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2973!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf(l)%sf)
2974# 338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2975#endif
2976#ifdef MFC_DEBUG
2977# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2978 block
2979# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2980 use iso_fortran_env, only: output_unit
2981# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2982
2983# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2984 print *, 'm_rhs.fpp:339: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
2985# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2986
2987# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2988 call flush (output_unit)
2989# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2990 end block
2991# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2992#endif
2993# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2994 allocate (dql_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
2995# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2996
2997# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2998
2999# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3000#if defined(MFC_OpenACC)
3001# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3002!$acc enter data create(dqL_prim_dy_n(i)%vf(l)%sf)
3003# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3004#elif defined(MFC_OpenMP)
3005# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3006!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf(l)%sf)
3007# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3008#endif
3009#ifdef MFC_DEBUG
3010# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3011 block
3012# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3013 use iso_fortran_env, only: output_unit
3014# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3015
3016# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3017 print *, 'm_rhs.fpp:340: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3018# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3019
3020# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3021 call flush (output_unit)
3022# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3023 end block
3024# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3025#endif
3026# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3027 allocate (dql_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3028# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3029
3030# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3031
3032# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3033#if defined(MFC_OpenACC)
3034# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3035!$acc enter data create(dqL_prim_dz_n(i)%vf(l)%sf)
3036# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3037#elif defined(MFC_OpenMP)
3038# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3039!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf(l)%sf)
3040# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3041#endif
3042#ifdef MFC_DEBUG
3043# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3044 block
3045# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3046 use iso_fortran_env, only: output_unit
3047# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3048
3049# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3050 print *, 'm_rhs.fpp:341: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3051# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3052
3053# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3054 call flush (output_unit)
3055# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3056 end block
3057# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3058#endif
3059# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3060 allocate (dqr_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3061# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3062
3063# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3064
3065# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3066#if defined(MFC_OpenACC)
3067# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3068!$acc enter data create(dqR_prim_dx_n(i)%vf(l)%sf)
3069# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3070#elif defined(MFC_OpenMP)
3071# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3072!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf(l)%sf)
3073# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3074#endif
3075#ifdef MFC_DEBUG
3076# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3077 block
3078# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3079 use iso_fortran_env, only: output_unit
3080# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3081
3082# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3083 print *, 'm_rhs.fpp:342: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3084# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3085
3086# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3087 call flush (output_unit)
3088# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3089 end block
3090# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3091#endif
3092# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3093 allocate (dqr_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3094# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3095
3096# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3097
3098# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3099#if defined(MFC_OpenACC)
3100# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3101!$acc enter data create(dqR_prim_dy_n(i)%vf(l)%sf)
3102# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3103#elif defined(MFC_OpenMP)
3104# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3105!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf(l)%sf)
3106# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3107#endif
3108#ifdef MFC_DEBUG
3109# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3110 block
3111# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3112 use iso_fortran_env, only: output_unit
3113# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3114
3115# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3116 print *, 'm_rhs.fpp:343: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3117# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3118
3119# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3120 call flush (output_unit)
3121# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3122 end block
3123# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3124#endif
3125# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3126 allocate (dqr_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3127# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3128
3129# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3130
3131# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3132#if defined(MFC_OpenACC)
3133# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3134!$acc enter data create(dqR_prim_dz_n(i)%vf(l)%sf)
3135# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3136#elif defined(MFC_OpenMP)
3137# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3138!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf(l)%sf)
3139# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3140#endif
3141 end do
3142#ifdef _CRAYFTN
3143# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3144 block
3145# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3146 integer :: macros_setup_vfs_i
3147# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3148
3149# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3150#ifdef MFC_DEBUG
3151# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3152 block
3153# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3154 use iso_fortran_env, only: output_unit
3155# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3156
3157# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3158 print *, 'm_rhs.fpp:345: ', '@:ACC_SETUP_VFs(dqL_prim_dx_n(i), dqL_prim_dy_n(i), dqL_prim_dz_n(i))'
3159# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3160
3161# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3162 call flush (output_unit)
3163# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3164 end block
3165# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3166#endif
3167# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3168
3169# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3170
3171# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3172#if defined(MFC_OpenACC)
3173# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3174!$acc enter data copyin(dqL_prim_dx_n(i))
3175# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3176#elif defined(MFC_OpenMP)
3177# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3178!$omp target enter data map(to:dqL_prim_dx_n(i))
3179# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3180#endif
3181# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3182
3183# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3184#if defined(MFC_OpenACC)
3185# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3186!$acc enter data copyin(dqL_prim_dx_n(i)%vf)
3187# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3188#elif defined(MFC_OpenMP)
3189# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3190!$omp target enter data map(to:dqL_prim_dx_n(i)%vf)
3191# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3192#endif
3193# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3194 if (allocated(dql_prim_dx_n(i)%vf)) then
3195# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3196 do macros_setup_vfs_i = lbound(dql_prim_dx_n(i)%vf, 1), ubound(dql_prim_dx_n(i)%vf, 1)
3197# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3198 if (associated(dql_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
3199# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3200
3201# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3202#if defined(MFC_OpenACC)
3203# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3204!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
3205# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3206#elif defined(MFC_OpenMP)
3207# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3208!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
3209# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3210#endif
3211# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3212
3213# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3214#if defined(MFC_OpenACC)
3215# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3216!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3217# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3218#elif defined(MFC_OpenMP)
3219# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3220!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3221# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3222#endif
3223# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3224 end if
3225# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3226 end do
3227# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3228 end if
3229# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3230
3231# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3232#if defined(MFC_OpenACC)
3233# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3234!$acc enter data copyin(dqL_prim_dy_n(i))
3235# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3236#elif defined(MFC_OpenMP)
3237# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3238!$omp target enter data map(to:dqL_prim_dy_n(i))
3239# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3240#endif
3241# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3242
3243# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3244#if defined(MFC_OpenACC)
3245# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3246!$acc enter data copyin(dqL_prim_dy_n(i)%vf)
3247# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3248#elif defined(MFC_OpenMP)
3249# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3250!$omp target enter data map(to:dqL_prim_dy_n(i)%vf)
3251# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3252#endif
3253# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3254 if (allocated(dql_prim_dy_n(i)%vf)) then
3255# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3256 do macros_setup_vfs_i = lbound(dql_prim_dy_n(i)%vf, 1), ubound(dql_prim_dy_n(i)%vf, 1)
3257# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3258 if (associated(dql_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
3259# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3260
3261# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3262#if defined(MFC_OpenACC)
3263# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3264!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
3265# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3266#elif defined(MFC_OpenMP)
3267# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3268!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
3269# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3270#endif
3271# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3272
3273# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3274#if defined(MFC_OpenACC)
3275# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3276!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3277# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3278#elif defined(MFC_OpenMP)
3279# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3280!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3281# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3282#endif
3283# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3284 end if
3285# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3286 end do
3287# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3288 end if
3289# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3290
3291# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3292#if defined(MFC_OpenACC)
3293# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3294!$acc enter data copyin(dqL_prim_dz_n(i))
3295# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3296#elif defined(MFC_OpenMP)
3297# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3298!$omp target enter data map(to:dqL_prim_dz_n(i))
3299# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3300#endif
3301# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3302
3303# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3304#if defined(MFC_OpenACC)
3305# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3306!$acc enter data copyin(dqL_prim_dz_n(i)%vf)
3307# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3308#elif defined(MFC_OpenMP)
3309# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3310!$omp target enter data map(to:dqL_prim_dz_n(i)%vf)
3311# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3312#endif
3313# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3314 if (allocated(dql_prim_dz_n(i)%vf)) then
3315# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3316 do macros_setup_vfs_i = lbound(dql_prim_dz_n(i)%vf, 1), ubound(dql_prim_dz_n(i)%vf, 1)
3317# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3318 if (associated(dql_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
3319# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3320
3321# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3322#if defined(MFC_OpenACC)
3323# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3324!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
3325# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3326#elif defined(MFC_OpenMP)
3327# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3328!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
3329# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3330#endif
3331# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3332
3333# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3334#if defined(MFC_OpenACC)
3335# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3336!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3337# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3338#elif defined(MFC_OpenMP)
3339# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3340!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3341# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3342#endif
3343# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3344 end if
3345# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3346 end do
3347# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3348 end if
3349# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3350 end block
3351# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3352#endif
3353#ifdef _CRAYFTN
3354# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3355 block
3356# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3357 integer :: macros_setup_vfs_i
3358# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3359
3360# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3361#ifdef MFC_DEBUG
3362# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3363 block
3364# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3365 use iso_fortran_env, only: output_unit
3366# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3367
3368# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3369 print *, 'm_rhs.fpp:346: ', '@:ACC_SETUP_VFs(dqR_prim_dx_n(i), dqR_prim_dy_n(i), dqR_prim_dz_n(i))'
3370# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3371
3372# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3373 call flush (output_unit)
3374# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3375 end block
3376# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3377#endif
3378# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3379
3380# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3381
3382# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3383#if defined(MFC_OpenACC)
3384# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3385!$acc enter data copyin(dqR_prim_dx_n(i))
3386# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3387#elif defined(MFC_OpenMP)
3388# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3389!$omp target enter data map(to:dqR_prim_dx_n(i))
3390# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3391#endif
3392# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3393
3394# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3395#if defined(MFC_OpenACC)
3396# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3397!$acc enter data copyin(dqR_prim_dx_n(i)%vf)
3398# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3399#elif defined(MFC_OpenMP)
3400# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3401!$omp target enter data map(to:dqR_prim_dx_n(i)%vf)
3402# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3403#endif
3404# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3405 if (allocated(dqr_prim_dx_n(i)%vf)) then
3406# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3407 do macros_setup_vfs_i = lbound(dqr_prim_dx_n(i)%vf, 1), ubound(dqr_prim_dx_n(i)%vf, 1)
3408# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3409 if (associated(dqr_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
3410# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3411
3412# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3413#if defined(MFC_OpenACC)
3414# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3415!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
3416# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3417#elif defined(MFC_OpenMP)
3418# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3419!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
3420# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3421#endif
3422# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3423
3424# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3425#if defined(MFC_OpenACC)
3426# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3427!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3428# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3429#elif defined(MFC_OpenMP)
3430# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3431!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3432# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3433#endif
3434# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3435 end if
3436# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3437 end do
3438# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3439 end if
3440# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3441
3442# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3443#if defined(MFC_OpenACC)
3444# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3445!$acc enter data copyin(dqR_prim_dy_n(i))
3446# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3447#elif defined(MFC_OpenMP)
3448# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3449!$omp target enter data map(to:dqR_prim_dy_n(i))
3450# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3451#endif
3452# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3453
3454# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3455#if defined(MFC_OpenACC)
3456# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3457!$acc enter data copyin(dqR_prim_dy_n(i)%vf)
3458# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3459#elif defined(MFC_OpenMP)
3460# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3461!$omp target enter data map(to:dqR_prim_dy_n(i)%vf)
3462# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3463#endif
3464# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3465 if (allocated(dqr_prim_dy_n(i)%vf)) then
3466# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3467 do macros_setup_vfs_i = lbound(dqr_prim_dy_n(i)%vf, 1), ubound(dqr_prim_dy_n(i)%vf, 1)
3468# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3469 if (associated(dqr_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
3470# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3471
3472# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3473#if defined(MFC_OpenACC)
3474# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3475!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
3476# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3477#elif defined(MFC_OpenMP)
3478# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3479!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
3480# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3481#endif
3482# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3483
3484# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3485#if defined(MFC_OpenACC)
3486# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3487!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3488# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3489#elif defined(MFC_OpenMP)
3490# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3491!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3492# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3493#endif
3494# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3495 end if
3496# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3497 end do
3498# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3499 end if
3500# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3501
3502# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3503#if defined(MFC_OpenACC)
3504# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3505!$acc enter data copyin(dqR_prim_dz_n(i))
3506# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3507#elif defined(MFC_OpenMP)
3508# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3509!$omp target enter data map(to:dqR_prim_dz_n(i))
3510# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3511#endif
3512# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3513
3514# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3515#if defined(MFC_OpenACC)
3516# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3517!$acc enter data copyin(dqR_prim_dz_n(i)%vf)
3518# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3519#elif defined(MFC_OpenMP)
3520# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3521!$omp target enter data map(to:dqR_prim_dz_n(i)%vf)
3522# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3523#endif
3524# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3525 if (allocated(dqr_prim_dz_n(i)%vf)) then
3526# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3527 do macros_setup_vfs_i = lbound(dqr_prim_dz_n(i)%vf, 1), ubound(dqr_prim_dz_n(i)%vf, 1)
3528# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3529 if (associated(dqr_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
3530# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3531
3532# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3533#if defined(MFC_OpenACC)
3534# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3535!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
3536# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3537#elif defined(MFC_OpenMP)
3538# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3539!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
3540# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3541#endif
3542# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3543
3544# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3545#if defined(MFC_OpenACC)
3546# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3547!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3548# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3549#elif defined(MFC_OpenMP)
3550# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3551!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3552# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3553#endif
3554# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3555 end if
3556# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3557 end do
3558# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3559 end if
3560# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3561 end block
3562# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3563#endif
3564 end do
3565 end if
3566
3567 ! The cylindrical axis source reads tau_Re_vf(mom%beg:E), so conduction needs it too,
3568 ! but without the viscous gradient fields below.
3569 if (viscous .or. heat_conduction) then
3570#ifdef MFC_DEBUG
3571# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3572 block
3573# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3574 use iso_fortran_env, only: output_unit
3575# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3576
3577# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3578 print *, 'm_rhs.fpp:353: ', '@:ALLOCATE(tau_Re_vf(1:sys_size))'
3579# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3580
3581# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3582 call flush (output_unit)
3583# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3584 end block
3585# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3586#endif
3587# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3588 allocate (tau_re_vf(1:sys_size))
3589# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3590
3591# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3592
3593# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3594#if defined(MFC_OpenACC)
3595# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3596!$acc enter data create(tau_Re_vf)
3597# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3598#elif defined(MFC_OpenMP)
3599# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3600!$omp target enter data map(always,alloc:tau_Re_vf)
3601# 353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3602#endif
3603 do i = 1, num_dims
3604#ifdef MFC_DEBUG
3605# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3606 block
3607# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3608 use iso_fortran_env, only: output_unit
3609# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3610
3611# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3612 print *, 'm_rhs.fpp:355: ', '@: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))'
3613# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3614
3615# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3616 call flush (output_unit)
3617# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3618 end block
3619# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3620#endif
3621# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3622 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))
3623# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3624
3625# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3626
3627# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3628#if defined(MFC_OpenACC)
3629# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3630!$acc enter data create(tau_Re_vf(eqn_idx%cont%end + i)%sf)
3631# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3632#elif defined(MFC_OpenMP)
3633# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3634!$omp target enter data map(always,alloc:tau_Re_vf(eqn_idx%cont%end + i)%sf)
3635# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3636#endif
3637# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3638#ifdef _CRAYFTN
3639# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3640 block
3641# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3642#ifdef MFC_DEBUG
3643# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3644 block
3645# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3646 use iso_fortran_env, only: output_unit
3647# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3648
3649# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3650 print *, 'm_rhs.fpp:357: ', '@:ACC_SETUP_SFs(tau_Re_vf(eqn_idx%cont%end + i))'
3651# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3652
3653# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3654 call flush (output_unit)
3655# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3656 end block
3657# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3658#endif
3659# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3660
3661# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3662
3663# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3664#if defined(MFC_OpenACC)
3665# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3666!$acc enter data copyin(tau_Re_vf(eqn_idx%cont%end + i))
3667# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3668#elif defined(MFC_OpenMP)
3669# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3670!$omp target enter data map(to:tau_Re_vf(eqn_idx%cont%end + i))
3671# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3672#endif
3673# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3674 if (associated(tau_re_vf(eqn_idx%cont%end + i)%sf)) then
3675# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3676
3677# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3678#if defined(MFC_OpenACC)
3679# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3680!$acc enter data copyin(tau_Re_vf(eqn_idx%cont%end + i)%sf)
3681# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3682#elif defined(MFC_OpenMP)
3683# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3684!$omp target enter data map(to:tau_Re_vf(eqn_idx%cont%end + i)%sf)
3685# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3686#endif
3687# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3688 end if
3689# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3690 end block
3691# 357 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3692#endif
3693 end do
3694#ifdef MFC_DEBUG
3695# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3696 block
3697# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3698 use iso_fortran_env, only: output_unit
3699# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3700
3701# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3702 print *, 'm_rhs.fpp:359: ', '@: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))'
3703# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3704
3705# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3706 call flush (output_unit)
3707# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3708 end block
3709# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3710#endif
3711# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3712 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))
3713# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3714
3715# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3716
3717# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3718#if defined(MFC_OpenACC)
3719# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3720!$acc enter data create(tau_Re_vf(eqn_idx%E)%sf)
3721# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3722#elif defined(MFC_OpenMP)
3723# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3724!$omp target enter data map(always,alloc:tau_Re_vf(eqn_idx%E)%sf)
3725# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3726#endif
3727# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3728#ifdef _CRAYFTN
3729# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3730 block
3731# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3732#ifdef MFC_DEBUG
3733# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3734 block
3735# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3736 use iso_fortran_env, only: output_unit
3737# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3738
3739# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3740 print *, 'm_rhs.fpp:361: ', '@:ACC_SETUP_SFs(tau_Re_vf(eqn_idx%E))'
3741# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3742
3743# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3744 call flush (output_unit)
3745# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3746 end block
3747# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3748#endif
3749# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3750
3751# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3752
3753# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3754#if defined(MFC_OpenACC)
3755# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3756!$acc enter data copyin(tau_Re_vf(eqn_idx%E))
3757# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3758#elif defined(MFC_OpenMP)
3759# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3760!$omp target enter data map(to:tau_Re_vf(eqn_idx%E))
3761# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3762#endif
3763# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3764 if (associated(tau_re_vf(eqn_idx%E)%sf)) then
3765# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3766
3767# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3768#if defined(MFC_OpenACC)
3769# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3770!$acc enter data copyin(tau_Re_vf(eqn_idx%E)%sf)
3771# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3772#elif defined(MFC_OpenMP)
3773# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3774!$omp target enter data map(to:tau_Re_vf(eqn_idx%E)%sf)
3775# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3776#endif
3777# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3778 end if
3779# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3780 end block
3781# 361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3782#endif
3783 end if
3784
3785 if (viscous) then
3786#ifdef MFC_DEBUG
3787# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3788 block
3789# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3790 use iso_fortran_env, only: output_unit
3791# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3792
3793# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3794 print *, 'm_rhs.fpp:365: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(1:sys_size))'
3795# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3796
3797# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3798 call flush (output_unit)
3799# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3800 end block
3801# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3802#endif
3803# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3804 allocate (dq_prim_dx_qp(1)%vf(1:sys_size))
3805# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3806
3807# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3808
3809# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3810#if defined(MFC_OpenACC)
3811# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3812!$acc enter data create(dq_prim_dx_qp(1)%vf)
3813# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3814#elif defined(MFC_OpenMP)
3815# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3816!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf)
3817# 365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3818#endif
3819#ifdef MFC_DEBUG
3820# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3821 block
3822# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3823 use iso_fortran_env, only: output_unit
3824# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3825
3826# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3827 print *, 'm_rhs.fpp:366: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(1:sys_size))'
3828# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3829
3830# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3831 call flush (output_unit)
3832# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3833 end block
3834# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3835#endif
3836# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3837 allocate (dq_prim_dy_qp(1)%vf(1:sys_size))
3838# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3839
3840# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3841
3842# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3843#if defined(MFC_OpenACC)
3844# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3845!$acc enter data create(dq_prim_dy_qp(1)%vf)
3846# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3847#elif defined(MFC_OpenMP)
3848# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3849!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf)
3850# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3851#endif
3852#ifdef MFC_DEBUG
3853# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3854 block
3855# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3856 use iso_fortran_env, only: output_unit
3857# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3858
3859# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3860 print *, 'm_rhs.fpp:367: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(1:sys_size))'
3861# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3862
3863# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3864 call flush (output_unit)
3865# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3866 end block
3867# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3868#endif
3869# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3870 allocate (dq_prim_dz_qp(1)%vf(1:sys_size))
3871# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3872
3873# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3874
3875# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3876#if defined(MFC_OpenACC)
3877# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3878!$acc enter data create(dq_prim_dz_qp(1)%vf)
3879# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3880#elif defined(MFC_OpenMP)
3881# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3882!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf)
3883# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3884#endif
3885
3886 do l = eqn_idx%mom%beg, eqn_idx%mom%end
3887#ifdef MFC_DEBUG
3888# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3889 block
3890# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3891 use iso_fortran_env, only: output_unit
3892# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3893
3894# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3895 print *, 'm_rhs.fpp:370: ', '@: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))'
3896# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3897
3898# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3899 call flush (output_unit)
3900# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3901 end block
3902# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3903#endif
3904# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3905 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))
3906# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3907
3908# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3909
3910# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3911#if defined(MFC_OpenACC)
3912# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3913!$acc enter data create(dq_prim_dx_qp(1)%vf(l)%sf)
3914# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3915#elif defined(MFC_OpenMP)
3916# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3917!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf(l)%sf)
3918# 370 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3919#endif
3920# 372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3921 end do
3922
3923#ifdef _CRAYFTN
3924# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3925 block
3926# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3927 integer :: macros_setup_vfs_i
3928# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3929
3930# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3931#ifdef MFC_DEBUG
3932# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3933 block
3934# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3935 use iso_fortran_env, only: output_unit
3936# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3937
3938# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3939 print *, 'm_rhs.fpp:374: ', '@:ACC_SETUP_VFs(dq_prim_dx_qp(1))'
3940# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3941
3942# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3943 call flush (output_unit)
3944# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3945 end block
3946# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3947#endif
3948# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3949
3950# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3951
3952# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3953#if defined(MFC_OpenACC)
3954# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3955!$acc enter data copyin(dq_prim_dx_qp(1))
3956# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3957#elif defined(MFC_OpenMP)
3958# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3959!$omp target enter data map(to:dq_prim_dx_qp(1))
3960# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3961#endif
3962# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3963
3964# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3965#if defined(MFC_OpenACC)
3966# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3967!$acc enter data copyin(dq_prim_dx_qp(1)%vf)
3968# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3969#elif defined(MFC_OpenMP)
3970# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3971!$omp target enter data map(to:dq_prim_dx_qp(1)%vf)
3972# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3973#endif
3974# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3975 if (allocated(dq_prim_dx_qp(1)%vf)) then
3976# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3977 do macros_setup_vfs_i = lbound(dq_prim_dx_qp(1)%vf, 1), ubound(dq_prim_dx_qp(1)%vf, 1)
3978# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3979 if (associated(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)) then
3980# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3981
3982# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3983#if defined(MFC_OpenACC)
3984# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3985!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
3986# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3987#elif defined(MFC_OpenMP)
3988# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3989!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
3990# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3991#endif
3992# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3993
3994# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3995#if defined(MFC_OpenACC)
3996# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3997!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
3998# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3999#elif defined(MFC_OpenMP)
4000# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4001!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
4002# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4003#endif
4004# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4005 end if
4006# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4007 end do
4008# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4009 end if
4010# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4011 end block
4012# 374 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4013#endif
4014
4015 if (n > 0) then
4016 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4017#ifdef MFC_DEBUG
4018# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4019 block
4020# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4021 use iso_fortran_env, only: output_unit
4022# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4023
4024# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4025 print *, 'm_rhs.fpp:378: ', '@: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))'
4026# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4027
4028# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4029 call flush (output_unit)
4030# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4031 end block
4032# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4033#endif
4034# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4035 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))
4036# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4037
4038# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4039
4040# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4041#if defined(MFC_OpenACC)
4042# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4043!$acc enter data create(dq_prim_dy_qp(1)%vf(l)%sf)
4044# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4045#elif defined(MFC_OpenMP)
4046# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4047!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf(l)%sf)
4048# 378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4049#endif
4050# 380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4051 end do
4052
4053#ifdef _CRAYFTN
4054# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4055 block
4056# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4057 integer :: macros_setup_vfs_i
4058# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4059
4060# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4061#ifdef MFC_DEBUG
4062# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4063 block
4064# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4065 use iso_fortran_env, only: output_unit
4066# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4067
4068# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4069 print *, 'm_rhs.fpp:382: ', '@:ACC_SETUP_VFs(dq_prim_dy_qp(1))'
4070# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4071
4072# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4073 call flush (output_unit)
4074# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4075 end block
4076# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4077#endif
4078# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4079
4080# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4081
4082# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4083#if defined(MFC_OpenACC)
4084# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4085!$acc enter data copyin(dq_prim_dy_qp(1))
4086# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4087#elif defined(MFC_OpenMP)
4088# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4089!$omp target enter data map(to:dq_prim_dy_qp(1))
4090# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4091#endif
4092# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4093
4094# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4095#if defined(MFC_OpenACC)
4096# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4097!$acc enter data copyin(dq_prim_dy_qp(1)%vf)
4098# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4099#elif defined(MFC_OpenMP)
4100# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4101!$omp target enter data map(to:dq_prim_dy_qp(1)%vf)
4102# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4103#endif
4104# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4105 if (allocated(dq_prim_dy_qp(1)%vf)) then
4106# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4107 do macros_setup_vfs_i = lbound(dq_prim_dy_qp(1)%vf, 1), ubound(dq_prim_dy_qp(1)%vf, 1)
4108# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4109 if (associated(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4110# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4111
4112# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4113#if defined(MFC_OpenACC)
4114# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4115!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
4116# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4117#elif defined(MFC_OpenMP)
4118# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4119!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
4120# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4121#endif
4122# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4123
4124# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4125#if defined(MFC_OpenACC)
4126# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4127!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
4128# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4129#elif defined(MFC_OpenMP)
4130# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4131!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
4132# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4133#endif
4134# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4135 end if
4136# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4137 end do
4138# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4139 end if
4140# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4141 end block
4142# 382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4143#endif
4144
4145 if (p > 0) then
4146 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4147#ifdef MFC_DEBUG
4148# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4149 block
4150# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4151 use iso_fortran_env, only: output_unit
4152# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4153
4154# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4155 print *, 'm_rhs.fpp:386: ', '@: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))'
4156# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4157
4158# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4159 call flush (output_unit)
4160# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4161 end block
4162# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4163#endif
4164# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4165 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))
4166# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4167
4168# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4169
4170# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4171#if defined(MFC_OpenACC)
4172# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4173!$acc enter data create(dq_prim_dz_qp(1)%vf(l)%sf)
4174# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4175#elif defined(MFC_OpenMP)
4176# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4177!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf(l)%sf)
4178# 386 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4179#endif
4180# 388 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4181 end do
4182#ifdef _CRAYFTN
4183# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4184 block
4185# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4186 integer :: macros_setup_vfs_i
4187# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4188
4189# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4190#ifdef MFC_DEBUG
4191# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4192 block
4193# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4194 use iso_fortran_env, only: output_unit
4195# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4196
4197# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4198 print *, 'm_rhs.fpp:389: ', '@:ACC_SETUP_VFs(dq_prim_dz_qp(1))'
4199# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4200
4201# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4202 call flush (output_unit)
4203# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4204 end block
4205# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4206#endif
4207# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4208
4209# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4210
4211# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4212#if defined(MFC_OpenACC)
4213# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4214!$acc enter data copyin(dq_prim_dz_qp(1))
4215# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4216#elif defined(MFC_OpenMP)
4217# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4218!$omp target enter data map(to:dq_prim_dz_qp(1))
4219# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4220#endif
4221# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4222
4223# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4224#if defined(MFC_OpenACC)
4225# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4226!$acc enter data copyin(dq_prim_dz_qp(1)%vf)
4227# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4228#elif defined(MFC_OpenMP)
4229# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4230!$omp target enter data map(to:dq_prim_dz_qp(1)%vf)
4231# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4232#endif
4233# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4234 if (allocated(dq_prim_dz_qp(1)%vf)) then
4235# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4236 do macros_setup_vfs_i = lbound(dq_prim_dz_qp(1)%vf, 1), ubound(dq_prim_dz_qp(1)%vf, 1)
4237# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4238 if (associated(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4239# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4240
4241# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4242#if defined(MFC_OpenACC)
4243# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4244!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
4245# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4246#elif defined(MFC_OpenMP)
4247# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4248!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
4249# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4250#endif
4251# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4252
4253# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4254#if defined(MFC_OpenACC)
4255# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4256!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
4257# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4258#elif defined(MFC_OpenMP)
4259# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4260!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
4261# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4262#endif
4263# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4264 end if
4265# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4266 end do
4267# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4268 end if
4269# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4270 end block
4271# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4272#endif
4273 end if
4274 end if
4275
4276 do i = 1, num_dims
4277#ifdef MFC_DEBUG
4278# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4279 block
4280# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4281 use iso_fortran_env, only: output_unit
4282# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4283
4284# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4285 print *, 'm_rhs.fpp:394: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(1:sys_size))'
4286# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4287
4288# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4289 call flush (output_unit)
4290# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4291 end block
4292# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4293#endif
4294# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4295 allocate (dql_prim_dx_n(i)%vf(1:sys_size))
4296# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4297
4298# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4299
4300# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4301#if defined(MFC_OpenACC)
4302# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4303!$acc enter data create(dqL_prim_dx_n(i)%vf)
4304# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4305#elif defined(MFC_OpenMP)
4306# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4307!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf)
4308# 394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4309#endif
4310#ifdef MFC_DEBUG
4311# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4312 block
4313# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4314 use iso_fortran_env, only: output_unit
4315# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4316
4317# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4318 print *, 'm_rhs.fpp:395: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(1:sys_size))'
4319# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4320
4321# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4322 call flush (output_unit)
4323# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4324 end block
4325# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4326#endif
4327# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4328 allocate (dql_prim_dy_n(i)%vf(1:sys_size))
4329# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4330
4331# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4332
4333# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4334#if defined(MFC_OpenACC)
4335# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4336!$acc enter data create(dqL_prim_dy_n(i)%vf)
4337# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4338#elif defined(MFC_OpenMP)
4339# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4340!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf)
4341# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4342#endif
4343#ifdef MFC_DEBUG
4344# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4345 block
4346# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4347 use iso_fortran_env, only: output_unit
4348# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4349
4350# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4351 print *, 'm_rhs.fpp:396: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(1:sys_size))'
4352# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4353
4354# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4355 call flush (output_unit)
4356# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4357 end block
4358# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4359#endif
4360# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4361 allocate (dql_prim_dz_n(i)%vf(1:sys_size))
4362# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4363
4364# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4365
4366# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4367#if defined(MFC_OpenACC)
4368# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4369!$acc enter data create(dqL_prim_dz_n(i)%vf)
4370# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4371#elif defined(MFC_OpenMP)
4372# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4373!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf)
4374# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4375#endif
4376#ifdef MFC_DEBUG
4377# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4378 block
4379# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4380 use iso_fortran_env, only: output_unit
4381# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4382
4383# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4384 print *, 'm_rhs.fpp:397: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(1:sys_size))'
4385# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4386
4387# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4388 call flush (output_unit)
4389# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4390 end block
4391# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4392#endif
4393# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4394 allocate (dqr_prim_dx_n(i)%vf(1:sys_size))
4395# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4396
4397# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4398
4399# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4400#if defined(MFC_OpenACC)
4401# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4402!$acc enter data create(dqR_prim_dx_n(i)%vf)
4403# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4404#elif defined(MFC_OpenMP)
4405# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4406!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf)
4407# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4408#endif
4409#ifdef MFC_DEBUG
4410# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4411 block
4412# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4413 use iso_fortran_env, only: output_unit
4414# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4415
4416# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4417 print *, 'm_rhs.fpp:398: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(1:sys_size))'
4418# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4419
4420# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4421 call flush (output_unit)
4422# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4423 end block
4424# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4425#endif
4426# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4427 allocate (dqr_prim_dy_n(i)%vf(1:sys_size))
4428# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4429
4430# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4431
4432# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4433#if defined(MFC_OpenACC)
4434# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4435!$acc enter data create(dqR_prim_dy_n(i)%vf)
4436# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4437#elif defined(MFC_OpenMP)
4438# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4439!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf)
4440# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4441#endif
4442#ifdef MFC_DEBUG
4443# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4444 block
4445# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4446 use iso_fortran_env, only: output_unit
4447# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4448
4449# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4450 print *, 'm_rhs.fpp:399: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(1:sys_size))'
4451# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4452
4453# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4454 call flush (output_unit)
4455# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4456 end block
4457# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4458#endif
4459# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4460 allocate (dqr_prim_dz_n(i)%vf(1:sys_size))
4461# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4462
4463# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4464
4465# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4466#if defined(MFC_OpenACC)
4467# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4468!$acc enter data create(dqR_prim_dz_n(i)%vf)
4469# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4470#elif defined(MFC_OpenMP)
4471# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4472!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf)
4473# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4474#endif
4475 end do
4476
4477 do i = 1, num_dims
4478 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4479#ifdef MFC_DEBUG
4480# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4481 block
4482# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4483 use iso_fortran_env, only: output_unit
4484# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4485
4486# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4487 print *, 'm_rhs.fpp:404: ', '@: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))'
4488# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4489
4490# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4491 call flush (output_unit)
4492# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4493 end block
4494# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4495#endif
4496# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4497 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))
4498# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4499
4500# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4501
4502# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4503#if defined(MFC_OpenACC)
4504# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4505!$acc enter data create(dqL_prim_dx_n(i)%vf(l)%sf)
4506# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4507#elif defined(MFC_OpenMP)
4508# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4509!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf(l)%sf)
4510# 404 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4511#endif
4512# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4513#ifdef MFC_DEBUG
4514# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4515 block
4516# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4517 use iso_fortran_env, only: output_unit
4518# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4519
4520# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4521 print *, 'm_rhs.fpp:406: ', '@: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))'
4522# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4523
4524# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4525 call flush (output_unit)
4526# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4527 end block
4528# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4529#endif
4530# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4531 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))
4532# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4533
4534# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4535
4536# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4537#if defined(MFC_OpenACC)
4538# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4539!$acc enter data create(dqR_prim_dx_n(i)%vf(l)%sf)
4540# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4541#elif defined(MFC_OpenMP)
4542# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4543!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf(l)%sf)
4544# 406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4545#endif
4546# 408 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4547 end do
4548
4549 if (n > 0) then
4550 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4551#ifdef MFC_DEBUG
4552# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4553 block
4554# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4555 use iso_fortran_env, only: output_unit
4556# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4557
4558# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4559 print *, 'm_rhs.fpp:412: ', '@: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))'
4560# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4561
4562# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4563 call flush (output_unit)
4564# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4565 end block
4566# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4567#endif
4568# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4569 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))
4570# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4571
4572# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4573
4574# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4575#if defined(MFC_OpenACC)
4576# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4577!$acc enter data create(dqL_prim_dy_n(i)%vf(l)%sf)
4578# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4579#elif defined(MFC_OpenMP)
4580# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4581!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf(l)%sf)
4582# 412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4583#endif
4584# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4585#ifdef MFC_DEBUG
4586# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4587 block
4588# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4589 use iso_fortran_env, only: output_unit
4590# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4591
4592# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4593 print *, 'm_rhs.fpp:414: ', '@: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))'
4594# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4595
4596# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4597 call flush (output_unit)
4598# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4599 end block
4600# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4601#endif
4602# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4603 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))
4604# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4605
4606# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4607
4608# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4609#if defined(MFC_OpenACC)
4610# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4611!$acc enter data create(dqR_prim_dy_n(i)%vf(l)%sf)
4612# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4613#elif defined(MFC_OpenMP)
4614# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4615!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf(l)%sf)
4616# 414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4617#endif
4618# 416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4619 end do
4620 end if
4621
4622 if (p > 0) then
4623 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4624#ifdef MFC_DEBUG
4625# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4626 block
4627# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4628 use iso_fortran_env, only: output_unit
4629# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4630
4631# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4632 print *, 'm_rhs.fpp:421: ', '@: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))'
4633# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4634
4635# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4636 call flush (output_unit)
4637# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4638 end block
4639# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4640#endif
4641# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4642 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))
4643# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4644
4645# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4646
4647# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4648#if defined(MFC_OpenACC)
4649# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4650!$acc enter data create(dqL_prim_dz_n(i)%vf(l)%sf)
4651# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4652#elif defined(MFC_OpenMP)
4653# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4654!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf(l)%sf)
4655# 421 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4656#endif
4657# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4658#ifdef MFC_DEBUG
4659# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4660 block
4661# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4662 use iso_fortran_env, only: output_unit
4663# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4664
4665# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4666 print *, 'm_rhs.fpp:423: ', '@: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))'
4667# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4668
4669# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4670 call flush (output_unit)
4671# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4672 end block
4673# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4674#endif
4675# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4676 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))
4677# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4678
4679# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4680
4681# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4682#if defined(MFC_OpenACC)
4683# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4684!$acc enter data create(dqR_prim_dz_n(i)%vf(l)%sf)
4685# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4686#elif defined(MFC_OpenMP)
4687# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4688!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf(l)%sf)
4689# 423 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4690#endif
4691# 425 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4692 end do
4693 end if
4694
4695#ifdef _CRAYFTN
4696# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4697 block
4698# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4699 integer :: macros_setup_vfs_i
4700# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4701
4702# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4703#ifdef MFC_DEBUG
4704# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4705 block
4706# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4707 use iso_fortran_env, only: output_unit
4708# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4709
4710# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4711 print *, 'm_rhs.fpp:428: ', '@:ACC_SETUP_VFs(dqL_prim_dx_n(i), dqL_prim_dy_n(i), dqL_prim_dz_n(i))'
4712# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4713
4714# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4715 call flush (output_unit)
4716# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4717 end block
4718# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4719#endif
4720# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4721
4722# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4723
4724# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4725#if defined(MFC_OpenACC)
4726# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4727!$acc enter data copyin(dqL_prim_dx_n(i))
4728# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4729#elif defined(MFC_OpenMP)
4730# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4731!$omp target enter data map(to:dqL_prim_dx_n(i))
4732# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4733#endif
4734# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4735
4736# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4737#if defined(MFC_OpenACC)
4738# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4739!$acc enter data copyin(dqL_prim_dx_n(i)%vf)
4740# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4741#elif defined(MFC_OpenMP)
4742# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4743!$omp target enter data map(to:dqL_prim_dx_n(i)%vf)
4744# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4745#endif
4746# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4747 if (allocated(dql_prim_dx_n(i)%vf)) then
4748# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4749 do macros_setup_vfs_i = lbound(dql_prim_dx_n(i)%vf, 1), ubound(dql_prim_dx_n(i)%vf, 1)
4750# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4751 if (associated(dql_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
4752# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4753
4754# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4755#if defined(MFC_OpenACC)
4756# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4757!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
4758# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4759#elif defined(MFC_OpenMP)
4760# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4761!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
4762# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4763#endif
4764# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4765
4766# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4767#if defined(MFC_OpenACC)
4768# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4769!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4770# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4771#elif defined(MFC_OpenMP)
4772# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4773!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4774# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4775#endif
4776# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4777 end if
4778# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4779 end do
4780# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4781 end if
4782# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4783
4784# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4785#if defined(MFC_OpenACC)
4786# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4787!$acc enter data copyin(dqL_prim_dy_n(i))
4788# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4789#elif defined(MFC_OpenMP)
4790# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4791!$omp target enter data map(to:dqL_prim_dy_n(i))
4792# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4793#endif
4794# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4795
4796# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4797#if defined(MFC_OpenACC)
4798# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4799!$acc enter data copyin(dqL_prim_dy_n(i)%vf)
4800# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4801#elif defined(MFC_OpenMP)
4802# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4803!$omp target enter data map(to:dqL_prim_dy_n(i)%vf)
4804# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4805#endif
4806# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4807 if (allocated(dql_prim_dy_n(i)%vf)) then
4808# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4809 do macros_setup_vfs_i = lbound(dql_prim_dy_n(i)%vf, 1), ubound(dql_prim_dy_n(i)%vf, 1)
4810# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4811 if (associated(dql_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
4812# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4813
4814# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4815#if defined(MFC_OpenACC)
4816# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4817!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
4818# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4819#elif defined(MFC_OpenMP)
4820# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4821!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
4822# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4823#endif
4824# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4825
4826# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4827#if defined(MFC_OpenACC)
4828# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4829!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
4830# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4831#elif defined(MFC_OpenMP)
4832# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4833!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
4834# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4835#endif
4836# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4837 end if
4838# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4839 end do
4840# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4841 end if
4842# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4843
4844# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4845#if defined(MFC_OpenACC)
4846# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4847!$acc enter data copyin(dqL_prim_dz_n(i))
4848# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4849#elif defined(MFC_OpenMP)
4850# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4851!$omp target enter data map(to:dqL_prim_dz_n(i))
4852# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4853#endif
4854# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4855
4856# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4857#if defined(MFC_OpenACC)
4858# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4859!$acc enter data copyin(dqL_prim_dz_n(i)%vf)
4860# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4861#elif defined(MFC_OpenMP)
4862# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4863!$omp target enter data map(to:dqL_prim_dz_n(i)%vf)
4864# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4865#endif
4866# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4867 if (allocated(dql_prim_dz_n(i)%vf)) then
4868# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4869 do macros_setup_vfs_i = lbound(dql_prim_dz_n(i)%vf, 1), ubound(dql_prim_dz_n(i)%vf, 1)
4870# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4871 if (associated(dql_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
4872# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4873
4874# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4875#if defined(MFC_OpenACC)
4876# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4877!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
4878# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4879#elif defined(MFC_OpenMP)
4880# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4881!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
4882# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4883#endif
4884# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4885
4886# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4887#if defined(MFC_OpenACC)
4888# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4889!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
4890# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4891#elif defined(MFC_OpenMP)
4892# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4893!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
4894# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4895#endif
4896# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4897 end if
4898# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4899 end do
4900# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4901 end if
4902# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4903 end block
4904# 428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4905#endif
4906#ifdef _CRAYFTN
4907# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4908 block
4909# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4910 integer :: macros_setup_vfs_i
4911# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4912
4913# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4914#ifdef MFC_DEBUG
4915# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4916 block
4917# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4918 use iso_fortran_env, only: output_unit
4919# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4920
4921# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4922 print *, 'm_rhs.fpp:429: ', '@:ACC_SETUP_VFs(dqR_prim_dx_n(i), dqR_prim_dy_n(i), dqR_prim_dz_n(i))'
4923# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4924
4925# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4926 call flush (output_unit)
4927# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4928 end block
4929# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4930#endif
4931# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4932
4933# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4934
4935# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4936#if defined(MFC_OpenACC)
4937# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4938!$acc enter data copyin(dqR_prim_dx_n(i))
4939# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4940#elif defined(MFC_OpenMP)
4941# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4942!$omp target enter data map(to:dqR_prim_dx_n(i))
4943# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4944#endif
4945# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4946
4947# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4948#if defined(MFC_OpenACC)
4949# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4950!$acc enter data copyin(dqR_prim_dx_n(i)%vf)
4951# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4952#elif defined(MFC_OpenMP)
4953# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4954!$omp target enter data map(to:dqR_prim_dx_n(i)%vf)
4955# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4956#endif
4957# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4958 if (allocated(dqr_prim_dx_n(i)%vf)) then
4959# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4960 do macros_setup_vfs_i = lbound(dqr_prim_dx_n(i)%vf, 1), ubound(dqr_prim_dx_n(i)%vf, 1)
4961# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4962 if (associated(dqr_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
4963# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4964
4965# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4966#if defined(MFC_OpenACC)
4967# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4968!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
4969# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4970#elif defined(MFC_OpenMP)
4971# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4972!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
4973# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4974#endif
4975# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4976
4977# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4978#if defined(MFC_OpenACC)
4979# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4980!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4981# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4982#elif defined(MFC_OpenMP)
4983# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4984!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4985# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4986#endif
4987# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4988 end if
4989# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4990 end do
4991# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4992 end if
4993# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4994
4995# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4996#if defined(MFC_OpenACC)
4997# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4998!$acc enter data copyin(dqR_prim_dy_n(i))
4999# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5000#elif defined(MFC_OpenMP)
5001# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5002!$omp target enter data map(to:dqR_prim_dy_n(i))
5003# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5004#endif
5005# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5006
5007# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5008#if defined(MFC_OpenACC)
5009# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5010!$acc enter data copyin(dqR_prim_dy_n(i)%vf)
5011# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5012#elif defined(MFC_OpenMP)
5013# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5014!$omp target enter data map(to:dqR_prim_dy_n(i)%vf)
5015# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5016#endif
5017# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5018 if (allocated(dqr_prim_dy_n(i)%vf)) then
5019# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5020 do macros_setup_vfs_i = lbound(dqr_prim_dy_n(i)%vf, 1), ubound(dqr_prim_dy_n(i)%vf, 1)
5021# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5022 if (associated(dqr_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
5023# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5024
5025# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5026#if defined(MFC_OpenACC)
5027# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5028!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
5029# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5030#elif defined(MFC_OpenMP)
5031# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5032!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
5033# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5034#endif
5035# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5036
5037# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5038#if defined(MFC_OpenACC)
5039# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5040!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
5041# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5042#elif defined(MFC_OpenMP)
5043# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5044!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
5045# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5046#endif
5047# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5048 end if
5049# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5050 end do
5051# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5052 end if
5053# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5054
5055# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5056#if defined(MFC_OpenACC)
5057# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5058!$acc enter data copyin(dqR_prim_dz_n(i))
5059# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5060#elif defined(MFC_OpenMP)
5061# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5062!$omp target enter data map(to:dqR_prim_dz_n(i))
5063# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5064#endif
5065# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5066
5067# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5068#if defined(MFC_OpenACC)
5069# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5070!$acc enter data copyin(dqR_prim_dz_n(i)%vf)
5071# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5072#elif defined(MFC_OpenMP)
5073# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5074!$omp target enter data map(to:dqR_prim_dz_n(i)%vf)
5075# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5076#endif
5077# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5078 if (allocated(dqr_prim_dz_n(i)%vf)) then
5079# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5080 do macros_setup_vfs_i = lbound(dqr_prim_dz_n(i)%vf, 1), ubound(dqr_prim_dz_n(i)%vf, 1)
5081# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5082 if (associated(dqr_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
5083# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5084
5085# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5086#if defined(MFC_OpenACC)
5087# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5088!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
5089# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5090#elif defined(MFC_OpenMP)
5091# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5092!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
5093# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5094#endif
5095# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5096
5097# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5098#if defined(MFC_OpenACC)
5099# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5100!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5101# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5102#elif defined(MFC_OpenMP)
5103# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5104!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5105# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5106#endif
5107# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5108 end if
5109# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5110 end do
5111# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5112 end if
5113# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5114 end block
5115# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5116#endif
5117 end do
5118
5119 if (weno_re_flux) then
5120#ifdef MFC_DEBUG
5121# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5122 block
5123# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5124 use iso_fortran_env, only: output_unit
5125# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5126
5127# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5128 print *, 'm_rhs.fpp:433: ', '@: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))'
5129# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5130
5131# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5132 call flush (output_unit)
5133# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5134 end block
5135# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5136#endif
5137# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5138 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))
5139# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5140
5141# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5142
5143# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5144#if defined(MFC_OpenACC)
5145# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5146!$acc enter data create(dqL_rsx_vf)
5147# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5148#elif defined(MFC_OpenMP)
5149# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5150!$omp target enter data map(always,alloc:dqL_rsx_vf)
5151# 433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5152#endif
5153# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5154#ifdef MFC_DEBUG
5155# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5156 block
5157# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5158 use iso_fortran_env, only: output_unit
5159# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5160
5161# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5162 print *, 'm_rhs.fpp:435: ', '@: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))'
5163# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5164
5165# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5166 call flush (output_unit)
5167# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5168 end block
5169# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5170#endif
5171# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5172 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))
5173# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5174
5175# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5176
5177# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5178#if defined(MFC_OpenACC)
5179# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5180!$acc enter data create(dqR_rsx_vf)
5181# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5182#elif defined(MFC_OpenMP)
5183# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5184!$omp target enter data map(always,alloc:dqR_rsx_vf)
5185# 435 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5186#endif
5187# 437 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5188 end if
5189 else
5190#ifdef MFC_DEBUG
5191# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5192 block
5193# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5194 use iso_fortran_env, only: output_unit
5195# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5196
5197# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5198 print *, 'm_rhs.fpp:439: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(1:sys_size))'
5199# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5200
5201# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5202 call flush (output_unit)
5203# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5204 end block
5205# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5206#endif
5207# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5208 allocate (dq_prim_dx_qp(1)%vf(1:sys_size))
5209# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5210
5211# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5212
5213# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5214#if defined(MFC_OpenACC)
5215# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5216!$acc enter data create(dq_prim_dx_qp(1)%vf)
5217# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5218#elif defined(MFC_OpenMP)
5219# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5220!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf)
5221# 439 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5222#endif
5223#ifdef MFC_DEBUG
5224# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5225 block
5226# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5227 use iso_fortran_env, only: output_unit
5228# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5229
5230# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5231 print *, 'm_rhs.fpp:440: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(1:sys_size))'
5232# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5233
5234# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5235 call flush (output_unit)
5236# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5237 end block
5238# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5239#endif
5240# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5241 allocate (dq_prim_dy_qp(1)%vf(1:sys_size))
5242# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5243
5244# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5245
5246# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5247#if defined(MFC_OpenACC)
5248# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5249!$acc enter data create(dq_prim_dy_qp(1)%vf)
5250# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5251#elif defined(MFC_OpenMP)
5252# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5253!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf)
5254# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5255#endif
5256#ifdef MFC_DEBUG
5257# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5258 block
5259# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5260 use iso_fortran_env, only: output_unit
5261# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5262
5263# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5264 print *, 'm_rhs.fpp:441: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(1:sys_size))'
5265# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5266
5267# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5268 call flush (output_unit)
5269# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5270 end block
5271# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5272#endif
5273# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5274 allocate (dq_prim_dz_qp(1)%vf(1:sys_size))
5275# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5276
5277# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5278
5279# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5280#if defined(MFC_OpenACC)
5281# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5282!$acc enter data create(dq_prim_dz_qp(1)%vf)
5283# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5284#elif defined(MFC_OpenMP)
5285# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5286!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf)
5287# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5288#endif
5289
5290 do l = eqn_idx%mom%beg, eqn_idx%mom%end
5291#ifdef MFC_DEBUG
5292# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5293 block
5294# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5295 use iso_fortran_env, only: output_unit
5296# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5297
5298# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5299 print *, 'm_rhs.fpp:444: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf(0, 0, 0))'
5300# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5301
5302# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5303 call flush (output_unit)
5304# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5305 end block
5306# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5307#endif
5308# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5309 allocate (dq_prim_dx_qp(1)%vf(l)%sf(0, 0, 0))
5310# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5311
5312# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5313
5314# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5315#if defined(MFC_OpenACC)
5316# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5317!$acc enter data create(dq_prim_dx_qp(1)%vf(l)%sf)
5318# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5319#elif defined(MFC_OpenMP)
5320# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5321!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf(l)%sf)
5322# 444 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5323#endif
5324#ifdef _CRAYFTN
5325# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5326 block
5327# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5328 integer :: macros_setup_vfs_i
5329# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5330
5331# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5332#ifdef MFC_DEBUG
5333# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5334 block
5335# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5336 use iso_fortran_env, only: output_unit
5337# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5338
5339# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5340 print *, 'm_rhs.fpp:445: ', '@:ACC_SETUP_VFs(dq_prim_dx_qp(1))'
5341# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5342
5343# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5344 call flush (output_unit)
5345# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5346 end block
5347# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5348#endif
5349# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5350
5351# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5352
5353# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5354#if defined(MFC_OpenACC)
5355# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5356!$acc enter data copyin(dq_prim_dx_qp(1))
5357# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5358#elif defined(MFC_OpenMP)
5359# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5360!$omp target enter data map(to:dq_prim_dx_qp(1))
5361# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5362#endif
5363# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5364
5365# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5366#if defined(MFC_OpenACC)
5367# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5368!$acc enter data copyin(dq_prim_dx_qp(1)%vf)
5369# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5370#elif defined(MFC_OpenMP)
5371# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5372!$omp target enter data map(to:dq_prim_dx_qp(1)%vf)
5373# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5374#endif
5375# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5376 if (allocated(dq_prim_dx_qp(1)%vf)) then
5377# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5378 do macros_setup_vfs_i = lbound(dq_prim_dx_qp(1)%vf, 1), ubound(dq_prim_dx_qp(1)%vf, 1)
5379# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5380 if (associated(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5381# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5382
5383# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5384#if defined(MFC_OpenACC)
5385# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5386!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
5387# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5388#elif defined(MFC_OpenMP)
5389# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5390!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
5391# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5392#endif
5393# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5394
5395# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5396#if defined(MFC_OpenACC)
5397# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5398!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
5399# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5400#elif defined(MFC_OpenMP)
5401# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5402!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
5403# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5404#endif
5405# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5406 end if
5407# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5408 end do
5409# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5410 end if
5411# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5412 end block
5413# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5414#endif
5415 if (n > 0) then
5416#ifdef MFC_DEBUG
5417# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5418 block
5419# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5420 use iso_fortran_env, only: output_unit
5421# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5422
5423# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5424 print *, 'm_rhs.fpp:447: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf(0, 0, 0))'
5425# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5426
5427# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5428 call flush (output_unit)
5429# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5430 end block
5431# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5432#endif
5433# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5434 allocate (dq_prim_dy_qp(1)%vf(l)%sf(0, 0, 0))
5435# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5436
5437# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5438
5439# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5440#if defined(MFC_OpenACC)
5441# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5442!$acc enter data create(dq_prim_dy_qp(1)%vf(l)%sf)
5443# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5444#elif defined(MFC_OpenMP)
5445# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5446!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf(l)%sf)
5447# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5448#endif
5449#ifdef _CRAYFTN
5450# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5451 block
5452# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5453 integer :: macros_setup_vfs_i
5454# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5455
5456# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5457#ifdef MFC_DEBUG
5458# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5459 block
5460# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5461 use iso_fortran_env, only: output_unit
5462# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5463
5464# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5465 print *, 'm_rhs.fpp:448: ', '@:ACC_SETUP_VFs(dq_prim_dy_qp(1))'
5466# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5467
5468# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5469 call flush (output_unit)
5470# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5471 end block
5472# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5473#endif
5474# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5475
5476# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5477
5478# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5479#if defined(MFC_OpenACC)
5480# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5481!$acc enter data copyin(dq_prim_dy_qp(1))
5482# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5483#elif defined(MFC_OpenMP)
5484# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5485!$omp target enter data map(to:dq_prim_dy_qp(1))
5486# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5487#endif
5488# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5489
5490# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5491#if defined(MFC_OpenACC)
5492# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5493!$acc enter data copyin(dq_prim_dy_qp(1)%vf)
5494# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5495#elif defined(MFC_OpenMP)
5496# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5497!$omp target enter data map(to:dq_prim_dy_qp(1)%vf)
5498# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5499#endif
5500# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5501 if (allocated(dq_prim_dy_qp(1)%vf)) then
5502# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5503 do macros_setup_vfs_i = lbound(dq_prim_dy_qp(1)%vf, 1), ubound(dq_prim_dy_qp(1)%vf, 1)
5504# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5505 if (associated(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5506# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5507
5508# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5509#if defined(MFC_OpenACC)
5510# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5511!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
5512# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5513#elif defined(MFC_OpenMP)
5514# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5515!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
5516# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5517#endif
5518# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5519
5520# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5521#if defined(MFC_OpenACC)
5522# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5523!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
5524# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5525#elif defined(MFC_OpenMP)
5526# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5527!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
5528# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5529#endif
5530# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5531 end if
5532# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5533 end do
5534# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5535 end if
5536# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5537 end block
5538# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5539#endif
5540 if (p > 0) then
5541#ifdef MFC_DEBUG
5542# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5543 block
5544# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5545 use iso_fortran_env, only: output_unit
5546# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5547
5548# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5549 print *, 'm_rhs.fpp:450: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf(0, 0, 0))'
5550# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5551
5552# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5553 call flush (output_unit)
5554# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5555 end block
5556# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5557#endif
5558# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5559 allocate (dq_prim_dz_qp(1)%vf(l)%sf(0, 0, 0))
5560# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5561
5562# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5563
5564# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5565#if defined(MFC_OpenACC)
5566# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5567!$acc enter data create(dq_prim_dz_qp(1)%vf(l)%sf)
5568# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5569#elif defined(MFC_OpenMP)
5570# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5571!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf(l)%sf)
5572# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5573#endif
5574#ifdef _CRAYFTN
5575# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5576 block
5577# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5578 integer :: macros_setup_vfs_i
5579# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5580
5581# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5582#ifdef MFC_DEBUG
5583# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5584 block
5585# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5586 use iso_fortran_env, only: output_unit
5587# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5588
5589# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5590 print *, 'm_rhs.fpp:451: ', '@:ACC_SETUP_VFs(dq_prim_dz_qp(1))'
5591# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5592
5593# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5594 call flush (output_unit)
5595# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5596 end block
5597# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5598#endif
5599# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5600
5601# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5602
5603# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5604#if defined(MFC_OpenACC)
5605# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5606!$acc enter data copyin(dq_prim_dz_qp(1))
5607# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5608#elif defined(MFC_OpenMP)
5609# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5610!$omp target enter data map(to:dq_prim_dz_qp(1))
5611# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5612#endif
5613# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5614
5615# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5616#if defined(MFC_OpenACC)
5617# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5618!$acc enter data copyin(dq_prim_dz_qp(1)%vf)
5619# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5620#elif defined(MFC_OpenMP)
5621# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5622!$omp target enter data map(to:dq_prim_dz_qp(1)%vf)
5623# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5624#endif
5625# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5626 if (allocated(dq_prim_dz_qp(1)%vf)) then
5627# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5628 do macros_setup_vfs_i = lbound(dq_prim_dz_qp(1)%vf, 1), ubound(dq_prim_dz_qp(1)%vf, 1)
5629# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5630 if (associated(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5631# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5632
5633# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5634#if defined(MFC_OpenACC)
5635# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5636!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
5637# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5638#elif defined(MFC_OpenMP)
5639# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5640!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
5641# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5642#endif
5643# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5644
5645# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5646#if defined(MFC_OpenACC)
5647# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5648!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
5649# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5650#elif defined(MFC_OpenMP)
5651# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5652!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
5653# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5654#endif
5655# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5656 end if
5657# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5658 end do
5659# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5660 end if
5661# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5662 end block
5663# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5664#endif
5665 end if
5666 end if
5667 end do
5668 end if
5669
5670
5671# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5672
5673# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5674#if defined(MFC_OpenACC)
5675# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5676!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l, id)
5677# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5678#elif defined(MFC_OpenMP)
5679# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5680
5681# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5682
5683# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5684
5685# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5686!$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)
5687# 457 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5688#endif
5689 do id = 1, num_dims
5690 do i = 1, sys_size
5691 do l = idwbuff(3)%beg, idwbuff(3)%end
5692 do k = idwbuff(2)%beg, idwbuff(2)%end
5693 do j = idwbuff(1)%beg, idwbuff(1)%end
5694 flux_gsrc_n(id)%vf(i)%sf(j, k, l) = 0._wp
5695 end do
5696 end do
5697 end do
5698 end do
5699 end do
5700
5701# 469 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5702#if defined(MFC_OpenACC)
5703# 469 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5704!$acc end parallel loop
5705# 469 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5706#elif defined(MFC_OpenMP)
5707# 469 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5708
5709# 469 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5710!$omp end target teams loop
5711# 469 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5712#endif
5713 end if
5714
5715 if (qbmm) then
5716#ifdef MFC_DEBUG
5717# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5718 block
5719# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5720 use iso_fortran_env, only: output_unit
5721# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5722
5723# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5724 print *, 'm_rhs.fpp:473: ', '@:ALLOCATE(mom_sp(1:nmomsp), mom_3d(0:2, 0:2, nb))'
5725# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5726
5727# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5728 call flush (output_unit)
5729# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5730 end block
5731# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5732#endif
5733# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5734 allocate (mom_sp(1:nmomsp), mom_3d(0:2, 0:2, nb))
5735# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5736
5737# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5738
5739# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5740
5741# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5742#if defined(MFC_OpenACC)
5743# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5744!$acc enter data create(mom_sp, mom_3d)
5745# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5746#elif defined(MFC_OpenMP)
5747# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5748!$omp target enter data map(always,alloc:mom_sp, mom_3d)
5749# 473 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5750#endif
5751
5752 do i = 0, 2
5753 do j = 0, 2
5754 do k = 1, nb
5755#ifdef MFC_DEBUG
5756# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5757 block
5758# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5759 use iso_fortran_env, only: output_unit
5760# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5761
5762# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5763 print *, 'm_rhs.fpp:478: ', '@: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))'
5764# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5765
5766# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5767 call flush (output_unit)
5768# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5769 end block
5770# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5771#endif
5772# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5773 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))
5774# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5775
5776# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5777
5778# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5779#if defined(MFC_OpenACC)
5780# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5781!$acc enter data create(mom_3d(i, j, k)%sf)
5782# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5783#elif defined(MFC_OpenMP)
5784# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5785!$omp target enter data map(always,alloc:mom_3d(i, j, k)%sf)
5786# 478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5787#endif
5788# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5789#ifdef _CRAYFTN
5790# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5791 block
5792# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5793#ifdef MFC_DEBUG
5794# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5795 block
5796# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5797 use iso_fortran_env, only: output_unit
5798# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5799
5800# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5801 print *, 'm_rhs.fpp:480: ', '@:ACC_SETUP_SFs(mom_3d(i, j, k))'
5802# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5803
5804# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5805 call flush (output_unit)
5806# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5807 end block
5808# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5809#endif
5810# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5811
5812# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5813
5814# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5815#if defined(MFC_OpenACC)
5816# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5817!$acc enter data copyin(mom_3d(i, j, k))
5818# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5819#elif defined(MFC_OpenMP)
5820# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5821!$omp target enter data map(to:mom_3d(i, j, k))
5822# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5823#endif
5824# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5825 if (associated(mom_3d(i, j, k)%sf)) then
5826# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5827
5828# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5829#if defined(MFC_OpenACC)
5830# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5831!$acc enter data copyin(mom_3d(i, j, k)%sf)
5832# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5833#elif defined(MFC_OpenMP)
5834# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5835!$omp target enter data map(to:mom_3d(i, j, k)%sf)
5836# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5837#endif
5838# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5839 end if
5840# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5841 end block
5842# 480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5843#endif
5844 end do
5845 end do
5846 end do
5847
5848 do i = 1, nmomsp
5849#ifdef MFC_DEBUG
5850# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5851 block
5852# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5853 use iso_fortran_env, only: output_unit
5854# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5855
5856# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5857 print *, 'm_rhs.fpp:486: ', '@:ALLOCATE(mom_sp(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
5858# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5859
5860# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5861 call flush (output_unit)
5862# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5863 end block
5864# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5865#endif
5866# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5867 allocate (mom_sp(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
5868# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5869
5870# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5871
5872# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5873#if defined(MFC_OpenACC)
5874# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5875!$acc enter data create(mom_sp(i)%sf)
5876# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5877#elif defined(MFC_OpenMP)
5878# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5879!$omp target enter data map(always,alloc:mom_sp(i)%sf)
5880# 486 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5881#endif
5882# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5883#ifdef _CRAYFTN
5884# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5885 block
5886# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5887#ifdef MFC_DEBUG
5888# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5889 block
5890# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5891 use iso_fortran_env, only: output_unit
5892# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5893
5894# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5895 print *, 'm_rhs.fpp:488: ', '@:ACC_SETUP_SFs(mom_sp(i))'
5896# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5897
5898# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5899 call flush (output_unit)
5900# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5901 end block
5902# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5903#endif
5904# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5905
5906# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5907
5908# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5909#if defined(MFC_OpenACC)
5910# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5911!$acc enter data copyin(mom_sp(i))
5912# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5913#elif defined(MFC_OpenMP)
5914# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5915!$omp target enter data map(to:mom_sp(i))
5916# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5917#endif
5918# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5919 if (associated(mom_sp(i)%sf)) then
5920# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5921
5922# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5923#if defined(MFC_OpenACC)
5924# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5925!$acc enter data copyin(mom_sp(i)%sf)
5926# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5927#elif defined(MFC_OpenMP)
5928# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5929!$omp target enter data map(to:mom_sp(i)%sf)
5930# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5931#endif
5932# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5933 end if
5934# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5935 end block
5936# 488 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5937#endif
5938 end do
5939 end if
5940
5941 if (mpp_lim .and. bubbles_euler) then
5942#ifdef MFC_DEBUG
5943# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5944 block
5945# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5946 use iso_fortran_env, only: output_unit
5947# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5948
5949# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5950 print *, 'm_rhs.fpp:493: ', '@:ALLOCATE(alf_sum%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
5951# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5952
5953# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5954 call flush (output_unit)
5955# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5956 end block
5957# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5958#endif
5959# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5960 allocate (alf_sum%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
5961# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5962
5963# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5964
5965# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5966#if defined(MFC_OpenACC)
5967# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5968!$acc enter data create(alf_sum%sf)
5969# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5970#elif defined(MFC_OpenMP)
5971# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5972!$omp target enter data map(always,alloc:alf_sum%sf)
5973# 493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5974#endif
5975 end if
5976 if (use_nc_iface_vel) then
5977#ifdef MFC_DEBUG
5978# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5979 block
5980# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5981 use iso_fortran_env, only: output_unit
5982# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5983
5984# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5985 print *, 'm_rhs.fpp:496: ', '@:ALLOCATE(nc_iface_vel_n(1:num_dims))'
5986# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5987
5988# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5989 call flush (output_unit)
5990# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5991 end block
5992# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5993#endif
5994# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5995 allocate (nc_iface_vel_n(1:num_dims))
5996# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5997
5998# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5999
6000# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6001#if defined(MFC_OpenACC)
6002# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6003!$acc enter data create(nc_iface_vel_n)
6004# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6005#elif defined(MFC_OpenMP)
6006# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6007!$omp target enter data map(always,alloc:nc_iface_vel_n)
6008# 496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6009#endif
6010 do i = 1, num_dims
6011#ifdef MFC_DEBUG
6012# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6013 block
6014# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6015 use iso_fortran_env, only: output_unit
6016# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6017
6018# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6019 print *, 'm_rhs.fpp:498: ', '@:ALLOCATE(nc_iface_vel_n(i)%vf(1:num_dims))'
6020# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6021
6022# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6023 call flush (output_unit)
6024# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6025 end block
6026# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6027#endif
6028# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6029 allocate (nc_iface_vel_n(i)%vf(1:num_dims))
6030# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6031
6032# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6033
6034# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6035#if defined(MFC_OpenACC)
6036# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6037!$acc enter data create(nc_iface_vel_n(i)%vf)
6038# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6039#elif defined(MFC_OpenMP)
6040# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6041!$omp target enter data map(always,alloc:nc_iface_vel_n(i)%vf)
6042# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6043#endif
6044 do l = 1, num_dims
6045#ifdef MFC_DEBUG
6046# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6047 block
6048# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6049 use iso_fortran_env, only: output_unit
6050# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6051
6052# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6053 print *, 'm_rhs.fpp:500: ', '@: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))'
6054# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6055
6056# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6057 call flush (output_unit)
6058# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6059 end block
6060# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6061#endif
6062# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6063 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))
6064# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6065
6066# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6067
6068# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6069#if defined(MFC_OpenACC)
6070# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6071!$acc enter data create(nc_iface_vel_n(i)%vf(l)%sf)
6072# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6073#elif defined(MFC_OpenMP)
6074# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6075!$omp target enter data map(always,alloc:nc_iface_vel_n(i)%vf(l)%sf)
6076# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6077#endif
6078# 502 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6079 end do
6080 end do
6081 if (num_dims == 2) then
6082#ifdef _CRAYFTN
6083# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6084 block
6085# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6086 integer :: macros_setup_vfs_i
6087# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6088
6089# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6090#ifdef MFC_DEBUG
6091# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6092 block
6093# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6094 use iso_fortran_env, only: output_unit
6095# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6096
6097# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6098 print *, 'm_rhs.fpp:505: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1), nc_iface_vel_n(2))'
6099# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6100
6101# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6102 call flush (output_unit)
6103# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6104 end block
6105# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6106#endif
6107# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6108
6109# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6110
6111# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6112#if defined(MFC_OpenACC)
6113# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6114!$acc enter data copyin(nc_iface_vel_n(1))
6115# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6116#elif defined(MFC_OpenMP)
6117# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6118!$omp target enter data map(to:nc_iface_vel_n(1))
6119# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6120#endif
6121# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6122
6123# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6124#if defined(MFC_OpenACC)
6125# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6126!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6127# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6128#elif defined(MFC_OpenMP)
6129# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6130!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6131# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6132#endif
6133# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6134 if (allocated(nc_iface_vel_n(1)%vf)) then
6135# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6136 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6137# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6138 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6139# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6140
6141# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6142#if defined(MFC_OpenACC)
6143# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6144!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6145# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6146#elif defined(MFC_OpenMP)
6147# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6148!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6149# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6150#endif
6151# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6152
6153# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6154#if defined(MFC_OpenACC)
6155# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6156!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6157# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6158#elif defined(MFC_OpenMP)
6159# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6160!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6161# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6162#endif
6163# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6164 end if
6165# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6166 end do
6167# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6168 end if
6169# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6170
6171# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6172#if defined(MFC_OpenACC)
6173# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6174!$acc enter data copyin(nc_iface_vel_n(2))
6175# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6176#elif defined(MFC_OpenMP)
6177# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6178!$omp target enter data map(to:nc_iface_vel_n(2))
6179# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6180#endif
6181# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6182
6183# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6184#if defined(MFC_OpenACC)
6185# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6186!$acc enter data copyin(nc_iface_vel_n(2)%vf)
6187# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6188#elif defined(MFC_OpenMP)
6189# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6190!$omp target enter data map(to:nc_iface_vel_n(2)%vf)
6191# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6192#endif
6193# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6194 if (allocated(nc_iface_vel_n(2)%vf)) then
6195# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6196 do macros_setup_vfs_i = lbound(nc_iface_vel_n(2)%vf, 1), ubound(nc_iface_vel_n(2)%vf, 1)
6197# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6198 if (associated(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)) then
6199# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6200
6201# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6202#if defined(MFC_OpenACC)
6203# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6204!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6205# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6206#elif defined(MFC_OpenMP)
6207# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6208!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6209# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6210#endif
6211# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6212
6213# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6214#if defined(MFC_OpenACC)
6215# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6216!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6217# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6218#elif defined(MFC_OpenMP)
6219# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6220!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6221# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6222#endif
6223# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6224 end if
6225# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6226 end do
6227# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6228 end if
6229# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6230 end block
6231# 505 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6232#endif
6233 else if (num_dims == 3) then
6234#ifdef _CRAYFTN
6235# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6236 block
6237# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6238 integer :: macros_setup_vfs_i
6239# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6240
6241# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6242#ifdef MFC_DEBUG
6243# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6244 block
6245# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6246 use iso_fortran_env, only: output_unit
6247# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6248
6249# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6250 print *, 'm_rhs.fpp:507: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1), nc_iface_vel_n(2), nc_iface_vel_n(3))'
6251# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6252
6253# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6254 call flush (output_unit)
6255# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6256 end block
6257# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6258#endif
6259# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6260
6261# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6262
6263# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6264#if defined(MFC_OpenACC)
6265# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6266!$acc enter data copyin(nc_iface_vel_n(1))
6267# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6268#elif defined(MFC_OpenMP)
6269# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6270!$omp target enter data map(to:nc_iface_vel_n(1))
6271# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6272#endif
6273# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6274
6275# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6276#if defined(MFC_OpenACC)
6277# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6278!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6279# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6280#elif defined(MFC_OpenMP)
6281# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6282!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6283# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6284#endif
6285# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6286 if (allocated(nc_iface_vel_n(1)%vf)) then
6287# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6288 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6289# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6290 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6291# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6292
6293# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6294#if defined(MFC_OpenACC)
6295# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6296!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6297# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6298#elif defined(MFC_OpenMP)
6299# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6300!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6301# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6302#endif
6303# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6304
6305# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6306#if defined(MFC_OpenACC)
6307# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6308!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6309# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6310#elif defined(MFC_OpenMP)
6311# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6312!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6313# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6314#endif
6315# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6316 end if
6317# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6318 end do
6319# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6320 end if
6321# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6322
6323# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6324#if defined(MFC_OpenACC)
6325# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6326!$acc enter data copyin(nc_iface_vel_n(2))
6327# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6328#elif defined(MFC_OpenMP)
6329# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6330!$omp target enter data map(to:nc_iface_vel_n(2))
6331# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6332#endif
6333# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6334
6335# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6336#if defined(MFC_OpenACC)
6337# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6338!$acc enter data copyin(nc_iface_vel_n(2)%vf)
6339# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6340#elif defined(MFC_OpenMP)
6341# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6342!$omp target enter data map(to:nc_iface_vel_n(2)%vf)
6343# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6344#endif
6345# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6346 if (allocated(nc_iface_vel_n(2)%vf)) then
6347# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6348 do macros_setup_vfs_i = lbound(nc_iface_vel_n(2)%vf, 1), ubound(nc_iface_vel_n(2)%vf, 1)
6349# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6350 if (associated(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)) then
6351# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6352
6353# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6354#if defined(MFC_OpenACC)
6355# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6356!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6357# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6358#elif defined(MFC_OpenMP)
6359# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6360!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6361# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6362#endif
6363# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6364
6365# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6366#if defined(MFC_OpenACC)
6367# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6368!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6369# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6370#elif defined(MFC_OpenMP)
6371# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6372!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6373# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6374#endif
6375# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6376 end if
6377# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6378 end do
6379# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6380 end if
6381# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6382
6383# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6384#if defined(MFC_OpenACC)
6385# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6386!$acc enter data copyin(nc_iface_vel_n(3))
6387# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6388#elif defined(MFC_OpenMP)
6389# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6390!$omp target enter data map(to:nc_iface_vel_n(3))
6391# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6392#endif
6393# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6394
6395# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6396#if defined(MFC_OpenACC)
6397# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6398!$acc enter data copyin(nc_iface_vel_n(3)%vf)
6399# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6400#elif defined(MFC_OpenMP)
6401# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6402!$omp target enter data map(to:nc_iface_vel_n(3)%vf)
6403# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6404#endif
6405# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6406 if (allocated(nc_iface_vel_n(3)%vf)) then
6407# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6408 do macros_setup_vfs_i = lbound(nc_iface_vel_n(3)%vf, 1), ubound(nc_iface_vel_n(3)%vf, 1)
6409# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6410 if (associated(nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)) then
6411# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6412
6413# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6414#if defined(MFC_OpenACC)
6415# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6416!$acc enter data copyin(nc_iface_vel_n(3)%vf(macros_setup_vfs_i))
6417# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6418#elif defined(MFC_OpenMP)
6419# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6420!$omp target enter data map(to:nc_iface_vel_n(3)%vf(macros_setup_vfs_i))
6421# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6422#endif
6423# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6424
6425# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6426#if defined(MFC_OpenACC)
6427# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6428!$acc enter data copyin(nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)
6429# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6430#elif defined(MFC_OpenMP)
6431# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6432!$omp target enter data map(to:nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)
6433# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6434#endif
6435# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6436 end if
6437# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6438 end do
6439# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6440 end if
6441# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6442 end block
6443# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6444#endif
6445 else
6446#ifdef _CRAYFTN
6447# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6448 block
6449# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6450 integer :: macros_setup_vfs_i
6451# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6452
6453# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6454#ifdef MFC_DEBUG
6455# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6456 block
6457# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6458 use iso_fortran_env, only: output_unit
6459# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6460
6461# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6462 print *, 'm_rhs.fpp:509: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1))'
6463# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6464
6465# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6466 call flush (output_unit)
6467# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6468 end block
6469# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6470#endif
6471# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6472
6473# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6474
6475# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6476#if defined(MFC_OpenACC)
6477# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6478!$acc enter data copyin(nc_iface_vel_n(1))
6479# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6480#elif defined(MFC_OpenMP)
6481# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6482!$omp target enter data map(to:nc_iface_vel_n(1))
6483# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6484#endif
6485# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6486
6487# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6488#if defined(MFC_OpenACC)
6489# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6490!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6491# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6492#elif defined(MFC_OpenMP)
6493# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6494!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6495# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6496#endif
6497# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6498 if (allocated(nc_iface_vel_n(1)%vf)) then
6499# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6500 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6501# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6502 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6503# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6504
6505# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6506#if defined(MFC_OpenACC)
6507# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6508!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6509# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6510#elif defined(MFC_OpenMP)
6511# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6512!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6513# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6514#endif
6515# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6516
6517# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6518#if defined(MFC_OpenACC)
6519# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6520!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6521# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6522#elif defined(MFC_OpenMP)
6523# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6524!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6525# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6526#endif
6527# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6528 end if
6529# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6530 end do
6531# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6532 end if
6533# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6534 end block
6535# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6536#endif
6537 end if
6538 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
6539#ifdef MFC_DEBUG
6540# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6541 block
6542# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6543 use iso_fortran_env, only: output_unit
6544# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6545
6546# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6547 print *, 'm_rhs.fpp:512: ', '@:ALLOCATE(nc_iface_vel_hatR_n(1:num_dims))'
6548# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6549
6550# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6551 call flush (output_unit)
6552# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6553 end block
6554# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6555#endif
6556# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6557 allocate (nc_iface_vel_hatr_n(1:num_dims))
6558# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6559
6560# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6561
6562# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6563#if defined(MFC_OpenACC)
6564# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6565!$acc enter data create(nc_iface_vel_hatR_n)
6566# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6567#elif defined(MFC_OpenMP)
6568# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6569!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n)
6570# 512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6571#endif
6572 do i = 1, num_dims
6573#ifdef MFC_DEBUG
6574# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6575 block
6576# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6577 use iso_fortran_env, only: output_unit
6578# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6579
6580# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6581 print *, 'm_rhs.fpp:514: ', '@:ALLOCATE(nc_iface_vel_hatR_n(i)%vf(1:num_dims))'
6582# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6583
6584# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6585 call flush (output_unit)
6586# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6587 end block
6588# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6589#endif
6590# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6591 allocate (nc_iface_vel_hatr_n(i)%vf(1:num_dims))
6592# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6593
6594# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6595
6596# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6597#if defined(MFC_OpenACC)
6598# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6599!$acc enter data create(nc_iface_vel_hatR_n(i)%vf)
6600# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6601#elif defined(MFC_OpenMP)
6602# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6603!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n(i)%vf)
6604# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6605#endif
6606 do l = 1, num_dims
6607#ifdef MFC_DEBUG
6608# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6609 block
6610# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6611 use iso_fortran_env, only: output_unit
6612# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6613
6614# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6615 print *, 'm_rhs.fpp:516: ', '@: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))'
6616# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6617
6618# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6619 call flush (output_unit)
6620# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6621 end block
6622# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6623#endif
6624# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6625 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))
6626# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6627
6628# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6629
6630# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6631#if defined(MFC_OpenACC)
6632# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6633!$acc enter data create(nc_iface_vel_hatR_n(i)%vf(l)%sf)
6634# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6635#elif defined(MFC_OpenMP)
6636# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6637!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n(i)%vf(l)%sf)
6638# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6639#endif
6640# 518 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6641 end do
6642 end do
6643 if (num_dims == 2) then
6644#ifdef _CRAYFTN
6645# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6646 block
6647# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6648 integer :: macros_setup_vfs_i
6649# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6650
6651# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6652#ifdef MFC_DEBUG
6653# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6654 block
6655# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6656 use iso_fortran_env, only: output_unit
6657# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6658
6659# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6660 print *, 'm_rhs.fpp:521: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1), nc_iface_vel_hatR_n(2))'
6661# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6662
6663# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6664 call flush (output_unit)
6665# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6666 end block
6667# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6668#endif
6669# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6670
6671# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6672
6673# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6674#if defined(MFC_OpenACC)
6675# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6676!$acc enter data copyin(nc_iface_vel_hatR_n(1))
6677# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6678#elif defined(MFC_OpenMP)
6679# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6680!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
6681# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6682#endif
6683# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6684
6685# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6686#if defined(MFC_OpenACC)
6687# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6688!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
6689# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6690#elif defined(MFC_OpenMP)
6691# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6692!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
6693# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6694#endif
6695# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6696 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
6697# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6698 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
6699# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6700 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
6701# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6702
6703# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6704#if defined(MFC_OpenACC)
6705# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6706!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6707# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6708#elif defined(MFC_OpenMP)
6709# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6710!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6711# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6712#endif
6713# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6714
6715# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6716#if defined(MFC_OpenACC)
6717# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6718!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6719# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6720#elif defined(MFC_OpenMP)
6721# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6722!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6723# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6724#endif
6725# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6726 end if
6727# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6728 end do
6729# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6730 end if
6731# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6732
6733# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6734#if defined(MFC_OpenACC)
6735# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6736!$acc enter data copyin(nc_iface_vel_hatR_n(2))
6737# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6738#elif defined(MFC_OpenMP)
6739# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6740!$omp target enter data map(to:nc_iface_vel_hatR_n(2))
6741# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6742#endif
6743# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6744
6745# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6746#if defined(MFC_OpenACC)
6747# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6748!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf)
6749# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6750#elif defined(MFC_OpenMP)
6751# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6752!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf)
6753# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6754#endif
6755# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6756 if (allocated(nc_iface_vel_hatr_n(2)%vf)) then
6757# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6758 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(2)%vf, 1), ubound(nc_iface_vel_hatr_n(2)%vf, 1)
6759# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6760 if (associated(nc_iface_vel_hatr_n(2)%vf(macros_setup_vfs_i)%sf)) then
6761# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6762
6763# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6764#if defined(MFC_OpenACC)
6765# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6766!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6767# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6768#elif defined(MFC_OpenMP)
6769# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6770!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6771# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6772#endif
6773# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6774
6775# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6776#if defined(MFC_OpenACC)
6777# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6778!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6779# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6780#elif defined(MFC_OpenMP)
6781# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6782!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6783# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6784#endif
6785# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6786 end if
6787# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6788 end do
6789# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6790 end if
6791# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6792 end block
6793# 521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6794#endif
6795 else if (num_dims == 3) then
6796#ifdef _CRAYFTN
6797# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6798 block
6799# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6800 integer :: macros_setup_vfs_i
6801# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6802
6803# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6804#ifdef MFC_DEBUG
6805# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6806 block
6807# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6808 use iso_fortran_env, only: output_unit
6809# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6810
6811# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6812 print *, 'm_rhs.fpp:523: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1), nc_iface_vel_hatR_n(2), nc_iface_vel_hatR_n(3))'
6813# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6814
6815# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6816 call flush (output_unit)
6817# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6818 end block
6819# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6820#endif
6821# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6822
6823# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6824
6825# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6826#if defined(MFC_OpenACC)
6827# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6828!$acc enter data copyin(nc_iface_vel_hatR_n(1))
6829# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6830#elif defined(MFC_OpenMP)
6831# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6832!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
6833# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6834#endif
6835# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6836
6837# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6838#if defined(MFC_OpenACC)
6839# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6840!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
6841# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6842#elif defined(MFC_OpenMP)
6843# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6844!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
6845# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6846#endif
6847# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6848 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
6849# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6850 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
6851# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6852 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
6853# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6854
6855# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6856#if defined(MFC_OpenACC)
6857# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6858!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6859# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6860#elif defined(MFC_OpenMP)
6861# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6862!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6863# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6864#endif
6865# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6866
6867# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6868#if defined(MFC_OpenACC)
6869# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6870!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6871# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6872#elif defined(MFC_OpenMP)
6873# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6874!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6875# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6876#endif
6877# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6878 end if
6879# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6880 end do
6881# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6882 end if
6883# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6884
6885# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6886#if defined(MFC_OpenACC)
6887# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6888!$acc enter data copyin(nc_iface_vel_hatR_n(2))
6889# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6890#elif defined(MFC_OpenMP)
6891# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6892!$omp target enter data map(to:nc_iface_vel_hatR_n(2))
6893# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6894#endif
6895# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6896
6897# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6898#if defined(MFC_OpenACC)
6899# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6900!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf)
6901# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6902#elif defined(MFC_OpenMP)
6903# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6904!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf)
6905# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6906#endif
6907# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6908 if (allocated(nc_iface_vel_hatr_n(2)%vf)) then
6909# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6910 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(2)%vf, 1), ubound(nc_iface_vel_hatr_n(2)%vf, 1)
6911# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6912 if (associated(nc_iface_vel_hatr_n(2)%vf(macros_setup_vfs_i)%sf)) then
6913# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6914
6915# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6916#if defined(MFC_OpenACC)
6917# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6918!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6919# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6920#elif defined(MFC_OpenMP)
6921# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6922!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6923# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6924#endif
6925# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6926
6927# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6928#if defined(MFC_OpenACC)
6929# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6930!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6931# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6932#elif defined(MFC_OpenMP)
6933# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6934!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6935# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6936#endif
6937# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6938 end if
6939# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6940 end do
6941# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6942 end if
6943# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6944
6945# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6946#if defined(MFC_OpenACC)
6947# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6948!$acc enter data copyin(nc_iface_vel_hatR_n(3))
6949# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6950#elif defined(MFC_OpenMP)
6951# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6952!$omp target enter data map(to:nc_iface_vel_hatR_n(3))
6953# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6954#endif
6955# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6956
6957# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6958#if defined(MFC_OpenACC)
6959# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6960!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf)
6961# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6962#elif defined(MFC_OpenMP)
6963# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6964!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf)
6965# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6966#endif
6967# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6968 if (allocated(nc_iface_vel_hatr_n(3)%vf)) then
6969# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6970 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(3)%vf, 1), ubound(nc_iface_vel_hatr_n(3)%vf, 1)
6971# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6972 if (associated(nc_iface_vel_hatr_n(3)%vf(macros_setup_vfs_i)%sf)) then
6973# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6974
6975# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6976#if defined(MFC_OpenACC)
6977# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6978!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i))
6979# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6980#elif defined(MFC_OpenMP)
6981# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6982!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i))
6983# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6984#endif
6985# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6986
6987# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6988#if defined(MFC_OpenACC)
6989# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6990!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i)%sf)
6991# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6992#elif defined(MFC_OpenMP)
6993# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6994!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i)%sf)
6995# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6996#endif
6997# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6998 end if
6999# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7000 end do
7001# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7002 end if
7003# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7004 end block
7005# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7006#endif
7007 else
7008#ifdef _CRAYFTN
7009# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7010 block
7011# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7012 integer :: macros_setup_vfs_i
7013# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7014
7015# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7016#ifdef MFC_DEBUG
7017# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7018 block
7019# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7020 use iso_fortran_env, only: output_unit
7021# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7022
7023# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7024 print *, 'm_rhs.fpp:525: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1))'
7025# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7026
7027# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7028 call flush (output_unit)
7029# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7030 end block
7031# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7032#endif
7033# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7034
7035# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7036
7037# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7038#if defined(MFC_OpenACC)
7039# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7040!$acc enter data copyin(nc_iface_vel_hatR_n(1))
7041# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7042#elif defined(MFC_OpenMP)
7043# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7044!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
7045# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7046#endif
7047# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7048
7049# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7050#if defined(MFC_OpenACC)
7051# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7052!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
7053# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7054#elif defined(MFC_OpenMP)
7055# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7056!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
7057# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7058#endif
7059# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7060 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
7061# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7062 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
7063# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7064 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
7065# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7066
7067# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7068#if defined(MFC_OpenACC)
7069# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7070!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
7071# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7072#elif defined(MFC_OpenMP)
7073# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7074!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
7075# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7076#endif
7077# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7078
7079# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7080#if defined(MFC_OpenACC)
7081# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7082!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7083# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7084#elif defined(MFC_OpenMP)
7085# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7086!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7087# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7088#endif
7089# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7090 end if
7091# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7092 end do
7093# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7094 end if
7095# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7096 end block
7097# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7098#endif
7099 end if
7100 end if
7101 end if
7102
7103 if (alt_soundspeed) then
7104#ifdef MFC_DEBUG
7105# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7106 block
7107# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7108 use iso_fortran_env, only: output_unit
7109# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7110
7111# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7112 print *, 'm_rhs.fpp:531: ', '@: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))'
7113# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7114
7115# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7116 call flush (output_unit)
7117# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7118 end block
7119# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7120#endif
7121# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7122 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))
7123# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7124
7125# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7126
7127# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7128
7129# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7130
7131# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7132
7133# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7134
7135# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7136#if defined(MFC_OpenACC)
7137# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7138!$acc enter data create(blkmod1, blkmod2, alpha1, alpha2, Kterm)
7139# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7140#elif defined(MFC_OpenMP)
7141# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7142!$omp target enter data map(always,alloc:blkmod1, blkmod2, alpha1, alpha2, Kterm)
7143# 531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7144#endif
7145# 533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7146 end if
7147
7148 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
7149#ifdef MFC_DEBUG
7150# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7151 block
7152# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7153 use iso_fortran_env, only: output_unit
7154# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7155
7156# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7157 print *, 'm_rhs.fpp:536: ', '@:ALLOCATE(rhs_hatL_vf(1:sys_size))'
7158# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7159
7160# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7161 call flush (output_unit)
7162# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7163 end block
7164# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7165#endif
7166# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7167 allocate (rhs_hatl_vf(1:sys_size))
7168# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7169
7170# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7171
7172# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7173#if defined(MFC_OpenACC)
7174# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7175!$acc enter data create(rhs_hatL_vf)
7176# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7177#elif defined(MFC_OpenMP)
7178# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7179!$omp target enter data map(always,alloc:rhs_hatL_vf)
7180# 536 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7181#endif
7182#ifdef MFC_DEBUG
7183# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7184 block
7185# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7186 use iso_fortran_env, only: output_unit
7187# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7188
7189# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7190 print *, 'm_rhs.fpp:537: ', '@:ALLOCATE(rhs_hatR_vf(1:sys_size))'
7191# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7192
7193# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7194 call flush (output_unit)
7195# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7196 end block
7197# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7198#endif
7199# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7200 allocate (rhs_hatr_vf(1:sys_size))
7201# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7202
7203# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7204
7205# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7206#if defined(MFC_OpenACC)
7207# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7208!$acc enter data create(rhs_hatR_vf)
7209# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7210#elif defined(MFC_OpenMP)
7211# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7212!$omp target enter data map(always,alloc:rhs_hatR_vf)
7213# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7214#endif
7215#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7216# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7217 block
7218# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7219 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7220# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7221 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7222# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7223#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7224# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7225 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7226# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7227#else
7228# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7229 use cuda_runtime_api
7230# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7231#endif
7232# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7233 integer :: istat
7234# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7235
7236# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7237 if (nv_uvm_pref_gpu) then
7238# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7239 ! set preferred location GPU
7240# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7241 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetpreferredlocation, 0)
7242# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7243 if (istat /= cudasuccess) then
7244# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7245 write (*, "('Error code: ',I0, ': ')") istat
7246# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7247 end if
7248# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7249 ! set accessed by CPU
7250# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7251 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7252# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7253 if (istat /= cudasuccess) then
7254# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7255 write (*, "('Error code: ',I0, ': ')") istat
7256# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7257 end if
7258# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7259 ! prefetch to GPU - physically populate memory pages
7260# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7261 istat = cudamemprefetchasync(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), 0, 0)
7262# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7263 if (istat /= cudasuccess) then
7264# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7265 write (*, "('Error code: ',I0, ': ')") istat
7266# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7267 end if
7268# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7269 end if
7270# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7271 end block
7272# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7273#endif
7274#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7275# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7276 block
7277# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7278 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7279# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7280 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7281# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7282#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7283# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7284 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7285# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7286#else
7287# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7288 use cuda_runtime_api
7289# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7290#endif
7291# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7292 integer :: istat
7293# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7294
7295# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7296 if (nv_uvm_pref_gpu) then
7297# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7298 ! set preferred location GPU
7299# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7300 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetpreferredlocation, 0)
7301# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7302 if (istat /= cudasuccess) then
7303# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7304 write (*, "('Error code: ',I0, ': ')") istat
7305# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7306 end if
7307# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7308 ! set accessed by CPU
7309# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7310 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7311# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7312 if (istat /= cudasuccess) then
7313# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7314 write (*, "('Error code: ',I0, ': ')") istat
7315# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7316 end if
7317# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7318 ! prefetch to GPU - physically populate memory pages
7319# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7320 istat = cudamemprefetchasync(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), 0, 0)
7321# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7322 if (istat /= cudasuccess) then
7323# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7324 write (*, "('Error code: ',I0, ': ')") istat
7325# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7326 end if
7327# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7328 end if
7329# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7330 end block
7331# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7332#endif
7333
7334 do i = 1, sys_size
7335#ifdef MFC_DEBUG
7336# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7337 block
7338# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7339 use iso_fortran_env, only: output_unit
7340# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7341
7342# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7343 print *, 'm_rhs.fpp:542: ', '@:ALLOCATE(rhs_hatL_vf(i)%sf(0:m, 0:n, 0:p))'
7344# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7345
7346# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7347 call flush (output_unit)
7348# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7349 end block
7350# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7351#endif
7352# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7353 allocate (rhs_hatl_vf(i)%sf(0:m, 0:n, 0:p))
7354# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7355
7356# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7357
7358# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7359#if defined(MFC_OpenACC)
7360# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7361!$acc enter data create(rhs_hatL_vf(i)%sf)
7362# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7363#elif defined(MFC_OpenMP)
7364# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7365!$omp target enter data map(always,alloc:rhs_hatL_vf(i)%sf)
7366# 542 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7367#endif
7368#ifdef MFC_DEBUG
7369# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7370 block
7371# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7372 use iso_fortran_env, only: output_unit
7373# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7374
7375# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7376 print *, 'm_rhs.fpp:543: ', '@:ALLOCATE(rhs_hatR_vf(i)%sf(0:m, 0:n, 0:p))'
7377# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7378
7379# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7380 call flush (output_unit)
7381# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7382 end block
7383# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7384#endif
7385# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7386 allocate (rhs_hatr_vf(i)%sf(0:m, 0:n, 0:p))
7387# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7388
7389# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7390
7391# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7392#if defined(MFC_OpenACC)
7393# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7394!$acc enter data create(rhs_hatR_vf(i)%sf)
7395# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7396#elif defined(MFC_OpenMP)
7397# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7398!$omp target enter data map(always,alloc:rhs_hatR_vf(i)%sf)
7399# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7400#endif
7401#ifdef _CRAYFTN
7402# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7403 block
7404# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7405#ifdef MFC_DEBUG
7406# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7407 block
7408# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7409 use iso_fortran_env, only: output_unit
7410# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7411
7412# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7413 print *, 'm_rhs.fpp:544: ', '@:ACC_SETUP_SFs(rhs_hatL_vf(i))'
7414# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7415
7416# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7417 call flush (output_unit)
7418# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7419 end block
7420# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7421#endif
7422# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7423
7424# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7425
7426# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7427#if defined(MFC_OpenACC)
7428# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7429!$acc enter data copyin(rhs_hatL_vf(i))
7430# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7431#elif defined(MFC_OpenMP)
7432# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7433!$omp target enter data map(to:rhs_hatL_vf(i))
7434# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7435#endif
7436# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7437 if (associated(rhs_hatl_vf(i)%sf)) then
7438# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7439
7440# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7441#if defined(MFC_OpenACC)
7442# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7443!$acc enter data copyin(rhs_hatL_vf(i)%sf)
7444# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7445#elif defined(MFC_OpenMP)
7446# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7447!$omp target enter data map(to:rhs_hatL_vf(i)%sf)
7448# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7449#endif
7450# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7451 end if
7452# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7453 end block
7454# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7455#endif
7456#ifdef _CRAYFTN
7457# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7458 block
7459# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7460#ifdef MFC_DEBUG
7461# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7462 block
7463# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7464 use iso_fortran_env, only: output_unit
7465# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7466
7467# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7468 print *, 'm_rhs.fpp:545: ', '@:ACC_SETUP_SFs(rhs_hatR_vf(i))'
7469# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7470
7471# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7472 call flush (output_unit)
7473# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7474 end block
7475# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7476#endif
7477# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7478
7479# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7480
7481# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7482#if defined(MFC_OpenACC)
7483# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7484!$acc enter data copyin(rhs_hatR_vf(i))
7485# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7486#elif defined(MFC_OpenMP)
7487# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7488!$omp target enter data map(to:rhs_hatR_vf(i))
7489# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7490#endif
7491# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7492 if (associated(rhs_hatr_vf(i)%sf)) then
7493# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7494
7495# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7496#if defined(MFC_OpenACC)
7497# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7498!$acc enter data copyin(rhs_hatR_vf(i)%sf)
7499# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7500#elif defined(MFC_OpenMP)
7501# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7502!$omp target enter data map(to:rhs_hatR_vf(i)%sf)
7503# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7504#endif
7505# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7506 end if
7507# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7508 end block
7509# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7510#endif
7511 end do
7512 end if
7513
7514 ! Spatial body force source arrays - sized to include ghost cells so the
7515 ! same indexing as q_*_vf is valid; iteration is restricted to interior
7516 ! cells via the `bounds` argument in m_body_forces. Only allocated when the
7517 ! feature is active (the write/read sites are likewise guarded).
7518 if (bf_spatial_support) then
7519 if (n > 0) then
7520 if (p > 0) then
7521#ifdef MFC_DEBUG
7522# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7523 block
7524# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7525 use iso_fortran_env, only: output_unit
7526# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7527
7528# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7529 print *, 'm_rhs.fpp:556: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7530# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7531
7532# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7533 call flush (output_unit)
7534# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7535 end block
7536# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7537#endif
7538# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7539 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7540# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7541
7542# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7543
7544# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7545#if defined(MFC_OpenACC)
7546# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7547!$acc enter data create(spbf_source_x)
7548# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7549#elif defined(MFC_OpenMP)
7550# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7551!$omp target enter data map(always,alloc:spbf_source_x)
7552# 556 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7553#endif
7554#ifdef MFC_DEBUG
7555# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7556 block
7557# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7558 use iso_fortran_env, only: output_unit
7559# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7560
7561# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7562 print *, 'm_rhs.fpp:557: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7563# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7564
7565# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7566 call flush (output_unit)
7567# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7568 end block
7569# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7570#endif
7571# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7572 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7573# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7574
7575# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7576
7577# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7578#if defined(MFC_OpenACC)
7579# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7580!$acc enter data create(spbf_source_y)
7581# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7582#elif defined(MFC_OpenMP)
7583# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7584!$omp target enter data map(always,alloc:spbf_source_y)
7585# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7586#endif
7587 else
7588#ifdef MFC_DEBUG
7589# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7590 block
7591# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7592 use iso_fortran_env, only: output_unit
7593# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7594
7595# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7596 print *, 'm_rhs.fpp:559: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7597# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7598
7599# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7600 call flush (output_unit)
7601# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7602 end block
7603# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7604#endif
7605# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7606 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7607# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7608
7609# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7610
7611# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7612#if defined(MFC_OpenACC)
7613# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7614!$acc enter data create(spbf_source_x)
7615# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7616#elif defined(MFC_OpenMP)
7617# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7618!$omp target enter data map(always,alloc:spbf_source_x)
7619# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7620#endif
7621#ifdef MFC_DEBUG
7622# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7623 block
7624# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7625 use iso_fortran_env, only: output_unit
7626# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7627
7628# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7629 print *, 'm_rhs.fpp:560: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7630# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7631
7632# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7633 call flush (output_unit)
7634# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7635 end block
7636# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7637#endif
7638# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7639 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7640# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7641
7642# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7643
7644# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7645#if defined(MFC_OpenACC)
7646# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7647!$acc enter data create(spbf_source_y)
7648# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7649#elif defined(MFC_OpenMP)
7650# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7651!$omp target enter data map(always,alloc:spbf_source_y)
7652# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7653#endif
7654 end if
7655 else
7656#ifdef MFC_DEBUG
7657# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7658 block
7659# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7660 use iso_fortran_env, only: output_unit
7661# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7662
7663# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7664 print *, 'm_rhs.fpp:563: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))'
7665# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7666
7667# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7668 call flush (output_unit)
7669# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7670 end block
7671# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7672#endif
7673# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7674 allocate (spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))
7675# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7676
7677# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7678
7679# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7680#if defined(MFC_OpenACC)
7681# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7682!$acc enter data create(spbf_source_x)
7683# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7684#elif defined(MFC_OpenMP)
7685# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7686!$omp target enter data map(always,alloc:spbf_source_x)
7687# 563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7688#endif
7689#ifdef MFC_DEBUG
7690# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7691 block
7692# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7693 use iso_fortran_env, only: output_unit
7694# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7695
7696# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7697 print *, 'm_rhs.fpp:564: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))'
7698# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7699
7700# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7701 call flush (output_unit)
7702# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7703 end block
7704# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7705#endif
7706# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7707 allocate (spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))
7708# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7709
7710# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7711
7712# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7713#if defined(MFC_OpenACC)
7714# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7715!$acc enter data create(spbf_source_y)
7716# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7717#elif defined(MFC_OpenMP)
7718# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7719!$omp target enter data map(always,alloc:spbf_source_y)
7720# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7721#endif
7722 end if
7723#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7724# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7725 block
7726# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7727 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7728# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7729 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7730# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7731#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7732# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7733 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7734# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7735#else
7736# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7737 use cuda_runtime_api
7738# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7739#endif
7740# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7741 integer :: istat
7742# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7743
7744# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7745 if (nv_uvm_pref_gpu) then
7746# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7747 ! set preferred location GPU
7748# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7749 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetpreferredlocation, 0)
7750# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7751 if (istat /= cudasuccess) then
7752# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7753 write (*, "('Error code: ',I0, ': ')") istat
7754# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7755 end if
7756# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7757 ! set accessed by CPU
7758# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7759 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetaccessedby, cudacpudeviceid)
7760# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7761 if (istat /= cudasuccess) then
7762# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7763 write (*, "('Error code: ',I0, ': ')") istat
7764# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7765 end if
7766# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7767 ! prefetch to GPU - physically populate memory pages
7768# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7769 istat = cudamemprefetchasync(c_devloc(spbf_source_x), sizeof(spbf_source_x), 0, 0)
7770# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7771 if (istat /= cudasuccess) then
7772# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7773 write (*, "('Error code: ',I0, ': ')") istat
7774# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7775 end if
7776# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7777 end if
7778# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7779 end block
7780# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7781#endif
7782#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7783# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7784 block
7785# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7786 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7787# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7788 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7789# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7790#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7791# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7792 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7793# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7794#else
7795# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7796 use cuda_runtime_api
7797# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7798#endif
7799# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7800 integer :: istat
7801# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7802
7803# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7804 if (nv_uvm_pref_gpu) then
7805# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7806 ! set preferred location GPU
7807# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7808 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetpreferredlocation, 0)
7809# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7810 if (istat /= cudasuccess) then
7811# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7812 write (*, "('Error code: ',I0, ': ')") istat
7813# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7814 end if
7815# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7816 ! set accessed by CPU
7817# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7818 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetaccessedby, cudacpudeviceid)
7819# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7820 if (istat /= cudasuccess) then
7821# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7822 write (*, "('Error code: ',I0, ': ')") istat
7823# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7824 end if
7825# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7826 ! prefetch to GPU - physically populate memory pages
7827# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7828 istat = cudamemprefetchasync(c_devloc(spbf_source_y), sizeof(spbf_source_y), 0, 0)
7829# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7830 if (istat /= cudasuccess) then
7831# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7832 write (*, "('Error code: ',I0, ': ')") istat
7833# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7834 end if
7835# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7836 end if
7837# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7838 end block
7839# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7840#endif
7841
7842 spbf_source_x = 0._wp
7843 spbf_source_y = 0._wp
7844
7845# 571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7846#if defined(MFC_OpenACC)
7847# 571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7848!$acc update device(spbf_source_x, spbf_source_y)
7849# 571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7850#elif defined(MFC_OpenMP)
7851# 571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7852!$omp target update to(spbf_source_x, spbf_source_y)
7853# 571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7854#endif
7855 end if
7856
7857 end subroutine s_initialize_rhs_module
7858
7859 !> Compute the right-hand side of the semi-discrete governing equations for a single time stage
7860 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)
7861
7862 type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_vf
7863 type(scalar_field), intent(inout) :: q_t_sf
7864 type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf
7865 type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type
7866 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
7867 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: pb_in
7868
7869 ! TODO :: I think these other two variables need to be stp as well, but it doesn't compile like that right now
7870 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_pb
7871 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: mv_in
7872 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_mv
7873 integer, intent(in) :: t_step
7874 integer, intent(in) :: stage
7875 integer :: id
7876 integer(kind=8) :: i, j, k, l, q !< Generic loop iterators
7877
7878 ! RHS: halo exchange -> reconstruct -> Riemann solve -> flux difference -> source terms
7879
7880 call nvtxstartrange("COMPUTE-RHS")
7881
7882 if (.not. igr) then
7883 ! Association/Population of Working Variables
7884
7885# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7886
7887# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7888#if defined(MFC_OpenACC)
7889# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7890!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
7891# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7892#elif defined(MFC_OpenMP)
7893# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7894
7895# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7896
7897# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7898
7899# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7900!$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)
7901# 601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7902#endif
7903 do i = 1, sys_size
7904 do l = idwbuff(3)%beg, idwbuff(3)%end
7905 do k = idwbuff(2)%beg, idwbuff(2)%end
7906 do j = idwbuff(1)%beg, idwbuff(1)%end
7907 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_vf(i)%sf(j, k, l)
7908 end do
7909 end do
7910 end do
7911 end do
7912
7913# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7914#if defined(MFC_OpenACC)
7915# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7916!$acc end parallel loop
7917# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7918#elif defined(MFC_OpenMP)
7919# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7920
7921# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7922!$omp end target teams loop
7923# 611 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7924#endif
7925
7926 ! Converting Conservative to Primitive Variables
7927
7928 if (mpp_lim .and. bubbles_euler) then
7929
7930# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7931
7932# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7933#if defined(MFC_OpenACC)
7934# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7935!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
7936# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7937#elif defined(MFC_OpenMP)
7938# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7939
7940# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7941
7942# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7943
7944# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7945!$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)
7946# 616 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7947#endif
7948 do l = idwbuff(3)%beg, idwbuff(3)%end
7949 do k = idwbuff(2)%beg, idwbuff(2)%end
7950 do j = idwbuff(1)%beg, idwbuff(1)%end
7951 alf_sum%sf(j, k, l) = 0._wp
7952
7953# 621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7954#if defined(MFC_OpenACC)
7955# 621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7956!$acc loop seq
7957# 621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7958#elif defined(MFC_OpenMP)
7959# 621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7960
7961# 621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7962#endif
7963 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
7964 alf_sum%sf(j, k, l) = alf_sum%sf(j, k, l) + q_cons_qp%vf(i)%sf(j, k, l)
7965 end do
7966
7967# 625 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7968#if defined(MFC_OpenACC)
7969# 625 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7970!$acc loop seq
7971# 625 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7972#elif defined(MFC_OpenMP)
7973# 625 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7974
7975# 625 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7976#endif
7977 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
7978 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_qp%vf(i)%sf(j, k, &
7979 & l)*(1._wp - q_cons_qp%vf(eqn_idx%alf)%sf(j, k, l))/alf_sum%sf(j, k, l)
7980 end do
7981 end do
7982 end do
7983 end do
7984
7985# 633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7986#if defined(MFC_OpenACC)
7987# 633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7988!$acc end parallel loop
7989# 633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7990#elif defined(MFC_OpenMP)
7991# 633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7992
7993# 633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7994!$omp end target teams loop
7995# 633 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7996#endif
7997 end if
7998 end if
7999
8000 if (igr) then
8001 call nvtxstartrange("RHS-COMMUNICATION")
8002 call s_populate_variables_buffers(bc_type, q_cons_vf, pb_in, mv_in, q_t_sf)
8003 call nvtxendrange
8004 end if
8005 if (.not. igr) then
8006 call nvtxstartrange("RHS-CONVERT")
8007 call s_convert_conservative_to_primitive_variables(q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8008 call nvtxendrange
8009
8010 call nvtxstartrange("RHS-COMMUNICATION")
8011 call s_populate_variables_buffers(bc_type, q_prim_qp%vf, pb_in, mv_in, q_t_sf)
8012 call nvtxendrange
8013 end if
8014
8015 if (cfl_dt) then
8016 if (mytime >= t_stop) return
8017 else
8018 if (t_step == t_step_stop) return
8019 end if
8020
8021 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), &
8022 & idwbuff(2), idwbuff(3))
8023
8024 if ((viscous .and. .not. igr)) then
8025 call nvtxstartrange("RHS-VISCOUS")
8028 & idwbuff(1), idwbuff(2), idwbuff(3))
8029 call nvtxendrange
8030 end if
8031
8032 if (surface_tension) then
8033 call nvtxstartrange("RHS-SURFACE-TENSION")
8034 call s_get_capillary(q_prim_qp%vf, bc_type)
8035 call nvtxendrange
8036 end if
8037
8038 if (int_comp == int_comp_mthinc .and. n > 0) then
8039 call nvtxstartrange("RHS-COMPRESSION-NORMALS")
8040 call s_compute_mthinc_normals(q_prim_qp%vf)
8041 call nvtxendrange
8042 end if
8043
8044 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8045 do id = 1, num_dims
8046 if (igr) then
8047 if (id == 1) then
8048
8049# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8050
8051# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8052#if defined(MFC_OpenACC)
8053# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8054!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8055# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8056#elif defined(MFC_OpenMP)
8057# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8058
8059# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8060
8061# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8062
8063# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8064!$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)
8065# 685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8066#endif
8067 do l = -1, p + 1
8068 do k = -1, n + 1
8069 do j = -1, m + 1
8070 do i = 1, sys_size
8071 rhs_vf(i)%sf(j, k, l) = 0._stp
8072 end do
8073 end do
8074 end do
8075 end do
8076
8077# 695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8078#if defined(MFC_OpenACC)
8079# 695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8080!$acc end parallel loop
8081# 695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8082#elif defined(MFC_OpenMP)
8083# 695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8084
8085# 695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8086!$omp end target teams loop
8087# 695 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8088#endif
8089 end if
8090
8091 call nvtxstartrange("IGR_RIEMANN")
8092 call s_igr_riemann_solver(q_cons_vf, rhs_vf, id)
8093 call nvtxendrange
8094
8095 if (id == 1) then
8096 call nvtxstartrange("IGR_Jacobi")
8097 call s_igr_iterative_solve(q_cons_vf, bc_type, t_step)
8098 call nvtxendrange
8099
8100 call nvtxstartrange("IGR_SIGMA")
8101 call s_igr_sigma_x(q_cons_vf, rhs_vf)
8102 call nvtxendrange
8103 end if
8104 end if
8105 if (.not. igr) then
8107
8108 call s_compute_directional_rhs(id, rhs_vf, .false.)
8109
8110 ! RHS additions for hypoelasticity
8111 if (hypo_nc_mode == hypo_nc_mode_finite_diff) then
8112 call nvtxstartrange("RHS-HYPOELASTICITY-FD-PER-SWEEP")
8113 call s_compute_hypoelastic_rhs_finite_diff_per_sweep(id, q_prim_qp%vf, rhs_vf)
8114 call nvtxendrange
8115 end if
8116
8117 ! RHS for diffusion
8118 if (chemistry .and. chem_params%diffusion) then
8119 call nvtxstartrange("RHS-CHEM-DIFFUSION")
8120 call s_compute_chemistry_diffusion_flux(id, q_prim_qp%vf, flux_src_n(id)%vf, irx, iry, irz, q_t_sf)
8121 call nvtxendrange
8122 end if
8123
8124 ! RHS for Fourier heat conduction
8125 if (heat_conduction) then
8126 call nvtxstartrange("RHS-CONDUCTION")
8127 call s_compute_conduction_source_flux(id, q_prim_qp%vf, q_t_sf, flux_src_n(id)%vf, irx, iry, irz)
8128 call nvtxendrange
8129 end if
8130
8131 ! Viscous stress contribution to RHS
8132 if (viscous .or. surface_tension .or. chem_params%diffusion .or. heat_conduction) then
8133 call nvtxstartrange("RHS-ADD-PHYSICS")
8134 call s_compute_additional_physics_rhs(id, q_prim_qp%vf, q_t_sf, rhs_vf, flux_src_n(id)%vf, &
8135 & dq_prim_dx_qp(1)%vf, dq_prim_dy_qp(1)%vf, dq_prim_dz_qp(1)%vf)
8136 call nvtxendrange
8137 end if
8138
8139 ! Bubble dynamics source terms
8140 if (bubbles_euler) then
8141 call nvtxstartrange("RHS-BUBBLES-COMPUTE")
8142 call s_compute_bubbles_ee_rhs(id, q_prim_qp%vf, divu)
8143 call nvtxendrange
8144 end if
8145
8146 ! RHS additions for qbmm bubbles
8147 if (qbmm) then
8148 call nvtxstartrange("RHS-QBMM")
8149 call s_compute_qbmm_rhs(id, q_cons_qp%vf, q_prim_qp%vf, rhs_vf, flux_n(id)%vf, pb_in, rhs_pb)
8150 call nvtxendrange
8151 end if
8152 ! END: Additional physics and source terms
8153
8154 if (hyper_cleaning) then
8155
8156# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8157
8158# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8159#if defined(MFC_OpenACC)
8160# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8161!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8162# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8163#elif defined(MFC_OpenMP)
8164# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8165
8166# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8167
8168# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8169
8170# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8171!$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)
8172# 762 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8173#endif
8174 do l = 0, p
8175 do k = 0, n
8176 do j = 0, m
8177 rhs_vf(eqn_idx%psi)%sf(j, k, l) = rhs_vf(eqn_idx%psi)%sf(j, k, &
8178 & l) - q_prim_vf(eqn_idx%psi)%sf(j, k, l)/hyper_cleaning_tau
8179 end do
8180 end do
8181 end do
8182
8183# 771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8184#if defined(MFC_OpenACC)
8185# 771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8186!$acc end parallel loop
8187# 771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8188#elif defined(MFC_OpenMP)
8189# 771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8190
8191# 771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8192!$omp end target teams loop
8193# 771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8194#endif
8195 end if
8196
8197 ! END: Additional physics and source terms
8198 end if
8199 end do
8200 else
8201 ! Fused dual-pass HLLD: per direction, the Riemann states are reconstructed once and ONE fused solve computes both
8202 ! 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*
8203 ! buffers). The hat_L partial RHS is assembled first; the hat_R set is then finalized into the same (already consumed)
8204 ! flux field arrays and assembled. The full RHS is the sum of the two anchored partial RHS's; the axisymmetric
8205 ! cylindrical completion for the volume fractions and stresses is applied once on the summed RHS, using the cell's own
8206 ! two anchored radial face traces (hat_L outer face, hat_R inner face).
8207 do id = 1, num_dims
8209 call s_compute_directional_rhs(id, rhs_hatl_vf, .true.)
8210 call nvtxstartrange("RHS-RIEMANN-FINALIZE-HATR")
8211 call s_finalize_riemann_solver_hatr(flux_n(id)%vf, flux_gsrc_n(id)%vf, id)
8212 if (use_nc_iface_vel) then
8213 call s_finalize_nc_iface_vel_hatr(nc_iface_vel_hatr_n(id)%vf, id)
8214 end if
8215 call nvtxendrange
8216 call nvtxstartrange("RHS-ADVECTION-SRC")
8218 call nvtxendrange
8219 end do
8220
8221
8222# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8223
8224# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8225#if defined(MFC_OpenACC)
8226# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8227!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8228# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8229#elif defined(MFC_OpenMP)
8230# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8231
8232# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8233
8234# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8235
8236# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8237!$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)
8238# 798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8239#endif
8240 do i = 1, sys_size
8241 do l = 0, p
8242 do k = 0, n
8243 do j = 0, m
8244 rhs_vf(i)%sf(j, k, l) = rhs_hatl_vf(i)%sf(j, k, l) + rhs_hatr_vf(i)%sf(j, k, l)
8245 end do
8246 end do
8247 end do
8248 end do
8249
8250# 808 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8251#if defined(MFC_OpenACC)
8252# 808 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8253!$acc end parallel loop
8254# 808 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8255#elif defined(MFC_OpenMP)
8256# 808 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8257
8258# 808 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8259!$omp end target teams loop
8260# 808 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8261#endif
8262
8263 if (grid_geometry == 2) then
8264 call nvtxstartrange("RHS-HYPOELASTICITY-AXISYM-HLLD")
8265 call s_compute_hypoelastic_rhs_axisym_geom_dual_pass(q_prim_qp%vf, rhs_vf, nc_iface_vel_n(2)%vf, &
8266 & nc_iface_vel_hatr_n(2)%vf)
8267 call nvtxendrange
8268 end if
8269 end if
8270 ! END: Dimensional Splitting Loop
8271
8272 ! RHS additions for hypoelasticity (interface-consistent path, after all sweeps)
8273 if (hypo_nc_mode == hypo_nc_mode_interface) then
8274 call nvtxstartrange("RHS-HYPOELASTICITY-IFACE")
8275 call s_compute_hypoelastic_rhs_iface(q_prim_qp%vf, rhs_vf, nc_iface_vel_n)
8276 call nvtxendrange
8277 end if
8278 if (ib) then
8279
8280# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8281
8282# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8283#if defined(MFC_OpenACC)
8284# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8285!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
8286# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8287#elif defined(MFC_OpenMP)
8288# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8289
8290# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8291
8292# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8293
8294# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8295!$omp 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)
8296# 826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8297#endif
8298 do l = 0, p
8299 do k = 0, n
8300 do j = 0, m
8301 if (ib_markers%sf(j, k, l) /= 0) then
8302 do i = 1, sys_size
8303 rhs_vf(i)%sf(j, k, l) = 0._wp
8304 end do
8305 end if
8306 end do
8307 end do
8308 end do
8309
8310# 838 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8311#if defined(MFC_OpenACC)
8312# 838 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8313!$acc end parallel loop
8314# 838 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8315#elif defined(MFC_OpenMP)
8316# 838 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8317
8318# 838 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8319!$omp end target teams loop
8320# 838 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8321#endif
8322 end if
8323
8324 ! Additional Physics and Source Terms Additions for acoustic_source
8325 if (acoustic_source) then
8326 call nvtxstartrange("RHS-ACOUSTIC-SRC")
8327 call s_acoustic_src_calculations(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8328 call nvtxendrange
8329 end if
8330
8331 ! Add bubbles source term
8332 if (bubbles_euler .and. (.not. adap_dt) .and. (.not. qbmm)) then
8333 call nvtxstartrange("RHS-BUBBLES-SRC")
8334 call s_compute_bubble_ee_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf, divu)
8335 call nvtxendrange
8336 end if
8337
8338 ! ptil is a probe-output diagnostic only, so evaluate it only when probes are on.
8339 ! This sits outside the source-term branch above so that the qbmm and adap_dt
8340 ! paths, which skip that branch, still get a filled ptil.
8341 if (bubbles_euler .and. probe_wrt) then
8342 call s_compute_ptilde(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size))
8343 end if
8344
8345 if (bubbles_lagrange) then
8346 if (.not. adap_dt) then
8347 call nvtxstartrange("RHS-EL-BUBBLES-DYN")
8348 call s_compute_bubble_el_dynamics(q_prim_qp%vf(1:sys_size), bc_type, stage)
8349 call nvtxendrange
8350 end if
8351
8352 if (lag_params%solver_approach == 2) then
8353 call nvtxstartrange("RHS-EL-BUBBLES-SRC")
8354 call s_compute_bubbles_el_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8355 call nvtxendrange
8356 end if
8357 end if
8358
8359 ! When reaction_substeps > 0 the reaction source is integrated by operator splitting
8360 ! after the flow update (s_chemistry_reaction_substep), not added to the flow RHS here.
8361 if (chemistry .and. chem_params%reactions .and. chem_params%reaction_substeps == 0) then
8362 call nvtxstartrange("RHS-CHEM-REACTIONS")
8363 call s_compute_chemistry_reaction_flux(rhs_vf, q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8364 call nvtxendrange
8365 end if
8366
8367 ! With rburn%substeps > 0 the burn is integrated by operator splitting after the flow
8368 ! update (s_reactive_burn_substep), not added to the flow RHS here.
8369 if (reactive_burn .and. rburn%substeps == 0) 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, q_prim_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# 898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8383
8384# 898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8385#if defined(MFC_OpenACC)
8386# 898 "/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# 898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8389#elif defined(MFC_OpenMP)
8390# 898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8391
8392# 898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8393
8394# 898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8395
8396# 898 "/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# 898 "/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# 908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8411#if defined(MFC_OpenACC)
8412# 908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8413!$acc end parallel loop
8414# 908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8415#elif defined(MFC_OpenMP)
8416# 908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8417
8418# 908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8419!$omp end target teams loop
8420# 908 "/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# 936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8451#if defined(MFC_OpenACC)
8452# 936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8453!$acc update device(iv, iglob)
8454# 936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8455#elif defined(MFC_OpenMP)
8456# 936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8457!$omp target update to(iv, iglob)
8458# 936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8459#endif
8460
8461
8462# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8463
8464# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8465#if defined(MFC_OpenACC)
8466# 938 "/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# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8469#elif defined(MFC_OpenMP)
8470# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8471
8472# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8473
8474# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8475
8476# 938 "/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# 938 "/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# 949 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8492#if defined(MFC_OpenACC)
8493# 949 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8494!$acc end parallel loop
8495# 949 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8496#elif defined(MFC_OpenMP)
8497# 949 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8498
8499# 949 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8500!$omp end target teams loop
8501# 949 "/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# 976 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8531#if defined(MFC_OpenACC)
8532# 976 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8533!$acc update device(iv, iglob)
8534# 976 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8535#elif defined(MFC_OpenMP)
8536# 976 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8537!$omp target update to(iv, iglob)
8538# 976 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8539#endif
8540
8541
8542# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8543
8544# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8545#if defined(MFC_OpenACC)
8546# 978 "/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# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8549#elif defined(MFC_OpenMP)
8550# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8551
8552# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8553
8554# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8555
8556# 978 "/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# 978 "/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# 989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8572#if defined(MFC_OpenACC)
8573# 989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8574!$acc end parallel loop
8575# 989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8576#elif defined(MFC_OpenMP)
8577# 989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8578
8579# 989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8580!$omp end target teams loop
8581# 989 "/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, pres_K, alpha_K, alpha_rho_K, blkmod_K
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# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8678
8679# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8680#if defined(MFC_OpenACC)
8681# 1083 "/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, pres_K, alpha_K, alpha_rho_K, blkmod_K)
8683# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8684#elif defined(MFC_OpenMP)
8685# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8686
8687# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8688
8689# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8690
8691# 1083 "/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# 1083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8694!$omp& private(k_loop, l_loop, q_loop, pres_K, alpha_K, alpha_rho_K, blkmod_K)
8695# 1083 "/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 ! Scalars in, scalar out: an element of a device-resident array passed by reference to a
8701 ! device routine is read or written at the wrong address on Cray OpenACC.
8702 pres_k = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
8703 alpha_k = q_prim_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8704 alpha_rho_k = q_prim_vf%vf(eqn_idx%cont%beg)%sf(k_loop, l_loop, q_loop)
8705 call s_phase_bulk_modulus(pres_k, alpha_k, alpha_rho_k, 1, blkmod_k)
8706 blkmod1(k_loop, l_loop, q_loop) = blkmod_k + (4._wp/3._wp)*g1_eff
8707 alpha_k = q_prim_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8708 alpha_rho_k = q_prim_vf%vf(eqn_idx%cont%end)%sf(k_loop, l_loop, q_loop)
8709 call s_phase_bulk_modulus(pres_k, alpha_k, alpha_rho_k, 2, blkmod_k)
8710 blkmod2(k_loop, l_loop, q_loop) = blkmod_k + (4._wp/3._wp)*g2_eff
8711 alpha1(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8712
8713 if (bubbles_euler) then
8714 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%alf - 1)%sf(k_loop, l_loop, q_loop)
8715 else
8716 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8717 end if
8718
8719 kterm(k_loop, l_loop, q_loop) = alpha1(k_loop, l_loop, q_loop)*alpha2(k_loop, l_loop, &
8720 & q_loop)*(blkmod2(k_loop, l_loop, q_loop) - blkmod1(k_loop, l_loop, q_loop))/(alpha1(k_loop, &
8721 & l_loop, q_loop)*blkmod2(k_loop, l_loop, q_loop) + alpha2(k_loop, l_loop, q_loop)*blkmod1(k_loop, &
8722 & l_loop, q_loop))
8723 end do
8724 end do
8725 end do
8726
8727# 1113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8728#if defined(MFC_OpenACC)
8729# 1113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8730!$acc end parallel loop
8731# 1113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8732#elif defined(MFC_OpenMP)
8733# 1113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8734
8735# 1113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8736!$omp end target teams loop
8737# 1113 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8738#endif
8739 end if
8740
8741 select case (idir)
8742 case (1) ! x-direction
8743 if (bc_x%beg <= bc_char_slip_wall .and. bc_x%beg >= bc_char_sup_outflow) then
8744 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8745 end if
8746 if (bc_x%end <= bc_char_slip_wall .and. bc_x%end >= bc_char_sup_outflow) then
8747 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8748 end if
8749
8750 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8751
8752# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8753
8754# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8755#if defined(MFC_OpenACC)
8756# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8757!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8758# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8759#elif defined(MFC_OpenMP)
8760# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8761
8762# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8763
8764# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8765
8766# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8767!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8768# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8769!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8770# 1126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8771#endif
8772 do j = 1, sys_size
8773 do q_loop = 0, p
8774 do l_loop = 0, n
8775 do k_loop = 0, m
8776 inv_ds = 1._wp/dx(k_loop)
8777 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8778 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8779 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*(flux_face1 - flux_face2)
8780 end do
8781 end do
8782 end do
8783 end do
8784
8785# 1139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8786#if defined(MFC_OpenACC)
8787# 1139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8788!$acc end parallel loop
8789# 1139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8790#elif defined(MFC_OpenMP)
8791# 1139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8792
8793# 1139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8794!$omp end target teams loop
8795# 1139 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8796#endif
8797 else if (is_hat_l) then
8798
8799# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8800
8801# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8802#if defined(MFC_OpenACC)
8803# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8804!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8805# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8806#elif defined(MFC_OpenMP)
8807# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8808
8809# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8810
8811# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8812
8813# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8814!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8815# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8816!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8817# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8818#endif
8819 do j = 1, sys_size
8820 do q_loop = 0, p
8821 do l_loop = 0, n
8822 do k_loop = 0, m
8823 inv_ds = 1._wp/dx(k_loop)
8824 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8825 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = -inv_ds*flux_face2
8826 end do
8827 end do
8828 end do
8829 end do
8830
8831# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8832#if defined(MFC_OpenACC)
8833# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8834!$acc end parallel loop
8835# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8836#elif defined(MFC_OpenMP)
8837# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8838
8839# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8840!$omp end target teams loop
8841# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8842#endif
8843 else ! is_hat_R
8844
8845# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8846
8847# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8848#if defined(MFC_OpenACC)
8849# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8850!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
8851# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8852#elif defined(MFC_OpenMP)
8853# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8854
8855# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8856
8857# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8858
8859# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8860!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8861# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8862!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
8863# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8864#endif
8865 do j = 1, sys_size
8866 do q_loop = 0, p
8867 do l_loop = 0, n
8868 do k_loop = 0, m
8869 inv_ds = 1._wp/dx(k_loop)
8870 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8871 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*flux_face1
8872 end do
8873 end do
8874 end do
8875 end do
8876
8877# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8878#if defined(MFC_OpenACC)
8879# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8880!$acc end parallel loop
8881# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8882#elif defined(MFC_OpenMP)
8883# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8884
8885# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8886!$omp end target teams loop
8887# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8888#endif
8889 end if
8890
8891 if (model_eqns == model_eqns_6eq) then
8892
8893# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8894
8895# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8896#if defined(MFC_OpenACC)
8897# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8898!$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)
8899# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8900#elif defined(MFC_OpenMP)
8901# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8902
8903# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8904
8905# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8906
8907# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8908!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8909# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8910!$omp& private(i_fluid_loop, k_loop, l_loop, q_loop, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
8911# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8912#endif
8913# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8914 do q_loop = 0, p
8915 do l_loop = 0, n
8916 do k_loop = 0, m
8917 do i_fluid_loop = 1, num_fluids
8918 inv_ds = 1._wp/dx(k_loop)
8919 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(k_loop, l_loop, q_loop)
8920 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
8921 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8922 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop - 1, l_loop, q_loop)
8923 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
8924 & q_loop) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
8925 & q_loop) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
8926 end do
8927 end do
8928 end do
8929 end do
8930
8931# 1189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8932#if defined(MFC_OpenACC)
8933# 1189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8934!$acc end parallel loop
8935# 1189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8936#elif defined(MFC_OpenMP)
8937# 1189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8938
8939# 1189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8940!$omp end target teams loop
8941# 1189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8942#endif
8943 end if
8944
8945 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
8946 case (2) ! y-direction
8947 if (bc_y%beg <= bc_char_slip_wall .and. bc_y%beg >= bc_char_sup_outflow) then
8948 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8949 end if
8950 if (bc_y%end <= bc_char_slip_wall .and. bc_y%end >= bc_char_sup_outflow) then
8951 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8952 end if
8953
8954 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8955
8956# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8957
8958# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8959#if defined(MFC_OpenACC)
8960# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8961!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
8962# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8963#elif defined(MFC_OpenMP)
8964# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8965
8966# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8967
8968# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8969
8970# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8971!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8972# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8973!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
8974# 1202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8975#endif
8976 do j = 1, sys_size
8977 do l = 0, p
8978 do k = 0, n
8979 do q = 0, m
8980 inv_ds = 1._wp/dy(k)
8981 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
8982 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
8983 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*(flux_face1 - flux_face2)
8984 end do
8985 end do
8986 end do
8987 end do
8988
8989# 1215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8990#if defined(MFC_OpenACC)
8991# 1215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8992!$acc end parallel loop
8993# 1215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8994#elif defined(MFC_OpenMP)
8995# 1215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8996
8997# 1215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8998!$omp end target teams loop
8999# 1215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9000#endif
9001 else if (is_hat_l) then
9002
9003# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9004
9005# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9006#if defined(MFC_OpenACC)
9007# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9008!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9009# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9010#elif defined(MFC_OpenMP)
9011# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9012
9013# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9014
9015# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9016
9017# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9018!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9019# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9020!$omp& private(j, k, l, q, inv_ds, flux_face2)
9021# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9022#endif
9023 do j = 1, sys_size
9024 do l = 0, p
9025 do k = 0, n
9026 do q = 0, m
9027 inv_ds = 1._wp/dy(k)
9028 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
9029 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - inv_ds*flux_face2
9030 end do
9031 end do
9032 end do
9033 end do
9034
9035# 1229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9036#if defined(MFC_OpenACC)
9037# 1229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9038!$acc end parallel loop
9039# 1229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9040#elif defined(MFC_OpenMP)
9041# 1229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9042
9043# 1229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9044!$omp end target teams loop
9045# 1229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9046#endif
9047 else ! is_hat_R
9048
9049# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9050
9051# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9052#if defined(MFC_OpenACC)
9053# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9054!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9055# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9056#elif defined(MFC_OpenMP)
9057# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9058
9059# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9060
9061# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9062
9063# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9064!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9065# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9066!$omp& private(j, k, l, q, inv_ds, flux_face1)
9067# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9068#endif
9069 do j = 1, sys_size
9070 do l = 0, p
9071 do k = 0, n
9072 do q = 0, m
9073 inv_ds = 1._wp/dy(k)
9074 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9075 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*flux_face1
9076 end do
9077 end do
9078 end do
9079 end do
9080
9081# 1243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9082#if defined(MFC_OpenACC)
9083# 1243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9084!$acc end parallel loop
9085# 1243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9086#elif defined(MFC_OpenMP)
9087# 1243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9088
9089# 1243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9090!$omp end target teams loop
9091# 1243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9092#endif
9093 end if
9094
9095 if (model_eqns == model_eqns_6eq) then
9096
9097# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9098
9099# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9100#if defined(MFC_OpenACC)
9101# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9102!$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)
9103# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9104#elif defined(MFC_OpenMP)
9105# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9106
9107# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9108
9109# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9110
9111# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9112!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9113# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9114!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9115# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9116#endif
9117# 1249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9118 do l = 0, p
9119 do k = 0, n
9120 do q = 0, m
9121 do i_fluid_loop = 1, num_fluids
9122 inv_ds = 1._wp/dy(k)
9123 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(q, k, l)
9124 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(q, k, l)
9125 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k, l)
9126 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k - 1, l)
9127 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9128 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9129 & l) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9130 if (cyl_coord) then
9131 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9132 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9133 & l) - 5.e-1_wp/y_cc(k)*advected_qty_val*pressure_val*(flux_face1 + flux_face2)
9134 end if
9135 end do
9136 end do
9137 end do
9138 end do
9139
9140# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9141#if defined(MFC_OpenACC)
9142# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9143!$acc end parallel loop
9144# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9145#elif defined(MFC_OpenMP)
9146# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9147
9148# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9149!$omp end target teams loop
9150# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9151#endif
9152 end if
9153
9154 if (cyl_coord) then
9155 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
9156 ! Cell-owned anchored geometry: the hat_L pass owns the cell's outer radial face and the hat_R pass its
9157 ! inner face (the same anchor ownership as the one-sided flux differences above), so the summed RHS
9158 ! carries -(H_outer + H_inner)/(2*y_cc) with both faces anchored to the cell itself. With midpoint cell
9159 ! centers this equals the annular finite-volume divergence (r_+ F_+ - r_- F_-)/(y_cc*dy) for the rows
9160 ! whose geometric flux is the full radial flux.
9161 if (is_hat_l) then
9162
9163# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9164
9165# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9166#if defined(MFC_OpenACC)
9167# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9168!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face2)
9169# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9170#elif defined(MFC_OpenMP)
9171# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9172
9173# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9174
9175# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9176
9177# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9178!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9179# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9180!$omp& private(j, k, l, q, flux_face2)
9181# 1281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9182#endif
9183 do j = 1, sys_size
9184 do l = 0, p
9185 do k = 0, n
9186 do q = 0, m
9187 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9188 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face2
9189 end do
9190 end do
9191 end do
9192 end do
9193
9194# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9195#if defined(MFC_OpenACC)
9196# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9197!$acc end parallel loop
9198# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9199#elif defined(MFC_OpenMP)
9200# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9201
9202# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9203!$omp end target teams loop
9204# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9205#endif
9206 else ! is_hat_R
9207
9208# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9209
9210# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9211#if defined(MFC_OpenACC)
9212# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9213!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1)
9214# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9215#elif defined(MFC_OpenMP)
9216# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9217
9218# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9219
9220# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9221
9222# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9223!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9224# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9225!$omp& private(j, k, l, q, flux_face1)
9226# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9227#endif
9228 do j = 1, sys_size
9229 do l = 0, p
9230 do k = 0, n
9231 do q = 0, m
9232 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9233 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face1
9234 end do
9235 end do
9236 end do
9237 end do
9238
9239# 1305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9240#if defined(MFC_OpenACC)
9241# 1305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9242!$acc end parallel loop
9243# 1305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9244#elif defined(MFC_OpenMP)
9245# 1305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9246
9247# 1305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9248!$omp end target teams loop
9249# 1305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9250#endif
9251 end if
9252 else
9253
9254# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9255
9256# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9257#if defined(MFC_OpenACC)
9258# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9259!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9260# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9261#elif defined(MFC_OpenMP)
9262# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9263
9264# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9265
9266# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9267
9268# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9269!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9270# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9271!$omp& private(j, k, l, q, flux_face1, flux_face2)
9272# 1308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9273#endif
9274 do j = 1, sys_size
9275 do l = 0, p
9276 do k = 0, n
9277 do q = 0, m
9278 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9279 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9280 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)
9281 end do
9282 end do
9283 end do
9284 end do
9285
9286# 1320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9287#if defined(MFC_OpenACC)
9288# 1320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9289!$acc end parallel loop
9290# 1320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9291#elif defined(MFC_OpenMP)
9292# 1320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9293
9294# 1320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9295!$omp end target teams loop
9296# 1320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9297#endif
9298 end if
9299 end if
9300
9301 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9302 case (3) ! z-direction
9303 if (bc_z%beg <= bc_char_slip_wall .and. bc_z%beg >= bc_char_sup_outflow) then
9304 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9305 end if
9306 if (bc_z%end <= bc_char_slip_wall .and. bc_z%end >= bc_char_sup_outflow) then
9307 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9308 end if
9309
9310 if (grid_geometry == 3) then ! Cylindrical Coordinates
9311
9312# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9313
9314# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9315#if defined(MFC_OpenACC)
9316# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9317!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9318# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9319#elif defined(MFC_OpenMP)
9320# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9321
9322# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9323
9324# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9325
9326# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9327!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9328# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9329!$omp& private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9330# 1334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9331#endif
9332 do j = 1, sys_size
9333 do k = 0, p
9334 do q = 0, n
9335 do l = 0, m
9336 inv_ds = 1._wp/(dz(k)*y_cc(q))
9337 velocity_val = q_prim_vf%vf(eqn_idx%cont%end + idir)%sf(l, q, k)
9338 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9339 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9340 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*velocity_val*(flux_face1 - flux_face2)
9341 end do
9342 end do
9343 end do
9344 end do
9345
9346# 1348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9347#if defined(MFC_OpenACC)
9348# 1348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9349!$acc end parallel loop
9350# 1348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9351#elif defined(MFC_OpenMP)
9352# 1348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9353
9354# 1348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9355!$omp end target teams loop
9356# 1348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9357#endif
9358
9359# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9360
9361# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9362#if defined(MFC_OpenACC)
9363# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9364!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9365# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9366#elif defined(MFC_OpenMP)
9367# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9368
9369# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9370
9371# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9372
9373# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9374!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9375# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9376!$omp& private(j, k, l, q, flux_face1, flux_face2)
9377# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9378#endif
9379 do j = 1, sys_size
9380 do k = 0, p
9381 do q = 0, n
9382 do l = 0, m
9383 flux_face1 = flux_gsrc_n(3)%vf(j)%sf(l, q, k - 1)
9384 flux_face2 = flux_gsrc_n(3)%vf(j)%sf(l, q, k)
9385 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)
9386 end do
9387 end do
9388 end do
9389 end do
9390
9391# 1361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9392#if defined(MFC_OpenACC)
9393# 1361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9394!$acc end parallel loop
9395# 1361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9396#elif defined(MFC_OpenMP)
9397# 1361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9398
9399# 1361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9400!$omp end target teams loop
9401# 1361 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9402#endif
9403 else ! Cartesian Coordinates
9404 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9405
9406# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9407
9408# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9409#if defined(MFC_OpenACC)
9410# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9411!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9412# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9413#elif defined(MFC_OpenMP)
9414# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9415
9416# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9417
9418# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9419
9420# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9421!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9422# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9423!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9424# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9425#endif
9426 do j = 1, sys_size
9427 do k = 0, p
9428 do q = 0, n
9429 do l = 0, m
9430 inv_ds = 1._wp/dz(k)
9431 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9432 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9433 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*(flux_face1 - flux_face2)
9434 end do
9435 end do
9436 end do
9437 end do
9438
9439# 1377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9440#if defined(MFC_OpenACC)
9441# 1377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9442!$acc end parallel loop
9443# 1377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9444#elif defined(MFC_OpenMP)
9445# 1377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9446
9447# 1377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9448!$omp end target teams loop
9449# 1377 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9450#endif
9451 else if (is_hat_l) then
9452
9453# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9454
9455# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9456#if defined(MFC_OpenACC)
9457# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9458!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9459# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9460#elif defined(MFC_OpenMP)
9461# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9462
9463# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9464
9465# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9466
9467# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9468!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9469# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9470!$omp& private(j, k, l, q, inv_ds, flux_face2)
9471# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9472#endif
9473 do j = 1, sys_size
9474 do k = 0, p
9475 do q = 0, n
9476 do l = 0, m
9477 inv_ds = 1._wp/dz(k)
9478 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9479 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) - inv_ds*flux_face2
9480 end do
9481 end do
9482 end do
9483 end do
9484
9485# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9486#if defined(MFC_OpenACC)
9487# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9488!$acc end parallel loop
9489# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9490#elif defined(MFC_OpenMP)
9491# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9492
9493# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9494!$omp end target teams loop
9495# 1391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9496#endif
9497 else ! is_hat_R
9498
9499# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9500
9501# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9502#if defined(MFC_OpenACC)
9503# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9504!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9505# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9506#elif defined(MFC_OpenMP)
9507# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9508
9509# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9510
9511# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9512
9513# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9514!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9515# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9516!$omp& private(j, k, l, q, inv_ds, flux_face1)
9517# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9518#endif
9519 do j = 1, sys_size
9520 do k = 0, p
9521 do q = 0, n
9522 do l = 0, m
9523 inv_ds = 1._wp/dz(k)
9524 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9525 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*flux_face1
9526 end do
9527 end do
9528 end do
9529 end do
9530
9531# 1405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9532#if defined(MFC_OpenACC)
9533# 1405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9534!$acc end parallel loop
9535# 1405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9536#elif defined(MFC_OpenMP)
9537# 1405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9538
9539# 1405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9540!$omp end target teams loop
9541# 1405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9542#endif
9543 end if
9544 end if
9545
9546 if (model_eqns == model_eqns_6eq) then
9547
9548# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9549
9550# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9551#if defined(MFC_OpenACC)
9552# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9553!$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)
9554# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9555#elif defined(MFC_OpenMP)
9556# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9557
9558# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9559
9560# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9561
9562# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9563!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9564# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9565!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9566# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9567#endif
9568# 1412 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9569 do k = 0, p
9570 do q = 0, n
9571 do l = 0, m
9572 do i_fluid_loop = 1, num_fluids
9573 inv_ds = 1._wp/dz(k)
9574 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(l, q, k)
9575 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(l, q, k)
9576 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k)
9577 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k - 1)
9578 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9579 & k) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9580 & k) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9581 end do
9582 end do
9583 end do
9584 end do
9585
9586# 1428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9587#if defined(MFC_OpenACC)
9588# 1428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9589!$acc end parallel loop
9590# 1428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9591#elif defined(MFC_OpenMP)
9592# 1428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9593
9594# 1428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9595!$omp end target teams loop
9596# 1428 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9597#endif
9598 end if
9599
9600 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9601 end select
9602
9603 contains
9604
9605 !> Add the advection source flux-difference terms for a single coordinate direction to the RHS
9606 subroutine s_add_directional_advection_source_terms(current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, &
9607 & flux_src_n_vf_arg, Kterm_arg)
9608 integer, intent(in) :: current_idir
9609 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf_arg
9610 type(vector_field), intent(in) :: q_cons_vf_arg
9611 type(vector_field), intent(in) :: q_prim_vf_arg
9612 type(vector_field), intent(in) :: flux_src_n_vf_arg
9613 real(wp), allocatable, dimension(:,:,:), intent(in) :: Kterm_arg
9614 integer :: j_adv, k_idx, l_idx, q_idx
9615 real(wp) :: local_inv_ds, local_term_coeff, local_flux1, local_flux2
9616 real(wp) :: local_k_term_val
9617
9618 ! Three mutually exclusive modes for the NC volume fraction advection source term:
9619
9620 ! adv_src_mode_alpha_iface - HLL Method 1: flux_src carries per-fluid interface alpha_k
9621
9622 ! adv_src_mode_vel_iface - HLLC, HLL Method 2, Exact, LF: flux_src carries shared face-normal velocity
9623
9624 ! adv_src_mode_none - HLLD: MHD has no volume fractions; hypo uses dual-pass Riemann flux
9625
9626 select case (current_idir)
9627 case (1) ! x-direction
9628 if (adv_src_mode == adv_src_mode_alpha_iface) then
9629 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dx.
9630
9631# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9632
9633# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9634#if defined(MFC_OpenACC)
9635# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9636!$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)
9637# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9638#elif defined(MFC_OpenMP)
9639# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9640
9641# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9642
9643# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9644
9645# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9646!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9647# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9648!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9649# 1461 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9650#endif
9651# 1463 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9652 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9653 do q_idx = 0, p ! z_extent
9654 do l_idx = 0, n ! y_extent
9655 do k_idx = 0, m ! x_extent
9656 local_inv_ds = 1._wp/dx(k_idx)
9657 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(k_idx, l_idx, q_idx)
9658 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx - 1, l_idx, q_idx)
9659 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9660 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9661 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9662 end do
9663 end do
9664 end do
9665 end do
9666
9667# 1477 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9668#if defined(MFC_OpenACC)
9669# 1477 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9670!$acc end parallel loop
9671# 1477 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9672#elif defined(MFC_OpenMP)
9673# 1477 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9674
9675# 1477 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9676!$omp end target teams loop
9677# 1477 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9678#endif
9679 if (alt_soundspeed) then ! K*div(u) correction
9680
9681# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9682
9683# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9684#if defined(MFC_OpenACC)
9685# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9686!$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)
9687# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9688#elif defined(MFC_OpenMP)
9689# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9690
9691# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9692
9693# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9694
9695# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9696!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9697# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9698!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9699# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9700#endif
9701# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9702 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9703 local_inv_ds = 1._wp/dx(k_idx)
9704 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9705 local_flux1 = nc_iface_vel_n(1)%vf(1)%sf(k_idx, l_idx, q_idx)
9706 local_flux2 = nc_iface_vel_n(1)%vf(1)%sf(k_idx - 1, l_idx, q_idx)
9707 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, &
9708 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9709 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, &
9710 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9711 end do; end do; end do
9712
9713# 1491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9714#if defined(MFC_OpenACC)
9715# 1491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9716!$acc end parallel loop
9717# 1491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9718#elif defined(MFC_OpenMP)
9719# 1491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9720
9721# 1491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9722!$omp end target teams loop
9723# 1491 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9724#endif
9725 end if
9726 else if (adv_src_mode == adv_src_mode_vel_iface) then
9727 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dx.
9728
9729# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9730
9731# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9732#if defined(MFC_OpenACC)
9733# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9734!$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)
9735# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9736#elif defined(MFC_OpenMP)
9737# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9738
9739# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9740
9741# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9742
9743# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9744!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9745# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9746!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9747# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9748#endif
9749# 1497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9750 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9751 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9752 local_inv_ds = 1._wp/dx(k_idx)
9753 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9754 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9755 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9756 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9757 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9758 end do; end do; end do
9759 end do
9760
9761# 1507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9762#if defined(MFC_OpenACC)
9763# 1507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9764!$acc end parallel loop
9765# 1507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9766#elif defined(MFC_OpenMP)
9767# 1507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9768
9769# 1507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9770!$omp end target teams loop
9771# 1507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9772#endif
9773 if (alt_soundspeed) then ! K*div(u) correction
9774
9775# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9776
9777# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9778#if defined(MFC_OpenACC)
9779# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9780!$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)
9781# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9782#elif defined(MFC_OpenMP)
9783# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9784
9785# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9786
9787# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9788
9789# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9790!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9791# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9792!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9793# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9794#endif
9795# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9796 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9797 local_inv_ds = 1._wp/dx(k_idx)
9798 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9799 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9800 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9801 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, &
9802 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9803 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, &
9804 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9805 end do; end do; end do
9806
9807# 1521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9808#if defined(MFC_OpenACC)
9809# 1521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9810!$acc end parallel loop
9811# 1521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9812#elif defined(MFC_OpenMP)
9813# 1521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9814
9815# 1521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9816!$omp end target teams loop
9817# 1521 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9818#endif
9819 end if
9820 end if
9821 case (2) ! y-direction
9822 if (adv_src_mode == adv_src_mode_alpha_iface) then
9823 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dy.
9824
9825# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9826
9827# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9828#if defined(MFC_OpenACC)
9829# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9830!$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)
9831# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9832#elif defined(MFC_OpenMP)
9833# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9834
9835# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9836
9837# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9838
9839# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9840!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9841# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9842!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9843# 1527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9844#endif
9845# 1529 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9846 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9847 do l_idx = 0, p ! z_extent
9848 do k_idx = 0, n ! y_extent
9849 do q_idx = 0, m ! x_extent
9850 local_inv_ds = 1._wp/dy(k_idx)
9851 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(q_idx, k_idx, l_idx)
9852 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx - 1, l_idx)
9853 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
9854 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
9855 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9856 end do
9857 end do
9858 end do
9859 end do
9860
9861# 1543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9862#if defined(MFC_OpenACC)
9863# 1543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9864!$acc end parallel loop
9865# 1543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9866#elif defined(MFC_OpenMP)
9867# 1543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9868
9869# 1543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9870!$omp end target teams loop
9871# 1543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9872#endif
9873 if (alt_soundspeed) then ! K*div(u) correction
9874
9875# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9876
9877# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9878#if defined(MFC_OpenACC)
9879# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9880!$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)
9881# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9882#elif defined(MFC_OpenMP)
9883# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9884
9885# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9886
9887# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9888
9889# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9890!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9891# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9892!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9893# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9894#endif
9895# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9896 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9897 local_inv_ds = 1._wp/dy(k_idx)
9898 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
9899 local_flux1 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx, l_idx)
9900 local_flux2 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx - 1, l_idx)
9901 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, &
9902 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9903 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, &
9904 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9905 end do; end do; end do
9906
9907# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9908#if defined(MFC_OpenACC)
9909# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9910!$acc end parallel loop
9911# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9912#elif defined(MFC_OpenMP)
9913# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9914
9915# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9916!$omp end target teams loop
9917# 1557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9918#endif
9919 if (cyl_coord) then
9920
9921# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9922
9923# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9924#if defined(MFC_OpenACC)
9925# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9926!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val)
9927# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9928#elif defined(MFC_OpenMP)
9929# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9930
9931# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9932
9933# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9934
9935# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9936!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9937# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9938!$omp& private(k_idx, l_idx, q_idx, local_k_term_val)
9939# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9940#endif
9941 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9942 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
9943 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
9944 & k_idx, l_idx) + local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
9945 & k_idx, l_idx)/y_cc(k_idx)
9946 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
9947 & k_idx, l_idx) - local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
9948 & k_idx, l_idx)/y_cc(k_idx)
9949 end do; end do; end do
9950
9951# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9952#if defined(MFC_OpenACC)
9953# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9954!$acc end parallel loop
9955# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9956#elif defined(MFC_OpenMP)
9957# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9958
9959# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9960!$omp end target teams loop
9961# 1569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9962#endif
9963 end if
9964 end if
9965 else if (adv_src_mode == adv_src_mode_vel_iface) then
9966 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dy.
9967
9968# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9969
9970# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9971#if defined(MFC_OpenACC)
9972# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9973!$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)
9974# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9975#elif defined(MFC_OpenMP)
9976# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9977
9978# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9979
9980# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9981
9982# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9983!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9984# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9985!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9986# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9987#endif
9988# 1576 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9989 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9990 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
9991 local_inv_ds = 1._wp/dy(k_idx)
9992 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
9993 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
9994 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
9995 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
9996 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9997 end do; end do; end do
9998 end do
9999
10000# 1586 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10001#if defined(MFC_OpenACC)
10002# 1586 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10003!$acc end parallel loop
10004# 1586 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10005#elif defined(MFC_OpenMP)
10006# 1586 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10007
10008# 1586 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10009!$omp end target teams loop
10010# 1586 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10011#endif
10012 if (alt_soundspeed) then ! K*div(u) correction
10013
10014# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10015
10016# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10017#if defined(MFC_OpenACC)
10018# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10019!$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)
10020# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10021#elif defined(MFC_OpenMP)
10022# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10023
10024# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10025
10026# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10027
10028# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10029!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10030# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10031!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10032# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10033#endif
10034# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10035 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10036 local_inv_ds = 1._wp/dy(k_idx)
10037 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10038 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10039 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10040 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, &
10041 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10042 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, &
10043 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10044 end do; end do; end do
10045
10046# 1600 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10047#if defined(MFC_OpenACC)
10048# 1600 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10049!$acc end parallel loop
10050# 1600 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10051#elif defined(MFC_OpenMP)
10052# 1600 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10053
10054# 1600 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10055!$omp end target teams loop
10056# 1600 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10057#endif
10058 if (cyl_coord) then
10059
10060# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10061
10062# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10063#if defined(MFC_OpenACC)
10064# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10065!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10066# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10067#elif defined(MFC_OpenMP)
10068# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10069
10070# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10071
10072# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10073
10074# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10075!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10076# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10077!$omp& private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10078# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10079#endif
10080# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10081 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10082 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10083 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10084 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10085 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10086 & k_idx, l_idx) + (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10087 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10088 & k_idx, l_idx) - (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10089 end do; end do; end do
10090
10091# 1613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10092#if defined(MFC_OpenACC)
10093# 1613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10094!$acc end parallel loop
10095# 1613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10096#elif defined(MFC_OpenMP)
10097# 1613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10098
10099# 1613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10100!$omp end target teams loop
10101# 1613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10102#endif
10103 end if
10104 end if
10105 end if
10106 case (3) ! z-direction
10107 if (grid_geometry == 3) then
10108 if (adv_src_mode == adv_src_mode_alpha_iface) then
10109
10110# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10111
10112# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10113#if defined(MFC_OpenACC)
10114# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10115!$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)
10116# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10117#elif defined(MFC_OpenMP)
10118# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10119
10120# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10121
10122# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10123
10124# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10125!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10126# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10127!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10128# 1620 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10129#endif
10130# 1622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10131 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10132 do k_idx = 0, p ! z_extent
10133 do q_idx = 0, n ! y_extent
10134 do l_idx = 0, m ! x_extent
10135 local_inv_ds = 1._wp/dz(k_idx)
10136 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10137 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10138 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10139 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10140 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10141 end do
10142 end do
10143 end do
10144 end do
10145
10146# 1636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10147#if defined(MFC_OpenACC)
10148# 1636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10149!$acc end parallel loop
10150# 1636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10151#elif defined(MFC_OpenMP)
10152# 1636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10153
10154# 1636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10155!$omp end target teams loop
10156# 1636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10157#endif
10158 if (alt_soundspeed) then ! K*div(u) correction
10159
10160# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10161
10162# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10163#if defined(MFC_OpenACC)
10164# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10165!$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)
10166# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10167#elif defined(MFC_OpenMP)
10168# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10169
10170# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10171
10172# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10173
10174# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10175!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10176# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10177!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10178# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10179#endif
10180# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10181 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10182 local_inv_ds = 1._wp/dz(k_idx)
10183 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10184 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10185 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10186 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10187 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10188 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10189 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10190 end do; end do; end do
10191
10192# 1650 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10193#if defined(MFC_OpenACC)
10194# 1650 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10195!$acc end parallel loop
10196# 1650 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10197#elif defined(MFC_OpenMP)
10198# 1650 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10199
10200# 1650 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10201!$omp end target teams loop
10202# 1650 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10203#endif
10204 end if
10205 else if (adv_src_mode == adv_src_mode_vel_iface) then
10206 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10207
10208# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10209
10210# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10211#if defined(MFC_OpenACC)
10212# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10213!$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)
10214# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10215#elif defined(MFC_OpenMP)
10216# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10217
10218# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10219
10220# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10221
10222# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10223!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10224# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10225!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10226# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10227#endif
10228# 1656 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10229 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10230 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10231 local_inv_ds = 1._wp/dz(k_idx)
10232 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10233 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10234 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10235 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10236 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10237 end do; end do; end do
10238 end do
10239
10240# 1666 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10241#if defined(MFC_OpenACC)
10242# 1666 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10243!$acc end parallel loop
10244# 1666 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10245#elif defined(MFC_OpenMP)
10246# 1666 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10247
10248# 1666 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10249!$omp end target teams loop
10250# 1666 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10251#endif
10252 if (alt_soundspeed) then ! K*div(u) correction
10253
10254# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10255
10256# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10257#if defined(MFC_OpenACC)
10258# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10259!$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)
10260# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10261#elif defined(MFC_OpenMP)
10262# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10263
10264# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10265
10266# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10267
10268# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10269!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10270# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10271!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10272# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10273#endif
10274# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10275 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10276 local_inv_ds = 1._wp/dz(k_idx)
10277 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10278 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10279 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10280 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10281 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10282 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10283 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10284 end do; end do; end do
10285
10286# 1680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10287#if defined(MFC_OpenACC)
10288# 1680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10289!$acc end parallel loop
10290# 1680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10291#elif defined(MFC_OpenMP)
10292# 1680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10293
10294# 1680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10295!$omp end target teams loop
10296# 1680 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10297#endif
10298 end if
10299 end if
10300 else ! non-cylindrical z-direction
10301 if (adv_src_mode == adv_src_mode_alpha_iface) then
10302 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dz.
10303
10304# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10305
10306# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10307#if defined(MFC_OpenACC)
10308# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10309!$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)
10310# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10311#elif defined(MFC_OpenMP)
10312# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10313
10314# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10315
10316# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10317
10318# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10319!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10320# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10321!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10322# 1686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10323#endif
10324# 1688 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10325 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10326 do k_idx = 0, p ! z_extent
10327 do q_idx = 0, n ! y_extent
10328 do l_idx = 0, m ! x_extent
10329 local_inv_ds = 1._wp/dz(k_idx)
10330 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10331 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10332 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10333 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10334 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10335 end do
10336 end do
10337 end do
10338 end do
10339
10340# 1702 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10341#if defined(MFC_OpenACC)
10342# 1702 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10343!$acc end parallel loop
10344# 1702 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10345#elif defined(MFC_OpenMP)
10346# 1702 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10347
10348# 1702 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10349!$omp end target teams loop
10350# 1702 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10351#endif
10352 if (alt_soundspeed) then ! K*div(u) correction
10353
10354# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10355
10356# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10357#if defined(MFC_OpenACC)
10358# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10359!$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)
10360# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10361#elif defined(MFC_OpenMP)
10362# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10363
10364# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10365
10366# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10367
10368# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10369!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10370# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10371!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10372# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10373#endif
10374# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10375 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10376 local_inv_ds = 1._wp/dz(k_idx)
10377 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10378 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10379 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10380 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10381 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10382 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10383 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10384 end do; end do; end do
10385
10386# 1716 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10387#if defined(MFC_OpenACC)
10388# 1716 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10389!$acc end parallel loop
10390# 1716 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10391#elif defined(MFC_OpenMP)
10392# 1716 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10393
10394# 1716 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10395!$omp end target teams loop
10396# 1716 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10397#endif
10398 end if
10399 else if (adv_src_mode == adv_src_mode_vel_iface) then
10400 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10401
10402# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10403
10404# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10405#if defined(MFC_OpenACC)
10406# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10407!$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)
10408# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10409#elif defined(MFC_OpenMP)
10410# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10411
10412# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10413
10414# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10415
10416# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10417!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10418# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10419!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10420# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10421#endif
10422# 1722 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10423 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10424 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10425 local_inv_ds = 1._wp/dz(k_idx)
10426 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10427 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10428 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10429 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10430 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10431 end do; end do; end do
10432 end do
10433
10434# 1732 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10435#if defined(MFC_OpenACC)
10436# 1732 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10437!$acc end parallel loop
10438# 1732 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10439#elif defined(MFC_OpenMP)
10440# 1732 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10441
10442# 1732 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10443!$omp end target teams loop
10444# 1732 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10445#endif
10446 if (alt_soundspeed) then ! K*div(u) correction
10447
10448# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10449
10450# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10451#if defined(MFC_OpenACC)
10452# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10453!$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)
10454# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10455#elif defined(MFC_OpenMP)
10456# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10457
10458# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10459
10460# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10461
10462# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10463!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10464# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10465!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10466# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10467#endif
10468# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10469 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10470 local_inv_ds = 1._wp/dz(k_idx)
10471 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10472 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10473 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10474 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10475 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10476 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10477 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10478 end do; end do; end do
10479
10480# 1746 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10481#if defined(MFC_OpenACC)
10482# 1746 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10483!$acc end parallel loop
10484# 1746 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10485#elif defined(MFC_OpenMP)
10486# 1746 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10487
10488# 1746 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10489!$omp end target teams loop
10490# 1746 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10491#endif
10492 end if
10493 end if
10494 end if
10495 end select
10496
10498
10499 end subroutine s_compute_advection_source_term
10500
10501 !> Add viscous, surface-tension, species-diffusion, and heat-conduction source flux contributions to the RHS for a direction
10502 subroutine s_compute_additional_physics_rhs(idir, q_prim_vf, q_T_sf, rhs_vf, flux_src_n_in, dq_prim_dx_vf, dq_prim_dy_vf, &
10503 & dq_prim_dz_vf)
10504
10505 integer, intent(in) :: idir
10506 type(scalar_field), dimension(sys_size), intent(in) :: q_prim_vf
10507 type(scalar_field), intent(in) :: q_T_sf
10508 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
10509 type(scalar_field), dimension(sys_size), intent(in) :: flux_src_n_in
10510 type(scalar_field), dimension(sys_size), intent(in) :: dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf
10511 integer :: i, j, k, l
10512
10513 if (idir == 1) then ! x-direction
10514 if (surface_tension) then
10515
10516# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10517
10518# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10519#if defined(MFC_OpenACC)
10520# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10521!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10522# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10523#elif defined(MFC_OpenMP)
10524# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10525
10526# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10527
10528# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10529
10530# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10531!$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)
10532# 1770 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10533#endif
10534 do l = 0, p
10535 do k = 0, n
10536 do j = 0, m
10537 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10538 & 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, &
10539 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j - 1, k, l))
10540 end do
10541 end do
10542 end do
10543
10544# 1780 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10545#if defined(MFC_OpenACC)
10546# 1780 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10547!$acc end parallel loop
10548# 1780 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10549#elif defined(MFC_OpenMP)
10550# 1780 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10551
10552# 1780 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10553!$omp end target teams loop
10554# 1780 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10555#endif
10556 end if
10557
10558 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
10559
10560# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10561
10562# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10563#if defined(MFC_OpenACC)
10564# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10565!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10566# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10567#elif defined(MFC_OpenMP)
10568# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10569
10570# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10571
10572# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10573
10574# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10575!$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)
10576# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10577#endif
10578 do l = 0, p
10579 do k = 0, n
10580 do j = 0, m
10581 if (surface_tension .or. viscous .or. heat_conduction) then
10582
10583# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10584#if defined(MFC_OpenACC)
10585# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10586!$acc loop seq
10587# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10588#elif defined(MFC_OpenMP)
10589# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10590
10591# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10592#endif
10593 do i = eqn_idx%mom%beg, eqn_idx%E
10594 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, &
10595 & l) - flux_src_n_in(i)%sf(j, k, l))
10596 end do
10597 end if
10598
10599 if (chem_params%diffusion) then
10600
10601# 1797 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10602#if defined(MFC_OpenACC)
10603# 1797 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10604!$acc loop seq
10605# 1797 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10606#elif defined(MFC_OpenMP)
10607# 1797 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10608
10609# 1797 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10610#endif
10611 do i = eqn_idx%species%beg, eqn_idx%species%end
10612 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, &
10613 & l) - flux_src_n_in(i)%sf(j, k, l))
10614 end do
10615
10616 if (.not. viscous) then
10617 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10618 & l) + 1._wp/dx(j)*(flux_src_n_in(eqn_idx%E)%sf(j - 1, k, &
10619 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10620 end if
10621 end if
10622 end do
10623 end do
10624 end do
10625
10626# 1812 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10627#if defined(MFC_OpenACC)
10628# 1812 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10629!$acc end parallel loop
10630# 1812 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10631#elif defined(MFC_OpenMP)
10632# 1812 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10633
10634# 1812 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10635!$omp end target teams loop
10636# 1812 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10637#endif
10638 end if
10639 else if (idir == 2) then ! y-direction
10640 if (surface_tension) then
10641
10642# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10643
10644# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10645#if defined(MFC_OpenACC)
10646# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10647!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10648# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10649#elif defined(MFC_OpenMP)
10650# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10651
10652# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10653
10654# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10655
10656# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10657!$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)
10658# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10659#endif
10660 do l = 0, p
10661 do k = 0, n
10662 do j = 0, m
10663 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10664 & 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, &
10665 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k - 1, l))
10666 end do
10667 end do
10668 end do
10669
10670# 1826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10671#if defined(MFC_OpenACC)
10672# 1826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10673!$acc end parallel loop
10674# 1826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10675#elif defined(MFC_OpenMP)
10676# 1826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10677
10678# 1826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10679!$omp end target teams loop
10680# 1826 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10681#endif
10682 end if
10683
10684 if (cyl_coord .and. ((bc_y%beg == -2) .or. (bc_y%beg == -14))) then
10685 if (viscous) then
10686 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10687 & dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10688 & tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10689 end if
10690
10691 if (heat_conduction) then
10692 call s_compute_conduction_axis_source(q_prim_vf, q_t_sf, tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10693 end if
10694
10695 if (viscous .or. heat_conduction) then
10696
10697# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10698
10699# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10700#if defined(MFC_OpenACC)
10701# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10702!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10703# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10704#elif defined(MFC_OpenMP)
10705# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10706
10707# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10708
10709# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10710
10711# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10712!$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)
10713# 1841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10714#endif
10715 do l = 0, p
10716 do j = 0, m
10717
10718# 1844 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10719#if defined(MFC_OpenACC)
10720# 1844 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10721!$acc loop seq
10722# 1844 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10723#elif defined(MFC_OpenMP)
10724# 1844 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10725
10726# 1844 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10727#endif
10728 do i = eqn_idx%mom%beg, eqn_idx%E
10729 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, &
10730 & -1, l) - tau_re_vf(i)%sf(j, 1, l))
10731 end do
10732 end do
10733 end do
10734
10735# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10736#if defined(MFC_OpenACC)
10737# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10738!$acc end parallel loop
10739# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10740#elif defined(MFC_OpenMP)
10741# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10742
10743# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10744!$omp end target teams loop
10745# 1851 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10746#endif
10747 end if
10748
10749
10750# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10751
10752# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10753#if defined(MFC_OpenACC)
10754# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10755!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10756# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10757#elif defined(MFC_OpenMP)
10758# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10759
10760# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10761
10762# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10763
10764# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10765!$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)
10766# 1854 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10767#endif
10768 do l = 0, p
10769 do k = 1, n
10770 do j = 0, m
10771
10772# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10773#if defined(MFC_OpenACC)
10774# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10775!$acc loop seq
10776# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10777#elif defined(MFC_OpenMP)
10778# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10779
10780# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10781#endif
10782 do i = eqn_idx%mom%beg, eqn_idx%E
10783 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, &
10784 & l) - flux_src_n_in(i)%sf(j, k, l))
10785 end do
10786 end do
10787 end do
10788 end do
10789
10790# 1866 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10791#if defined(MFC_OpenACC)
10792# 1866 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10793!$acc end parallel loop
10794# 1866 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10795#elif defined(MFC_OpenMP)
10796# 1866 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10797
10798# 1866 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10799!$omp end target teams loop
10800# 1866 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10801#endif
10802 else
10803 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
10804
10805# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10806
10807# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10808#if defined(MFC_OpenACC)
10809# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10810!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10811# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10812#elif defined(MFC_OpenMP)
10813# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10814
10815# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10816
10817# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10818
10819# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10820!$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)
10821# 1869 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10822#endif
10823 do l = 0, p
10824 do k = 0, n
10825 do j = 0, m
10826 if (surface_tension .or. viscous .or. heat_conduction) then
10827
10828# 1874 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10829#if defined(MFC_OpenACC)
10830# 1874 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10831!$acc loop seq
10832# 1874 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10833#elif defined(MFC_OpenMP)
10834# 1874 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10835
10836# 1874 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10837#endif
10838 do i = eqn_idx%mom%beg, eqn_idx%E
10839 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, &
10840 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
10841 end do
10842 end if
10843
10844 if (chem_params%diffusion) then
10845
10846# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10847#if defined(MFC_OpenACC)
10848# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10849!$acc loop seq
10850# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10851#elif defined(MFC_OpenMP)
10852# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10853
10854# 1882 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10855#endif
10856 do i = eqn_idx%species%beg, eqn_idx%species%end
10857 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, &
10858 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
10859 end do
10860 if (.not. viscous) then
10861 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10862 & l) + 1._wp/dy(k)*(flux_src_n_in(eqn_idx%E)%sf(j, k - 1, &
10863 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10864 end if
10865 end if
10866 end do
10867 end do
10868 end do
10869
10870# 1896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10871#if defined(MFC_OpenACC)
10872# 1896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10873!$acc end parallel loop
10874# 1896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10875#elif defined(MFC_OpenMP)
10876# 1896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10877
10878# 1896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10879!$omp end target teams loop
10880# 1896 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10881#endif
10882 end if
10883 end if
10884
10885 ! Applying the geometrical viscous Riemann source fluxes calculated as average of values at cell boundaries
10886 if (cyl_coord) then
10887 if ((bc_y%beg == -2) .or. (bc_y%beg == -14)) then
10888
10889# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10890
10891# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10892#if defined(MFC_OpenACC)
10893# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10894!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10895# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10896#elif defined(MFC_OpenMP)
10897# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10898
10899# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10900
10901# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10902
10903# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10904!$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)
10905# 1903 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10906#endif
10907 do l = 0, p
10908 do k = 1, n
10909 do j = 0, m
10910
10911# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10912#if defined(MFC_OpenACC)
10913# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10914!$acc loop seq
10915# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10916#elif defined(MFC_OpenMP)
10917# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10918
10919# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10920#endif
10921 do i = eqn_idx%mom%beg, eqn_idx%E
10922 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, &
10923 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
10924 end do
10925 end do
10926 end do
10927 end do
10928
10929# 1915 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10930#if defined(MFC_OpenACC)
10931# 1915 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10932!$acc end parallel loop
10933# 1915 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10934#elif defined(MFC_OpenMP)
10935# 1915 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10936
10937# 1915 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10938!$omp end target teams loop
10939# 1915 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10940#endif
10941
10942 if (viscous .or. heat_conduction) then
10943
10944# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10945
10946# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10947#if defined(MFC_OpenACC)
10948# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10949!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10950# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10951#elif defined(MFC_OpenMP)
10952# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10953
10954# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10955
10956# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10957
10958# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10959!$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)
10960# 1918 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10961#endif
10962 do l = 0, p
10963 do j = 0, m
10964
10965# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10966#if defined(MFC_OpenACC)
10967# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10968!$acc loop seq
10969# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10970#elif defined(MFC_OpenMP)
10971# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10972
10973# 1921 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10974#endif
10975 do i = eqn_idx%mom%beg, eqn_idx%E
10976 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)
10977 end do
10978 end do
10979 end do
10980
10981# 1927 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10982#if defined(MFC_OpenACC)
10983# 1927 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10984!$acc end parallel loop
10985# 1927 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10986#elif defined(MFC_OpenMP)
10987# 1927 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10988
10989# 1927 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10990!$omp end target teams loop
10991# 1927 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10992#endif
10993 end if
10994 else
10995
10996# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10997
10998# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10999#if defined(MFC_OpenACC)
11000# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11001!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11002# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11003#elif defined(MFC_OpenMP)
11004# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11005
11006# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11007
11008# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11009
11010# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11011!$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)
11012# 1930 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11013#endif
11014 do l = 0, p
11015 do k = 0, n
11016 do j = 0, m
11017
11018# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11019#if defined(MFC_OpenACC)
11020# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11021!$acc loop seq
11022# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11023#elif defined(MFC_OpenMP)
11024# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11025
11026# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11027#endif
11028 do i = eqn_idx%mom%beg, eqn_idx%E
11029 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, &
11030 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
11031 end do
11032 end do
11033 end do
11034 end do
11035
11036# 1942 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11037#if defined(MFC_OpenACC)
11038# 1942 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11039!$acc end parallel loop
11040# 1942 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11041#elif defined(MFC_OpenMP)
11042# 1942 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11043
11044# 1942 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11045!$omp end target teams loop
11046# 1942 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11047#endif
11048 end if
11049 end if
11050 else if (idir == 3) then ! z-direction
11051 if (surface_tension) then
11052
11053# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11054
11055# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11056#if defined(MFC_OpenACC)
11057# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11058!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11059# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11060#elif defined(MFC_OpenMP)
11061# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11062
11063# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11064
11065# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11066
11067# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11068!$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)
11069# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11070#endif
11071 do l = 0, p
11072 do k = 0, n
11073 do j = 0, m
11074 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
11075 & 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, &
11076 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, l - 1))
11077 end do
11078 end do
11079 end do
11080
11081# 1957 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11082#if defined(MFC_OpenACC)
11083# 1957 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11084!$acc end parallel loop
11085# 1957 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11086#elif defined(MFC_OpenMP)
11087# 1957 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11088
11089# 1957 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11090!$omp end target teams loop
11091# 1957 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11092#endif
11093 end if
11094
11095 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
11096
11097# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11098
11099# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11100#if defined(MFC_OpenACC)
11101# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11102!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11103# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11104#elif defined(MFC_OpenMP)
11105# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11106
11107# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11108
11109# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11110
11111# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11112!$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)
11113# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11114#endif
11115 do l = 0, p
11116 do k = 0, n
11117 do j = 0, m
11118 if (surface_tension .or. viscous .or. heat_conduction) then
11119
11120# 1966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11121#if defined(MFC_OpenACC)
11122# 1966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11123!$acc loop seq
11124# 1966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11125#elif defined(MFC_OpenMP)
11126# 1966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11127
11128# 1966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11129#endif
11130 do i = eqn_idx%mom%beg, eqn_idx%E
11131 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, &
11132 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11133 end do
11134 end if
11135
11136 if (chem_params%diffusion) then
11137
11138# 1974 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11139#if defined(MFC_OpenACC)
11140# 1974 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11141!$acc loop seq
11142# 1974 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11143#elif defined(MFC_OpenMP)
11144# 1974 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11145
11146# 1974 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11147#endif
11148 do i = eqn_idx%species%beg, eqn_idx%species%end
11149 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, &
11150 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11151 end do
11152 if (.not. viscous) then
11153 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11154 & l) + 1._wp/dz(l)*(flux_src_n_in(eqn_idx%E)%sf(j, k, &
11155 & l - 1) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11156 end if
11157 end if
11158 end do
11159 end do
11160 end do
11161
11162# 1988 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11163#if defined(MFC_OpenACC)
11164# 1988 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11165!$acc end parallel loop
11166# 1988 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11167#elif defined(MFC_OpenMP)
11168# 1988 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11169
11170# 1988 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11171!$omp end target teams loop
11172# 1988 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11173#endif
11174 end if
11175
11176 if (grid_geometry == 3) then
11177
11178# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11179
11180# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11181#if defined(MFC_OpenACC)
11182# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11183!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11184# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11185#elif defined(MFC_OpenMP)
11186# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11187
11188# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11189
11190# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11191
11192# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11193!$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)
11194# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11195#endif
11196 do l = 0, p
11197 do k = 0, n
11198 do j = 0, m
11199 rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
11200 & l) + 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%end)%sf(j, k, &
11201 & l - 1) + flux_src_n_in(eqn_idx%mom%end)%sf(j, k, l))
11202
11203 rhs_vf(eqn_idx%mom%end)%sf(j, k, l) = rhs_vf(eqn_idx%mom%end)%sf(j, k, &
11204 & l) - 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, &
11205 & l - 1) + flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, l))
11206 end do
11207 end do
11208 end do
11209
11210# 2006 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11211#if defined(MFC_OpenACC)
11212# 2006 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11213!$acc end parallel loop
11214# 2006 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11215#elif defined(MFC_OpenMP)
11216# 2006 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11217
11218# 2006 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11219!$omp end target teams loop
11220# 2006 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11221#endif
11222 end if
11223 end if
11224
11226
11227 !> Reconstruct left and right cell-boundary values from cell-averaged variables
11228 subroutine s_reconstruct_cell_boundary_values(v_vf, vL_x, vR_x, norm_dir)
11229
11230 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11231 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11232 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11233 integer, intent(in) :: norm_dir
11234 integer :: recon_dir !< Coordinate direction of the reconstruction
11235 integer :: i, j, k, l
11236
11237# 2023 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11238 if (recon_type == recon_type_weno) then
11239 ! Reconstruction in s1-direction
11240 if (norm_dir == 1) then
11241 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11242 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11243 is1%end = is1%end - weno_polyn
11244 else if (norm_dir == 2) then
11245 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11246 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11247 is1%end = is1%end - weno_polyn
11248 else
11249 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11250 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11251 is1%end = is1%end - weno_polyn
11252 end if
11253
11254 call s_weno (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11255 & is2, is3)
11256 end if
11257# 2023 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11258 if (recon_type == recon_type_muscl) then
11259 ! Reconstruction in s1-direction
11260 if (norm_dir == 1) then
11261 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11262 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11263 is1%end = is1%end - muscl_polyn
11264 else if (norm_dir == 2) then
11265 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11266 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11267 is1%end = is1%end - muscl_polyn
11268 else
11269 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11270 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11271 is1%end = is1%end - muscl_polyn
11272 end if
11273
11274 call s_muscl (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11275 & is2, is3)
11276 end if
11277# 2043 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11278
11280
11281 !> Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values
11282 subroutine s_reconstruct_cell_boundary_values_first_order(v_vf, vL_x, vR_x, norm_dir)
11283
11284 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11285 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11286 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11287 integer, intent(in) :: norm_dir
11288 integer :: recon_dir !< Coordinate direction of the reconstruction
11289 integer :: i, j, k, l
11290 ! Reconstruction in s1-direction
11291
11292# 2058 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11293 if (recon_type == recon_type_weno) then
11294 if (norm_dir == 1) then
11295 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11296 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11297 is1%end = is1%end - weno_polyn
11298 else if (norm_dir == 2) then
11299 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11300 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11301 is1%end = is1%end - weno_polyn
11302 else
11303 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11304 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11305 is1%end = is1%end - weno_polyn
11306 end if
11307
11308
11309# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11310#if defined(MFC_OpenACC)
11311# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11312!$acc update device(is1, is2, is3, iv)
11313# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11314#elif defined(MFC_OpenMP)
11315# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11316!$omp target update to(is1, is2, is3, iv)
11317# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11318#endif
11319 end if
11320# 2058 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11321 if (recon_type == recon_type_muscl) then
11322 if (norm_dir == 1) then
11323 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11324 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11325 is1%end = is1%end - muscl_polyn
11326 else if (norm_dir == 2) then
11327 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11328 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11329 is1%end = is1%end - muscl_polyn
11330 else
11331 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11332 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11333 is1%end = is1%end - muscl_polyn
11334 end if
11335
11336
11337# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11338#if defined(MFC_OpenACC)
11339# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11340!$acc update device(is1, is2, is3, iv)
11341# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11342#elif defined(MFC_OpenMP)
11343# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11344!$omp target update to(is1, is2, is3, iv)
11345# 2073 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11346#endif
11347 end if
11348# 2076 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11349
11350 if (recon_dir == 1) then
11351
11352# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11353
11354# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11355#if defined(MFC_OpenACC)
11356# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11357!$acc parallel loop collapse(4) gang vector default(present)
11358# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11359#elif defined(MFC_OpenMP)
11360# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11361
11362# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11363
11364# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11365
11366# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11367!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11368# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11369#endif
11370 do i = iv%beg, iv%end
11371 do l = is3%beg, is3%end
11372 do k = is2%beg, is2%end
11373 do j = is1%beg, is1%end
11374 vl_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11375 vr_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11376 end do
11377 end do
11378 end do
11379 end do
11380
11381# 2089 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11382#if defined(MFC_OpenACC)
11383# 2089 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11384!$acc end parallel loop
11385# 2089 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11386#elif defined(MFC_OpenMP)
11387# 2089 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11388
11389# 2089 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11390!$omp end target teams loop
11391# 2089 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11392#endif
11393 else if (recon_dir == 2) then
11394
11395# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11396
11397# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11398#if defined(MFC_OpenACC)
11399# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11400!$acc parallel loop collapse(4) gang vector default(present)
11401# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11402#elif defined(MFC_OpenMP)
11403# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11404
11405# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11406
11407# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11408
11409# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11410!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11411# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11412#endif
11413 do i = iv%beg, iv%end
11414 do l = is3%beg, is3%end
11415 do j = is1%beg, is1%end
11416 do k = is2%beg, is2%end
11417 vl_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11418 vr_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11419 end do
11420 end do
11421 end do
11422 end do
11423
11424# 2102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11425#if defined(MFC_OpenACC)
11426# 2102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11427!$acc end parallel loop
11428# 2102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11429#elif defined(MFC_OpenMP)
11430# 2102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11431
11432# 2102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11433!$omp end target teams loop
11434# 2102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11435#endif
11436 else if (recon_dir == 3) then
11437
11438# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11439
11440# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11441#if defined(MFC_OpenACC)
11442# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11443!$acc parallel loop collapse(4) gang vector default(present)
11444# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11445#elif defined(MFC_OpenMP)
11446# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11447
11448# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11449
11450# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11451
11452# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11453!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11454# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11455#endif
11456 do i = iv%beg, iv%end
11457 do j = is1%beg, is1%end
11458 do k = is2%beg, is2%end
11459 do l = is3%beg, is3%end
11460 vl_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11461 vr_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11462 end do
11463 end do
11464 end do
11465 end do
11466
11467# 2115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11468#if defined(MFC_OpenACC)
11469# 2115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11470!$acc end parallel loop
11471# 2115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11472#elif defined(MFC_OpenMP)
11473# 2115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11474
11475# 2115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11476!$omp end target teams loop
11477# 2115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11478#endif
11479 end if
11480
11482
11483 !> Module deallocation and/or disassociation procedures
11484 impure subroutine s_finalize_rhs_module
11485
11486 integer :: i, j, l
11487
11488 if (.not. igr) then
11489 do j = eqn_idx%cont%beg, eqn_idx%cont%end
11490 if (relativity) then
11491 ! Cons and Prim densities are different for relativity
11492#ifdef MFC_DEBUG
11493# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11494 block
11495# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11496 use iso_fortran_env, only: output_unit
11497# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11498
11499# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11500 print *, 'm_rhs.fpp:2129: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11501# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11502
11503# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11504 call flush (output_unit)
11505# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11506 end block
11507# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11508#endif
11509# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11510
11511# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11512#if defined(MFC_OpenACC)
11513# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11514!$acc exit data delete(q_cons_qp%vf(j)%sf)
11515# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11516#elif defined(MFC_OpenMP)
11517# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11518!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11519# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11520#endif
11521# 2129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11522 deallocate (q_cons_qp%vf(j)%sf)
11523#ifdef MFC_DEBUG
11524# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11525 block
11526# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11527 use iso_fortran_env, only: output_unit
11528# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11529
11530# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11531 print *, 'm_rhs.fpp:2130: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11532# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11533
11534# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11535 call flush (output_unit)
11536# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11537 end block
11538# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11539#endif
11540# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11541
11542# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11543#if defined(MFC_OpenACC)
11544# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11545!$acc exit data delete(q_prim_qp%vf(j)%sf)
11546# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11547#elif defined(MFC_OpenMP)
11548# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11549!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11550# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11551#endif
11552# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11553 deallocate (q_prim_qp%vf(j)%sf)
11554 else
11555 nullify (q_prim_qp%vf(j)%sf)
11556 end if
11557 end do
11558
11559 do j = eqn_idx%adv%beg, eqn_idx%adv%end
11560 nullify (q_prim_qp%vf(j)%sf)
11561 end do
11562
11563 do j = eqn_idx%mom%beg, eqn_idx%E
11564#ifdef MFC_DEBUG
11565# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11566 block
11567# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11568 use iso_fortran_env, only: output_unit
11569# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11570
11571# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11572 print *, 'm_rhs.fpp:2141: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11573# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11574
11575# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11576 call flush (output_unit)
11577# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11578 end block
11579# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11580#endif
11581# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11582
11583# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11584#if defined(MFC_OpenACC)
11585# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11586!$acc exit data delete(q_cons_qp%vf(j)%sf)
11587# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11588#elif defined(MFC_OpenMP)
11589# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11590!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11591# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11592#endif
11593# 2141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11594 deallocate (q_cons_qp%vf(j)%sf)
11595#ifdef MFC_DEBUG
11596# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11597 block
11598# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11599 use iso_fortran_env, only: output_unit
11600# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11601
11602# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11603 print *, 'm_rhs.fpp:2142: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11604# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11605
11606# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11607 call flush (output_unit)
11608# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11609 end block
11610# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11611#endif
11612# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11613
11614# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11615#if defined(MFC_OpenACC)
11616# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11617!$acc exit data delete(q_prim_qp%vf(j)%sf)
11618# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11619#elif defined(MFC_OpenMP)
11620# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11621!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11622# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11623#endif
11624# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11625 deallocate (q_prim_qp%vf(j)%sf)
11626 end do
11627 end if
11628
11629#ifdef MFC_DEBUG
11630# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11631 block
11632# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11633 use iso_fortran_env, only: output_unit
11634# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11635
11636# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11637 print *, 'm_rhs.fpp:2146: ', '@:DEALLOCATE(q_cons_qp%vf, q_prim_qp%vf)'
11638# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11639
11640# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11641 call flush (output_unit)
11642# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11643 end block
11644# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11645#endif
11646# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11647
11648# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11649#if defined(MFC_OpenACC)
11650# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11651!$acc exit data delete(q_cons_qp%vf, q_prim_qp%vf)
11652# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11653#elif defined(MFC_OpenMP)
11654# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11655!$omp target exit data map(release:q_cons_qp%vf, q_prim_qp%vf)
11656# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11657#endif
11658# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11659 deallocate (q_cons_qp%vf, q_prim_qp%vf)
11660
11661 if (.not. igr) then
11662#ifdef MFC_DEBUG
11663# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11664 block
11665# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11666 use iso_fortran_env, only: output_unit
11667# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11668
11669# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11670 print *, 'm_rhs.fpp:2149: ', '@:DEALLOCATE(qL_rsx_vf, qR_rsx_vf)'
11671# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11672
11673# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11674 call flush (output_unit)
11675# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11676 end block
11677# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11678#endif
11679# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11680
11681# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11682#if defined(MFC_OpenACC)
11683# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11684!$acc exit data delete(qL_rsx_vf, qR_rsx_vf)
11685# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11686#elif defined(MFC_OpenMP)
11687# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11688!$omp target exit data map(release:qL_rsx_vf, qR_rsx_vf)
11689# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11690#endif
11691# 2149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11692 deallocate (ql_rsx_vf, qr_rsx_vf)
11693
11694 if (viscous) then
11695 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11696#ifdef MFC_DEBUG
11697# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11698 block
11699# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11700 use iso_fortran_env, only: output_unit
11701# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11702
11703# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11704 print *, 'm_rhs.fpp:2153: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf)'
11705# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11706
11707# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11708 call flush (output_unit)
11709# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11710 end block
11711# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11712#endif
11713# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11714
11715# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11716#if defined(MFC_OpenACC)
11717# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11718!$acc exit data delete(dq_prim_dx_qp(1)%vf(l)%sf)
11719# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11720#elif defined(MFC_OpenMP)
11721# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11722!$omp target exit data map(release:dq_prim_dx_qp(1)%vf(l)%sf)
11723# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11724#endif
11725# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11726 deallocate (dq_prim_dx_qp(1)%vf(l)%sf)
11727 end do
11728
11729 if (n > 0) then
11730 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11731#ifdef MFC_DEBUG
11732# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11733 block
11734# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11735 use iso_fortran_env, only: output_unit
11736# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11737
11738# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11739 print *, 'm_rhs.fpp:2158: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf)'
11740# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11741
11742# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11743 call flush (output_unit)
11744# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11745 end block
11746# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11747#endif
11748# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11749
11750# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11751#if defined(MFC_OpenACC)
11752# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11753!$acc exit data delete(dq_prim_dy_qp(1)%vf(l)%sf)
11754# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11755#elif defined(MFC_OpenMP)
11756# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11757!$omp target exit data map(release:dq_prim_dy_qp(1)%vf(l)%sf)
11758# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11759#endif
11760# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11761 deallocate (dq_prim_dy_qp(1)%vf(l)%sf)
11762 end do
11763
11764 if (p > 0) then
11765 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11766#ifdef MFC_DEBUG
11767# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11768 block
11769# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11770 use iso_fortran_env, only: output_unit
11771# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11772
11773# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11774 print *, 'm_rhs.fpp:2163: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf)'
11775# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11776
11777# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11778 call flush (output_unit)
11779# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11780 end block
11781# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11782#endif
11783# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11784
11785# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11786#if defined(MFC_OpenACC)
11787# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11788!$acc exit data delete(dq_prim_dz_qp(1)%vf(l)%sf)
11789# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11790#elif defined(MFC_OpenMP)
11791# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11792!$omp target exit data map(release:dq_prim_dz_qp(1)%vf(l)%sf)
11793# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11794#endif
11795# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11796 deallocate (dq_prim_dz_qp(1)%vf(l)%sf)
11797 end do
11798 end if
11799 end if
11800
11801#ifdef MFC_DEBUG
11802# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11803 block
11804# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11805 use iso_fortran_env, only: output_unit
11806# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11807
11808# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11809 print *, 'm_rhs.fpp:2168: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf)'
11810# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11811
11812# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11813 call flush (output_unit)
11814# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11815 end block
11816# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11817#endif
11818# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11819
11820# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11821#if defined(MFC_OpenACC)
11822# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11823!$acc exit data delete(dq_prim_dx_qp(1)%vf)
11824# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11825#elif defined(MFC_OpenMP)
11826# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11827!$omp target exit data map(release:dq_prim_dx_qp(1)%vf)
11828# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11829#endif
11830# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11831 deallocate (dq_prim_dx_qp(1)%vf)
11832#ifdef MFC_DEBUG
11833# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11834 block
11835# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11836 use iso_fortran_env, only: output_unit
11837# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11838
11839# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11840 print *, 'm_rhs.fpp:2169: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf)'
11841# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11842
11843# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11844 call flush (output_unit)
11845# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11846 end block
11847# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11848#endif
11849# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11850
11851# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11852#if defined(MFC_OpenACC)
11853# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11854!$acc exit data delete(dq_prim_dy_qp(1)%vf)
11855# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11856#elif defined(MFC_OpenMP)
11857# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11858!$omp target exit data map(release:dq_prim_dy_qp(1)%vf)
11859# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11860#endif
11861# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11862 deallocate (dq_prim_dy_qp(1)%vf)
11863#ifdef MFC_DEBUG
11864# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11865 block
11866# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11867 use iso_fortran_env, only: output_unit
11868# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11869
11870# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11871 print *, 'm_rhs.fpp:2170: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf)'
11872# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11873
11874# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11875 call flush (output_unit)
11876# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11877 end block
11878# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11879#endif
11880# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11881
11882# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11883#if defined(MFC_OpenACC)
11884# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11885!$acc exit data delete(dq_prim_dz_qp(1)%vf)
11886# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11887#elif defined(MFC_OpenMP)
11888# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11889!$omp target exit data map(release:dq_prim_dz_qp(1)%vf)
11890# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11891#endif
11892# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11893 deallocate (dq_prim_dz_qp(1)%vf)
11894
11895 do i = num_dims, 1, -1
11896 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11897#ifdef MFC_DEBUG
11898# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11899 block
11900# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11901 use iso_fortran_env, only: output_unit
11902# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11903
11904# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11905 print *, 'm_rhs.fpp:2174: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf)'
11906# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11907
11908# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11909 call flush (output_unit)
11910# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11911 end block
11912# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11913#endif
11914# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11915
11916# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11917#if defined(MFC_OpenACC)
11918# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11919!$acc exit data delete(dqL_prim_dx_n(i)%vf(l)%sf)
11920# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11921#elif defined(MFC_OpenMP)
11922# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11923!$omp target exit data map(release:dqL_prim_dx_n(i)%vf(l)%sf)
11924# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11925#endif
11926# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11927 deallocate (dql_prim_dx_n(i)%vf(l)%sf)
11928#ifdef MFC_DEBUG
11929# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11930 block
11931# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11932 use iso_fortran_env, only: output_unit
11933# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11934
11935# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11936 print *, 'm_rhs.fpp:2175: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf)'
11937# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11938
11939# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11940 call flush (output_unit)
11941# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11942 end block
11943# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11944#endif
11945# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11946
11947# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11948#if defined(MFC_OpenACC)
11949# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11950!$acc exit data delete(dqR_prim_dx_n(i)%vf(l)%sf)
11951# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11952#elif defined(MFC_OpenMP)
11953# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11954!$omp target exit data map(release:dqR_prim_dx_n(i)%vf(l)%sf)
11955# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11956#endif
11957# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11958 deallocate (dqr_prim_dx_n(i)%vf(l)%sf)
11959 end do
11960
11961 if (n > 0) then
11962 do l = eqn_idx%mom%beg, eqn_idx%mom%end
11963#ifdef MFC_DEBUG
11964# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11965 block
11966# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11967 use iso_fortran_env, only: output_unit
11968# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11969
11970# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11971 print *, 'm_rhs.fpp:2180: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf)'
11972# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11973
11974# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11975 call flush (output_unit)
11976# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11977 end block
11978# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11979#endif
11980# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11981
11982# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11983#if defined(MFC_OpenACC)
11984# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11985!$acc exit data delete(dqL_prim_dy_n(i)%vf(l)%sf)
11986# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11987#elif defined(MFC_OpenMP)
11988# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11989!$omp target exit data map(release:dqL_prim_dy_n(i)%vf(l)%sf)
11990# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11991#endif
11992# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11993 deallocate (dql_prim_dy_n(i)%vf(l)%sf)
11994#ifdef MFC_DEBUG
11995# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11996 block
11997# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11998 use iso_fortran_env, only: output_unit
11999# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12000
12001# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12002 print *, 'm_rhs.fpp:2181: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf)'
12003# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12004
12005# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12006 call flush (output_unit)
12007# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12008 end block
12009# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12010#endif
12011# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12012
12013# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12014#if defined(MFC_OpenACC)
12015# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12016!$acc exit data delete(dqR_prim_dy_n(i)%vf(l)%sf)
12017# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12018#elif defined(MFC_OpenMP)
12019# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12020!$omp target exit data map(release:dqR_prim_dy_n(i)%vf(l)%sf)
12021# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12022#endif
12023# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12024 deallocate (dqr_prim_dy_n(i)%vf(l)%sf)
12025 end do
12026 end if
12027
12028 if (p > 0) then
12029 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12030#ifdef MFC_DEBUG
12031# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12032 block
12033# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12034 use iso_fortran_env, only: output_unit
12035# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12036
12037# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12038 print *, 'm_rhs.fpp:2187: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf)'
12039# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12040
12041# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12042 call flush (output_unit)
12043# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12044 end block
12045# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12046#endif
12047# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12048
12049# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12050#if defined(MFC_OpenACC)
12051# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12052!$acc exit data delete(dqL_prim_dz_n(i)%vf(l)%sf)
12053# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12054#elif defined(MFC_OpenMP)
12055# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12056!$omp target exit data map(release:dqL_prim_dz_n(i)%vf(l)%sf)
12057# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12058#endif
12059# 2187 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12060 deallocate (dql_prim_dz_n(i)%vf(l)%sf)
12061#ifdef MFC_DEBUG
12062# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12063 block
12064# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12065 use iso_fortran_env, only: output_unit
12066# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12067
12068# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12069 print *, 'm_rhs.fpp:2188: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf)'
12070# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12071
12072# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12073 call flush (output_unit)
12074# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12075 end block
12076# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12077#endif
12078# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12079
12080# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12081#if defined(MFC_OpenACC)
12082# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12083!$acc exit data delete(dqR_prim_dz_n(i)%vf(l)%sf)
12084# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12085#elif defined(MFC_OpenMP)
12086# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12087!$omp target exit data map(release:dqR_prim_dz_n(i)%vf(l)%sf)
12088# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12089#endif
12090# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12091 deallocate (dqr_prim_dz_n(i)%vf(l)%sf)
12092 end do
12093 end if
12094
12095#ifdef MFC_DEBUG
12096# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12097 block
12098# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12099 use iso_fortran_env, only: output_unit
12100# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12101
12102# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12103 print *, 'm_rhs.fpp:2192: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf)'
12104# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12105
12106# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12107 call flush (output_unit)
12108# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12109 end block
12110# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12111#endif
12112# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12113
12114# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12115#if defined(MFC_OpenACC)
12116# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12117!$acc exit data delete(dqL_prim_dx_n(i)%vf)
12118# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12119#elif defined(MFC_OpenMP)
12120# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12121!$omp target exit data map(release:dqL_prim_dx_n(i)%vf)
12122# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12123#endif
12124# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12125 deallocate (dql_prim_dx_n(i)%vf)
12126#ifdef MFC_DEBUG
12127# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12128 block
12129# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12130 use iso_fortran_env, only: output_unit
12131# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12132
12133# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12134 print *, 'm_rhs.fpp:2193: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf)'
12135# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12136
12137# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12138 call flush (output_unit)
12139# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12140 end block
12141# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12142#endif
12143# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12144
12145# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12146#if defined(MFC_OpenACC)
12147# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12148!$acc exit data delete(dqL_prim_dy_n(i)%vf)
12149# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12150#elif defined(MFC_OpenMP)
12151# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12152!$omp target exit data map(release:dqL_prim_dy_n(i)%vf)
12153# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12154#endif
12155# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12156 deallocate (dql_prim_dy_n(i)%vf)
12157#ifdef MFC_DEBUG
12158# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12159 block
12160# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12161 use iso_fortran_env, only: output_unit
12162# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12163
12164# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12165 print *, 'm_rhs.fpp:2194: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf)'
12166# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12167
12168# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12169 call flush (output_unit)
12170# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12171 end block
12172# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12173#endif
12174# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12175
12176# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12177#if defined(MFC_OpenACC)
12178# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12179!$acc exit data delete(dqL_prim_dz_n(i)%vf)
12180# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12181#elif defined(MFC_OpenMP)
12182# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12183!$omp target exit data map(release:dqL_prim_dz_n(i)%vf)
12184# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12185#endif
12186# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12187 deallocate (dql_prim_dz_n(i)%vf)
12188#ifdef MFC_DEBUG
12189# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12190 block
12191# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12192 use iso_fortran_env, only: output_unit
12193# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12194
12195# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12196 print *, 'm_rhs.fpp:2195: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf)'
12197# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12198
12199# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12200 call flush (output_unit)
12201# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12202 end block
12203# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12204#endif
12205# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12206
12207# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12208#if defined(MFC_OpenACC)
12209# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12210!$acc exit data delete(dqR_prim_dx_n(i)%vf)
12211# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12212#elif defined(MFC_OpenMP)
12213# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12214!$omp target exit data map(release:dqR_prim_dx_n(i)%vf)
12215# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12216#endif
12217# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12218 deallocate (dqr_prim_dx_n(i)%vf)
12219#ifdef MFC_DEBUG
12220# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12221 block
12222# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12223 use iso_fortran_env, only: output_unit
12224# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12225
12226# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12227 print *, 'm_rhs.fpp:2196: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf)'
12228# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12229
12230# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12231 call flush (output_unit)
12232# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12233 end block
12234# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12235#endif
12236# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12237
12238# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12239#if defined(MFC_OpenACC)
12240# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12241!$acc exit data delete(dqR_prim_dy_n(i)%vf)
12242# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12243#elif defined(MFC_OpenMP)
12244# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12245!$omp target exit data map(release:dqR_prim_dy_n(i)%vf)
12246# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12247#endif
12248# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12249 deallocate (dqr_prim_dy_n(i)%vf)
12250#ifdef MFC_DEBUG
12251# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12252 block
12253# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12254 use iso_fortran_env, only: output_unit
12255# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12256
12257# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12258 print *, 'm_rhs.fpp:2197: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf)'
12259# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12260
12261# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12262 call flush (output_unit)
12263# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12264 end block
12265# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12266#endif
12267# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12268
12269# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12270#if defined(MFC_OpenACC)
12271# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12272!$acc exit data delete(dqR_prim_dz_n(i)%vf)
12273# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12274#elif defined(MFC_OpenMP)
12275# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12276!$omp target exit data map(release:dqR_prim_dz_n(i)%vf)
12277# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12278#endif
12279# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12280 deallocate (dqr_prim_dz_n(i)%vf)
12281 end do
12282
12283 if (weno_re_flux) then
12284#ifdef MFC_DEBUG
12285# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12286 block
12287# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12288 use iso_fortran_env, only: output_unit
12289# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12290
12291# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12292 print *, 'm_rhs.fpp:2201: ', '@:DEALLOCATE(dqL_rsx_vf, dqR_rsx_vf)'
12293# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12294
12295# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12296 call flush (output_unit)
12297# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12298 end block
12299# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12300#endif
12301# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12302
12303# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12304#if defined(MFC_OpenACC)
12305# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12306!$acc exit data delete(dqL_rsx_vf, dqR_rsx_vf)
12307# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12308#elif defined(MFC_OpenMP)
12309# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12310!$omp target exit data map(release:dqL_rsx_vf, dqR_rsx_vf)
12311# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12312#endif
12313# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12314 deallocate (dql_rsx_vf, dqr_rsx_vf)
12315 end if
12316 end if
12317
12318 if (viscous .or. heat_conduction) then
12319 do i = 1, num_dims
12320#ifdef MFC_DEBUG
12321# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12322 block
12323# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12324 use iso_fortran_env, only: output_unit
12325# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12326
12327# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12328 print *, 'm_rhs.fpp:2207: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%cont%end + i)%sf)'
12329# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12330
12331# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12332 call flush (output_unit)
12333# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12334 end block
12335# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12336#endif
12337# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12338
12339# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12340#if defined(MFC_OpenACC)
12341# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12342!$acc exit data delete(tau_Re_vf(eqn_idx%cont%end + i)%sf)
12343# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12344#elif defined(MFC_OpenMP)
12345# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12346!$omp target exit data map(release:tau_Re_vf(eqn_idx%cont%end + i)%sf)
12347# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12348#endif
12349# 2207 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12350 deallocate (tau_re_vf(eqn_idx%cont%end + i)%sf)
12351 end do
12352#ifdef MFC_DEBUG
12353# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12354 block
12355# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12356 use iso_fortran_env, only: output_unit
12357# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12358
12359# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12360 print *, 'm_rhs.fpp:2209: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%E)%sf)'
12361# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12362
12363# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12364 call flush (output_unit)
12365# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12366 end block
12367# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12368#endif
12369# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12370
12371# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12372#if defined(MFC_OpenACC)
12373# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12374!$acc exit data delete(tau_Re_vf(eqn_idx%E)%sf)
12375# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12376#elif defined(MFC_OpenMP)
12377# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12378!$omp target exit data map(release:tau_Re_vf(eqn_idx%E)%sf)
12379# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12380#endif
12381# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12382 deallocate (tau_re_vf(eqn_idx%E)%sf)
12383#ifdef MFC_DEBUG
12384# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12385 block
12386# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12387 use iso_fortran_env, only: output_unit
12388# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12389
12390# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12391 print *, 'm_rhs.fpp:2210: ', '@:DEALLOCATE(tau_Re_vf)'
12392# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12393
12394# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12395 call flush (output_unit)
12396# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12397 end block
12398# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12399#endif
12400# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12401
12402# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12403#if defined(MFC_OpenACC)
12404# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12405!$acc exit data delete(tau_Re_vf)
12406# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12407#elif defined(MFC_OpenMP)
12408# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12409!$omp target exit data map(release:tau_Re_vf)
12410# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12411#endif
12412# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12413 deallocate (tau_re_vf)
12414 end if
12415
12416#ifdef MFC_DEBUG
12417# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12418 block
12419# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12420 use iso_fortran_env, only: output_unit
12421# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12422
12423# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12424 print *, 'm_rhs.fpp:2213: ', '@:DEALLOCATE(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)'
12425# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12426
12427# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12428 call flush (output_unit)
12429# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12430 end block
12431# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12432#endif
12433# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12434
12435# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12436#if defined(MFC_OpenACC)
12437# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12438!$acc exit data delete(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12439# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12440#elif defined(MFC_OpenMP)
12441# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12442!$omp target exit data map(release:dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12443# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12444#endif
12445# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12447#ifdef MFC_DEBUG
12448# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12449 block
12450# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12451 use iso_fortran_env, only: output_unit
12452# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12453
12454# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12455 print *, 'm_rhs.fpp:2214: ', '@:DEALLOCATE(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)'
12456# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12457
12458# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12459 call flush (output_unit)
12460# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12461 end block
12462# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12463#endif
12464# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12465
12466# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12467#if defined(MFC_OpenACC)
12468# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12469!$acc exit data delete(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12470# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12471#elif defined(MFC_OpenMP)
12472# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12473!$omp target exit data map(release:dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12474# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12475#endif
12476# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12478 end if
12479
12480 if (mpp_lim .and. bubbles_euler) then
12481#ifdef MFC_DEBUG
12482# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12483 block
12484# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12485 use iso_fortran_env, only: output_unit
12486# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12487
12488# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12489 print *, 'm_rhs.fpp:2218: ', '@:DEALLOCATE(alf_sum%sf)'
12490# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12491
12492# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12493 call flush (output_unit)
12494# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12495 end block
12496# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12497#endif
12498# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12499
12500# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12501#if defined(MFC_OpenACC)
12502# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12503!$acc exit data delete(alf_sum%sf)
12504# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12505#elif defined(MFC_OpenMP)
12506# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12507!$omp target exit data map(release:alf_sum%sf)
12508# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12509#endif
12510# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12511 deallocate (alf_sum%sf)
12512 end if
12513
12514 if (.not. igr) then
12515 do i = num_dims, 1, -1
12516 if (i /= 1) then
12517 do l = 1, sys_size
12518 nullify (flux_n(i)%vf(l)%sf)
12519 nullify (flux_src_n(i)%vf(l)%sf)
12520#ifdef MFC_DEBUG
12521# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12522 block
12523# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12524 use iso_fortran_env, only: output_unit
12525# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12526
12527# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12528 print *, 'm_rhs.fpp:2227: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12529# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12530
12531# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12532 call flush (output_unit)
12533# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12534 end block
12535# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12536#endif
12537# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12538
12539# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12540#if defined(MFC_OpenACC)
12541# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12542!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12543# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12544#elif defined(MFC_OpenMP)
12545# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12546!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12547# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12548#endif
12549# 2227 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12550 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12551 end do
12552 else
12553 do l = 1, sys_size
12554#ifdef MFC_DEBUG
12555# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12556 block
12557# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12558 use iso_fortran_env, only: output_unit
12559# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12560
12561# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12562 print *, 'm_rhs.fpp:2231: ', '@:DEALLOCATE(flux_n(i)%vf(l)%sf)'
12563# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12564
12565# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12566 call flush (output_unit)
12567# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12568 end block
12569# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12570#endif
12571# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12572
12573# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12574#if defined(MFC_OpenACC)
12575# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12576!$acc exit data delete(flux_n(i)%vf(l)%sf)
12577# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12578#elif defined(MFC_OpenMP)
12579# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12580!$omp target exit data map(release:flux_n(i)%vf(l)%sf)
12581# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12582#endif
12583# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12584 deallocate (flux_n(i)%vf(l)%sf)
12585#ifdef MFC_DEBUG
12586# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12587 block
12588# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12589 use iso_fortran_env, only: output_unit
12590# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12591
12592# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12593 print *, 'm_rhs.fpp:2232: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12594# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12595
12596# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12597 call flush (output_unit)
12598# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12599 end block
12600# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12601#endif
12602# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12603
12604# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12605#if defined(MFC_OpenACC)
12606# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12607!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12608# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12609#elif defined(MFC_OpenMP)
12610# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12611!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12612# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12613#endif
12614# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12615 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12616 end do
12617
12618 if (viscous .or. surface_tension .or. heat_conduction) then
12619 do l = eqn_idx%mom%beg, eqn_idx%E
12620#ifdef MFC_DEBUG
12621# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12622 block
12623# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12624 use iso_fortran_env, only: output_unit
12625# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12626
12627# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12628 print *, 'm_rhs.fpp:2237: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12629# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12630
12631# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12632 call flush (output_unit)
12633# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12634 end block
12635# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12636#endif
12637# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12638
12639# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12640#if defined(MFC_OpenACC)
12641# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12642!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12643# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12644#elif defined(MFC_OpenMP)
12645# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12646!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12647# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12648#endif
12649# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12650 deallocate (flux_src_n(i)%vf(l)%sf)
12651 end do
12652 end if
12653
12654 if (chem_params%diffusion .and. .not. (viscous .or. surface_tension .or. heat_conduction)) then
12655#ifdef MFC_DEBUG
12656# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12657 block
12658# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12659 use iso_fortran_env, only: output_unit
12660# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12661
12662# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12663 print *, 'm_rhs.fpp:2242: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%E)%sf)'
12664# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12665
12666# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12667 call flush (output_unit)
12668# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12669 end block
12670# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12671#endif
12672# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12673
12674# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12675#if defined(MFC_OpenACC)
12676# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12677!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%E)%sf)
12678# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12679#elif defined(MFC_OpenMP)
12680# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12681!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%E)%sf)
12682# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12683#endif
12684# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12685 deallocate (flux_src_n(i)%vf(eqn_idx%E)%sf)
12686 end if
12687
12688 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
12689 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
12690#ifdef MFC_DEBUG
12691# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12692 block
12693# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12694 use iso_fortran_env, only: output_unit
12695# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12696
12697# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12698 print *, 'm_rhs.fpp:2247: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12699# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12700
12701# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12702 call flush (output_unit)
12703# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12704 end block
12705# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12706#endif
12707# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12708
12709# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12710#if defined(MFC_OpenACC)
12711# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12712!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12713# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12714#elif defined(MFC_OpenMP)
12715# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12716!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12717# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12718#endif
12719# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12720 deallocate (flux_src_n(i)%vf(l)%sf)
12721 end do
12722 else
12723 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
12724 nullify (flux_src_n(i)%vf(l)%sf)
12725 end do
12726 end if
12727
12728#ifdef MFC_DEBUG
12729# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12730 block
12731# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12732 use iso_fortran_env, only: output_unit
12733# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12734
12735# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12736 print *, 'm_rhs.fpp:2255: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)'
12737# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12738
12739# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12740 call flush (output_unit)
12741# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12742 end block
12743# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12744#endif
12745# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12746
12747# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12748#if defined(MFC_OpenACC)
12749# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12750!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12751# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12752#elif defined(MFC_OpenMP)
12753# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12754!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12755# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12756#endif
12757# 2255 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12758 deallocate (flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
12759 end if
12760
12761#ifdef MFC_DEBUG
12762# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12763 block
12764# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12765 use iso_fortran_env, only: output_unit
12766# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12767
12768# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12769 print *, 'm_rhs.fpp:2258: ', '@:DEALLOCATE(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)'
12770# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12771
12772# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12773 call flush (output_unit)
12774# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12775 end block
12776# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12777#endif
12778# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12779
12780# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12781#if defined(MFC_OpenACC)
12782# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12783!$acc exit data delete(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12784# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12785#elif defined(MFC_OpenMP)
12786# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12787!$omp target exit data map(release:flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12788# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12789#endif
12790# 2258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12791 deallocate (flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
12792 end do
12793
12794#ifdef MFC_DEBUG
12795# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12796 block
12797# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12798 use iso_fortran_env, only: output_unit
12799# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12800
12801# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12802 print *, 'm_rhs.fpp:2261: ', '@:DEALLOCATE(flux_n, flux_src_n, flux_gsrc_n)'
12803# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12804
12805# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12806 call flush (output_unit)
12807# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12808 end block
12809# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12810#endif
12811# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12812
12813# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12814#if defined(MFC_OpenACC)
12815# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12816!$acc exit data delete(flux_n, flux_src_n, flux_gsrc_n)
12817# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12818#elif defined(MFC_OpenMP)
12819# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12820!$omp target exit data map(release:flux_n, flux_src_n, flux_gsrc_n)
12821# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12822#endif
12823# 2261 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12824 deallocate (flux_n, flux_src_n, flux_gsrc_n)
12825 do i = 1, num_dims
12826 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12827#ifdef MFC_DEBUG
12828# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12829 block
12830# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12831 use iso_fortran_env, only: output_unit
12832# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12833
12834# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12835 print *, 'm_rhs.fpp:2264: ', '@:DEALLOCATE(qL_prim(i)%vf(l)%sf)'
12836# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12837
12838# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12839 call flush (output_unit)
12840# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12841 end block
12842# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12843#endif
12844# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12845
12846# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12847#if defined(MFC_OpenACC)
12848# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12849!$acc exit data delete(qL_prim(i)%vf(l)%sf)
12850# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12851#elif defined(MFC_OpenMP)
12852# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12853!$omp target exit data map(release:qL_prim(i)%vf(l)%sf)
12854# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12855#endif
12856# 2264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12857 deallocate (ql_prim(i)%vf(l)%sf)
12858#ifdef MFC_DEBUG
12859# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12860 block
12861# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12862 use iso_fortran_env, only: output_unit
12863# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12864
12865# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12866 print *, 'm_rhs.fpp:2265: ', '@:DEALLOCATE(qR_prim(i)%vf(l)%sf)'
12867# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12868
12869# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12870 call flush (output_unit)
12871# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12872 end block
12873# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12874#endif
12875# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12876
12877# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12878#if defined(MFC_OpenACC)
12879# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12880!$acc exit data delete(qR_prim(i)%vf(l)%sf)
12881# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12882#elif defined(MFC_OpenMP)
12883# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12884!$omp target exit data map(release:qR_prim(i)%vf(l)%sf)
12885# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12886#endif
12887# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12888 deallocate (qr_prim(i)%vf(l)%sf)
12889 end do
12890#ifdef MFC_DEBUG
12891# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12892 block
12893# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12894 use iso_fortran_env, only: output_unit
12895# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12896
12897# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12898 print *, 'm_rhs.fpp:2267: ', '@:DEALLOCATE(qL_prim(i)%vf, qR_prim(i)%vf)'
12899# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12900
12901# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12902 call flush (output_unit)
12903# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12904 end block
12905# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12906#endif
12907# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12908
12909# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12910#if defined(MFC_OpenACC)
12911# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12912!$acc exit data delete(qL_prim(i)%vf, qR_prim(i)%vf)
12913# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12914#elif defined(MFC_OpenMP)
12915# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12916!$omp target exit data map(release:qL_prim(i)%vf, qR_prim(i)%vf)
12917# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12918#endif
12919# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12920 deallocate (ql_prim(i)%vf, qr_prim(i)%vf)
12921 end do
12922#ifdef MFC_DEBUG
12923# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12924 block
12925# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12926 use iso_fortran_env, only: output_unit
12927# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12928
12929# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12930 print *, 'm_rhs.fpp:2269: ', '@:DEALLOCATE(qL_prim, qR_prim)'
12931# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12932
12933# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12934 call flush (output_unit)
12935# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12936 end block
12937# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12938#endif
12939# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12940
12941# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12942#if defined(MFC_OpenACC)
12943# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12944!$acc exit data delete(qL_prim, qR_prim)
12945# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12946#elif defined(MFC_OpenMP)
12947# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12948!$omp target exit data map(release:qL_prim, qR_prim)
12949# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12950#endif
12951# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12952 deallocate (ql_prim, qr_prim)
12953 end if
12954
12955 if (alt_soundspeed) then
12956#ifdef MFC_DEBUG
12957# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12958 block
12959# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12960 use iso_fortran_env, only: output_unit
12961# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12962
12963# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12964 print *, 'm_rhs.fpp:2273: ', '@:DEALLOCATE(blkmod1, blkmod2, alpha1, alpha2, Kterm)'
12965# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12966
12967# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12968 call flush (output_unit)
12969# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12970 end block
12971# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12972#endif
12973# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12974
12975# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12976#if defined(MFC_OpenACC)
12977# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12978!$acc exit data delete(blkmod1, blkmod2, alpha1, alpha2, Kterm)
12979# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12980#elif defined(MFC_OpenMP)
12981# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12982!$omp target exit data map(release:blkmod1, blkmod2, alpha1, alpha2, Kterm)
12983# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12984#endif
12985# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12986 deallocate (blkmod1, blkmod2, alpha1, alpha2, kterm)
12987 end if
12988
12989 if (qbmm) then
12990 do i = 0, 2
12991 do j = 0, 2
12992 do l = 1, nb
12993#ifdef MFC_DEBUG
12994# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12995 block
12996# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12997 use iso_fortran_env, only: output_unit
12998# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12999
13000# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13001 print *, 'm_rhs.fpp:2280: ', '@:DEALLOCATE(mom_3d(i, j, l)%sf)'
13002# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13003
13004# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13005 call flush (output_unit)
13006# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13007 end block
13008# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13009#endif
13010# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13011
13012# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13013#if defined(MFC_OpenACC)
13014# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13015!$acc exit data delete(mom_3d(i, j, l)%sf)
13016# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13017#elif defined(MFC_OpenMP)
13018# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13019!$omp target exit data map(release:mom_3d(i, j, l)%sf)
13020# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13021#endif
13022# 2280 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13023 deallocate (mom_3d(i, j, l)%sf)
13024 end do
13025 end do
13026 end do
13027 do i = 1, nmomsp
13028#ifdef MFC_DEBUG
13029# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13030 block
13031# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13032 use iso_fortran_env, only: output_unit
13033# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13034
13035# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13036 print *, 'm_rhs.fpp:2285: ', '@:DEALLOCATE(mom_sp(i)%sf)'
13037# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13038
13039# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13040 call flush (output_unit)
13041# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13042 end block
13043# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13044#endif
13045# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13046
13047# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13048#if defined(MFC_OpenACC)
13049# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13050!$acc exit data delete(mom_sp(i)%sf)
13051# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13052#elif defined(MFC_OpenMP)
13053# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13054!$omp target exit data map(release:mom_sp(i)%sf)
13055# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13056#endif
13057# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13058 deallocate (mom_sp(i)%sf)
13059 end do
13060#ifdef MFC_DEBUG
13061# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13062 block
13063# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13064 use iso_fortran_env, only: output_unit
13065# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13066
13067# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13068 print *, 'm_rhs.fpp:2287: ', '@:DEALLOCATE(mom_sp, mom_3d)'
13069# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13070
13071# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13072 call flush (output_unit)
13073# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13074 end block
13075# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13076#endif
13077# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13078
13079# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13080#if defined(MFC_OpenACC)
13081# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13082!$acc exit data delete(mom_sp, mom_3d)
13083# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13084#elif defined(MFC_OpenMP)
13085# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13086!$omp target exit data map(release:mom_sp, mom_3d)
13087# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13088#endif
13089# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13090 deallocate (mom_sp, mom_3d)
13091 end if
13092
13093 if (use_nc_iface_vel) then
13094 do i = 1, num_dims
13095 do l = 1, num_dims
13096#ifdef MFC_DEBUG
13097# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13098 block
13099# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13100 use iso_fortran_env, only: output_unit
13101# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13102
13103# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13104 print *, 'm_rhs.fpp:2293: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf(l)%sf)'
13105# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13106
13107# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13108 call flush (output_unit)
13109# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13110 end block
13111# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13112#endif
13113# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13114
13115# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13116#if defined(MFC_OpenACC)
13117# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13118!$acc exit data delete(nc_iface_vel_n(i)%vf(l)%sf)
13119# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13120#elif defined(MFC_OpenMP)
13121# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13122!$omp target exit data map(release:nc_iface_vel_n(i)%vf(l)%sf)
13123# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13124#endif
13125# 2293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13126 deallocate (nc_iface_vel_n(i)%vf(l)%sf)
13127 end do
13128#ifdef MFC_DEBUG
13129# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13130 block
13131# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13132 use iso_fortran_env, only: output_unit
13133# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13134
13135# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13136 print *, 'm_rhs.fpp:2295: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf)'
13137# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13138
13139# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13140 call flush (output_unit)
13141# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13142 end block
13143# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13144#endif
13145# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13146
13147# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13148#if defined(MFC_OpenACC)
13149# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13150!$acc exit data delete(nc_iface_vel_n(i)%vf)
13151# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13152#elif defined(MFC_OpenMP)
13153# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13154!$omp target exit data map(release:nc_iface_vel_n(i)%vf)
13155# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13156#endif
13157# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13158 deallocate (nc_iface_vel_n(i)%vf)
13159 end do
13160#ifdef MFC_DEBUG
13161# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13162 block
13163# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13164 use iso_fortran_env, only: output_unit
13165# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13166
13167# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13168 print *, 'm_rhs.fpp:2297: ', '@:DEALLOCATE(nc_iface_vel_n)'
13169# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13170
13171# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13172 call flush (output_unit)
13173# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13174 end block
13175# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13176#endif
13177# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13178
13179# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13180#if defined(MFC_OpenACC)
13181# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13182!$acc exit data delete(nc_iface_vel_n)
13183# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13184#elif defined(MFC_OpenMP)
13185# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13186!$omp target exit data map(release:nc_iface_vel_n)
13187# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13188#endif
13189# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13190 deallocate (nc_iface_vel_n)
13191 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13192 do i = 1, num_dims
13193 do l = 1, num_dims
13194#ifdef MFC_DEBUG
13195# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13196 block
13197# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13198 use iso_fortran_env, only: output_unit
13199# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13200
13201# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13202 print *, 'm_rhs.fpp:2301: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf(l)%sf)'
13203# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13204
13205# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13206 call flush (output_unit)
13207# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13208 end block
13209# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13210#endif
13211# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13212
13213# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13214#if defined(MFC_OpenACC)
13215# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13216!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf(l)%sf)
13217# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13218#elif defined(MFC_OpenMP)
13219# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13220!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf(l)%sf)
13221# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13222#endif
13223# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13224 deallocate (nc_iface_vel_hatr_n(i)%vf(l)%sf)
13225 end do
13226#ifdef MFC_DEBUG
13227# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13228 block
13229# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13230 use iso_fortran_env, only: output_unit
13231# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13232
13233# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13234 print *, 'm_rhs.fpp:2303: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf)'
13235# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13236
13237# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13238 call flush (output_unit)
13239# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13240 end block
13241# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13242#endif
13243# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13244
13245# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13246#if defined(MFC_OpenACC)
13247# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13248!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf)
13249# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13250#elif defined(MFC_OpenMP)
13251# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13252!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf)
13253# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13254#endif
13255# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13256 deallocate (nc_iface_vel_hatr_n(i)%vf)
13257 end do
13258#ifdef MFC_DEBUG
13259# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13260 block
13261# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13262 use iso_fortran_env, only: output_unit
13263# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13264
13265# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13266 print *, 'm_rhs.fpp:2305: ', '@:DEALLOCATE(nc_iface_vel_hatR_n)'
13267# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13268
13269# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13270 call flush (output_unit)
13271# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13272 end block
13273# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13274#endif
13275# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13276
13277# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13278#if defined(MFC_OpenACC)
13279# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13280!$acc exit data delete(nc_iface_vel_hatR_n)
13281# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13282#elif defined(MFC_OpenMP)
13283# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13284!$omp target exit data map(release:nc_iface_vel_hatR_n)
13285# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13286#endif
13287# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13288 deallocate (nc_iface_vel_hatr_n)
13289 end if
13290 end if
13291
13292 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13293 do i = 1, sys_size
13294#ifdef MFC_DEBUG
13295# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13296 block
13297# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13298 use iso_fortran_env, only: output_unit
13299# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13300
13301# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13302 print *, 'm_rhs.fpp:2311: ', '@:DEALLOCATE(rhs_hatL_vf(i)%sf)'
13303# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13304
13305# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13306 call flush (output_unit)
13307# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13308 end block
13309# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13310#endif
13311# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13312
13313# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13314#if defined(MFC_OpenACC)
13315# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13316!$acc exit data delete(rhs_hatL_vf(i)%sf)
13317# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13318#elif defined(MFC_OpenMP)
13319# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13320!$omp target exit data map(release:rhs_hatL_vf(i)%sf)
13321# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13322#endif
13323# 2311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13324 deallocate (rhs_hatl_vf(i)%sf)
13325#ifdef MFC_DEBUG
13326# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13327 block
13328# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13329 use iso_fortran_env, only: output_unit
13330# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13331
13332# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13333 print *, 'm_rhs.fpp:2312: ', '@:DEALLOCATE(rhs_hatR_vf(i)%sf)'
13334# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13335
13336# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13337 call flush (output_unit)
13338# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13339 end block
13340# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13341#endif
13342# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13343
13344# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13345#if defined(MFC_OpenACC)
13346# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13347!$acc exit data delete(rhs_hatR_vf(i)%sf)
13348# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13349#elif defined(MFC_OpenMP)
13350# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13351!$omp target exit data map(release:rhs_hatR_vf(i)%sf)
13352# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13353#endif
13354# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13355 deallocate (rhs_hatr_vf(i)%sf)
13356 end do
13357#ifdef MFC_DEBUG
13358# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13359 block
13360# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13361 use iso_fortran_env, only: output_unit
13362# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13363
13364# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13365 print *, 'm_rhs.fpp:2314: ', '@:DEALLOCATE(rhs_hatL_vf)'
13366# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13367
13368# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13369 call flush (output_unit)
13370# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13371 end block
13372# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13373#endif
13374# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13375
13376# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13377#if defined(MFC_OpenACC)
13378# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13379!$acc exit data delete(rhs_hatL_vf)
13380# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13381#elif defined(MFC_OpenMP)
13382# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13383!$omp target exit data map(release:rhs_hatL_vf)
13384# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13385#endif
13386# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13387 deallocate (rhs_hatl_vf)
13388#ifdef MFC_DEBUG
13389# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13390 block
13391# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13392 use iso_fortran_env, only: output_unit
13393# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13394
13395# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13396 print *, 'm_rhs.fpp:2315: ', '@:DEALLOCATE(rhs_hatR_vf)'
13397# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13398
13399# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13400 call flush (output_unit)
13401# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13402 end block
13403# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13404#endif
13405# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13406
13407# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13408#if defined(MFC_OpenACC)
13409# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13410!$acc exit data delete(rhs_hatR_vf)
13411# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13412#elif defined(MFC_OpenMP)
13413# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13414!$omp target exit data map(release:rhs_hatR_vf)
13415# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13416#endif
13417# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13418 deallocate (rhs_hatr_vf)
13419 end if
13420
13421 if (bf_spatial_support) then
13422#ifdef MFC_DEBUG
13423# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13424 block
13425# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13426 use iso_fortran_env, only: output_unit
13427# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13428
13429# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13430 print *, 'm_rhs.fpp:2319: ', '@:DEALLOCATE(spbf_source_x, spbf_source_y)'
13431# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13432
13433# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13434 call flush (output_unit)
13435# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13436 end block
13437# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13438#endif
13439# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13440
13441# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13442#if defined(MFC_OpenACC)
13443# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13444!$acc exit data delete(spbf_source_x, spbf_source_y)
13445# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13446#elif defined(MFC_OpenMP)
13447# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13448!$omp target exit data map(release:spbf_source_x, spbf_source_y)
13449# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13450#endif
13451# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13452 deallocate (spbf_source_x, spbf_source_y)
13453 end if
13454
13455 end subroutine s_finalize_rhs_module
13456
13457end 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 (CBCs) 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...
Fourier heat conduction, div(k grad T), as a face-centered source flux on the energy equation....
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_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
subroutine s_compute_additional_physics_rhs(idir, q_prim_vf, q_t_sf, rhs_vf, flux_src_n_in, dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf)
Add viscous, surface-tension, species-diffusion, and heat-conduction source flux contributions to the...
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).