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# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
32! Default for Fypp runs outside the toolchain (e.g. documentation). Searched last, so the
33! build/include/<target>/thermochem.fpp the toolchain writes from m_thermochem takes precedence.
34# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
35# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
36# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
37
38# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40
41# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42
43# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44
45# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46
47# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48
49# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50
51# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52
53# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54
55# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56! New line at end of file is required for FYPP
57# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
58# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
59# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
60# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65
66# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69
70# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
72! Default for Fypp runs outside the toolchain (e.g. documentation). Searched last, so the
73! build/include/<target>/thermochem.fpp the toolchain writes from m_thermochem takes precedence.
74# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
75# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
76# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
77
78# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
79# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80
81# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82
83# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
84
85# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
86
87# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
88
89# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
90
91# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
92
93# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
94
95# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
96! New line at end of file is required for FYPP
97# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
98
99# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104
105# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106
107# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108
109# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110
111# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112
113# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114
115# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116
117# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118
119# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120
121# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122
123# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124
125# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126
127# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128
129# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130
131# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132
133# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134
135# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136
137# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138
139# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140
141# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142
143# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144
145# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146
147# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148
149# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151
152# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153
154# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155
156# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157
158# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159
160# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161
162# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
163
164# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
165
166# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
167
168# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
169
170# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
171
172# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
173
174# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
175! New line at end of file is required for FYPP
176# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
177# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
178# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
179# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
181# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
183# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184
185# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
186# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
188
189# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
190# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
191! Default for Fypp runs outside the toolchain (e.g. documentation). Searched last, so the
192! build/include/<target>/thermochem.fpp the toolchain writes from m_thermochem takes precedence.
193# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
194# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
195# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
196
197# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
198# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
199
200# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
201
202# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
203
204# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
205
206# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
207
208# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
209
210# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
211
212# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
213
214# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
215! New line at end of file is required for FYPP
216# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
217
218# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219
220# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221
222# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223
224# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225
226# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227
228# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229
230# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231
232# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233
234# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235
236# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237
238# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239
240# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241
242# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243
244# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245
246# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247
248# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249
250# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251
252# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253
254# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
255
256# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
257
258# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
259
260# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
261
262# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
263
264# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
265
266# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
267
268# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
269
270# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
271
272# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
273! New line at end of file is required for FYPP
274# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
275
276! GPU parallel region (scalar reductions, maxval/minval)
277# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278
279! GPU parallel loop over threads (most common GPU macro)
280# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281
282! Required closing for GPU_PARALLEL_LOOP
283# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284
285! Mark routine for device compilation
286# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287
288! Declare device-resident data
289# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290
291! Inner loop within a GPU parallel region
292# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293
294! Scoped GPU data region
295# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296
297! Host code with device pointers (for MPI with GPU buffers)
298# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299
300! Allocate device memory (unscoped)
301# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302
303! Free device memory
304# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305
306! Atomic operation on device
307# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308
309! End atomic capture block
310# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311
312! Copy data between host and device
313# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314
315! Synchronization barrier
316# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
317
318! Import GPU library module (openacc or omp_lib)
319# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
320
321! Emit code only for AMD compiler
322# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
323
324! Emit code for non-Cray compilers
325# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
326
327! Emit code only for Cray compiler
328# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
329
330! Emit code for non-NVIDIA compilers
331# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
332
333# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
334# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
335! New line at end of file is required for FYPP
336# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
337
338# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
339
340! Caution: This macro requires the use of a binding script to set CUDA_VISIBLE_DEVICES, such that we have one GPU device per MPI
341! rank. That's because for both cudaMemAdvise (preferred location) and cudaMemPrefetchAsync we use location = device_id = 0. For an
342! example see misc/nvidia_uvm/bind.sh.
343# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
344
345! Allocate and create GPU device memory
346# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
347
348! Free GPU device memory and deallocate
349# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
350
351! Cray-specific GPU pointer setup for vector fields
352# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
353
354! Cray-specific GPU pointer setup for scalar fields
355# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
356
357! Cray-specific GPU pointer setup for acoustic source spatials
358# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
359
360# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
361
362# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
363! New line at end of file is required for FYPP
364# 7 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp" 2
365
366!> @brief Assemble the right-hand side of the governing equations using finite-volume flux differencing, Riemann solvers, and
367!! physical source terms
368module m_rhs
369
372 use m_mpi_proxy
374 use m_eos
375 use m_weno
378 use m_muscl
380 use m_cbc
381 use m_bubbles_ee
382 use m_bubbles_el
383 use m_qbmm
384 use m_hypoelastic
386 use m_viscous
387 use m_ibm
388 use m_nvtx
390 use m_helper
392 use m_body_forces
393 use m_chemistry
394 use m_conduction
396 use m_igr
397 use m_thinc
399
400 implicit none
401
403
404 type(vector_field) :: q_cons_qp !< WENO-reconstructed cell-average conservative variables at quadrature points
405
406# 47 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
407#if defined(MFC_OpenACC)
408# 47 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
409!$acc declare create(q_cons_qp)
410# 47 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
411#elif defined(MFC_OpenMP)
412# 47 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
413!$omp declare target (q_cons_qp)
414# 47 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
415#endif
416# 48 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
417
418 type(vector_field) :: q_prim_qp !< Primitive variables at cell-interior quadrature points
419
420# 50 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
421#if defined(MFC_OpenACC)
422# 50 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
423!$acc declare create(q_prim_qp)
424# 50 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
425#elif defined(MFC_OpenMP)
426# 50 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
427!$omp declare target (q_prim_qp)
428# 50 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
429#endif
430# 51 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
431
432 !> @name The first-order spatial derivatives of the primitive variables at cell- interior Gaussian quadrature points. These are
433 !! WENO-reconstructed from their respective cell-average values, obtained through the application of the divergence theorem on
434 !! the integral-average cell-boundary values of the primitive variables, located in qK_prim_n, where K = L or R.
435 !> @{
436 type(vector_field), allocatable, dimension(:) :: dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp
437
438# 57 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
439#if defined(MFC_OpenACC)
440# 57 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
441!$acc declare create(dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp)
442# 57 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
443#elif defined(MFC_OpenMP)
444# 57 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
445!$omp declare target (dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp)
446# 57 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
447#endif
448# 58 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
449 !> @}
450
451 !> @name The left and right WENO-reconstructed cell-boundary values of the cell- average first-order spatial derivatives of the
452 !! primitive variables. The cell-average of the first-order spatial derivatives may be found in the variables dq_prim_ds_qp,
453 !! where s = x, y or z.
454 !> @{
455 type(vector_field), allocatable, dimension(:) :: dql_prim_dx_n, dql_prim_dy_n, dql_prim_dz_n
456 type(vector_field), allocatable, dimension(:) :: dqr_prim_dx_n, dqr_prim_dy_n, dqr_prim_dz_n
457#if defined(MFC_OpenACC)
458
459# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
460#if defined(MFC_OpenACC)
461# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
462!$acc declare create(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
463# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
464#elif defined(MFC_OpenMP)
465# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
466!$omp declare target (dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
467# 67 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
468#endif
469# 68 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
470
471# 68 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
472#if defined(MFC_OpenACC)
473# 68 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
474!$acc declare create(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
475# 68 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
476#elif defined(MFC_OpenMP)
477# 68 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
478!$omp declare target (dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
479# 68 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
480#endif
481# 69 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
482#endif
483 !> @}
484
485 type(scalar_field), allocatable, dimension(:) :: tau_re_vf
486
487# 73 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
488#if defined(MFC_OpenACC)
489# 73 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
490!$acc declare create(tau_Re_vf)
491# 73 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
492#elif defined(MFC_OpenMP)
493# 73 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
494!$omp declare target (tau_Re_vf)
495# 73 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
496#endif
497# 74 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
498
499 !> @name The cell-boundary values of the fluxes (src - source, gsrc - geometrical source). These are computed by applying the
500 !! chosen Riemann problem solver on the left and right cell-boundary values of the primitive variables
501 !> @{
502 type(vector_field), allocatable, dimension(:) :: flux_n
503 type(vector_field), allocatable, dimension(:) :: flux_src_n
504 type(vector_field), allocatable, dimension(:) :: flux_gsrc_n
505
506#if defined(MFC_OpenACC)
507
508# 83 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
509#if defined(MFC_OpenACC)
510# 83 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
511!$acc declare create(flux_n, flux_src_n, flux_gsrc_n)
512# 83 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
513#elif defined(MFC_OpenMP)
514# 83 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
515!$omp declare target (flux_n, flux_src_n, flux_gsrc_n)
516# 83 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
517#endif
518# 84 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
519#endif
520 !> @}
521
522 type(vector_field), allocatable, dimension(:) :: nc_iface_vel_n
523#if defined(MFC_OpenACC)
524
525# 89 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
526#if defined(MFC_OpenACC)
527# 89 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
528!$acc declare create(nc_iface_vel_n)
529# 89 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
530#elif defined(MFC_OpenMP)
531# 89 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
532!$omp declare target (nc_iface_vel_n)
533# 89 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
534#endif
535# 90 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
536#endif
537
538 !> hat_R-pass interface velocities for fused dual-pass HLLD: the axisymmetric geometric source consumes both passes' face
539 !! velocities after the direction loop, so the hat_R values need their own field set (hat_L uses nc_iface_vel_n).
540 type(vector_field), allocatable, dimension(:) :: nc_iface_vel_hatr_n
541#if defined(MFC_OpenACC)
542
543# 96 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
544#if defined(MFC_OpenACC)
545# 96 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
546!$acc declare create(nc_iface_vel_hatR_n)
547# 96 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
548#elif defined(MFC_OpenMP)
549# 96 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
550!$omp declare target (nc_iface_vel_hatR_n)
551# 96 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
552#endif
553# 97 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
554#endif
555
556 type(vector_field), allocatable, dimension(:) :: ql_prim, qr_prim
557#if defined(MFC_OpenACC)
558
559# 101 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
560#if defined(MFC_OpenACC)
561# 101 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
562!$acc declare create(qL_prim, qR_prim)
563# 101 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
564#elif defined(MFC_OpenMP)
565# 101 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
566!$omp declare target (qL_prim, qR_prim)
567# 101 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
568#endif
569# 102 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
570#endif
571
572 type(int_bounds_info) :: iv !< Vector field indical bounds
573
574# 105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
575#if defined(MFC_OpenACC)
576# 105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
577!$acc declare create(iv)
578# 105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
579#elif defined(MFC_OpenMP)
580# 105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
581!$omp declare target (iv)
582# 105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
583#endif
584# 106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
585
586 !> @name Indical bounds in the x-, y- and z-directions
587 !> @{
589
590# 110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
591#if defined(MFC_OpenACC)
592# 110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
593!$acc declare create(irx, iry, irz)
594# 110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
595#elif defined(MFC_OpenMP)
596# 110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
597!$omp declare target (irx, iry, irz)
598# 110 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
599#endif
600# 111 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
601
603 !> @}
604
605# 114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
606#if defined(MFC_OpenACC)
607# 114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
608!$acc declare create(is1, is2, is3)
609# 114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
610#elif defined(MFC_OpenMP)
611# 114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
612!$omp declare target (is1, is2, is3)
613# 114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
614#endif
615# 115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
616
617 !> @name Saved fluxes for testing
618 !> @{
620 !> @}
621
622# 120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
623#if defined(MFC_OpenACC)
624# 120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
625!$acc declare create(alf_sum)
626# 120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
627#elif defined(MFC_OpenMP)
628# 120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
629!$omp declare target (alf_sum)
630# 120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
631#endif
632# 121 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
633
634 real(wp), allocatable, dimension(:,:,:) :: blkmod1, blkmod2, alpha1, alpha2, kterm
635 real(wp), allocatable, dimension(:,:,:,:) :: ql_rsx_vf, qr_rsx_vf
636 real(wp), allocatable, dimension(:,:,:,:) :: dql_rsx_vf, dqr_rsx_vf
637
638# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
639#if defined(MFC_OpenACC)
640# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
641!$acc declare create(blkmod1, blkmod2, alpha1, alpha2, Kterm)
642# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
643#elif defined(MFC_OpenMP)
644# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
645!$omp declare target (blkmod1, blkmod2, alpha1, alpha2, Kterm)
646# 125 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
647#endif
648# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
649
650# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
651#if defined(MFC_OpenACC)
652# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
653!$acc declare create(qL_rsx_vf, qR_rsx_vf)
654# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
655#elif defined(MFC_OpenMP)
656# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
657!$omp declare target (qL_rsx_vf, qR_rsx_vf)
658# 126 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
659#endif
660# 127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
661
662# 127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
663#if defined(MFC_OpenACC)
664# 127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
665!$acc declare create(dqL_rsx_vf, dqR_rsx_vf)
666# 127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
667#elif defined(MFC_OpenMP)
668# 127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
669!$omp declare target (dqL_rsx_vf, dqR_rsx_vf)
670# 127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
671#endif
672# 128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
673
674 integer :: iglob
675
676# 130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
677#if defined(MFC_OpenACC)
678# 130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
679!$acc declare create(iglob)
680# 130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
681#elif defined(MFC_OpenMP)
682# 130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
683!$omp declare target (iglob)
684# 130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
685#endif
686# 131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
687
688 !> @name Partial right-hand sides of the two anchored passes of dual-pass HLLD
689 !> @{
690 type(scalar_field), allocatable, dimension(:) :: rhs_hatl_vf, rhs_hatr_vf
691 !> @}
692
693# 136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
694#if defined(MFC_OpenACC)
695# 136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
696!$acc declare create(rhs_hatL_vf, rhs_hatR_vf)
697# 136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
698#elif defined(MFC_OpenMP)
699# 136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
700!$omp declare target (rhs_hatL_vf, rhs_hatR_vf)
701# 136 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
702#endif
703# 137 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
704
705contains
706
707 !> Initialize the RHS module
708 impure subroutine s_initialize_rhs_module
709
710 integer :: i, j, k, l, id !< Generic loop iterators
711
712
713# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
714#if defined(MFC_OpenACC)
715# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
716!$acc enter data copyin(idwbuff)
717# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
718#elif defined(MFC_OpenMP)
719# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
720!$omp target enter data map(to:idwbuff)
721# 145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
722#endif
723# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
724
725# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
726#if defined(MFC_OpenACC)
727# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
728!$acc update device(idwbuff)
729# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
730#elif defined(MFC_OpenMP)
731# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
732!$omp target update to(idwbuff)
733# 146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
734#endif
735# 147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
736
737#ifdef MFC_DEBUG
738# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
739 block
740# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
741 use iso_fortran_env, only: output_unit
742# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
743
744# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
745 print *, 'm_rhs.fpp:148: ', '@:ALLOCATE(q_cons_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 call flush (output_unit)
750# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
751 end block
752# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
753#endif
754# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
755 allocate (q_cons_qp%vf(1:sys_size))
756# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
757
758# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
759
760# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
761#if defined(MFC_OpenACC)
762# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
763!$acc enter data create(q_cons_qp%vf)
764# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
765#elif defined(MFC_OpenMP)
766# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
767!$omp target enter data map(always,alloc:q_cons_qp%vf)
768# 148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
769#endif
770# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
771#ifdef MFC_DEBUG
772# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
773 block
774# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
775 use iso_fortran_env, only: output_unit
776# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
777
778# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
779 print *, 'm_rhs.fpp:149: ', '@:ALLOCATE(q_prim_qp%vf(1:sys_size))'
780# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
781
782# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
783 call flush (output_unit)
784# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
785 end block
786# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
787#endif
788# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
789 allocate (q_prim_qp%vf(1:sys_size))
790# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
791
792# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
793
794# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
795#if defined(MFC_OpenACC)
796# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
797!$acc enter data create(q_prim_qp%vf)
798# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
799#elif defined(MFC_OpenMP)
800# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
801!$omp target enter data map(always,alloc:q_prim_qp%vf)
802# 149 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
803#endif
804# 150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
805
806 if (.not. igr) then
807 do l = 1, sys_size
808#ifdef MFC_DEBUG
809# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
810 block
811# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
812 use iso_fortran_env, only: output_unit
813# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
814
815# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
816 print *, 'm_rhs.fpp:153: ', '@: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))'
817# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
818
819# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
820 call flush (output_unit)
821# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
822 end block
823# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
824#endif
825# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
826 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))
827# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
828
829# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
830
831# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
832#if defined(MFC_OpenACC)
833# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
834!$acc enter data create(q_cons_qp%vf(l)%sf)
835# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
836#elif defined(MFC_OpenMP)
837# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
838!$omp target enter data map(always,alloc:q_cons_qp%vf(l)%sf)
839# 153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
840#endif
841# 155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
842 end do
843 do l = eqn_idx%mom%beg, eqn_idx%E
844#ifdef MFC_DEBUG
845# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
846 block
847# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
848 use iso_fortran_env, only: output_unit
849# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
850
851# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
852 print *, 'm_rhs.fpp:157: ', '@: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))'
853# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
854
855# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
856 call flush (output_unit)
857# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
858 end block
859# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
860#endif
861# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
862 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))
863# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
864
865# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
866
867# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
868#if defined(MFC_OpenACC)
869# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
870!$acc enter data create(q_prim_qp%vf(l)%sf)
871# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
872#elif defined(MFC_OpenMP)
873# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
874!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
875# 157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
876#endif
877# 159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
878 end do
879 end if
880
881 if (surface_tension) then
882 do l = eqn_idx%adv%end + 1, eqn_idx%c - 1
883#ifdef MFC_DEBUG
884# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
885 block
886# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
887 use iso_fortran_env, only: output_unit
888# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
889
890# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
891 print *, 'm_rhs.fpp:164: ', '@: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))'
892# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
893
894# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
895 call flush (output_unit)
896# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
897 end block
898# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
899#endif
900# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
901 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))
902# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
903
904# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
905
906# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
907#if defined(MFC_OpenACC)
908# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
909!$acc enter data create(q_prim_qp%vf(l)%sf)
910# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
911#elif defined(MFC_OpenMP)
912# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
913!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
914# 164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
915#endif
916# 166 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
917 end do
918 else
919 do l = eqn_idx%adv%end + 1, sys_size
920#ifdef MFC_DEBUG
921# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
922 block
923# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
924 use iso_fortran_env, only: output_unit
925# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
926
927# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
928 print *, 'm_rhs.fpp:169: ', '@: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))'
929# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
930
931# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
932 call flush (output_unit)
933# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
934 end block
935# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
936#endif
937# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
938 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))
939# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
940
941# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
942
943# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
944#if defined(MFC_OpenACC)
945# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
946!$acc enter data create(q_prim_qp%vf(l)%sf)
947# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
948#elif defined(MFC_OpenMP)
949# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
950!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
951# 169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
952#endif
953# 171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
954 end do
955 end if
956
957 if (.not. igr) then
958#ifdef _CRAYFTN
959# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
960 block
961# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
962 integer :: macros_setup_vfs_i
963# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
964
965# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
966#ifdef MFC_DEBUG
967# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
968 block
969# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
970 use iso_fortran_env, only: output_unit
971# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
972
973# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
974 print *, 'm_rhs.fpp:175: ', '@:ACC_SETUP_VFs(q_cons_qp, q_prim_qp)'
975# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
976
977# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
978 call flush (output_unit)
979# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
980 end block
981# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
982#endif
983# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
984
985# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
986
987# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
988#if defined(MFC_OpenACC)
989# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
990!$acc enter data copyin(q_cons_qp)
991# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
992#elif defined(MFC_OpenMP)
993# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
994!$omp target enter data map(to:q_cons_qp)
995# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
996#endif
997# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
998
999# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1000#if defined(MFC_OpenACC)
1001# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1002!$acc enter data copyin(q_cons_qp%vf)
1003# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1004#elif defined(MFC_OpenMP)
1005# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1006!$omp target enter data map(to:q_cons_qp%vf)
1007# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1008#endif
1009# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1010 if (allocated(q_cons_qp%vf)) then
1011# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1012 do macros_setup_vfs_i = lbound(q_cons_qp%vf, 1), ubound(q_cons_qp%vf, 1)
1013# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1014 if (associated(q_cons_qp%vf(macros_setup_vfs_i)%sf)) then
1015# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1016
1017# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1018#if defined(MFC_OpenACC)
1019# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1020!$acc enter data copyin(q_cons_qp%vf(macros_setup_vfs_i))
1021# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1022#elif defined(MFC_OpenMP)
1023# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1024!$omp target enter data map(to:q_cons_qp%vf(macros_setup_vfs_i))
1025# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1026#endif
1027# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1028
1029# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1030#if defined(MFC_OpenACC)
1031# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1032!$acc enter data copyin(q_cons_qp%vf(macros_setup_vfs_i)%sf)
1033# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1034#elif defined(MFC_OpenMP)
1035# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1036!$omp target enter data map(to:q_cons_qp%vf(macros_setup_vfs_i)%sf)
1037# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1038#endif
1039# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1040 end if
1041# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1042 end do
1043# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1044 end if
1045# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1046
1047# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1048#if defined(MFC_OpenACC)
1049# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1050!$acc enter data copyin(q_prim_qp)
1051# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1052#elif defined(MFC_OpenMP)
1053# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1054!$omp target enter data map(to:q_prim_qp)
1055# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1056#endif
1057# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1058
1059# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1060#if defined(MFC_OpenACC)
1061# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1062!$acc enter data copyin(q_prim_qp%vf)
1063# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1064#elif defined(MFC_OpenMP)
1065# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1066!$omp target enter data map(to:q_prim_qp%vf)
1067# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1068#endif
1069# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1070 if (allocated(q_prim_qp%vf)) then
1071# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1072 do macros_setup_vfs_i = lbound(q_prim_qp%vf, 1), ubound(q_prim_qp%vf, 1)
1073# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1074 if (associated(q_prim_qp%vf(macros_setup_vfs_i)%sf)) then
1075# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1076
1077# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1078#if defined(MFC_OpenACC)
1079# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1080!$acc enter data copyin(q_prim_qp%vf(macros_setup_vfs_i))
1081# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1082#elif defined(MFC_OpenMP)
1083# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1084!$omp target enter data map(to:q_prim_qp%vf(macros_setup_vfs_i))
1085# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1086#endif
1087# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1088
1089# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1090#if defined(MFC_OpenACC)
1091# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1092!$acc enter data copyin(q_prim_qp%vf(macros_setup_vfs_i)%sf)
1093# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1094#elif defined(MFC_OpenMP)
1095# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1096!$omp target enter data map(to:q_prim_qp%vf(macros_setup_vfs_i)%sf)
1097# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1098#endif
1099# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1100 end if
1101# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1102 end do
1103# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1104 end if
1105# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1106 end block
1107# 175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1108#endif
1109# 176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1110
1111 do l = 1, eqn_idx%cont%end
1112 if (relativity) then
1113 ! Cons and Prim densities are different for relativity
1114#ifdef MFC_DEBUG
1115# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1116 block
1117# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1118 use iso_fortran_env, only: output_unit
1119# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1120
1121# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1122 print *, 'm_rhs.fpp:180: ', '@: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))'
1123# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1124
1125# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1126 call flush (output_unit)
1127# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1128 end block
1129# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1130#endif
1131# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1132 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))
1133# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1134
1135# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1136
1137# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1138#if defined(MFC_OpenACC)
1139# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1140!$acc enter data create(q_prim_qp%vf(l)%sf)
1141# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1142#elif defined(MFC_OpenMP)
1143# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1144!$omp target enter data map(always,alloc:q_prim_qp%vf(l)%sf)
1145# 180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1146#endif
1147# 182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1148 else
1149 q_prim_qp%vf(l)%sf => q_cons_qp%vf(l)%sf
1150
1151# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1152#if defined(MFC_OpenACC)
1153# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1154!$acc enter data copyin(q_prim_qp%vf(l)%sf)
1155# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1156#elif defined(MFC_OpenMP)
1157# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1158!$omp target enter data map(to:q_prim_qp%vf(l)%sf)
1159# 184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1160#endif
1161# 185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1162
1163# 185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1164#if defined(MFC_OpenACC)
1165# 185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1166!$acc enter data attach(q_prim_qp%vf(l)%sf)
1167# 185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1168#elif defined(MFC_OpenMP)
1169# 185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1170!$omp target enter data map(always,to:q_prim_qp%vf(l)%sf)
1171# 185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1172#endif
1173# 186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1174 end if
1175 end do
1176
1177 do l = eqn_idx%adv%beg, eqn_idx%adv%end
1178 q_prim_qp%vf(l)%sf => q_cons_qp%vf(l)%sf
1179
1180# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1181#if defined(MFC_OpenACC)
1182# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1183!$acc enter data copyin(q_prim_qp%vf(l)%sf)
1184# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1185#elif defined(MFC_OpenMP)
1186# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1187!$omp target enter data map(to:q_prim_qp%vf(l)%sf)
1188# 191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1189#endif
1190# 192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1191
1192# 192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1193#if defined(MFC_OpenACC)
1194# 192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1195!$acc enter data attach(q_prim_qp%vf(l)%sf)
1196# 192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1197#elif defined(MFC_OpenMP)
1198# 192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1199!$omp target enter data map(always,to:q_prim_qp%vf(l)%sf)
1200# 192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1201#endif
1202# 193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1203 end do
1204 end if
1205
1206 if (surface_tension) then
1207 q_prim_qp%vf(eqn_idx%c)%sf => q_cons_qp%vf(eqn_idx%c)%sf
1208
1209# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1210#if defined(MFC_OpenACC)
1211# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1212!$acc enter data copyin(q_prim_qp%vf(eqn_idx%c)%sf)
1213# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1214#elif defined(MFC_OpenMP)
1215# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1216!$omp target enter data map(to:q_prim_qp%vf(eqn_idx%c)%sf)
1217# 198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1218#endif
1219# 199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1220
1221# 199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1222#if defined(MFC_OpenACC)
1223# 199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1224!$acc enter data attach(q_prim_qp%vf(eqn_idx%c)%sf)
1225# 199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1226#elif defined(MFC_OpenMP)
1227# 199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1228!$omp target enter data map(always,to:q_prim_qp%vf(eqn_idx%c)%sf)
1229# 199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1230#endif
1231# 200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1232 end if
1233
1234 if (hyper_cleaning) then
1235 q_prim_qp%vf(eqn_idx%psi)%sf => q_cons_qp%vf(eqn_idx%psi)%sf
1236
1237# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1238#if defined(MFC_OpenACC)
1239# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1240!$acc enter data copyin(q_prim_qp%vf(eqn_idx%psi)%sf)
1241# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1242#elif defined(MFC_OpenMP)
1243# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1244!$omp target enter data map(to:q_prim_qp%vf(eqn_idx%psi)%sf)
1245# 204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1246#endif
1247# 205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1248
1249# 205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1250#if defined(MFC_OpenACC)
1251# 205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1252!$acc enter data attach(q_prim_qp%vf(eqn_idx%psi)%sf)
1253# 205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1254#elif defined(MFC_OpenMP)
1255# 205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1256!$omp target enter data map(always,to:q_prim_qp%vf(eqn_idx%psi)%sf)
1257# 205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1258#endif
1259# 206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1260 end if
1261
1262 if (.not. igr) then
1263#ifdef MFC_DEBUG
1264# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1265 block
1266# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1267 use iso_fortran_env, only: output_unit
1268# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1269
1270# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1271 print *, 'm_rhs.fpp:209: ', '@:ALLOCATE(flux_n(1:num_dims))'
1272# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1273
1274# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1275 call flush (output_unit)
1276# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1277 end block
1278# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1279#endif
1280# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1281 allocate (flux_n(1:num_dims))
1282# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1283
1284# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1285
1286# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1287#if defined(MFC_OpenACC)
1288# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1289!$acc enter data create(flux_n)
1290# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1291#elif defined(MFC_OpenMP)
1292# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1293!$omp target enter data map(always,alloc:flux_n)
1294# 209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1295#endif
1296# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1297#ifdef MFC_DEBUG
1298# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1299 block
1300# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1301 use iso_fortran_env, only: output_unit
1302# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1303
1304# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1305 print *, 'm_rhs.fpp:210: ', '@:ALLOCATE(flux_src_n(1:num_dims))'
1306# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1307
1308# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1309 call flush (output_unit)
1310# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1311 end block
1312# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1313#endif
1314# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1315 allocate (flux_src_n(1:num_dims))
1316# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1317
1318# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1319
1320# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1321#if defined(MFC_OpenACC)
1322# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1323!$acc enter data create(flux_src_n)
1324# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1325#elif defined(MFC_OpenMP)
1326# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1327!$omp target enter data map(always,alloc:flux_src_n)
1328# 210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1329#endif
1330# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1331#ifdef MFC_DEBUG
1332# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1333 block
1334# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1335 use iso_fortran_env, only: output_unit
1336# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1337
1338# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1339 print *, 'm_rhs.fpp:211: ', '@:ALLOCATE(flux_gsrc_n(1:num_dims))'
1340# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1341
1342# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1343 call flush (output_unit)
1344# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1345 end block
1346# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1347#endif
1348# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1349 allocate (flux_gsrc_n(1:num_dims))
1350# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1351
1352# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1353
1354# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1355#if defined(MFC_OpenACC)
1356# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1357!$acc enter data create(flux_gsrc_n)
1358# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1359#elif defined(MFC_OpenMP)
1360# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1361!$omp target enter data map(always,alloc:flux_gsrc_n)
1362# 211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1363#endif
1364# 212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1365
1366 do i = 1, num_dims
1367#ifdef MFC_DEBUG
1368# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1369 block
1370# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1371 use iso_fortran_env, only: output_unit
1372# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1373
1374# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1375 print *, 'm_rhs.fpp:214: ', '@:ALLOCATE(flux_n(i)%vf(1:sys_size))'
1376# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1377
1378# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1379 call flush (output_unit)
1380# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1381 end block
1382# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1383#endif
1384# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1385 allocate (flux_n(i)%vf(1:sys_size))
1386# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1387
1388# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1389
1390# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1391#if defined(MFC_OpenACC)
1392# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1393!$acc enter data create(flux_n(i)%vf)
1394# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1395#elif defined(MFC_OpenMP)
1396# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1397!$omp target enter data map(always,alloc:flux_n(i)%vf)
1398# 214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1399#endif
1400# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1401#ifdef MFC_DEBUG
1402# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1403 block
1404# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1405 use iso_fortran_env, only: output_unit
1406# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1407
1408# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1409 print *, 'm_rhs.fpp:215: ', '@:ALLOCATE(flux_src_n(i)%vf(1:sys_size))'
1410# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1411
1412# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1413 call flush (output_unit)
1414# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1415 end block
1416# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1417#endif
1418# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1419 allocate (flux_src_n(i)%vf(1:sys_size))
1420# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1421
1422# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1423
1424# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1425#if defined(MFC_OpenACC)
1426# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1427!$acc enter data create(flux_src_n(i)%vf)
1428# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1429#elif defined(MFC_OpenMP)
1430# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1431!$omp target enter data map(always,alloc:flux_src_n(i)%vf)
1432# 215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1433#endif
1434# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1435#ifdef MFC_DEBUG
1436# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1437 block
1438# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1439 use iso_fortran_env, only: output_unit
1440# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1441
1442# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1443 print *, 'm_rhs.fpp:216: ', '@:ALLOCATE(flux_gsrc_n(i)%vf(1:sys_size))'
1444# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1445
1446# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1447 call flush (output_unit)
1448# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1449 end block
1450# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1451#endif
1452# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1453 allocate (flux_gsrc_n(i)%vf(1:sys_size))
1454# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1455
1456# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1457
1458# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1459#if defined(MFC_OpenACC)
1460# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1461!$acc enter data create(flux_gsrc_n(i)%vf)
1462# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1463#elif defined(MFC_OpenMP)
1464# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1465!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf)
1466# 216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1467#endif
1468# 217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1469
1470 if (i == 1) then
1471 do l = 1, sys_size
1472#ifdef MFC_DEBUG
1473# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1474 block
1475# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1476 use iso_fortran_env, only: output_unit
1477# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1478
1479# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1480 print *, 'm_rhs.fpp:220: ', '@: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))'
1481# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1482
1483# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1484 call flush (output_unit)
1485# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1486 end block
1487# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1488#endif
1489# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1490 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))
1491# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1492
1493# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1494
1495# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1496#if defined(MFC_OpenACC)
1497# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1498!$acc enter data create(flux_n(i)%vf(l)%sf)
1499# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1500#elif defined(MFC_OpenMP)
1501# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1502!$omp target enter data map(always,alloc:flux_n(i)%vf(l)%sf)
1503# 220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1504#endif
1505# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1506#ifdef MFC_DEBUG
1507# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1508 block
1509# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1510 use iso_fortran_env, only: output_unit
1511# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1512
1513# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1514 print *, 'm_rhs.fpp:222: ', '@: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))'
1515# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1516
1517# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1518 call flush (output_unit)
1519# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1520 end block
1521# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1522#endif
1523# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1524 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))
1525# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1526
1527# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1528
1529# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1530#if defined(MFC_OpenACC)
1531# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1532!$acc enter data create(flux_gsrc_n(i)%vf(l)%sf)
1533# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1534#elif defined(MFC_OpenMP)
1535# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1536!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf(l)%sf)
1537# 222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1538#endif
1539# 224 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1540 end do
1541
1542 if (viscous .or. surface_tension .or. heat_conduction) then
1543 do l = eqn_idx%mom%beg, eqn_idx%E
1544#ifdef MFC_DEBUG
1545# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1546 block
1547# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1548 use iso_fortran_env, only: output_unit
1549# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1550
1551# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1552 print *, 'm_rhs.fpp:228: ', '@: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))'
1553# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1554
1555# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1556 call flush (output_unit)
1557# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1558 end block
1559# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1560#endif
1561# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1562 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))
1563# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1564
1565# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1566
1567# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1568#if defined(MFC_OpenACC)
1569# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1570!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1571# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1572#elif defined(MFC_OpenMP)
1573# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1574!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1575# 228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1576#endif
1577# 230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1578 end do
1579 end if
1580
1581 ! flux_src at adv%beg:adv%end is overloaded by design:
1582 !
1583 ! adv_src_mode_alpha_iface: flux_src(adv%beg:adv%end) = per-fluid interface alpha values. Each fluid
1584 ! gets a separate 3D array.
1585 !
1586 ! adv_src_mode_vel_iface: flux_src(adv%beg) = one shared face-normal interface velocity.
1587 ! adv%beg+1:adv%end are pointer-aliased to adv%beg so loops over adv%beg:adv%end can keep fluid indexing
1588 ! while still reading one value. Saves (num_fluids - 1) fields.
1589 !
1590 ! adv_src_mode_none: flux_src(adv%beg:adv%end) = zeros. No separate NC advection source term. Allocated
1591 ! for structural consistency with s_finalize_riemann_solver.
1592#ifdef MFC_DEBUG
1593# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1594 block
1595# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1596 use iso_fortran_env, only: output_unit
1597# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1598
1599# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1600 print *, 'm_rhs.fpp:244: ', '@: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))'
1601# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1602
1603# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1604 call flush (output_unit)
1605# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1606 end block
1607# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1608#endif
1609# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1610 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))
1611# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1612
1613# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1614
1615# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1616#if defined(MFC_OpenACC)
1617# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1618!$acc enter data create(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
1619# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1620#elif defined(MFC_OpenMP)
1621# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1622!$omp target enter data map(always,alloc:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
1623# 244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1624#endif
1625# 246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1626
1627 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
1628 ! Alpha-interface needs separate per-fluid arrays. HLLD (adv_src_mode_none) allocates for structural
1629 ! consistency with s_finalize_riemann_solver.
1630 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
1631#ifdef MFC_DEBUG
1632# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1633 block
1634# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1635 use iso_fortran_env, only: output_unit
1636# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1637
1638# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1639 print *, 'm_rhs.fpp:251: ', '@: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))'
1640# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1641
1642# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1643 call flush (output_unit)
1644# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1645 end block
1646# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1647#endif
1648# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1649 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))
1650# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1651
1652# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1653
1654# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1655#if defined(MFC_OpenACC)
1656# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1657!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1658# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1659#elif defined(MFC_OpenMP)
1660# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1661!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1662# 251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1663#endif
1664# 253 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1665 end do
1666 end if
1667
1668 if (chemistry) then
1669 do l = eqn_idx%species%beg, eqn_idx%species%end
1670#ifdef MFC_DEBUG
1671# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1672 block
1673# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1674 use iso_fortran_env, only: output_unit
1675# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1676
1677# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1678 print *, 'm_rhs.fpp:258: ', '@: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))'
1679# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1680
1681# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1682 call flush (output_unit)
1683# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1684 end block
1685# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1686#endif
1687# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1688 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))
1689# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1690
1691# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1692
1693# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1694#if defined(MFC_OpenACC)
1695# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1696!$acc enter data create(flux_src_n(i)%vf(l)%sf)
1697# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1698#elif defined(MFC_OpenMP)
1699# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1700!$omp target enter data map(always,alloc:flux_src_n(i)%vf(l)%sf)
1701# 258 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1702#endif
1703# 260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1704 end do
1705 if (chem_params%diffusion .and. .not. (viscous .or. surface_tension .or. heat_conduction)) then
1706#ifdef MFC_DEBUG
1707# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1708 block
1709# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1710 use iso_fortran_env, only: output_unit
1711# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1712
1713# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1714 print *, 'm_rhs.fpp:262: ', '@: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))'
1715# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1716
1717# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1718 call flush (output_unit)
1719# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1720 end block
1721# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1722#endif
1723# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1724 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))
1725# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1726
1727# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1728
1729# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1730#if defined(MFC_OpenACC)
1731# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1732!$acc enter data create(flux_src_n(i)%vf(eqn_idx%E)%sf)
1733# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1734#elif defined(MFC_OpenMP)
1735# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1736!$omp target enter data map(always,alloc:flux_src_n(i)%vf(eqn_idx%E)%sf)
1737# 262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1738#endif
1739# 264 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1740 end if
1741 end if
1742 else
1743 do l = 1, sys_size
1744#ifdef MFC_DEBUG
1745# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1746 block
1747# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1748 use iso_fortran_env, only: output_unit
1749# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1750
1751# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1752 print *, 'm_rhs.fpp:268: ', '@: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))'
1753# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1754
1755# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1756 call flush (output_unit)
1757# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1758 end block
1759# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1760#endif
1761# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1762 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))
1763# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1764
1765# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1766
1767# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1768#if defined(MFC_OpenACC)
1769# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1770!$acc enter data create(flux_gsrc_n(i)%vf(l)%sf)
1771# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1772#elif defined(MFC_OpenMP)
1773# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1774!$omp target enter data map(always,alloc:flux_gsrc_n(i)%vf(l)%sf)
1775# 268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1776#endif
1777# 270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1778 end do
1779 end if
1780
1781#ifdef _CRAYFTN
1782# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1783 block
1784# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1785 integer :: macros_setup_vfs_i
1786# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1787
1788# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1789#ifdef MFC_DEBUG
1790# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1791 block
1792# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1793 use iso_fortran_env, only: output_unit
1794# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1795
1796# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1797 print *, 'm_rhs.fpp:273: ', '@:ACC_SETUP_VFs(flux_n(i))'
1798# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1799
1800# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1801 call flush (output_unit)
1802# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1803 end block
1804# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1805#endif
1806# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1807
1808# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1809
1810# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1811#if defined(MFC_OpenACC)
1812# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1813!$acc enter data copyin(flux_n(i))
1814# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1815#elif defined(MFC_OpenMP)
1816# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1817!$omp target enter data map(to:flux_n(i))
1818# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1819#endif
1820# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1821
1822# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1823#if defined(MFC_OpenACC)
1824# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1825!$acc enter data copyin(flux_n(i)%vf)
1826# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1827#elif defined(MFC_OpenMP)
1828# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1829!$omp target enter data map(to:flux_n(i)%vf)
1830# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1831#endif
1832# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1833 if (allocated(flux_n(i)%vf)) then
1834# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1835 do macros_setup_vfs_i = lbound(flux_n(i)%vf, 1), ubound(flux_n(i)%vf, 1)
1836# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1837 if (associated(flux_n(i)%vf(macros_setup_vfs_i)%sf)) then
1838# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1839
1840# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1841#if defined(MFC_OpenACC)
1842# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1843!$acc enter data copyin(flux_n(i)%vf(macros_setup_vfs_i))
1844# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1845#elif defined(MFC_OpenMP)
1846# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1847!$omp target enter data map(to:flux_n(i)%vf(macros_setup_vfs_i))
1848# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1849#endif
1850# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1851
1852# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1853#if defined(MFC_OpenACC)
1854# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1855!$acc enter data copyin(flux_n(i)%vf(macros_setup_vfs_i)%sf)
1856# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1857#elif defined(MFC_OpenMP)
1858# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1859!$omp target enter data map(to:flux_n(i)%vf(macros_setup_vfs_i)%sf)
1860# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1861#endif
1862# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1863 end if
1864# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1865 end do
1866# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1867 end if
1868# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1869 end block
1870# 273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1871#endif
1872# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1873#ifdef _CRAYFTN
1874# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1875 block
1876# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1877 integer :: macros_setup_vfs_i
1878# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1879
1880# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1881#ifdef MFC_DEBUG
1882# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1883 block
1884# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1885 use iso_fortran_env, only: output_unit
1886# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1887
1888# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1889 print *, 'm_rhs.fpp:274: ', '@:ACC_SETUP_VFs(flux_src_n(i), flux_gsrc_n(i))'
1890# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1891
1892# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1893 call flush (output_unit)
1894# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1895 end block
1896# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1897#endif
1898# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1899
1900# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1901
1902# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1903#if defined(MFC_OpenACC)
1904# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1905!$acc enter data copyin(flux_src_n(i))
1906# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1907#elif defined(MFC_OpenMP)
1908# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1909!$omp target enter data map(to:flux_src_n(i))
1910# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1911#endif
1912# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1913
1914# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1915#if defined(MFC_OpenACC)
1916# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1917!$acc enter data copyin(flux_src_n(i)%vf)
1918# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1919#elif defined(MFC_OpenMP)
1920# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1921!$omp target enter data map(to:flux_src_n(i)%vf)
1922# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1923#endif
1924# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1925 if (allocated(flux_src_n(i)%vf)) then
1926# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1927 do macros_setup_vfs_i = lbound(flux_src_n(i)%vf, 1), ubound(flux_src_n(i)%vf, 1)
1928# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1929 if (associated(flux_src_n(i)%vf(macros_setup_vfs_i)%sf)) then
1930# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1931
1932# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1933#if defined(MFC_OpenACC)
1934# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1935!$acc enter data copyin(flux_src_n(i)%vf(macros_setup_vfs_i))
1936# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1937#elif defined(MFC_OpenMP)
1938# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1939!$omp target enter data map(to:flux_src_n(i)%vf(macros_setup_vfs_i))
1940# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1941#endif
1942# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1943
1944# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1945#if defined(MFC_OpenACC)
1946# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1947!$acc enter data copyin(flux_src_n(i)%vf(macros_setup_vfs_i)%sf)
1948# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1949#elif defined(MFC_OpenMP)
1950# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1951!$omp target enter data map(to:flux_src_n(i)%vf(macros_setup_vfs_i)%sf)
1952# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1953#endif
1954# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1955 end if
1956# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1957 end do
1958# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1959 end if
1960# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1961
1962# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1963#if defined(MFC_OpenACC)
1964# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1965!$acc enter data copyin(flux_gsrc_n(i))
1966# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1967#elif defined(MFC_OpenMP)
1968# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1969!$omp target enter data map(to:flux_gsrc_n(i))
1970# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1971#endif
1972# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1973
1974# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1975#if defined(MFC_OpenACC)
1976# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1977!$acc enter data copyin(flux_gsrc_n(i)%vf)
1978# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1979#elif defined(MFC_OpenMP)
1980# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1981!$omp target enter data map(to:flux_gsrc_n(i)%vf)
1982# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1983#endif
1984# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1985 if (allocated(flux_gsrc_n(i)%vf)) then
1986# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1987 do macros_setup_vfs_i = lbound(flux_gsrc_n(i)%vf, 1), ubound(flux_gsrc_n(i)%vf, 1)
1988# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1989 if (associated(flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)) then
1990# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1991
1992# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1993#if defined(MFC_OpenACC)
1994# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1995!$acc enter data copyin(flux_gsrc_n(i)%vf(macros_setup_vfs_i))
1996# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1997#elif defined(MFC_OpenMP)
1998# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
1999!$omp target enter data map(to:flux_gsrc_n(i)%vf(macros_setup_vfs_i))
2000# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2001#endif
2002# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2003
2004# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2005#if defined(MFC_OpenACC)
2006# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2007!$acc enter data copyin(flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)
2008# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2009#elif defined(MFC_OpenMP)
2010# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2011!$omp target enter data map(to:flux_gsrc_n(i)%vf(macros_setup_vfs_i)%sf)
2012# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2013#endif
2014# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2015 end if
2016# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2017 end do
2018# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2019 end if
2020# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2021 end block
2022# 274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2023#endif
2024# 275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2025
2026 if (i == 1) then
2027 if (adv_src_mode == adv_src_mode_vel_iface) then
2028 ! u-interface: flux_src(adv%beg) holds one shared face-normal velocity. Pointer-alias adv%beg+1:adv%end to
2029 ! the same memory so loops over adv%beg:adv%end can keep fluid indexing while still reading one value. This
2030 ! saves (num_fluids - 1) 3D field allocations
2031 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
2032 flux_src_n(i)%vf(l)%sf => flux_src_n(i)%vf(eqn_idx%adv%beg)%sf
2033
2034# 283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2035#if defined(MFC_OpenACC)
2036# 283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2037!$acc enter data attach(flux_src_n(i)%vf(l)%sf)
2038# 283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2039#elif defined(MFC_OpenMP)
2040# 283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2041!$omp target enter data map(always,to:flux_src_n(i)%vf(l)%sf)
2042# 283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2043#endif
2044# 284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2045 end do
2046 end if
2047 else
2048 do l = 1, sys_size
2049 flux_n(i)%vf(l)%sf => flux_n(1)%vf(l)%sf
2050
2051# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2052#if defined(MFC_OpenACC)
2053# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2054!$acc enter data attach(flux_n(i)%vf(l)%sf)
2055# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2056#elif defined(MFC_OpenMP)
2057# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2058!$omp target enter data map(always,to:flux_n(i)%vf(l)%sf)
2059# 289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2060#endif
2061# 290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2062 flux_src_n(i)%vf(l)%sf => flux_src_n(1)%vf(l)%sf
2063
2064# 291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2065#if defined(MFC_OpenACC)
2066# 291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2067!$acc enter data attach(flux_src_n(i)%vf(l)%sf)
2068# 291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2069#elif defined(MFC_OpenMP)
2070# 291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2071!$omp target enter data map(always,to:flux_src_n(i)%vf(l)%sf)
2072# 291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2073#endif
2074# 292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2075 end do
2076 end if
2077 end do
2078 end if
2079
2080 if ((.not. igr)) then
2081#ifdef MFC_DEBUG
2082# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2083 block
2084# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2085 use iso_fortran_env, only: output_unit
2086# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2087
2088# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2089 print *, 'm_rhs.fpp:298: ', '@:ALLOCATE(dq_prim_dx_qp(1:1))'
2090# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2091
2092# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2093 call flush (output_unit)
2094# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2095 end block
2096# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2097#endif
2098# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2099 allocate (dq_prim_dx_qp(1:1))
2100# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2101
2102# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2103
2104# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2105#if defined(MFC_OpenACC)
2106# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2107!$acc enter data create(dq_prim_dx_qp)
2108# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2109#elif defined(MFC_OpenMP)
2110# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2111!$omp target enter data map(always,alloc:dq_prim_dx_qp)
2112# 298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2113#endif
2114# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2115#ifdef MFC_DEBUG
2116# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2117 block
2118# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2119 use iso_fortran_env, only: output_unit
2120# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2121
2122# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2123 print *, 'm_rhs.fpp:299: ', '@:ALLOCATE(dq_prim_dy_qp(1:1))'
2124# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2125
2126# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2127 call flush (output_unit)
2128# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2129 end block
2130# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2131#endif
2132# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2133 allocate (dq_prim_dy_qp(1:1))
2134# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2135
2136# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2137
2138# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2139#if defined(MFC_OpenACC)
2140# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2141!$acc enter data create(dq_prim_dy_qp)
2142# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2143#elif defined(MFC_OpenMP)
2144# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2145!$omp target enter data map(always,alloc:dq_prim_dy_qp)
2146# 299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2147#endif
2148# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2149#ifdef MFC_DEBUG
2150# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2151 block
2152# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2153 use iso_fortran_env, only: output_unit
2154# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2155
2156# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2157 print *, 'm_rhs.fpp:300: ', '@:ALLOCATE(dq_prim_dz_qp(1:1))'
2158# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2159
2160# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2161 call flush (output_unit)
2162# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2163 end block
2164# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2165#endif
2166# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2167 allocate (dq_prim_dz_qp(1:1))
2168# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2169
2170# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2171
2172# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2173#if defined(MFC_OpenACC)
2174# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2175!$acc enter data create(dq_prim_dz_qp)
2176# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2177#elif defined(MFC_OpenMP)
2178# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2179!$omp target enter data map(always,alloc:dq_prim_dz_qp)
2180# 300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2181#endif
2182# 301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2183
2184#ifdef MFC_DEBUG
2185# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2186 block
2187# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2188 use iso_fortran_env, only: output_unit
2189# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2190
2191# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2192 print *, 'm_rhs.fpp:302: ', '@:ALLOCATE(qL_prim(1:num_dims))'
2193# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2194
2195# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2196 call flush (output_unit)
2197# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2198 end block
2199# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2200#endif
2201# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2202 allocate (ql_prim(1:num_dims))
2203# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2204
2205# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2206
2207# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2208#if defined(MFC_OpenACC)
2209# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2210!$acc enter data create(qL_prim)
2211# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2212#elif defined(MFC_OpenMP)
2213# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2214!$omp target enter data map(always,alloc:qL_prim)
2215# 302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2216#endif
2217# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2218#ifdef MFC_DEBUG
2219# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2220 block
2221# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2222 use iso_fortran_env, only: output_unit
2223# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2224
2225# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2226 print *, 'm_rhs.fpp:303: ', '@:ALLOCATE(qR_prim(1:num_dims))'
2227# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2228
2229# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2230 call flush (output_unit)
2231# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2232 end block
2233# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2234#endif
2235# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2236 allocate (qr_prim(1:num_dims))
2237# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2238
2239# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2240
2241# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2242#if defined(MFC_OpenACC)
2243# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2244!$acc enter data create(qR_prim)
2245# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2246#elif defined(MFC_OpenMP)
2247# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2248!$omp target enter data map(always,alloc:qR_prim)
2249# 303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2250#endif
2251# 304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2252
2253#ifdef MFC_DEBUG
2254# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2255 block
2256# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2257 use iso_fortran_env, only: output_unit
2258# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2259
2260# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2261 print *, 'm_rhs.fpp:305: ', '@:ALLOCATE(dqL_prim_dx_n(1:num_dims))'
2262# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2263
2264# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2265 call flush (output_unit)
2266# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2267 end block
2268# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2269#endif
2270# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2271 allocate (dql_prim_dx_n(1:num_dims))
2272# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2273
2274# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2275
2276# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2277#if defined(MFC_OpenACC)
2278# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2279!$acc enter data create(dqL_prim_dx_n)
2280# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2281#elif defined(MFC_OpenMP)
2282# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2283!$omp target enter data map(always,alloc:dqL_prim_dx_n)
2284# 305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2285#endif
2286# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2287#ifdef MFC_DEBUG
2288# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2289 block
2290# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2291 use iso_fortran_env, only: output_unit
2292# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2293
2294# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2295 print *, 'm_rhs.fpp:306: ', '@:ALLOCATE(dqL_prim_dy_n(1:num_dims))'
2296# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2297
2298# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2299 call flush (output_unit)
2300# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2301 end block
2302# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2303#endif
2304# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2305 allocate (dql_prim_dy_n(1:num_dims))
2306# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2307
2308# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2309
2310# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2311#if defined(MFC_OpenACC)
2312# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2313!$acc enter data create(dqL_prim_dy_n)
2314# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2315#elif defined(MFC_OpenMP)
2316# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2317!$omp target enter data map(always,alloc:dqL_prim_dy_n)
2318# 306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2319#endif
2320# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2321#ifdef MFC_DEBUG
2322# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2323 block
2324# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2325 use iso_fortran_env, only: output_unit
2326# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2327
2328# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2329 print *, 'm_rhs.fpp:307: ', '@:ALLOCATE(dqL_prim_dz_n(1:num_dims))'
2330# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2331
2332# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2333 call flush (output_unit)
2334# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2335 end block
2336# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2337#endif
2338# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2339 allocate (dql_prim_dz_n(1:num_dims))
2340# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2341
2342# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2343
2344# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2345#if defined(MFC_OpenACC)
2346# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2347!$acc enter data create(dqL_prim_dz_n)
2348# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2349#elif defined(MFC_OpenMP)
2350# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2351!$omp target enter data map(always,alloc:dqL_prim_dz_n)
2352# 307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2353#endif
2354# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2355#ifdef MFC_DEBUG
2356# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2357 block
2358# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2359 use iso_fortran_env, only: output_unit
2360# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2361
2362# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2363 print *, 'm_rhs.fpp:308: ', '@:ALLOCATE(dqR_prim_dx_n(1:num_dims))'
2364# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2365
2366# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2367 call flush (output_unit)
2368# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2369 end block
2370# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2371#endif
2372# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2373 allocate (dqr_prim_dx_n(1:num_dims))
2374# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2375
2376# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2377
2378# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2379#if defined(MFC_OpenACC)
2380# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2381!$acc enter data create(dqR_prim_dx_n)
2382# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2383#elif defined(MFC_OpenMP)
2384# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2385!$omp target enter data map(always,alloc:dqR_prim_dx_n)
2386# 308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2387#endif
2388# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2389#ifdef MFC_DEBUG
2390# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2391 block
2392# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2393 use iso_fortran_env, only: output_unit
2394# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2395
2396# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2397 print *, 'm_rhs.fpp:309: ', '@:ALLOCATE(dqR_prim_dy_n(1:num_dims))'
2398# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2399
2400# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2401 call flush (output_unit)
2402# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2403 end block
2404# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2405#endif
2406# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2407 allocate (dqr_prim_dy_n(1:num_dims))
2408# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2409
2410# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2411
2412# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2413#if defined(MFC_OpenACC)
2414# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2415!$acc enter data create(dqR_prim_dy_n)
2416# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2417#elif defined(MFC_OpenMP)
2418# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2419!$omp target enter data map(always,alloc:dqR_prim_dy_n)
2420# 309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2421#endif
2422# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2423#ifdef MFC_DEBUG
2424# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2425 block
2426# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2427 use iso_fortran_env, only: output_unit
2428# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2429
2430# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2431 print *, 'm_rhs.fpp:310: ', '@:ALLOCATE(dqR_prim_dz_n(1:num_dims))'
2432# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2433
2434# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2435 call flush (output_unit)
2436# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2437 end block
2438# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2439#endif
2440# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2441 allocate (dqr_prim_dz_n(1:num_dims))
2442# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2443
2444# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2445
2446# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2447#if defined(MFC_OpenACC)
2448# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2449!$acc enter data create(dqR_prim_dz_n)
2450# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2451#elif defined(MFC_OpenMP)
2452# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2453!$omp target enter data map(always,alloc:dqR_prim_dz_n)
2454# 310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2455#endif
2456# 311 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2457
2458 do i = 1, num_dims
2459#ifdef MFC_DEBUG
2460# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2461 block
2462# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2463 use iso_fortran_env, only: output_unit
2464# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2465
2466# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2467 print *, 'm_rhs.fpp:313: ', '@:ALLOCATE(qL_prim(i)%vf(1:sys_size))'
2468# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2469
2470# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2471 call flush (output_unit)
2472# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2473 end block
2474# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2475#endif
2476# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2477 allocate (ql_prim(i)%vf(1:sys_size))
2478# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2479
2480# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2481
2482# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2483#if defined(MFC_OpenACC)
2484# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2485!$acc enter data create(qL_prim(i)%vf)
2486# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2487#elif defined(MFC_OpenMP)
2488# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2489!$omp target enter data map(always,alloc:qL_prim(i)%vf)
2490# 313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2491#endif
2492# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2493#ifdef MFC_DEBUG
2494# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2495 block
2496# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2497 use iso_fortran_env, only: output_unit
2498# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2499
2500# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2501 print *, 'm_rhs.fpp:314: ', '@:ALLOCATE(qR_prim(i)%vf(1:sys_size))'
2502# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2503
2504# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2505 call flush (output_unit)
2506# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2507 end block
2508# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2509#endif
2510# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2511 allocate (qr_prim(i)%vf(1:sys_size))
2512# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2513
2514# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2515
2516# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2517#if defined(MFC_OpenACC)
2518# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2519!$acc enter data create(qR_prim(i)%vf)
2520# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2521#elif defined(MFC_OpenMP)
2522# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2523!$omp target enter data map(always,alloc:qR_prim(i)%vf)
2524# 314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2525#endif
2526# 315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2527 do l = eqn_idx%mom%beg, eqn_idx%mom%end
2528#ifdef MFC_DEBUG
2529# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2530 block
2531# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2532 use iso_fortran_env, only: output_unit
2533# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2534
2535# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2536 print *, 'm_rhs.fpp:316: ', '@: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))'
2537# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2538
2539# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2540 call flush (output_unit)
2541# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2542 end block
2543# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2544#endif
2545# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2546 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))
2547# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2548
2549# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2550
2551# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2552#if defined(MFC_OpenACC)
2553# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2554!$acc enter data create(qL_prim(i)%vf(l)%sf)
2555# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2556#elif defined(MFC_OpenMP)
2557# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2558!$omp target enter data map(always,alloc:qL_prim(i)%vf(l)%sf)
2559# 316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2560#endif
2561# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2562#ifdef MFC_DEBUG
2563# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2564 block
2565# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2566 use iso_fortran_env, only: output_unit
2567# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2568
2569# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2570 print *, 'm_rhs.fpp:318: ', '@: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))'
2571# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2572
2573# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2574 call flush (output_unit)
2575# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2576 end block
2577# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2578#endif
2579# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2580 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))
2581# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2582
2583# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2584
2585# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2586#if defined(MFC_OpenACC)
2587# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2588!$acc enter data create(qR_prim(i)%vf(l)%sf)
2589# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2590#elif defined(MFC_OpenMP)
2591# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2592!$omp target enter data map(always,alloc:qR_prim(i)%vf(l)%sf)
2593# 318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2594#endif
2595# 320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2596 end do
2597#ifdef _CRAYFTN
2598# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2599 block
2600# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2601 integer :: macros_setup_vfs_i
2602# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2603
2604# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2605#ifdef MFC_DEBUG
2606# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2607 block
2608# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2609 use iso_fortran_env, only: output_unit
2610# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2611
2612# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2613 print *, 'm_rhs.fpp:321: ', '@:ACC_SETUP_VFs(qL_prim(i), qR_prim(i))'
2614# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2615
2616# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2617 call flush (output_unit)
2618# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2619 end block
2620# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2621#endif
2622# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2623
2624# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2625
2626# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2627#if defined(MFC_OpenACC)
2628# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2629!$acc enter data copyin(qL_prim(i))
2630# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2631#elif defined(MFC_OpenMP)
2632# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2633!$omp target enter data map(to:qL_prim(i))
2634# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2635#endif
2636# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2637
2638# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2639#if defined(MFC_OpenACC)
2640# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2641!$acc enter data copyin(qL_prim(i)%vf)
2642# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2643#elif defined(MFC_OpenMP)
2644# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2645!$omp target enter data map(to:qL_prim(i)%vf)
2646# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2647#endif
2648# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2649 if (allocated(ql_prim(i)%vf)) then
2650# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2651 do macros_setup_vfs_i = lbound(ql_prim(i)%vf, 1), ubound(ql_prim(i)%vf, 1)
2652# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2653 if (associated(ql_prim(i)%vf(macros_setup_vfs_i)%sf)) then
2654# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2655
2656# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2657#if defined(MFC_OpenACC)
2658# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2659!$acc enter data copyin(qL_prim(i)%vf(macros_setup_vfs_i))
2660# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2661#elif defined(MFC_OpenMP)
2662# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2663!$omp target enter data map(to:qL_prim(i)%vf(macros_setup_vfs_i))
2664# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2665#endif
2666# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2667
2668# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2669#if defined(MFC_OpenACC)
2670# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2671!$acc enter data copyin(qL_prim(i)%vf(macros_setup_vfs_i)%sf)
2672# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2673#elif defined(MFC_OpenMP)
2674# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2675!$omp target enter data map(to:qL_prim(i)%vf(macros_setup_vfs_i)%sf)
2676# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2677#endif
2678# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2679 end if
2680# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2681 end do
2682# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2683 end if
2684# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2685
2686# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2687#if defined(MFC_OpenACC)
2688# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2689!$acc enter data copyin(qR_prim(i))
2690# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2691#elif defined(MFC_OpenMP)
2692# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2693!$omp target enter data map(to:qR_prim(i))
2694# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2695#endif
2696# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2697
2698# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2699#if defined(MFC_OpenACC)
2700# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2701!$acc enter data copyin(qR_prim(i)%vf)
2702# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2703#elif defined(MFC_OpenMP)
2704# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2705!$omp target enter data map(to:qR_prim(i)%vf)
2706# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2707#endif
2708# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2709 if (allocated(qr_prim(i)%vf)) then
2710# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2711 do macros_setup_vfs_i = lbound(qr_prim(i)%vf, 1), ubound(qr_prim(i)%vf, 1)
2712# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2713 if (associated(qr_prim(i)%vf(macros_setup_vfs_i)%sf)) then
2714# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2715
2716# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2717#if defined(MFC_OpenACC)
2718# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2719!$acc enter data copyin(qR_prim(i)%vf(macros_setup_vfs_i))
2720# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2721#elif defined(MFC_OpenMP)
2722# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2723!$omp target enter data map(to:qR_prim(i)%vf(macros_setup_vfs_i))
2724# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2725#endif
2726# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2727
2728# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2729#if defined(MFC_OpenACC)
2730# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2731!$acc enter data copyin(qR_prim(i)%vf(macros_setup_vfs_i)%sf)
2732# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2733#elif defined(MFC_OpenMP)
2734# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2735!$omp target enter data map(to:qR_prim(i)%vf(macros_setup_vfs_i)%sf)
2736# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2737#endif
2738# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2739 end if
2740# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2741 end do
2742# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2743 end if
2744# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2745 end block
2746# 321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2747#endif
2748# 322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2749 end do
2750
2751#ifdef MFC_DEBUG
2752# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2753 block
2754# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2755 use iso_fortran_env, only: output_unit
2756# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2757
2758# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2759 print *, 'm_rhs.fpp:324: ', '@: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))'
2760# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2761
2762# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2763 call flush (output_unit)
2764# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2765 end block
2766# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2767#endif
2768# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2769 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))
2770# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2771
2772# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2773
2774# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2775#if defined(MFC_OpenACC)
2776# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2777!$acc enter data create(qL_rsx_vf)
2778# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2779#elif defined(MFC_OpenMP)
2780# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2781!$omp target enter data map(always,alloc:qL_rsx_vf)
2782# 324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2783#endif
2784# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2785#ifdef MFC_DEBUG
2786# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2787 block
2788# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2789 use iso_fortran_env, only: output_unit
2790# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2791
2792# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2793 print *, 'm_rhs.fpp:326: ', '@: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))'
2794# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2795
2796# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2797 call flush (output_unit)
2798# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2799 end block
2800# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2801#endif
2802# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2803 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))
2804# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2805
2806# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2807
2808# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2809#if defined(MFC_OpenACC)
2810# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2811!$acc enter data create(qR_rsx_vf)
2812# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2813#elif defined(MFC_OpenMP)
2814# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2815!$omp target enter data map(always,alloc:qR_rsx_vf)
2816# 326 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2817#endif
2818# 328 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2819
2820 if (.not. viscous) then
2821 do i = 1, num_dims
2822#ifdef MFC_DEBUG
2823# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2824 block
2825# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2826 use iso_fortran_env, only: output_unit
2827# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2828
2829# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2830 print *, 'm_rhs.fpp:331: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(1:sys_size))'
2831# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2832
2833# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2834 call flush (output_unit)
2835# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2836 end block
2837# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2838#endif
2839# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2840 allocate (dql_prim_dx_n(i)%vf(1:sys_size))
2841# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2842
2843# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2844
2845# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2846#if defined(MFC_OpenACC)
2847# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2848!$acc enter data create(dqL_prim_dx_n(i)%vf)
2849# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2850#elif defined(MFC_OpenMP)
2851# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2852!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf)
2853# 331 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2854#endif
2855# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2856#ifdef MFC_DEBUG
2857# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2858 block
2859# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2860 use iso_fortran_env, only: output_unit
2861# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2862
2863# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2864 print *, 'm_rhs.fpp:332: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(1:sys_size))'
2865# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2866
2867# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2868 call flush (output_unit)
2869# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2870 end block
2871# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2872#endif
2873# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2874 allocate (dql_prim_dy_n(i)%vf(1:sys_size))
2875# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2876
2877# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2878
2879# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2880#if defined(MFC_OpenACC)
2881# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2882!$acc enter data create(dqL_prim_dy_n(i)%vf)
2883# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2884#elif defined(MFC_OpenMP)
2885# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2886!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf)
2887# 332 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2888#endif
2889# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2890#ifdef MFC_DEBUG
2891# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2892 block
2893# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2894 use iso_fortran_env, only: output_unit
2895# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2896
2897# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2898 print *, 'm_rhs.fpp:333: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(1:sys_size))'
2899# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2900
2901# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2902 call flush (output_unit)
2903# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2904 end block
2905# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2906#endif
2907# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2908 allocate (dql_prim_dz_n(i)%vf(1:sys_size))
2909# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2910
2911# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2912
2913# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2914#if defined(MFC_OpenACC)
2915# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2916!$acc enter data create(dqL_prim_dz_n(i)%vf)
2917# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2918#elif defined(MFC_OpenMP)
2919# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2920!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf)
2921# 333 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2922#endif
2923# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2924#ifdef MFC_DEBUG
2925# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2926 block
2927# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2928 use iso_fortran_env, only: output_unit
2929# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2930
2931# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2932 print *, 'm_rhs.fpp:334: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(1:sys_size))'
2933# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2934
2935# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2936 call flush (output_unit)
2937# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2938 end block
2939# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2940#endif
2941# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2942 allocate (dqr_prim_dx_n(i)%vf(1:sys_size))
2943# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2944
2945# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2946
2947# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2948#if defined(MFC_OpenACC)
2949# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2950!$acc enter data create(dqR_prim_dx_n(i)%vf)
2951# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2952#elif defined(MFC_OpenMP)
2953# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2954!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf)
2955# 334 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2956#endif
2957# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2958#ifdef MFC_DEBUG
2959# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2960 block
2961# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2962 use iso_fortran_env, only: output_unit
2963# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2964
2965# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2966 print *, 'm_rhs.fpp:335: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(1:sys_size))'
2967# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2968
2969# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2970 call flush (output_unit)
2971# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2972 end block
2973# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2974#endif
2975# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2976 allocate (dqr_prim_dy_n(i)%vf(1:sys_size))
2977# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2978
2979# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2980
2981# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2982#if defined(MFC_OpenACC)
2983# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2984!$acc enter data create(dqR_prim_dy_n(i)%vf)
2985# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2986#elif defined(MFC_OpenMP)
2987# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2988!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf)
2989# 335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2990#endif
2991# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2992#ifdef MFC_DEBUG
2993# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2994 block
2995# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2996 use iso_fortran_env, only: output_unit
2997# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
2998
2999# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3000 print *, 'm_rhs.fpp:336: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(1:sys_size))'
3001# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3002
3003# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3004 call flush (output_unit)
3005# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3006 end block
3007# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3008#endif
3009# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3010 allocate (dqr_prim_dz_n(i)%vf(1:sys_size))
3011# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3012
3013# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3014
3015# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3016#if defined(MFC_OpenACC)
3017# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3018!$acc enter data create(dqR_prim_dz_n(i)%vf)
3019# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3020#elif defined(MFC_OpenMP)
3021# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3022!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf)
3023# 336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3024#endif
3025# 337 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3026
3027 do l = eqn_idx%mom%beg, eqn_idx%mom%end
3028#ifdef MFC_DEBUG
3029# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3030 block
3031# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3032 use iso_fortran_env, only: output_unit
3033# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3034
3035# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3036 print *, 'm_rhs.fpp:339: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3037# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3038
3039# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3040 call flush (output_unit)
3041# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3042 end block
3043# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3044#endif
3045# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3046 allocate (dql_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3047# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3048
3049# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3050
3051# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3052#if defined(MFC_OpenACC)
3053# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3054!$acc enter data create(dqL_prim_dx_n(i)%vf(l)%sf)
3055# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3056#elif defined(MFC_OpenMP)
3057# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3058!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf(l)%sf)
3059# 339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3060#endif
3061# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3062#ifdef MFC_DEBUG
3063# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3064 block
3065# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3066 use iso_fortran_env, only: output_unit
3067# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3068
3069# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3070 print *, 'm_rhs.fpp:340: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3071# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3072
3073# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3074 call flush (output_unit)
3075# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3076 end block
3077# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3078#endif
3079# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3080 allocate (dql_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3081# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3082
3083# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3084
3085# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3086#if defined(MFC_OpenACC)
3087# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3088!$acc enter data create(dqL_prim_dy_n(i)%vf(l)%sf)
3089# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3090#elif defined(MFC_OpenMP)
3091# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3092!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf(l)%sf)
3093# 340 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3094#endif
3095# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3096#ifdef MFC_DEBUG
3097# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3098 block
3099# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3100 use iso_fortran_env, only: output_unit
3101# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3102
3103# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3104 print *, 'm_rhs.fpp:341: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3105# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3106
3107# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3108 call flush (output_unit)
3109# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3110 end block
3111# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3112#endif
3113# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3114 allocate (dql_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3115# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3116
3117# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3118
3119# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3120#if defined(MFC_OpenACC)
3121# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3122!$acc enter data create(dqL_prim_dz_n(i)%vf(l)%sf)
3123# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3124#elif defined(MFC_OpenMP)
3125# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3126!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf(l)%sf)
3127# 341 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3128#endif
3129# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3130#ifdef MFC_DEBUG
3131# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3132 block
3133# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3134 use iso_fortran_env, only: output_unit
3135# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3136
3137# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3138 print *, 'm_rhs.fpp:342: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3139# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3140
3141# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3142 call flush (output_unit)
3143# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3144 end block
3145# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3146#endif
3147# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3148 allocate (dqr_prim_dx_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3149# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3150
3151# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3152
3153# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3154#if defined(MFC_OpenACC)
3155# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3156!$acc enter data create(dqR_prim_dx_n(i)%vf(l)%sf)
3157# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3158#elif defined(MFC_OpenMP)
3159# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3160!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf(l)%sf)
3161# 342 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3162#endif
3163# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3164#ifdef MFC_DEBUG
3165# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3166 block
3167# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3168 use iso_fortran_env, only: output_unit
3169# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3170
3171# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3172 print *, 'm_rhs.fpp:343: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3173# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3174
3175# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3176 call flush (output_unit)
3177# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3178 end block
3179# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3180#endif
3181# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3182 allocate (dqr_prim_dy_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3183# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3184
3185# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3186
3187# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3188#if defined(MFC_OpenACC)
3189# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3190!$acc enter data create(dqR_prim_dy_n(i)%vf(l)%sf)
3191# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3192#elif defined(MFC_OpenMP)
3193# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3194!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf(l)%sf)
3195# 343 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3196#endif
3197# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3198#ifdef MFC_DEBUG
3199# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3200 block
3201# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3202 use iso_fortran_env, only: output_unit
3203# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3204
3205# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3206 print *, 'm_rhs.fpp:344: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))'
3207# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3208
3209# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3210 call flush (output_unit)
3211# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3212 end block
3213# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3214#endif
3215# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3216 allocate (dqr_prim_dz_n(i)%vf(l)%sf(1:1, 1:1, 1:1))
3217# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3218
3219# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3220
3221# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3222#if defined(MFC_OpenACC)
3223# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3224!$acc enter data create(dqR_prim_dz_n(i)%vf(l)%sf)
3225# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3226#elif defined(MFC_OpenMP)
3227# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3228!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf(l)%sf)
3229# 344 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3230#endif
3231# 345 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3232 end do
3233#ifdef _CRAYFTN
3234# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3235 block
3236# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3237 integer :: macros_setup_vfs_i
3238# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3239
3240# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3241#ifdef MFC_DEBUG
3242# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3243 block
3244# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3245 use iso_fortran_env, only: output_unit
3246# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3247
3248# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3249 print *, 'm_rhs.fpp:346: ', '@:ACC_SETUP_VFs(dqL_prim_dx_n(i), dqL_prim_dy_n(i), dqL_prim_dz_n(i))'
3250# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3251
3252# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3253 call flush (output_unit)
3254# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3255 end block
3256# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3257#endif
3258# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3259
3260# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3261
3262# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3263#if defined(MFC_OpenACC)
3264# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3265!$acc enter data copyin(dqL_prim_dx_n(i))
3266# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3267#elif defined(MFC_OpenMP)
3268# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3269!$omp target enter data map(to:dqL_prim_dx_n(i))
3270# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3271#endif
3272# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3273
3274# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3275#if defined(MFC_OpenACC)
3276# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3277!$acc enter data copyin(dqL_prim_dx_n(i)%vf)
3278# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3279#elif defined(MFC_OpenMP)
3280# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3281!$omp target enter data map(to:dqL_prim_dx_n(i)%vf)
3282# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3283#endif
3284# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3285 if (allocated(dql_prim_dx_n(i)%vf)) then
3286# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3287 do macros_setup_vfs_i = lbound(dql_prim_dx_n(i)%vf, 1), ubound(dql_prim_dx_n(i)%vf, 1)
3288# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3289 if (associated(dql_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
3290# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3291
3292# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3293#if defined(MFC_OpenACC)
3294# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3295!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
3296# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3297#elif defined(MFC_OpenMP)
3298# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3299!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
3300# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3301#endif
3302# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3303
3304# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3305#if defined(MFC_OpenACC)
3306# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3307!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3308# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3309#elif defined(MFC_OpenMP)
3310# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3311!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3312# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3313#endif
3314# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3315 end if
3316# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3317 end do
3318# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3319 end if
3320# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3321
3322# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3323#if defined(MFC_OpenACC)
3324# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3325!$acc enter data copyin(dqL_prim_dy_n(i))
3326# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3327#elif defined(MFC_OpenMP)
3328# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3329!$omp target enter data map(to:dqL_prim_dy_n(i))
3330# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3331#endif
3332# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3333
3334# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3335#if defined(MFC_OpenACC)
3336# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3337!$acc enter data copyin(dqL_prim_dy_n(i)%vf)
3338# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3339#elif defined(MFC_OpenMP)
3340# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3341!$omp target enter data map(to:dqL_prim_dy_n(i)%vf)
3342# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3343#endif
3344# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3345 if (allocated(dql_prim_dy_n(i)%vf)) then
3346# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3347 do macros_setup_vfs_i = lbound(dql_prim_dy_n(i)%vf, 1), ubound(dql_prim_dy_n(i)%vf, 1)
3348# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3349 if (associated(dql_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
3350# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3351
3352# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3353#if defined(MFC_OpenACC)
3354# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3355!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
3356# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3357#elif defined(MFC_OpenMP)
3358# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3359!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
3360# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3361#endif
3362# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3363
3364# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3365#if defined(MFC_OpenACC)
3366# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3367!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3368# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3369#elif defined(MFC_OpenMP)
3370# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3371!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3372# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3373#endif
3374# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3375 end if
3376# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3377 end do
3378# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3379 end if
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(dqL_prim_dz_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:dqL_prim_dz_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(dqL_prim_dz_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:dqL_prim_dz_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(dql_prim_dz_n(i)%vf)) then
3406# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3407 do macros_setup_vfs_i = lbound(dql_prim_dz_n(i)%vf, 1), ubound(dql_prim_dz_n(i)%vf, 1)
3408# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3409 if (associated(dql_prim_dz_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(dqL_prim_dz_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:dqL_prim_dz_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(dqL_prim_dz_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:dqL_prim_dz_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 end block
3442# 346 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3443#endif
3444# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3445#ifdef _CRAYFTN
3446# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3447 block
3448# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3449 integer :: macros_setup_vfs_i
3450# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3451
3452# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3453#ifdef MFC_DEBUG
3454# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3455 block
3456# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3457 use iso_fortran_env, only: output_unit
3458# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3459
3460# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3461 print *, 'm_rhs.fpp:347: ', '@:ACC_SETUP_VFs(dqR_prim_dx_n(i), dqR_prim_dy_n(i), dqR_prim_dz_n(i))'
3462# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3463
3464# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3465 call flush (output_unit)
3466# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3467 end block
3468# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3469#endif
3470# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3471
3472# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3473
3474# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3475#if defined(MFC_OpenACC)
3476# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3477!$acc enter data copyin(dqR_prim_dx_n(i))
3478# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3479#elif defined(MFC_OpenMP)
3480# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3481!$omp target enter data map(to:dqR_prim_dx_n(i))
3482# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3483#endif
3484# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3485
3486# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3487#if defined(MFC_OpenACC)
3488# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3489!$acc enter data copyin(dqR_prim_dx_n(i)%vf)
3490# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3491#elif defined(MFC_OpenMP)
3492# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3493!$omp target enter data map(to:dqR_prim_dx_n(i)%vf)
3494# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3495#endif
3496# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3497 if (allocated(dqr_prim_dx_n(i)%vf)) then
3498# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3499 do macros_setup_vfs_i = lbound(dqr_prim_dx_n(i)%vf, 1), ubound(dqr_prim_dx_n(i)%vf, 1)
3500# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3501 if (associated(dqr_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
3502# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3503
3504# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3505#if defined(MFC_OpenACC)
3506# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3507!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
3508# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3509#elif defined(MFC_OpenMP)
3510# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3511!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
3512# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3513#endif
3514# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3515
3516# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3517#if defined(MFC_OpenACC)
3518# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3519!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3520# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3521#elif defined(MFC_OpenMP)
3522# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3523!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
3524# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3525#endif
3526# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3527 end if
3528# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3529 end do
3530# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3531 end if
3532# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3533
3534# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3535#if defined(MFC_OpenACC)
3536# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3537!$acc enter data copyin(dqR_prim_dy_n(i))
3538# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3539#elif defined(MFC_OpenMP)
3540# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3541!$omp target enter data map(to:dqR_prim_dy_n(i))
3542# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3543#endif
3544# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3545
3546# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3547#if defined(MFC_OpenACC)
3548# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3549!$acc enter data copyin(dqR_prim_dy_n(i)%vf)
3550# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3551#elif defined(MFC_OpenMP)
3552# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3553!$omp target enter data map(to:dqR_prim_dy_n(i)%vf)
3554# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3555#endif
3556# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3557 if (allocated(dqr_prim_dy_n(i)%vf)) then
3558# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3559 do macros_setup_vfs_i = lbound(dqr_prim_dy_n(i)%vf, 1), ubound(dqr_prim_dy_n(i)%vf, 1)
3560# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3561 if (associated(dqr_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
3562# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3563
3564# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3565#if defined(MFC_OpenACC)
3566# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3567!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
3568# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3569#elif defined(MFC_OpenMP)
3570# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3571!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
3572# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3573#endif
3574# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3575
3576# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3577#if defined(MFC_OpenACC)
3578# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3579!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3580# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3581#elif defined(MFC_OpenMP)
3582# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3583!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
3584# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3585#endif
3586# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3587 end if
3588# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3589 end do
3590# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3591 end if
3592# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3593
3594# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3595#if defined(MFC_OpenACC)
3596# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3597!$acc enter data copyin(dqR_prim_dz_n(i))
3598# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3599#elif defined(MFC_OpenMP)
3600# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3601!$omp target enter data map(to:dqR_prim_dz_n(i))
3602# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3603#endif
3604# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3605
3606# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3607#if defined(MFC_OpenACC)
3608# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3609!$acc enter data copyin(dqR_prim_dz_n(i)%vf)
3610# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3611#elif defined(MFC_OpenMP)
3612# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3613!$omp target enter data map(to:dqR_prim_dz_n(i)%vf)
3614# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3615#endif
3616# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3617 if (allocated(dqr_prim_dz_n(i)%vf)) then
3618# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3619 do macros_setup_vfs_i = lbound(dqr_prim_dz_n(i)%vf, 1), ubound(dqr_prim_dz_n(i)%vf, 1)
3620# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3621 if (associated(dqr_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
3622# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3623
3624# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3625#if defined(MFC_OpenACC)
3626# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3627!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
3628# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3629#elif defined(MFC_OpenMP)
3630# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3631!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
3632# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3633#endif
3634# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3635
3636# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3637#if defined(MFC_OpenACC)
3638# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3639!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3640# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3641#elif defined(MFC_OpenMP)
3642# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3643!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
3644# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3645#endif
3646# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3647 end if
3648# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3649 end do
3650# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3651 end if
3652# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3653 end block
3654# 347 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3655#endif
3656# 348 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3657 end do
3658 end if
3659
3660 ! The cylindrical axis source reads tau_Re_vf(mom%beg:E), so conduction needs it too,
3661 ! but without the viscous gradient fields below.
3662 if (viscous .or. heat_conduction) then
3663#ifdef MFC_DEBUG
3664# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3665 block
3666# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3667 use iso_fortran_env, only: output_unit
3668# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3669
3670# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3671 print *, 'm_rhs.fpp:354: ', '@:ALLOCATE(tau_Re_vf(1:sys_size))'
3672# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3673
3674# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3675 call flush (output_unit)
3676# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3677 end block
3678# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3679#endif
3680# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3681 allocate (tau_re_vf(1:sys_size))
3682# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3683
3684# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3685
3686# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3687#if defined(MFC_OpenACC)
3688# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3689!$acc enter data create(tau_Re_vf)
3690# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3691#elif defined(MFC_OpenMP)
3692# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3693!$omp target enter data map(always,alloc:tau_Re_vf)
3694# 354 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3695#endif
3696# 355 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3697 do i = 1, num_dims
3698#ifdef MFC_DEBUG
3699# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3700 block
3701# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3702 use iso_fortran_env, only: output_unit
3703# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3704
3705# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3706 print *, 'm_rhs.fpp:356: ', '@: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))'
3707# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3708
3709# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3710 call flush (output_unit)
3711# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3712 end block
3713# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3714#endif
3715# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3716 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))
3717# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3718
3719# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3720
3721# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3722#if defined(MFC_OpenACC)
3723# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3724!$acc enter data create(tau_Re_vf(eqn_idx%cont%end + i)%sf)
3725# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3726#elif defined(MFC_OpenMP)
3727# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3728!$omp target enter data map(always,alloc:tau_Re_vf(eqn_idx%cont%end + i)%sf)
3729# 356 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3730#endif
3731# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3732#ifdef _CRAYFTN
3733# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3734 block
3735# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3736#ifdef MFC_DEBUG
3737# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3738 block
3739# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3740 use iso_fortran_env, only: output_unit
3741# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3742
3743# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3744 print *, 'm_rhs.fpp:358: ', '@:ACC_SETUP_SFs(tau_Re_vf(eqn_idx%cont%end + i))'
3745# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3746
3747# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3748 call flush (output_unit)
3749# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3750 end block
3751# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3752#endif
3753# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3754
3755# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3756
3757# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3758#if defined(MFC_OpenACC)
3759# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3760!$acc enter data copyin(tau_Re_vf(eqn_idx%cont%end + i))
3761# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3762#elif defined(MFC_OpenMP)
3763# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3764!$omp target enter data map(to:tau_Re_vf(eqn_idx%cont%end + i))
3765# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3766#endif
3767# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3768 if (associated(tau_re_vf(eqn_idx%cont%end + i)%sf)) then
3769# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3770
3771# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3772#if defined(MFC_OpenACC)
3773# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3774!$acc enter data copyin(tau_Re_vf(eqn_idx%cont%end + i)%sf)
3775# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3776#elif defined(MFC_OpenMP)
3777# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3778!$omp target enter data map(to:tau_Re_vf(eqn_idx%cont%end + i)%sf)
3779# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3780#endif
3781# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3782 end if
3783# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3784 end block
3785# 358 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3786#endif
3787# 359 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3788 end do
3789#ifdef MFC_DEBUG
3790# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3791 block
3792# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3793 use iso_fortran_env, only: output_unit
3794# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3795
3796# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3797 print *, 'm_rhs.fpp:360: ', '@: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))'
3798# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3799
3800# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3801 call flush (output_unit)
3802# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3803 end block
3804# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3805#endif
3806# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3807 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))
3808# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3809
3810# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3811
3812# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3813#if defined(MFC_OpenACC)
3814# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3815!$acc enter data create(tau_Re_vf(eqn_idx%E)%sf)
3816# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3817#elif defined(MFC_OpenMP)
3818# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3819!$omp target enter data map(always,alloc:tau_Re_vf(eqn_idx%E)%sf)
3820# 360 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3821#endif
3822# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3823#ifdef _CRAYFTN
3824# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3825 block
3826# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3827#ifdef MFC_DEBUG
3828# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3829 block
3830# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3831 use iso_fortran_env, only: output_unit
3832# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3833
3834# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3835 print *, 'm_rhs.fpp:362: ', '@:ACC_SETUP_SFs(tau_Re_vf(eqn_idx%E))'
3836# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3837
3838# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3839 call flush (output_unit)
3840# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3841 end block
3842# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3843#endif
3844# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3845
3846# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3847
3848# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3849#if defined(MFC_OpenACC)
3850# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3851!$acc enter data copyin(tau_Re_vf(eqn_idx%E))
3852# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3853#elif defined(MFC_OpenMP)
3854# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3855!$omp target enter data map(to:tau_Re_vf(eqn_idx%E))
3856# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3857#endif
3858# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3859 if (associated(tau_re_vf(eqn_idx%E)%sf)) then
3860# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3861
3862# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3863#if defined(MFC_OpenACC)
3864# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3865!$acc enter data copyin(tau_Re_vf(eqn_idx%E)%sf)
3866# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3867#elif defined(MFC_OpenMP)
3868# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3869!$omp target enter data map(to:tau_Re_vf(eqn_idx%E)%sf)
3870# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3871#endif
3872# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3873 end if
3874# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3875 end block
3876# 362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3877#endif
3878# 363 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3879 end if
3880
3881 if (viscous) then
3882#ifdef MFC_DEBUG
3883# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3884 block
3885# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3886 use iso_fortran_env, only: output_unit
3887# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3888
3889# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3890 print *, 'm_rhs.fpp:366: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(1:sys_size))'
3891# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3892
3893# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3894 call flush (output_unit)
3895# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3896 end block
3897# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3898#endif
3899# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3900 allocate (dq_prim_dx_qp(1)%vf(1:sys_size))
3901# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3902
3903# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3904
3905# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3906#if defined(MFC_OpenACC)
3907# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3908!$acc enter data create(dq_prim_dx_qp(1)%vf)
3909# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3910#elif defined(MFC_OpenMP)
3911# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3912!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf)
3913# 366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3914#endif
3915# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3916#ifdef MFC_DEBUG
3917# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3918 block
3919# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3920 use iso_fortran_env, only: output_unit
3921# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3922
3923# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3924 print *, 'm_rhs.fpp:367: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(1:sys_size))'
3925# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3926
3927# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3928 call flush (output_unit)
3929# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3930 end block
3931# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3932#endif
3933# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3934 allocate (dq_prim_dy_qp(1)%vf(1:sys_size))
3935# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3936
3937# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3938
3939# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3940#if defined(MFC_OpenACC)
3941# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3942!$acc enter data create(dq_prim_dy_qp(1)%vf)
3943# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3944#elif defined(MFC_OpenMP)
3945# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3946!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf)
3947# 367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3948#endif
3949# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3950#ifdef MFC_DEBUG
3951# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3952 block
3953# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3954 use iso_fortran_env, only: output_unit
3955# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3956
3957# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3958 print *, 'm_rhs.fpp:368: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(1:sys_size))'
3959# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3960
3961# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3962 call flush (output_unit)
3963# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3964 end block
3965# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3966#endif
3967# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3968 allocate (dq_prim_dz_qp(1)%vf(1:sys_size))
3969# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3970
3971# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3972
3973# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3974#if defined(MFC_OpenACC)
3975# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3976!$acc enter data create(dq_prim_dz_qp(1)%vf)
3977# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3978#elif defined(MFC_OpenMP)
3979# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3980!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf)
3981# 368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3982#endif
3983# 369 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3984
3985 do l = eqn_idx%mom%beg, eqn_idx%mom%end
3986#ifdef MFC_DEBUG
3987# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3988 block
3989# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3990 use iso_fortran_env, only: output_unit
3991# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3992
3993# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3994 print *, 'm_rhs.fpp:371: ', '@: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))'
3995# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3996
3997# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
3998 call flush (output_unit)
3999# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4000 end block
4001# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4002#endif
4003# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4004 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))
4005# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4006
4007# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4008
4009# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4010#if defined(MFC_OpenACC)
4011# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4012!$acc enter data create(dq_prim_dx_qp(1)%vf(l)%sf)
4013# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4014#elif defined(MFC_OpenMP)
4015# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4016!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf(l)%sf)
4017# 371 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4018#endif
4019# 373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4020 end do
4021
4022#ifdef _CRAYFTN
4023# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4024 block
4025# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4026 integer :: macros_setup_vfs_i
4027# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4028
4029# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4030#ifdef MFC_DEBUG
4031# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4032 block
4033# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4034 use iso_fortran_env, only: output_unit
4035# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4036
4037# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4038 print *, 'm_rhs.fpp:375: ', '@:ACC_SETUP_VFs(dq_prim_dx_qp(1))'
4039# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4040
4041# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4042 call flush (output_unit)
4043# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4044 end block
4045# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4046#endif
4047# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4048
4049# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4050
4051# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4052#if defined(MFC_OpenACC)
4053# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4054!$acc enter data copyin(dq_prim_dx_qp(1))
4055# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4056#elif defined(MFC_OpenMP)
4057# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4058!$omp target enter data map(to:dq_prim_dx_qp(1))
4059# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4060#endif
4061# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4062
4063# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4064#if defined(MFC_OpenACC)
4065# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4066!$acc enter data copyin(dq_prim_dx_qp(1)%vf)
4067# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4068#elif defined(MFC_OpenMP)
4069# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4070!$omp target enter data map(to:dq_prim_dx_qp(1)%vf)
4071# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4072#endif
4073# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4074 if (allocated(dq_prim_dx_qp(1)%vf)) then
4075# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4076 do macros_setup_vfs_i = lbound(dq_prim_dx_qp(1)%vf, 1), ubound(dq_prim_dx_qp(1)%vf, 1)
4077# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4078 if (associated(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4079# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4080
4081# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4082#if defined(MFC_OpenACC)
4083# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4084!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
4085# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4086#elif defined(MFC_OpenMP)
4087# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4088!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
4089# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4090#endif
4091# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4092
4093# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4094#if defined(MFC_OpenACC)
4095# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4096!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
4097# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4098#elif defined(MFC_OpenMP)
4099# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4100!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
4101# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4102#endif
4103# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4104 end if
4105# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4106 end do
4107# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4108 end if
4109# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4110 end block
4111# 375 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4112#endif
4113# 376 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4114
4115 if (n > 0) then
4116 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4117#ifdef MFC_DEBUG
4118# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4119 block
4120# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4121 use iso_fortran_env, only: output_unit
4122# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4123
4124# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4125 print *, 'm_rhs.fpp:379: ', '@: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))'
4126# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4127
4128# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4129 call flush (output_unit)
4130# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4131 end block
4132# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4133#endif
4134# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4135 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))
4136# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4137
4138# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4139
4140# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4141#if defined(MFC_OpenACC)
4142# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4143!$acc enter data create(dq_prim_dy_qp(1)%vf(l)%sf)
4144# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4145#elif defined(MFC_OpenMP)
4146# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4147!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf(l)%sf)
4148# 379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4149#endif
4150# 381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4151 end do
4152
4153#ifdef _CRAYFTN
4154# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4155 block
4156# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4157 integer :: macros_setup_vfs_i
4158# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4159
4160# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4161#ifdef MFC_DEBUG
4162# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4163 block
4164# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4165 use iso_fortran_env, only: output_unit
4166# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4167
4168# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4169 print *, 'm_rhs.fpp:383: ', '@:ACC_SETUP_VFs(dq_prim_dy_qp(1))'
4170# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4171
4172# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4173 call flush (output_unit)
4174# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4175 end block
4176# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4177#endif
4178# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4179
4180# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4181
4182# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4183#if defined(MFC_OpenACC)
4184# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4185!$acc enter data copyin(dq_prim_dy_qp(1))
4186# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4187#elif defined(MFC_OpenMP)
4188# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4189!$omp target enter data map(to:dq_prim_dy_qp(1))
4190# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4191#endif
4192# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4193
4194# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4195#if defined(MFC_OpenACC)
4196# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4197!$acc enter data copyin(dq_prim_dy_qp(1)%vf)
4198# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4199#elif defined(MFC_OpenMP)
4200# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4201!$omp target enter data map(to:dq_prim_dy_qp(1)%vf)
4202# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4203#endif
4204# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4205 if (allocated(dq_prim_dy_qp(1)%vf)) then
4206# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4207 do macros_setup_vfs_i = lbound(dq_prim_dy_qp(1)%vf, 1), ubound(dq_prim_dy_qp(1)%vf, 1)
4208# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4209 if (associated(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4210# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4211
4212# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4213#if defined(MFC_OpenACC)
4214# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4215!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
4216# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4217#elif defined(MFC_OpenMP)
4218# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4219!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
4220# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4221#endif
4222# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4223
4224# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4225#if defined(MFC_OpenACC)
4226# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4227!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
4228# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4229#elif defined(MFC_OpenMP)
4230# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4231!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
4232# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4233#endif
4234# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4235 end if
4236# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4237 end do
4238# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4239 end if
4240# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4241 end block
4242# 383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4243#endif
4244# 384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4245
4246 if (p > 0) then
4247 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4248#ifdef MFC_DEBUG
4249# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4250 block
4251# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4252 use iso_fortran_env, only: output_unit
4253# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4254
4255# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4256 print *, 'm_rhs.fpp:387: ', '@: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))'
4257# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4258
4259# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4260 call flush (output_unit)
4261# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4262 end block
4263# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4264#endif
4265# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4266 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))
4267# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4268
4269# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4270
4271# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4272#if defined(MFC_OpenACC)
4273# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4274!$acc enter data create(dq_prim_dz_qp(1)%vf(l)%sf)
4275# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4276#elif defined(MFC_OpenMP)
4277# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4278!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf(l)%sf)
4279# 387 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4280#endif
4281# 389 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4282 end do
4283#ifdef _CRAYFTN
4284# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4285 block
4286# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4287 integer :: macros_setup_vfs_i
4288# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4289
4290# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4291#ifdef MFC_DEBUG
4292# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4293 block
4294# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4295 use iso_fortran_env, only: output_unit
4296# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4297
4298# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4299 print *, 'm_rhs.fpp:390: ', '@:ACC_SETUP_VFs(dq_prim_dz_qp(1))'
4300# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4301
4302# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4303 call flush (output_unit)
4304# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4305 end block
4306# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4307#endif
4308# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4309
4310# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4311
4312# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4313#if defined(MFC_OpenACC)
4314# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4315!$acc enter data copyin(dq_prim_dz_qp(1))
4316# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4317#elif defined(MFC_OpenMP)
4318# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4319!$omp target enter data map(to:dq_prim_dz_qp(1))
4320# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4321#endif
4322# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4323
4324# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4325#if defined(MFC_OpenACC)
4326# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4327!$acc enter data copyin(dq_prim_dz_qp(1)%vf)
4328# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4329#elif defined(MFC_OpenMP)
4330# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4331!$omp target enter data map(to:dq_prim_dz_qp(1)%vf)
4332# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4333#endif
4334# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4335 if (allocated(dq_prim_dz_qp(1)%vf)) then
4336# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4337 do macros_setup_vfs_i = lbound(dq_prim_dz_qp(1)%vf, 1), ubound(dq_prim_dz_qp(1)%vf, 1)
4338# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4339 if (associated(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)) then
4340# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4341
4342# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4343#if defined(MFC_OpenACC)
4344# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4345!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
4346# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4347#elif defined(MFC_OpenMP)
4348# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4349!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
4350# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4351#endif
4352# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4353
4354# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4355#if defined(MFC_OpenACC)
4356# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4357!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
4358# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4359#elif defined(MFC_OpenMP)
4360# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4361!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
4362# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4363#endif
4364# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4365 end if
4366# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4367 end do
4368# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4369 end if
4370# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4371 end block
4372# 390 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4373#endif
4374# 391 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4375 end if
4376 end if
4377
4378 do i = 1, num_dims
4379#ifdef MFC_DEBUG
4380# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4381 block
4382# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4383 use iso_fortran_env, only: output_unit
4384# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4385
4386# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4387 print *, 'm_rhs.fpp:395: ', '@:ALLOCATE(dqL_prim_dx_n(i)%vf(1:sys_size))'
4388# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4389
4390# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4391 call flush (output_unit)
4392# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4393 end block
4394# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4395#endif
4396# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4397 allocate (dql_prim_dx_n(i)%vf(1:sys_size))
4398# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4399
4400# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4401
4402# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4403#if defined(MFC_OpenACC)
4404# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4405!$acc enter data create(dqL_prim_dx_n(i)%vf)
4406# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4407#elif defined(MFC_OpenMP)
4408# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4409!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf)
4410# 395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4411#endif
4412# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4413#ifdef MFC_DEBUG
4414# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4415 block
4416# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4417 use iso_fortran_env, only: output_unit
4418# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4419
4420# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4421 print *, 'm_rhs.fpp:396: ', '@:ALLOCATE(dqL_prim_dy_n(i)%vf(1:sys_size))'
4422# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4423
4424# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4425 call flush (output_unit)
4426# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4427 end block
4428# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4429#endif
4430# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4431 allocate (dql_prim_dy_n(i)%vf(1:sys_size))
4432# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4433
4434# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4435
4436# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4437#if defined(MFC_OpenACC)
4438# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4439!$acc enter data create(dqL_prim_dy_n(i)%vf)
4440# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4441#elif defined(MFC_OpenMP)
4442# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4443!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf)
4444# 396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4445#endif
4446# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4447#ifdef MFC_DEBUG
4448# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4449 block
4450# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4451 use iso_fortran_env, only: output_unit
4452# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4453
4454# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4455 print *, 'm_rhs.fpp:397: ', '@:ALLOCATE(dqL_prim_dz_n(i)%vf(1:sys_size))'
4456# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4457
4458# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4459 call flush (output_unit)
4460# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4461 end block
4462# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4463#endif
4464# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4465 allocate (dql_prim_dz_n(i)%vf(1:sys_size))
4466# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4467
4468# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4469
4470# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4471#if defined(MFC_OpenACC)
4472# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4473!$acc enter data create(dqL_prim_dz_n(i)%vf)
4474# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4475#elif defined(MFC_OpenMP)
4476# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4477!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf)
4478# 397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4479#endif
4480# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4481#ifdef MFC_DEBUG
4482# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4483 block
4484# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4485 use iso_fortran_env, only: output_unit
4486# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4487
4488# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4489 print *, 'm_rhs.fpp:398: ', '@:ALLOCATE(dqR_prim_dx_n(i)%vf(1:sys_size))'
4490# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4491
4492# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4493 call flush (output_unit)
4494# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4495 end block
4496# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4497#endif
4498# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4499 allocate (dqr_prim_dx_n(i)%vf(1:sys_size))
4500# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4501
4502# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4503
4504# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4505#if defined(MFC_OpenACC)
4506# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4507!$acc enter data create(dqR_prim_dx_n(i)%vf)
4508# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4509#elif defined(MFC_OpenMP)
4510# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4511!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf)
4512# 398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4513#endif
4514# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4515#ifdef MFC_DEBUG
4516# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4517 block
4518# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4519 use iso_fortran_env, only: output_unit
4520# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4521
4522# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4523 print *, 'm_rhs.fpp:399: ', '@:ALLOCATE(dqR_prim_dy_n(i)%vf(1:sys_size))'
4524# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4525
4526# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4527 call flush (output_unit)
4528# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4529 end block
4530# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4531#endif
4532# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4533 allocate (dqr_prim_dy_n(i)%vf(1:sys_size))
4534# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4535
4536# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4537
4538# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4539#if defined(MFC_OpenACC)
4540# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4541!$acc enter data create(dqR_prim_dy_n(i)%vf)
4542# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4543#elif defined(MFC_OpenMP)
4544# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4545!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf)
4546# 399 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4547#endif
4548# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4549#ifdef MFC_DEBUG
4550# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4551 block
4552# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4553 use iso_fortran_env, only: output_unit
4554# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4555
4556# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4557 print *, 'm_rhs.fpp:400: ', '@:ALLOCATE(dqR_prim_dz_n(i)%vf(1:sys_size))'
4558# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4559
4560# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4561 call flush (output_unit)
4562# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4563 end block
4564# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4565#endif
4566# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4567 allocate (dqr_prim_dz_n(i)%vf(1:sys_size))
4568# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4569
4570# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4571
4572# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4573#if defined(MFC_OpenACC)
4574# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4575!$acc enter data create(dqR_prim_dz_n(i)%vf)
4576# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4577#elif defined(MFC_OpenMP)
4578# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4579!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf)
4580# 400 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4581#endif
4582# 401 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4583 end do
4584
4585 do i = 1, num_dims
4586 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4587#ifdef MFC_DEBUG
4588# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4589 block
4590# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4591 use iso_fortran_env, only: output_unit
4592# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4593
4594# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4595 print *, 'm_rhs.fpp:405: ', '@: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))'
4596# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4597
4598# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4599 call flush (output_unit)
4600# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4601 end block
4602# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4603#endif
4604# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4605 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))
4606# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4607
4608# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4609
4610# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4611#if defined(MFC_OpenACC)
4612# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4613!$acc enter data create(dqL_prim_dx_n(i)%vf(l)%sf)
4614# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4615#elif defined(MFC_OpenMP)
4616# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4617!$omp target enter data map(always,alloc:dqL_prim_dx_n(i)%vf(l)%sf)
4618# 405 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4619#endif
4620# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4621#ifdef MFC_DEBUG
4622# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4623 block
4624# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4625 use iso_fortran_env, only: output_unit
4626# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4627
4628# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4629 print *, 'm_rhs.fpp:407: ', '@: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))'
4630# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4631
4632# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4633 call flush (output_unit)
4634# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4635 end block
4636# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4637#endif
4638# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4639 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))
4640# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4641
4642# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4643
4644# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4645#if defined(MFC_OpenACC)
4646# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4647!$acc enter data create(dqR_prim_dx_n(i)%vf(l)%sf)
4648# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4649#elif defined(MFC_OpenMP)
4650# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4651!$omp target enter data map(always,alloc:dqR_prim_dx_n(i)%vf(l)%sf)
4652# 407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4653#endif
4654# 409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4655 end do
4656
4657 if (n > 0) then
4658 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4659#ifdef MFC_DEBUG
4660# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4661 block
4662# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4663 use iso_fortran_env, only: output_unit
4664# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4665
4666# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4667 print *, 'm_rhs.fpp:413: ', '@: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))'
4668# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4669
4670# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4671 call flush (output_unit)
4672# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4673 end block
4674# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4675#endif
4676# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4677 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))
4678# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4679
4680# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4681
4682# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4683#if defined(MFC_OpenACC)
4684# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4685!$acc enter data create(dqL_prim_dy_n(i)%vf(l)%sf)
4686# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4687#elif defined(MFC_OpenMP)
4688# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4689!$omp target enter data map(always,alloc:dqL_prim_dy_n(i)%vf(l)%sf)
4690# 413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4691#endif
4692# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4693#ifdef MFC_DEBUG
4694# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4695 block
4696# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4697 use iso_fortran_env, only: output_unit
4698# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4699
4700# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4701 print *, 'm_rhs.fpp:415: ', '@: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))'
4702# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4703
4704# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4705 call flush (output_unit)
4706# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4707 end block
4708# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4709#endif
4710# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4711 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))
4712# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4713
4714# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4715
4716# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4717#if defined(MFC_OpenACC)
4718# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4719!$acc enter data create(dqR_prim_dy_n(i)%vf(l)%sf)
4720# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4721#elif defined(MFC_OpenMP)
4722# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4723!$omp target enter data map(always,alloc:dqR_prim_dy_n(i)%vf(l)%sf)
4724# 415 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4725#endif
4726# 417 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4727 end do
4728 end if
4729
4730 if (p > 0) then
4731 do l = eqn_idx%mom%beg, eqn_idx%mom%end
4732#ifdef MFC_DEBUG
4733# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4734 block
4735# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4736 use iso_fortran_env, only: output_unit
4737# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4738
4739# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4740 print *, 'm_rhs.fpp:422: ', '@: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))'
4741# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4742
4743# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4744 call flush (output_unit)
4745# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4746 end block
4747# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4748#endif
4749# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4750 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))
4751# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4752
4753# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4754
4755# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4756#if defined(MFC_OpenACC)
4757# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4758!$acc enter data create(dqL_prim_dz_n(i)%vf(l)%sf)
4759# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4760#elif defined(MFC_OpenMP)
4761# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4762!$omp target enter data map(always,alloc:dqL_prim_dz_n(i)%vf(l)%sf)
4763# 422 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4764#endif
4765# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4766#ifdef MFC_DEBUG
4767# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4768 block
4769# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4770 use iso_fortran_env, only: output_unit
4771# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4772
4773# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4774 print *, 'm_rhs.fpp:424: ', '@: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))'
4775# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4776
4777# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4778 call flush (output_unit)
4779# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4780 end block
4781# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4782#endif
4783# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4784 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))
4785# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4786
4787# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4788
4789# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4790#if defined(MFC_OpenACC)
4791# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4792!$acc enter data create(dqR_prim_dz_n(i)%vf(l)%sf)
4793# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4794#elif defined(MFC_OpenMP)
4795# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4796!$omp target enter data map(always,alloc:dqR_prim_dz_n(i)%vf(l)%sf)
4797# 424 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4798#endif
4799# 426 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4800 end do
4801 end if
4802
4803#ifdef _CRAYFTN
4804# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4805 block
4806# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4807 integer :: macros_setup_vfs_i
4808# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4809
4810# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4811#ifdef MFC_DEBUG
4812# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4813 block
4814# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4815 use iso_fortran_env, only: output_unit
4816# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4817
4818# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4819 print *, 'm_rhs.fpp:429: ', '@:ACC_SETUP_VFs(dqL_prim_dx_n(i), dqL_prim_dy_n(i), dqL_prim_dz_n(i))'
4820# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4821
4822# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4823 call flush (output_unit)
4824# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4825 end block
4826# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4827#endif
4828# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4829
4830# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4831
4832# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4833#if defined(MFC_OpenACC)
4834# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4835!$acc enter data copyin(dqL_prim_dx_n(i))
4836# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4837#elif defined(MFC_OpenMP)
4838# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4839!$omp target enter data map(to:dqL_prim_dx_n(i))
4840# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4841#endif
4842# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4843
4844# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4845#if defined(MFC_OpenACC)
4846# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4847!$acc enter data copyin(dqL_prim_dx_n(i)%vf)
4848# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4849#elif defined(MFC_OpenMP)
4850# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4851!$omp target enter data map(to:dqL_prim_dx_n(i)%vf)
4852# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4853#endif
4854# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4855 if (allocated(dql_prim_dx_n(i)%vf)) then
4856# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4857 do macros_setup_vfs_i = lbound(dql_prim_dx_n(i)%vf, 1), ubound(dql_prim_dx_n(i)%vf, 1)
4858# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4859 if (associated(dql_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
4860# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4861
4862# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4863#if defined(MFC_OpenACC)
4864# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4865!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
4866# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4867#elif defined(MFC_OpenMP)
4868# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4869!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i))
4870# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4871#endif
4872# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4873
4874# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4875#if defined(MFC_OpenACC)
4876# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4877!$acc enter data copyin(dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4878# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4879#elif defined(MFC_OpenMP)
4880# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4881!$omp target enter data map(to:dqL_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
4882# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4883#endif
4884# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4885 end if
4886# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4887 end do
4888# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4889 end if
4890# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4891
4892# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4893#if defined(MFC_OpenACC)
4894# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4895!$acc enter data copyin(dqL_prim_dy_n(i))
4896# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4897#elif defined(MFC_OpenMP)
4898# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4899!$omp target enter data map(to:dqL_prim_dy_n(i))
4900# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4901#endif
4902# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4903
4904# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4905#if defined(MFC_OpenACC)
4906# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4907!$acc enter data copyin(dqL_prim_dy_n(i)%vf)
4908# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4909#elif defined(MFC_OpenMP)
4910# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4911!$omp target enter data map(to:dqL_prim_dy_n(i)%vf)
4912# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4913#endif
4914# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4915 if (allocated(dql_prim_dy_n(i)%vf)) then
4916# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4917 do macros_setup_vfs_i = lbound(dql_prim_dy_n(i)%vf, 1), ubound(dql_prim_dy_n(i)%vf, 1)
4918# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4919 if (associated(dql_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
4920# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4921
4922# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4923#if defined(MFC_OpenACC)
4924# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4925!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
4926# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4927#elif defined(MFC_OpenMP)
4928# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4929!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i))
4930# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4931#endif
4932# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4933
4934# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4935#if defined(MFC_OpenACC)
4936# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4937!$acc enter data copyin(dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
4938# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4939#elif defined(MFC_OpenMP)
4940# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4941!$omp target enter data map(to:dqL_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
4942# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4943#endif
4944# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4945 end if
4946# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4947 end do
4948# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4949 end if
4950# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4951
4952# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4953#if defined(MFC_OpenACC)
4954# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4955!$acc enter data copyin(dqL_prim_dz_n(i))
4956# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4957#elif defined(MFC_OpenMP)
4958# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4959!$omp target enter data map(to:dqL_prim_dz_n(i))
4960# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4961#endif
4962# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4963
4964# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4965#if defined(MFC_OpenACC)
4966# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4967!$acc enter data copyin(dqL_prim_dz_n(i)%vf)
4968# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4969#elif defined(MFC_OpenMP)
4970# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4971!$omp target enter data map(to:dqL_prim_dz_n(i)%vf)
4972# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4973#endif
4974# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4975 if (allocated(dql_prim_dz_n(i)%vf)) then
4976# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4977 do macros_setup_vfs_i = lbound(dql_prim_dz_n(i)%vf, 1), ubound(dql_prim_dz_n(i)%vf, 1)
4978# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4979 if (associated(dql_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
4980# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4981
4982# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4983#if defined(MFC_OpenACC)
4984# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4985!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
4986# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4987#elif defined(MFC_OpenMP)
4988# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4989!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i))
4990# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4991#endif
4992# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4993
4994# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4995#if defined(MFC_OpenACC)
4996# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4997!$acc enter data copyin(dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
4998# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
4999#elif defined(MFC_OpenMP)
5000# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5001!$omp target enter data map(to:dqL_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5002# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5003#endif
5004# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5005 end if
5006# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5007 end do
5008# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5009 end if
5010# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5011 end block
5012# 429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5013#endif
5014# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5015#ifdef _CRAYFTN
5016# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5017 block
5018# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5019 integer :: macros_setup_vfs_i
5020# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5021
5022# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5023#ifdef MFC_DEBUG
5024# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5025 block
5026# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5027 use iso_fortran_env, only: output_unit
5028# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5029
5030# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5031 print *, 'm_rhs.fpp:430: ', '@:ACC_SETUP_VFs(dqR_prim_dx_n(i), dqR_prim_dy_n(i), dqR_prim_dz_n(i))'
5032# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5033
5034# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5035 call flush (output_unit)
5036# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5037 end block
5038# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5039#endif
5040# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5041
5042# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5043
5044# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5045#if defined(MFC_OpenACC)
5046# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5047!$acc enter data copyin(dqR_prim_dx_n(i))
5048# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5049#elif defined(MFC_OpenMP)
5050# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5051!$omp target enter data map(to:dqR_prim_dx_n(i))
5052# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5053#endif
5054# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5055
5056# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5057#if defined(MFC_OpenACC)
5058# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5059!$acc enter data copyin(dqR_prim_dx_n(i)%vf)
5060# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5061#elif defined(MFC_OpenMP)
5062# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5063!$omp target enter data map(to:dqR_prim_dx_n(i)%vf)
5064# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5065#endif
5066# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5067 if (allocated(dqr_prim_dx_n(i)%vf)) then
5068# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5069 do macros_setup_vfs_i = lbound(dqr_prim_dx_n(i)%vf, 1), ubound(dqr_prim_dx_n(i)%vf, 1)
5070# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5071 if (associated(dqr_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)) then
5072# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5073
5074# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5075#if defined(MFC_OpenACC)
5076# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5077!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
5078# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5079#elif defined(MFC_OpenMP)
5080# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5081!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i))
5082# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5083#endif
5084# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5085
5086# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5087#if defined(MFC_OpenACC)
5088# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5089!$acc enter data copyin(dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
5090# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5091#elif defined(MFC_OpenMP)
5092# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5093!$omp target enter data map(to:dqR_prim_dx_n(i)%vf(macros_setup_vfs_i)%sf)
5094# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5095#endif
5096# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5097 end if
5098# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5099 end do
5100# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5101 end if
5102# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5103
5104# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5105#if defined(MFC_OpenACC)
5106# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5107!$acc enter data copyin(dqR_prim_dy_n(i))
5108# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5109#elif defined(MFC_OpenMP)
5110# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5111!$omp target enter data map(to:dqR_prim_dy_n(i))
5112# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5113#endif
5114# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5115
5116# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5117#if defined(MFC_OpenACC)
5118# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5119!$acc enter data copyin(dqR_prim_dy_n(i)%vf)
5120# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5121#elif defined(MFC_OpenMP)
5122# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5123!$omp target enter data map(to:dqR_prim_dy_n(i)%vf)
5124# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5125#endif
5126# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5127 if (allocated(dqr_prim_dy_n(i)%vf)) then
5128# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5129 do macros_setup_vfs_i = lbound(dqr_prim_dy_n(i)%vf, 1), ubound(dqr_prim_dy_n(i)%vf, 1)
5130# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5131 if (associated(dqr_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)) then
5132# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5133
5134# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5135#if defined(MFC_OpenACC)
5136# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5137!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
5138# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5139#elif defined(MFC_OpenMP)
5140# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5141!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i))
5142# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5143#endif
5144# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5145
5146# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5147#if defined(MFC_OpenACC)
5148# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5149!$acc enter data copyin(dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
5150# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5151#elif defined(MFC_OpenMP)
5152# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5153!$omp target enter data map(to:dqR_prim_dy_n(i)%vf(macros_setup_vfs_i)%sf)
5154# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5155#endif
5156# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5157 end if
5158# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5159 end do
5160# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5161 end if
5162# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5163
5164# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5165#if defined(MFC_OpenACC)
5166# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5167!$acc enter data copyin(dqR_prim_dz_n(i))
5168# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5169#elif defined(MFC_OpenMP)
5170# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5171!$omp target enter data map(to:dqR_prim_dz_n(i))
5172# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5173#endif
5174# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5175
5176# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5177#if defined(MFC_OpenACC)
5178# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5179!$acc enter data copyin(dqR_prim_dz_n(i)%vf)
5180# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5181#elif defined(MFC_OpenMP)
5182# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5183!$omp target enter data map(to:dqR_prim_dz_n(i)%vf)
5184# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5185#endif
5186# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5187 if (allocated(dqr_prim_dz_n(i)%vf)) then
5188# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5189 do macros_setup_vfs_i = lbound(dqr_prim_dz_n(i)%vf, 1), ubound(dqr_prim_dz_n(i)%vf, 1)
5190# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5191 if (associated(dqr_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)) then
5192# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5193
5194# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5195#if defined(MFC_OpenACC)
5196# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5197!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
5198# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5199#elif defined(MFC_OpenMP)
5200# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5201!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i))
5202# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5203#endif
5204# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5205
5206# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5207#if defined(MFC_OpenACC)
5208# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5209!$acc enter data copyin(dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5210# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5211#elif defined(MFC_OpenMP)
5212# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5213!$omp target enter data map(to:dqR_prim_dz_n(i)%vf(macros_setup_vfs_i)%sf)
5214# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5215#endif
5216# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5217 end if
5218# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5219 end do
5220# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5221 end if
5222# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5223 end block
5224# 430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5225#endif
5226# 431 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5227 end do
5228
5229 if (weno_re_flux) then
5230#ifdef MFC_DEBUG
5231# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5232 block
5233# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5234 use iso_fortran_env, only: output_unit
5235# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5236
5237# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5238 print *, 'm_rhs.fpp:434: ', '@: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))'
5239# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5240
5241# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5242 call flush (output_unit)
5243# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5244 end block
5245# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5246#endif
5247# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5248 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))
5249# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5250
5251# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5252
5253# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5254#if defined(MFC_OpenACC)
5255# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5256!$acc enter data create(dqL_rsx_vf)
5257# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5258#elif defined(MFC_OpenMP)
5259# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5260!$omp target enter data map(always,alloc:dqL_rsx_vf)
5261# 434 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5262#endif
5263# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5264#ifdef MFC_DEBUG
5265# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5266 block
5267# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5268 use iso_fortran_env, only: output_unit
5269# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5270
5271# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5272 print *, 'm_rhs.fpp:436: ', '@: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))'
5273# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5274
5275# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5276 call flush (output_unit)
5277# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5278 end block
5279# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5280#endif
5281# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5282 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))
5283# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5284
5285# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5286
5287# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5288#if defined(MFC_OpenACC)
5289# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5290!$acc enter data create(dqR_rsx_vf)
5291# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5292#elif defined(MFC_OpenMP)
5293# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5294!$omp target enter data map(always,alloc:dqR_rsx_vf)
5295# 436 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5296#endif
5297# 438 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5298 end if
5299 else
5300#ifdef MFC_DEBUG
5301# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5302 block
5303# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5304 use iso_fortran_env, only: output_unit
5305# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5306
5307# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5308 print *, 'm_rhs.fpp:440: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(1:sys_size))'
5309# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5310
5311# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5312 call flush (output_unit)
5313# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5314 end block
5315# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5316#endif
5317# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5318 allocate (dq_prim_dx_qp(1)%vf(1:sys_size))
5319# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5320
5321# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5322
5323# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5324#if defined(MFC_OpenACC)
5325# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5326!$acc enter data create(dq_prim_dx_qp(1)%vf)
5327# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5328#elif defined(MFC_OpenMP)
5329# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5330!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf)
5331# 440 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5332#endif
5333# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5334#ifdef MFC_DEBUG
5335# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5336 block
5337# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5338 use iso_fortran_env, only: output_unit
5339# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5340
5341# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5342 print *, 'm_rhs.fpp:441: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(1:sys_size))'
5343# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5344
5345# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5346 call flush (output_unit)
5347# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5348 end block
5349# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5350#endif
5351# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5352 allocate (dq_prim_dy_qp(1)%vf(1:sys_size))
5353# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5354
5355# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5356
5357# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5358#if defined(MFC_OpenACC)
5359# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5360!$acc enter data create(dq_prim_dy_qp(1)%vf)
5361# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5362#elif defined(MFC_OpenMP)
5363# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5364!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf)
5365# 441 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5366#endif
5367# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5368#ifdef MFC_DEBUG
5369# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5370 block
5371# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5372 use iso_fortran_env, only: output_unit
5373# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5374
5375# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5376 print *, 'm_rhs.fpp:442: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(1:sys_size))'
5377# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5378
5379# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5380 call flush (output_unit)
5381# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5382 end block
5383# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5384#endif
5385# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5386 allocate (dq_prim_dz_qp(1)%vf(1:sys_size))
5387# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5388
5389# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5390
5391# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5392#if defined(MFC_OpenACC)
5393# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5394!$acc enter data create(dq_prim_dz_qp(1)%vf)
5395# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5396#elif defined(MFC_OpenMP)
5397# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5398!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf)
5399# 442 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5400#endif
5401# 443 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5402
5403 do l = eqn_idx%mom%beg, eqn_idx%mom%end
5404#ifdef MFC_DEBUG
5405# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5406 block
5407# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5408 use iso_fortran_env, only: output_unit
5409# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5410
5411# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5412 print *, 'm_rhs.fpp:445: ', '@:ALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf(0, 0, 0))'
5413# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5414
5415# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5416 call flush (output_unit)
5417# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5418 end block
5419# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5420#endif
5421# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5422 allocate (dq_prim_dx_qp(1)%vf(l)%sf(0, 0, 0))
5423# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5424
5425# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5426
5427# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5428#if defined(MFC_OpenACC)
5429# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5430!$acc enter data create(dq_prim_dx_qp(1)%vf(l)%sf)
5431# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5432#elif defined(MFC_OpenMP)
5433# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5434!$omp target enter data map(always,alloc:dq_prim_dx_qp(1)%vf(l)%sf)
5435# 445 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5436#endif
5437# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5438#ifdef _CRAYFTN
5439# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5440 block
5441# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5442 integer :: macros_setup_vfs_i
5443# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5444
5445# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5446#ifdef MFC_DEBUG
5447# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5448 block
5449# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5450 use iso_fortran_env, only: output_unit
5451# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5452
5453# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5454 print *, 'm_rhs.fpp:446: ', '@:ACC_SETUP_VFs(dq_prim_dx_qp(1))'
5455# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5456
5457# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5458 call flush (output_unit)
5459# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5460 end block
5461# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5462#endif
5463# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5464
5465# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5466
5467# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5468#if defined(MFC_OpenACC)
5469# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5470!$acc enter data copyin(dq_prim_dx_qp(1))
5471# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5472#elif defined(MFC_OpenMP)
5473# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5474!$omp target enter data map(to:dq_prim_dx_qp(1))
5475# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5476#endif
5477# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5478
5479# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5480#if defined(MFC_OpenACC)
5481# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5482!$acc enter data copyin(dq_prim_dx_qp(1)%vf)
5483# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5484#elif defined(MFC_OpenMP)
5485# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5486!$omp target enter data map(to:dq_prim_dx_qp(1)%vf)
5487# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5488#endif
5489# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5490 if (allocated(dq_prim_dx_qp(1)%vf)) then
5491# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5492 do macros_setup_vfs_i = lbound(dq_prim_dx_qp(1)%vf, 1), ubound(dq_prim_dx_qp(1)%vf, 1)
5493# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5494 if (associated(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5495# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5496
5497# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5498#if defined(MFC_OpenACC)
5499# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5500!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
5501# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5502#elif defined(MFC_OpenMP)
5503# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5504!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i))
5505# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5506#endif
5507# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5508
5509# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5510#if defined(MFC_OpenACC)
5511# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5512!$acc enter data copyin(dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
5513# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5514#elif defined(MFC_OpenMP)
5515# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5516!$omp target enter data map(to:dq_prim_dx_qp(1)%vf(macros_setup_vfs_i)%sf)
5517# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5518#endif
5519# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5520 end if
5521# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5522 end do
5523# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5524 end if
5525# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5526 end block
5527# 446 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5528#endif
5529# 447 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5530 if (n > 0) then
5531#ifdef MFC_DEBUG
5532# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5533 block
5534# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5535 use iso_fortran_env, only: output_unit
5536# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5537
5538# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5539 print *, 'm_rhs.fpp:448: ', '@:ALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf(0, 0, 0))'
5540# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5541
5542# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5543 call flush (output_unit)
5544# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5545 end block
5546# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5547#endif
5548# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5549 allocate (dq_prim_dy_qp(1)%vf(l)%sf(0, 0, 0))
5550# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5551
5552# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5553
5554# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5555#if defined(MFC_OpenACC)
5556# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5557!$acc enter data create(dq_prim_dy_qp(1)%vf(l)%sf)
5558# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5559#elif defined(MFC_OpenMP)
5560# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5561!$omp target enter data map(always,alloc:dq_prim_dy_qp(1)%vf(l)%sf)
5562# 448 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5563#endif
5564# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5565#ifdef _CRAYFTN
5566# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5567 block
5568# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5569 integer :: macros_setup_vfs_i
5570# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5571
5572# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5573#ifdef MFC_DEBUG
5574# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5575 block
5576# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5577 use iso_fortran_env, only: output_unit
5578# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5579
5580# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5581 print *, 'm_rhs.fpp:449: ', '@:ACC_SETUP_VFs(dq_prim_dy_qp(1))'
5582# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5583
5584# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5585 call flush (output_unit)
5586# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5587 end block
5588# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5589#endif
5590# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5591
5592# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5593
5594# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5595#if defined(MFC_OpenACC)
5596# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5597!$acc enter data copyin(dq_prim_dy_qp(1))
5598# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5599#elif defined(MFC_OpenMP)
5600# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5601!$omp target enter data map(to:dq_prim_dy_qp(1))
5602# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5603#endif
5604# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5605
5606# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5607#if defined(MFC_OpenACC)
5608# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5609!$acc enter data copyin(dq_prim_dy_qp(1)%vf)
5610# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5611#elif defined(MFC_OpenMP)
5612# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5613!$omp target enter data map(to:dq_prim_dy_qp(1)%vf)
5614# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5615#endif
5616# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5617 if (allocated(dq_prim_dy_qp(1)%vf)) then
5618# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5619 do macros_setup_vfs_i = lbound(dq_prim_dy_qp(1)%vf, 1), ubound(dq_prim_dy_qp(1)%vf, 1)
5620# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5621 if (associated(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5622# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5623
5624# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5625#if defined(MFC_OpenACC)
5626# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5627!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
5628# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5629#elif defined(MFC_OpenMP)
5630# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5631!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i))
5632# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5633#endif
5634# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5635
5636# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5637#if defined(MFC_OpenACC)
5638# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5639!$acc enter data copyin(dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
5640# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5641#elif defined(MFC_OpenMP)
5642# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5643!$omp target enter data map(to:dq_prim_dy_qp(1)%vf(macros_setup_vfs_i)%sf)
5644# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5645#endif
5646# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5647 end if
5648# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5649 end do
5650# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5651 end if
5652# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5653 end block
5654# 449 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5655#endif
5656# 450 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5657 if (p > 0) then
5658#ifdef MFC_DEBUG
5659# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5660 block
5661# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5662 use iso_fortran_env, only: output_unit
5663# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5664
5665# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5666 print *, 'm_rhs.fpp:451: ', '@:ALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf(0, 0, 0))'
5667# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5668
5669# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5670 call flush (output_unit)
5671# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5672 end block
5673# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5674#endif
5675# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5676 allocate (dq_prim_dz_qp(1)%vf(l)%sf(0, 0, 0))
5677# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5678
5679# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5680
5681# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5682#if defined(MFC_OpenACC)
5683# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5684!$acc enter data create(dq_prim_dz_qp(1)%vf(l)%sf)
5685# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5686#elif defined(MFC_OpenMP)
5687# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5688!$omp target enter data map(always,alloc:dq_prim_dz_qp(1)%vf(l)%sf)
5689# 451 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5690#endif
5691# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5692#ifdef _CRAYFTN
5693# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5694 block
5695# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5696 integer :: macros_setup_vfs_i
5697# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5698
5699# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5700#ifdef MFC_DEBUG
5701# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5702 block
5703# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5704 use iso_fortran_env, only: output_unit
5705# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5706
5707# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5708 print *, 'm_rhs.fpp:452: ', '@:ACC_SETUP_VFs(dq_prim_dz_qp(1))'
5709# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5710
5711# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5712 call flush (output_unit)
5713# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5714 end block
5715# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5716#endif
5717# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5718
5719# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5720
5721# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5722#if defined(MFC_OpenACC)
5723# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5724!$acc enter data copyin(dq_prim_dz_qp(1))
5725# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5726#elif defined(MFC_OpenMP)
5727# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5728!$omp target enter data map(to:dq_prim_dz_qp(1))
5729# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5730#endif
5731# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5732
5733# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5734#if defined(MFC_OpenACC)
5735# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5736!$acc enter data copyin(dq_prim_dz_qp(1)%vf)
5737# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5738#elif defined(MFC_OpenMP)
5739# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5740!$omp target enter data map(to:dq_prim_dz_qp(1)%vf)
5741# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5742#endif
5743# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5744 if (allocated(dq_prim_dz_qp(1)%vf)) then
5745# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5746 do macros_setup_vfs_i = lbound(dq_prim_dz_qp(1)%vf, 1), ubound(dq_prim_dz_qp(1)%vf, 1)
5747# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5748 if (associated(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)) then
5749# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5750
5751# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5752#if defined(MFC_OpenACC)
5753# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5754!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
5755# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5756#elif defined(MFC_OpenMP)
5757# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5758!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i))
5759# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5760#endif
5761# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5762
5763# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5764#if defined(MFC_OpenACC)
5765# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5766!$acc enter data copyin(dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
5767# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5768#elif defined(MFC_OpenMP)
5769# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5770!$omp target enter data map(to:dq_prim_dz_qp(1)%vf(macros_setup_vfs_i)%sf)
5771# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5772#endif
5773# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5774 end if
5775# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5776 end do
5777# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5778 end if
5779# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5780 end block
5781# 452 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5782#endif
5783# 453 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5784 end if
5785 end if
5786 end do
5787 end if
5788
5789
5790# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5791
5792# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5793#if defined(MFC_OpenACC)
5794# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5795!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l, id)
5796# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5797#elif defined(MFC_OpenMP)
5798# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5799
5800# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5801
5802# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5803
5804# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5805!$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)
5806# 458 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5807#endif
5808# 459 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5809 do id = 1, num_dims
5810 do i = 1, sys_size
5811 do l = idwbuff(3)%beg, idwbuff(3)%end
5812 do k = idwbuff(2)%beg, idwbuff(2)%end
5813 do j = idwbuff(1)%beg, idwbuff(1)%end
5814 flux_gsrc_n(id)%vf(i)%sf(j, k, l) = 0._wp
5815 end do
5816 end do
5817 end do
5818 end do
5819 end do
5820
5821# 470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5822#if defined(MFC_OpenACC)
5823# 470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5824!$acc end parallel loop
5825# 470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5826#elif defined(MFC_OpenMP)
5827# 470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5828
5829# 470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5830!$omp end target teams loop
5831# 470 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5832#endif
5833# 471 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5834 end if
5835
5836 if (qbmm) then
5837#ifdef MFC_DEBUG
5838# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5839 block
5840# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5841 use iso_fortran_env, only: output_unit
5842# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5843
5844# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5845 print *, 'm_rhs.fpp:474: ', '@:ALLOCATE(mom_sp(1:nmomsp), mom_3d(0:2, 0:2, nb))'
5846# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5847
5848# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5849 call flush (output_unit)
5850# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5851 end block
5852# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5853#endif
5854# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5855 allocate (mom_sp(1:nmomsp), mom_3d(0:2, 0:2, nb))
5856# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5857
5858# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5859
5860# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5861
5862# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5863#if defined(MFC_OpenACC)
5864# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5865!$acc enter data create(mom_sp, mom_3d)
5866# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5867#elif defined(MFC_OpenMP)
5868# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5869!$omp target enter data map(always,alloc:mom_sp, mom_3d)
5870# 474 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5871#endif
5872# 475 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5873
5874 do i = 0, 2
5875 do j = 0, 2
5876 do k = 1, nb
5877#ifdef MFC_DEBUG
5878# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5879 block
5880# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5881 use iso_fortran_env, only: output_unit
5882# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5883
5884# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5885 print *, 'm_rhs.fpp:479: ', '@: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))'
5886# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5887
5888# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5889 call flush (output_unit)
5890# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5891 end block
5892# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5893#endif
5894# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5895 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))
5896# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5897
5898# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5899
5900# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5901#if defined(MFC_OpenACC)
5902# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5903!$acc enter data create(mom_3d(i, j, k)%sf)
5904# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5905#elif defined(MFC_OpenMP)
5906# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5907!$omp target enter data map(always,alloc:mom_3d(i, j, k)%sf)
5908# 479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5909#endif
5910# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5911#ifdef _CRAYFTN
5912# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5913 block
5914# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5915#ifdef MFC_DEBUG
5916# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5917 block
5918# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5919 use iso_fortran_env, only: output_unit
5920# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5921
5922# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5923 print *, 'm_rhs.fpp:481: ', '@:ACC_SETUP_SFs(mom_3d(i, j, k))'
5924# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5925
5926# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5927 call flush (output_unit)
5928# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5929 end block
5930# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5931#endif
5932# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5933
5934# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5935
5936# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5937#if defined(MFC_OpenACC)
5938# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5939!$acc enter data copyin(mom_3d(i, j, k))
5940# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5941#elif defined(MFC_OpenMP)
5942# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5943!$omp target enter data map(to:mom_3d(i, j, k))
5944# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5945#endif
5946# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5947 if (associated(mom_3d(i, j, k)%sf)) then
5948# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5949
5950# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5951#if defined(MFC_OpenACC)
5952# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5953!$acc enter data copyin(mom_3d(i, j, k)%sf)
5954# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5955#elif defined(MFC_OpenMP)
5956# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5957!$omp target enter data map(to:mom_3d(i, j, k)%sf)
5958# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5959#endif
5960# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5961 end if
5962# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5963 end block
5964# 481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5965#endif
5966# 482 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5967 end do
5968 end do
5969 end do
5970
5971 do i = 1, nmomsp
5972#ifdef MFC_DEBUG
5973# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5974 block
5975# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5976 use iso_fortran_env, only: output_unit
5977# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5978
5979# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5980 print *, 'm_rhs.fpp:487: ', '@:ALLOCATE(mom_sp(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
5981# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5982
5983# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5984 call flush (output_unit)
5985# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5986 end block
5987# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5988#endif
5989# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5990 allocate (mom_sp(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
5991# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5992
5993# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5994
5995# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5996#if defined(MFC_OpenACC)
5997# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
5998!$acc enter data create(mom_sp(i)%sf)
5999# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6000#elif defined(MFC_OpenMP)
6001# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6002!$omp target enter data map(always,alloc:mom_sp(i)%sf)
6003# 487 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6004#endif
6005# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6006#ifdef _CRAYFTN
6007# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6008 block
6009# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6010#ifdef MFC_DEBUG
6011# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6012 block
6013# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6014 use iso_fortran_env, only: output_unit
6015# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6016
6017# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6018 print *, 'm_rhs.fpp:489: ', '@:ACC_SETUP_SFs(mom_sp(i))'
6019# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6020
6021# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6022 call flush (output_unit)
6023# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6024 end block
6025# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6026#endif
6027# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6028
6029# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6030
6031# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6032#if defined(MFC_OpenACC)
6033# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6034!$acc enter data copyin(mom_sp(i))
6035# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6036#elif defined(MFC_OpenMP)
6037# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6038!$omp target enter data map(to:mom_sp(i))
6039# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6040#endif
6041# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6042 if (associated(mom_sp(i)%sf)) then
6043# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6044
6045# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6046#if defined(MFC_OpenACC)
6047# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6048!$acc enter data copyin(mom_sp(i)%sf)
6049# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6050#elif defined(MFC_OpenMP)
6051# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6052!$omp target enter data map(to:mom_sp(i)%sf)
6053# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6054#endif
6055# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6056 end if
6057# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6058 end block
6059# 489 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6060#endif
6061# 490 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6062 end do
6063 end if
6064
6065 if (mpp_lim .and. bubbles_euler) then
6066#ifdef MFC_DEBUG
6067# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6068 block
6069# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6070 use iso_fortran_env, only: output_unit
6071# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6072
6073# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6074 print *, 'm_rhs.fpp:494: ', '@:ALLOCATE(alf_sum%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))'
6075# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6076
6077# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6078 call flush (output_unit)
6079# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6080 end block
6081# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6082#endif
6083# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6084 allocate (alf_sum%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
6085# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6086
6087# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6088
6089# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6090#if defined(MFC_OpenACC)
6091# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6092!$acc enter data create(alf_sum%sf)
6093# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6094#elif defined(MFC_OpenMP)
6095# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6096!$omp target enter data map(always,alloc:alf_sum%sf)
6097# 494 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6098#endif
6099# 495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6100 end if
6101 if (use_nc_iface_vel) then
6102#ifdef MFC_DEBUG
6103# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6104 block
6105# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6106 use iso_fortran_env, only: output_unit
6107# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6108
6109# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6110 print *, 'm_rhs.fpp:497: ', '@:ALLOCATE(nc_iface_vel_n(1:num_dims))'
6111# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6112
6113# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6114 call flush (output_unit)
6115# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6116 end block
6117# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6118#endif
6119# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6120 allocate (nc_iface_vel_n(1:num_dims))
6121# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6122
6123# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6124
6125# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6126#if defined(MFC_OpenACC)
6127# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6128!$acc enter data create(nc_iface_vel_n)
6129# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6130#elif defined(MFC_OpenMP)
6131# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6132!$omp target enter data map(always,alloc:nc_iface_vel_n)
6133# 497 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6134#endif
6135# 498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6136 do i = 1, num_dims
6137#ifdef MFC_DEBUG
6138# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6139 block
6140# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6141 use iso_fortran_env, only: output_unit
6142# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6143
6144# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6145 print *, 'm_rhs.fpp:499: ', '@:ALLOCATE(nc_iface_vel_n(i)%vf(1:num_dims))'
6146# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6147
6148# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6149 call flush (output_unit)
6150# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6151 end block
6152# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6153#endif
6154# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6155 allocate (nc_iface_vel_n(i)%vf(1:num_dims))
6156# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6157
6158# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6159
6160# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6161#if defined(MFC_OpenACC)
6162# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6163!$acc enter data create(nc_iface_vel_n(i)%vf)
6164# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6165#elif defined(MFC_OpenMP)
6166# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6167!$omp target enter data map(always,alloc:nc_iface_vel_n(i)%vf)
6168# 499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6169#endif
6170# 500 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6171 do l = 1, num_dims
6172#ifdef MFC_DEBUG
6173# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6174 block
6175# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6176 use iso_fortran_env, only: output_unit
6177# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6178
6179# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6180 print *, 'm_rhs.fpp:501: ', '@: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))'
6181# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6182
6183# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6184 call flush (output_unit)
6185# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6186 end block
6187# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6188#endif
6189# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6190 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))
6191# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6192
6193# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6194
6195# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6196#if defined(MFC_OpenACC)
6197# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6198!$acc enter data create(nc_iface_vel_n(i)%vf(l)%sf)
6199# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6200#elif defined(MFC_OpenMP)
6201# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6202!$omp target enter data map(always,alloc:nc_iface_vel_n(i)%vf(l)%sf)
6203# 501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6204#endif
6205# 503 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6206 end do
6207 end do
6208 if (num_dims == 2) then
6209#ifdef _CRAYFTN
6210# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6211 block
6212# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6213 integer :: macros_setup_vfs_i
6214# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6215
6216# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6217#ifdef MFC_DEBUG
6218# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6219 block
6220# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6221 use iso_fortran_env, only: output_unit
6222# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6223
6224# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6225 print *, 'm_rhs.fpp:506: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1), nc_iface_vel_n(2))'
6226# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6227
6228# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6229 call flush (output_unit)
6230# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6231 end block
6232# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6233#endif
6234# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6235
6236# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6237
6238# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6239#if defined(MFC_OpenACC)
6240# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6241!$acc enter data copyin(nc_iface_vel_n(1))
6242# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6243#elif defined(MFC_OpenMP)
6244# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6245!$omp target enter data map(to:nc_iface_vel_n(1))
6246# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6247#endif
6248# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6249
6250# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6251#if defined(MFC_OpenACC)
6252# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6253!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6254# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6255#elif defined(MFC_OpenMP)
6256# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6257!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6258# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6259#endif
6260# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6261 if (allocated(nc_iface_vel_n(1)%vf)) then
6262# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6263 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6264# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6265 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6266# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6267
6268# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6269#if defined(MFC_OpenACC)
6270# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6271!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6272# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6273#elif defined(MFC_OpenMP)
6274# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6275!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6276# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6277#endif
6278# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6279
6280# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6281#if defined(MFC_OpenACC)
6282# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6283!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6284# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6285#elif defined(MFC_OpenMP)
6286# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6287!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6288# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6289#endif
6290# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6291 end if
6292# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6293 end do
6294# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6295 end if
6296# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6297
6298# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6299#if defined(MFC_OpenACC)
6300# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6301!$acc enter data copyin(nc_iface_vel_n(2))
6302# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6303#elif defined(MFC_OpenMP)
6304# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6305!$omp target enter data map(to:nc_iface_vel_n(2))
6306# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6307#endif
6308# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6309
6310# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6311#if defined(MFC_OpenACC)
6312# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6313!$acc enter data copyin(nc_iface_vel_n(2)%vf)
6314# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6315#elif defined(MFC_OpenMP)
6316# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6317!$omp target enter data map(to:nc_iface_vel_n(2)%vf)
6318# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6319#endif
6320# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6321 if (allocated(nc_iface_vel_n(2)%vf)) then
6322# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6323 do macros_setup_vfs_i = lbound(nc_iface_vel_n(2)%vf, 1), ubound(nc_iface_vel_n(2)%vf, 1)
6324# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6325 if (associated(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)) then
6326# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6327
6328# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6329#if defined(MFC_OpenACC)
6330# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6331!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6332# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6333#elif defined(MFC_OpenMP)
6334# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6335!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6336# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6337#endif
6338# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6339
6340# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6341#if defined(MFC_OpenACC)
6342# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6343!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6344# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6345#elif defined(MFC_OpenMP)
6346# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6347!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6348# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6349#endif
6350# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6351 end if
6352# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6353 end do
6354# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6355 end if
6356# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6357 end block
6358# 506 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6359#endif
6360# 507 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6361 else if (num_dims == 3) then
6362#ifdef _CRAYFTN
6363# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6364 block
6365# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6366 integer :: macros_setup_vfs_i
6367# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6368
6369# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6370#ifdef MFC_DEBUG
6371# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6372 block
6373# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6374 use iso_fortran_env, only: output_unit
6375# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6376
6377# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6378 print *, 'm_rhs.fpp:508: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1), nc_iface_vel_n(2), nc_iface_vel_n(3))'
6379# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6380
6381# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6382 call flush (output_unit)
6383# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6384 end block
6385# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6386#endif
6387# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6388
6389# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6390
6391# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6392#if defined(MFC_OpenACC)
6393# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6394!$acc enter data copyin(nc_iface_vel_n(1))
6395# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6396#elif defined(MFC_OpenMP)
6397# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6398!$omp target enter data map(to:nc_iface_vel_n(1))
6399# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6400#endif
6401# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6402
6403# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6404#if defined(MFC_OpenACC)
6405# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6406!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6407# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6408#elif defined(MFC_OpenMP)
6409# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6410!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6411# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6412#endif
6413# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6414 if (allocated(nc_iface_vel_n(1)%vf)) then
6415# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6416 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6417# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6418 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6419# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6420
6421# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6422#if defined(MFC_OpenACC)
6423# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6424!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6425# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6426#elif defined(MFC_OpenMP)
6427# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6428!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6429# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6430#endif
6431# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6432
6433# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6434#if defined(MFC_OpenACC)
6435# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6436!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6437# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6438#elif defined(MFC_OpenMP)
6439# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6440!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6441# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6442#endif
6443# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6444 end if
6445# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6446 end do
6447# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6448 end if
6449# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6450
6451# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6452#if defined(MFC_OpenACC)
6453# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6454!$acc enter data copyin(nc_iface_vel_n(2))
6455# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6456#elif defined(MFC_OpenMP)
6457# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6458!$omp target enter data map(to:nc_iface_vel_n(2))
6459# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6460#endif
6461# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6462
6463# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6464#if defined(MFC_OpenACC)
6465# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6466!$acc enter data copyin(nc_iface_vel_n(2)%vf)
6467# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6468#elif defined(MFC_OpenMP)
6469# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6470!$omp target enter data map(to:nc_iface_vel_n(2)%vf)
6471# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6472#endif
6473# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6474 if (allocated(nc_iface_vel_n(2)%vf)) then
6475# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6476 do macros_setup_vfs_i = lbound(nc_iface_vel_n(2)%vf, 1), ubound(nc_iface_vel_n(2)%vf, 1)
6477# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6478 if (associated(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)) then
6479# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6480
6481# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6482#if defined(MFC_OpenACC)
6483# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6484!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6485# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6486#elif defined(MFC_OpenMP)
6487# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6488!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i))
6489# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6490#endif
6491# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6492
6493# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6494#if defined(MFC_OpenACC)
6495# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6496!$acc enter data copyin(nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6497# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6498#elif defined(MFC_OpenMP)
6499# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6500!$omp target enter data map(to:nc_iface_vel_n(2)%vf(macros_setup_vfs_i)%sf)
6501# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6502#endif
6503# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6504 end if
6505# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6506 end do
6507# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6508 end if
6509# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6510
6511# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6512#if defined(MFC_OpenACC)
6513# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6514!$acc enter data copyin(nc_iface_vel_n(3))
6515# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6516#elif defined(MFC_OpenMP)
6517# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6518!$omp target enter data map(to:nc_iface_vel_n(3))
6519# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6520#endif
6521# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6522
6523# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6524#if defined(MFC_OpenACC)
6525# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6526!$acc enter data copyin(nc_iface_vel_n(3)%vf)
6527# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6528#elif defined(MFC_OpenMP)
6529# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6530!$omp target enter data map(to:nc_iface_vel_n(3)%vf)
6531# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6532#endif
6533# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6534 if (allocated(nc_iface_vel_n(3)%vf)) then
6535# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6536 do macros_setup_vfs_i = lbound(nc_iface_vel_n(3)%vf, 1), ubound(nc_iface_vel_n(3)%vf, 1)
6537# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6538 if (associated(nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)) then
6539# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6540
6541# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6542#if defined(MFC_OpenACC)
6543# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6544!$acc enter data copyin(nc_iface_vel_n(3)%vf(macros_setup_vfs_i))
6545# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6546#elif defined(MFC_OpenMP)
6547# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6548!$omp target enter data map(to:nc_iface_vel_n(3)%vf(macros_setup_vfs_i))
6549# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6550#endif
6551# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6552
6553# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6554#if defined(MFC_OpenACC)
6555# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6556!$acc enter data copyin(nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)
6557# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6558#elif defined(MFC_OpenMP)
6559# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6560!$omp target enter data map(to:nc_iface_vel_n(3)%vf(macros_setup_vfs_i)%sf)
6561# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6562#endif
6563# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6564 end if
6565# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6566 end do
6567# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6568 end if
6569# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6570 end block
6571# 508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6572#endif
6573# 509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6574 else
6575#ifdef _CRAYFTN
6576# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6577 block
6578# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6579 integer :: macros_setup_vfs_i
6580# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6581
6582# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6583#ifdef MFC_DEBUG
6584# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6585 block
6586# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6587 use iso_fortran_env, only: output_unit
6588# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6589
6590# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6591 print *, 'm_rhs.fpp:510: ', '@:ACC_SETUP_VFs(nc_iface_vel_n(1))'
6592# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6593
6594# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6595 call flush (output_unit)
6596# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6597 end block
6598# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6599#endif
6600# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6601
6602# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6603
6604# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6605#if defined(MFC_OpenACC)
6606# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6607!$acc enter data copyin(nc_iface_vel_n(1))
6608# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6609#elif defined(MFC_OpenMP)
6610# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6611!$omp target enter data map(to:nc_iface_vel_n(1))
6612# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6613#endif
6614# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6615
6616# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6617#if defined(MFC_OpenACC)
6618# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6619!$acc enter data copyin(nc_iface_vel_n(1)%vf)
6620# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6621#elif defined(MFC_OpenMP)
6622# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6623!$omp target enter data map(to:nc_iface_vel_n(1)%vf)
6624# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6625#endif
6626# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6627 if (allocated(nc_iface_vel_n(1)%vf)) then
6628# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6629 do macros_setup_vfs_i = lbound(nc_iface_vel_n(1)%vf, 1), ubound(nc_iface_vel_n(1)%vf, 1)
6630# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6631 if (associated(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)) then
6632# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6633
6634# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6635#if defined(MFC_OpenACC)
6636# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6637!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6638# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6639#elif defined(MFC_OpenMP)
6640# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6641!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i))
6642# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6643#endif
6644# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6645
6646# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6647#if defined(MFC_OpenACC)
6648# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6649!$acc enter data copyin(nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6650# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6651#elif defined(MFC_OpenMP)
6652# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6653!$omp target enter data map(to:nc_iface_vel_n(1)%vf(macros_setup_vfs_i)%sf)
6654# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6655#endif
6656# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6657 end if
6658# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6659 end do
6660# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6661 end if
6662# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6663 end block
6664# 510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6665#endif
6666# 511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6667 end if
6668 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
6669#ifdef MFC_DEBUG
6670# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6671 block
6672# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6673 use iso_fortran_env, only: output_unit
6674# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6675
6676# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6677 print *, 'm_rhs.fpp:513: ', '@:ALLOCATE(nc_iface_vel_hatR_n(1:num_dims))'
6678# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6679
6680# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6681 call flush (output_unit)
6682# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6683 end block
6684# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6685#endif
6686# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6687 allocate (nc_iface_vel_hatr_n(1:num_dims))
6688# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6689
6690# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6691
6692# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6693#if defined(MFC_OpenACC)
6694# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6695!$acc enter data create(nc_iface_vel_hatR_n)
6696# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6697#elif defined(MFC_OpenMP)
6698# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6699!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n)
6700# 513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6701#endif
6702# 514 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6703 do i = 1, num_dims
6704#ifdef MFC_DEBUG
6705# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6706 block
6707# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6708 use iso_fortran_env, only: output_unit
6709# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6710
6711# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6712 print *, 'm_rhs.fpp:515: ', '@:ALLOCATE(nc_iface_vel_hatR_n(i)%vf(1:num_dims))'
6713# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6714
6715# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6716 call flush (output_unit)
6717# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6718 end block
6719# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6720#endif
6721# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6722 allocate (nc_iface_vel_hatr_n(i)%vf(1:num_dims))
6723# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6724
6725# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6726
6727# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6728#if defined(MFC_OpenACC)
6729# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6730!$acc enter data create(nc_iface_vel_hatR_n(i)%vf)
6731# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6732#elif defined(MFC_OpenMP)
6733# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6734!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n(i)%vf)
6735# 515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6736#endif
6737# 516 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6738 do l = 1, num_dims
6739#ifdef MFC_DEBUG
6740# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6741 block
6742# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6743 use iso_fortran_env, only: output_unit
6744# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6745
6746# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6747 print *, 'm_rhs.fpp:517: ', '@: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))'
6748# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6749
6750# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6751 call flush (output_unit)
6752# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6753 end block
6754# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6755#endif
6756# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6757 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))
6758# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6759
6760# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6761
6762# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6763#if defined(MFC_OpenACC)
6764# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6765!$acc enter data create(nc_iface_vel_hatR_n(i)%vf(l)%sf)
6766# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6767#elif defined(MFC_OpenMP)
6768# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6769!$omp target enter data map(always,alloc:nc_iface_vel_hatR_n(i)%vf(l)%sf)
6770# 517 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6771#endif
6772# 519 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6773 end do
6774 end do
6775 if (num_dims == 2) then
6776#ifdef _CRAYFTN
6777# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6778 block
6779# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6780 integer :: macros_setup_vfs_i
6781# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6782
6783# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6784#ifdef MFC_DEBUG
6785# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6786 block
6787# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6788 use iso_fortran_env, only: output_unit
6789# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6790
6791# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6792 print *, 'm_rhs.fpp:522: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1), nc_iface_vel_hatR_n(2))'
6793# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6794
6795# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6796 call flush (output_unit)
6797# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6798 end block
6799# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6800#endif
6801# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6802
6803# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6804
6805# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6806#if defined(MFC_OpenACC)
6807# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6808!$acc enter data copyin(nc_iface_vel_hatR_n(1))
6809# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6810#elif defined(MFC_OpenMP)
6811# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6812!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
6813# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6814#endif
6815# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6816
6817# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6818#if defined(MFC_OpenACC)
6819# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6820!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
6821# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6822#elif defined(MFC_OpenMP)
6823# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6824!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
6825# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6826#endif
6827# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6828 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
6829# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6830 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
6831# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6832 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
6833# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6834
6835# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6836#if defined(MFC_OpenACC)
6837# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6838!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6839# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6840#elif defined(MFC_OpenMP)
6841# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6842!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6843# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6844#endif
6845# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6846
6847# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6848#if defined(MFC_OpenACC)
6849# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6850!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6851# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6852#elif defined(MFC_OpenMP)
6853# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6854!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
6855# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6856#endif
6857# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6858 end if
6859# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6860 end do
6861# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6862 end if
6863# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6864
6865# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6866#if defined(MFC_OpenACC)
6867# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6868!$acc enter data copyin(nc_iface_vel_hatR_n(2))
6869# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6870#elif defined(MFC_OpenMP)
6871# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6872!$omp target enter data map(to:nc_iface_vel_hatR_n(2))
6873# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6874#endif
6875# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6876
6877# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6878#if defined(MFC_OpenACC)
6879# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6880!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf)
6881# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6882#elif defined(MFC_OpenMP)
6883# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6884!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf)
6885# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6886#endif
6887# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6888 if (allocated(nc_iface_vel_hatr_n(2)%vf)) then
6889# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6890 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(2)%vf, 1), ubound(nc_iface_vel_hatr_n(2)%vf, 1)
6891# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6892 if (associated(nc_iface_vel_hatr_n(2)%vf(macros_setup_vfs_i)%sf)) then
6893# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6894
6895# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6896#if defined(MFC_OpenACC)
6897# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6898!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6899# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6900#elif defined(MFC_OpenMP)
6901# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6902!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
6903# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6904#endif
6905# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6906
6907# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6908#if defined(MFC_OpenACC)
6909# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6910!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6911# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6912#elif defined(MFC_OpenMP)
6913# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6914!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
6915# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6916#endif
6917# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6918 end if
6919# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6920 end do
6921# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6922 end if
6923# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6924 end block
6925# 522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6926#endif
6927# 523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6928 else if (num_dims == 3) then
6929#ifdef _CRAYFTN
6930# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6931 block
6932# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6933 integer :: macros_setup_vfs_i
6934# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6935
6936# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6937#ifdef MFC_DEBUG
6938# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6939 block
6940# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6941 use iso_fortran_env, only: output_unit
6942# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6943
6944# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6945 print *, 'm_rhs.fpp:524: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1), nc_iface_vel_hatR_n(2), nc_iface_vel_hatR_n(3))'
6946# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6947
6948# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6949 call flush (output_unit)
6950# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6951 end block
6952# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6953#endif
6954# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6955
6956# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6957
6958# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6959#if defined(MFC_OpenACC)
6960# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6961!$acc enter data copyin(nc_iface_vel_hatR_n(1))
6962# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6963#elif defined(MFC_OpenMP)
6964# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6965!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
6966# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6967#endif
6968# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6969
6970# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6971#if defined(MFC_OpenACC)
6972# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6973!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
6974# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6975#elif defined(MFC_OpenMP)
6976# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6977!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
6978# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6979#endif
6980# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6981 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
6982# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6983 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
6984# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6985 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
6986# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6987
6988# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6989#if defined(MFC_OpenACC)
6990# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6991!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6992# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6993#elif defined(MFC_OpenMP)
6994# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6995!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
6996# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6997#endif
6998# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
6999
7000# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7001#if defined(MFC_OpenACC)
7002# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7003!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7004# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7005#elif defined(MFC_OpenMP)
7006# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7007!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7008# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7009#endif
7010# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7011 end if
7012# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7013 end do
7014# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7015 end if
7016# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7017
7018# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7019#if defined(MFC_OpenACC)
7020# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7021!$acc enter data copyin(nc_iface_vel_hatR_n(2))
7022# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7023#elif defined(MFC_OpenMP)
7024# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7025!$omp target enter data map(to:nc_iface_vel_hatR_n(2))
7026# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7027#endif
7028# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7029
7030# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7031#if defined(MFC_OpenACC)
7032# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7033!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf)
7034# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7035#elif defined(MFC_OpenMP)
7036# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7037!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf)
7038# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7039#endif
7040# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7041 if (allocated(nc_iface_vel_hatr_n(2)%vf)) then
7042# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7043 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(2)%vf, 1), ubound(nc_iface_vel_hatr_n(2)%vf, 1)
7044# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7045 if (associated(nc_iface_vel_hatr_n(2)%vf(macros_setup_vfs_i)%sf)) then
7046# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7047
7048# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7049#if defined(MFC_OpenACC)
7050# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7051!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
7052# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7053#elif defined(MFC_OpenMP)
7054# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7055!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i))
7056# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7057#endif
7058# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7059
7060# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7061#if defined(MFC_OpenACC)
7062# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7063!$acc enter data copyin(nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
7064# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7065#elif defined(MFC_OpenMP)
7066# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7067!$omp target enter data map(to:nc_iface_vel_hatR_n(2)%vf(macros_setup_vfs_i)%sf)
7068# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7069#endif
7070# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7071 end if
7072# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7073 end do
7074# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7075 end if
7076# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7077
7078# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7079#if defined(MFC_OpenACC)
7080# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7081!$acc enter data copyin(nc_iface_vel_hatR_n(3))
7082# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7083#elif defined(MFC_OpenMP)
7084# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7085!$omp target enter data map(to:nc_iface_vel_hatR_n(3))
7086# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7087#endif
7088# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7089
7090# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7091#if defined(MFC_OpenACC)
7092# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7093!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf)
7094# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7095#elif defined(MFC_OpenMP)
7096# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7097!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf)
7098# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7099#endif
7100# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7101 if (allocated(nc_iface_vel_hatr_n(3)%vf)) then
7102# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7103 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(3)%vf, 1), ubound(nc_iface_vel_hatr_n(3)%vf, 1)
7104# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7105 if (associated(nc_iface_vel_hatr_n(3)%vf(macros_setup_vfs_i)%sf)) then
7106# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7107
7108# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7109#if defined(MFC_OpenACC)
7110# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7111!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i))
7112# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7113#elif defined(MFC_OpenMP)
7114# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7115!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i))
7116# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7117#endif
7118# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7119
7120# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7121#if defined(MFC_OpenACC)
7122# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7123!$acc enter data copyin(nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i)%sf)
7124# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7125#elif defined(MFC_OpenMP)
7126# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7127!$omp target enter data map(to:nc_iface_vel_hatR_n(3)%vf(macros_setup_vfs_i)%sf)
7128# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7129#endif
7130# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7131 end if
7132# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7133 end do
7134# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7135 end if
7136# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7137 end block
7138# 524 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7139#endif
7140# 525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7141 else
7142#ifdef _CRAYFTN
7143# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7144 block
7145# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7146 integer :: macros_setup_vfs_i
7147# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7148
7149# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7150#ifdef MFC_DEBUG
7151# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7152 block
7153# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7154 use iso_fortran_env, only: output_unit
7155# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7156
7157# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7158 print *, 'm_rhs.fpp:526: ', '@:ACC_SETUP_VFs(nc_iface_vel_hatR_n(1))'
7159# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7160
7161# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7162 call flush (output_unit)
7163# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7164 end block
7165# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7166#endif
7167# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7168
7169# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7170
7171# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7172#if defined(MFC_OpenACC)
7173# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7174!$acc enter data copyin(nc_iface_vel_hatR_n(1))
7175# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7176#elif defined(MFC_OpenMP)
7177# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7178!$omp target enter data map(to:nc_iface_vel_hatR_n(1))
7179# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7180#endif
7181# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7182
7183# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7184#if defined(MFC_OpenACC)
7185# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7186!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf)
7187# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7188#elif defined(MFC_OpenMP)
7189# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7190!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf)
7191# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7192#endif
7193# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7194 if (allocated(nc_iface_vel_hatr_n(1)%vf)) then
7195# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7196 do macros_setup_vfs_i = lbound(nc_iface_vel_hatr_n(1)%vf, 1), ubound(nc_iface_vel_hatr_n(1)%vf, 1)
7197# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7198 if (associated(nc_iface_vel_hatr_n(1)%vf(macros_setup_vfs_i)%sf)) then
7199# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7200
7201# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7202#if defined(MFC_OpenACC)
7203# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7204!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
7205# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7206#elif defined(MFC_OpenMP)
7207# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7208!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i))
7209# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7210#endif
7211# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7212
7213# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7214#if defined(MFC_OpenACC)
7215# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7216!$acc enter data copyin(nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7217# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7218#elif defined(MFC_OpenMP)
7219# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7220!$omp target enter data map(to:nc_iface_vel_hatR_n(1)%vf(macros_setup_vfs_i)%sf)
7221# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7222#endif
7223# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7224 end if
7225# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7226 end do
7227# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7228 end if
7229# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7230 end block
7231# 526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7232#endif
7233# 527 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7234 end if
7235 end if
7236 end if
7237
7238 if (alt_soundspeed) then
7239#ifdef MFC_DEBUG
7240# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7241 block
7242# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7243 use iso_fortran_env, only: output_unit
7244# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7245
7246# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7247 print *, 'm_rhs.fpp:532: ', '@: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))'
7248# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7249
7250# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7251 call flush (output_unit)
7252# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7253 end block
7254# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7255#endif
7256# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7257 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))
7258# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7259
7260# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7261
7262# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7263
7264# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7265
7266# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7267
7268# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7269
7270# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7271#if defined(MFC_OpenACC)
7272# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7273!$acc enter data create(blkmod1, blkmod2, alpha1, alpha2, Kterm)
7274# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7275#elif defined(MFC_OpenMP)
7276# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7277!$omp target enter data map(always,alloc:blkmod1, blkmod2, alpha1, alpha2, Kterm)
7278# 532 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7279#endif
7280# 534 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7281 end if
7282
7283 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
7284#ifdef MFC_DEBUG
7285# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7286 block
7287# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7288 use iso_fortran_env, only: output_unit
7289# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7290
7291# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7292 print *, 'm_rhs.fpp:537: ', '@:ALLOCATE(rhs_hatL_vf(1:sys_size))'
7293# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7294
7295# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7296 call flush (output_unit)
7297# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7298 end block
7299# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7300#endif
7301# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7302 allocate (rhs_hatl_vf(1:sys_size))
7303# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7304
7305# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7306
7307# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7308#if defined(MFC_OpenACC)
7309# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7310!$acc enter data create(rhs_hatL_vf)
7311# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7312#elif defined(MFC_OpenMP)
7313# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7314!$omp target enter data map(always,alloc:rhs_hatL_vf)
7315# 537 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7316#endif
7317# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7318#ifdef MFC_DEBUG
7319# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7320 block
7321# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7322 use iso_fortran_env, only: output_unit
7323# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7324
7325# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7326 print *, 'm_rhs.fpp:538: ', '@:ALLOCATE(rhs_hatR_vf(1:sys_size))'
7327# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7328
7329# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7330 call flush (output_unit)
7331# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7332 end block
7333# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7334#endif
7335# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7336 allocate (rhs_hatr_vf(1:sys_size))
7337# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7338
7339# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7340
7341# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7342#if defined(MFC_OpenACC)
7343# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7344!$acc enter data create(rhs_hatR_vf)
7345# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7346#elif defined(MFC_OpenMP)
7347# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7348!$omp target enter data map(always,alloc:rhs_hatR_vf)
7349# 538 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7350#endif
7351# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7352#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7353# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7354 block
7355# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7356 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7357# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7358 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7359# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7360#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7361# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7362 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7363# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7364#else
7365# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7366 use cuda_runtime_api
7367# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7368#endif
7369# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7370 integer :: istat
7371# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7372
7373# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7374 if (nv_uvm_pref_gpu) then
7375# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7376 ! set preferred location GPU
7377# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7378 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetpreferredlocation, 0)
7379# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7380 if (istat /= cudasuccess) then
7381# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7382 write (*, "('Error code: ',I0, ': ')") istat
7383# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7384 end if
7385# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7386 ! set accessed by CPU
7387# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7388 istat = cudamemadvise(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7389# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7390 if (istat /= cudasuccess) then
7391# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7392 write (*, "('Error code: ',I0, ': ')") istat
7393# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7394 end if
7395# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7396 ! prefetch to GPU - physically populate memory pages
7397# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7398 istat = cudamemprefetchasync(c_devloc(rhs_hatl_vf), sizeof(rhs_hatl_vf), 0, 0)
7399# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7400 if (istat /= cudasuccess) then
7401# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7402 write (*, "('Error code: ',I0, ': ')") istat
7403# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7404 end if
7405# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7406 end if
7407# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7408 end block
7409# 539 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7410#endif
7411# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7412#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7413# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7414 block
7415# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7416 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7417# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7418 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7419# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7420#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7421# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7422 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7423# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7424#else
7425# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7426 use cuda_runtime_api
7427# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7428#endif
7429# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7430 integer :: istat
7431# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7432
7433# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7434 if (nv_uvm_pref_gpu) then
7435# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7436 ! set preferred location GPU
7437# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7438 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetpreferredlocation, 0)
7439# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7440 if (istat /= cudasuccess) then
7441# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7442 write (*, "('Error code: ',I0, ': ')") istat
7443# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7444 end if
7445# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7446 ! set accessed by CPU
7447# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7448 istat = cudamemadvise(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), cudamemadvisesetaccessedby, cudacpudeviceid)
7449# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7450 if (istat /= cudasuccess) then
7451# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7452 write (*, "('Error code: ',I0, ': ')") istat
7453# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7454 end if
7455# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7456 ! prefetch to GPU - physically populate memory pages
7457# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7458 istat = cudamemprefetchasync(c_devloc(rhs_hatr_vf), sizeof(rhs_hatr_vf), 0, 0)
7459# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7460 if (istat /= cudasuccess) then
7461# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7462 write (*, "('Error code: ',I0, ': ')") istat
7463# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7464 end if
7465# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7466 end if
7467# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7468 end block
7469# 540 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7470#endif
7471# 541 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7472
7473 do i = 1, sys_size
7474#ifdef MFC_DEBUG
7475# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7476 block
7477# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7478 use iso_fortran_env, only: output_unit
7479# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7480
7481# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7482 print *, 'm_rhs.fpp:543: ', '@:ALLOCATE(rhs_hatL_vf(i)%sf(0:m, 0:n, 0:p))'
7483# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7484
7485# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7486 call flush (output_unit)
7487# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7488 end block
7489# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7490#endif
7491# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7492 allocate (rhs_hatl_vf(i)%sf(0:m, 0:n, 0:p))
7493# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7494
7495# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7496
7497# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7498#if defined(MFC_OpenACC)
7499# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7500!$acc enter data create(rhs_hatL_vf(i)%sf)
7501# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7502#elif defined(MFC_OpenMP)
7503# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7504!$omp target enter data map(always,alloc:rhs_hatL_vf(i)%sf)
7505# 543 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7506#endif
7507# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7508#ifdef MFC_DEBUG
7509# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7510 block
7511# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7512 use iso_fortran_env, only: output_unit
7513# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7514
7515# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7516 print *, 'm_rhs.fpp:544: ', '@:ALLOCATE(rhs_hatR_vf(i)%sf(0:m, 0:n, 0:p))'
7517# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7518
7519# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7520 call flush (output_unit)
7521# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7522 end block
7523# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7524#endif
7525# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7526 allocate (rhs_hatr_vf(i)%sf(0:m, 0:n, 0:p))
7527# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7528
7529# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7530
7531# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7532#if defined(MFC_OpenACC)
7533# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7534!$acc enter data create(rhs_hatR_vf(i)%sf)
7535# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7536#elif defined(MFC_OpenMP)
7537# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7538!$omp target enter data map(always,alloc:rhs_hatR_vf(i)%sf)
7539# 544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7540#endif
7541# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7542#ifdef _CRAYFTN
7543# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7544 block
7545# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7546#ifdef MFC_DEBUG
7547# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7548 block
7549# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7550 use iso_fortran_env, only: output_unit
7551# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7552
7553# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7554 print *, 'm_rhs.fpp:545: ', '@:ACC_SETUP_SFs(rhs_hatL_vf(i))'
7555# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7556
7557# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7558 call flush (output_unit)
7559# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7560 end block
7561# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7562#endif
7563# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7564
7565# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7566
7567# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7568#if defined(MFC_OpenACC)
7569# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7570!$acc enter data copyin(rhs_hatL_vf(i))
7571# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7572#elif defined(MFC_OpenMP)
7573# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7574!$omp target enter data map(to:rhs_hatL_vf(i))
7575# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7576#endif
7577# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7578 if (associated(rhs_hatl_vf(i)%sf)) then
7579# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7580
7581# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7582#if defined(MFC_OpenACC)
7583# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7584!$acc enter data copyin(rhs_hatL_vf(i)%sf)
7585# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7586#elif defined(MFC_OpenMP)
7587# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7588!$omp target enter data map(to:rhs_hatL_vf(i)%sf)
7589# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7590#endif
7591# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7592 end if
7593# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7594 end block
7595# 545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7596#endif
7597# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7598#ifdef _CRAYFTN
7599# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7600 block
7601# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7602#ifdef MFC_DEBUG
7603# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7604 block
7605# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7606 use iso_fortran_env, only: output_unit
7607# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7608
7609# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7610 print *, 'm_rhs.fpp:546: ', '@:ACC_SETUP_SFs(rhs_hatR_vf(i))'
7611# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7612
7613# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7614 call flush (output_unit)
7615# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7616 end block
7617# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7618#endif
7619# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7620
7621# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7622
7623# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7624#if defined(MFC_OpenACC)
7625# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7626!$acc enter data copyin(rhs_hatR_vf(i))
7627# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7628#elif defined(MFC_OpenMP)
7629# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7630!$omp target enter data map(to:rhs_hatR_vf(i))
7631# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7632#endif
7633# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7634 if (associated(rhs_hatr_vf(i)%sf)) then
7635# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7636
7637# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7638#if defined(MFC_OpenACC)
7639# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7640!$acc enter data copyin(rhs_hatR_vf(i)%sf)
7641# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7642#elif defined(MFC_OpenMP)
7643# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7644!$omp target enter data map(to:rhs_hatR_vf(i)%sf)
7645# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7646#endif
7647# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7648 end if
7649# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7650 end block
7651# 546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7652#endif
7653# 547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7654 end do
7655 end if
7656
7657 ! Spatial body force source arrays - sized to include ghost cells so the
7658 ! same indexing as q_*_vf is valid; iteration is restricted to interior
7659 ! cells via the `bounds` argument in m_body_forces. Only allocated when the
7660 ! feature is active (the write/read sites are likewise guarded).
7661 if (bf_spatial_support) then
7662 if (n > 0) then
7663 if (p > 0) then
7664#ifdef MFC_DEBUG
7665# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7666 block
7667# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7668 use iso_fortran_env, only: output_unit
7669# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7670
7671# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7672 print *, 'm_rhs.fpp:557: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7673# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7674
7675# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7676 call flush (output_unit)
7677# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7678 end block
7679# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7680#endif
7681# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7682 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7683# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7684
7685# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7686
7687# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7688#if defined(MFC_OpenACC)
7689# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7690!$acc enter data create(spbf_source_x)
7691# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7692#elif defined(MFC_OpenMP)
7693# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7694!$omp target enter data map(always,alloc:spbf_source_x)
7695# 557 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7696#endif
7697# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7698#ifdef MFC_DEBUG
7699# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7700 block
7701# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7702 use iso_fortran_env, only: output_unit
7703# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7704
7705# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7706 print *, 'm_rhs.fpp:558: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
7707# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7708
7709# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7710 call flush (output_unit)
7711# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7712 end block
7713# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7714#endif
7715# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7716 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))
7717# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7718
7719# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7720
7721# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7722#if defined(MFC_OpenACC)
7723# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7724!$acc enter data create(spbf_source_y)
7725# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7726#elif defined(MFC_OpenMP)
7727# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7728!$omp target enter data map(always,alloc:spbf_source_y)
7729# 558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7730#endif
7731# 559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7732 else
7733#ifdef MFC_DEBUG
7734# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7735 block
7736# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7737 use iso_fortran_env, only: output_unit
7738# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7739
7740# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7741 print *, 'm_rhs.fpp:560: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7742# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7743
7744# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7745 call flush (output_unit)
7746# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7747 end block
7748# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7749#endif
7750# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7751 allocate (spbf_source_x(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7752# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7753
7754# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7755
7756# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7757#if defined(MFC_OpenACC)
7758# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7759!$acc enter data create(spbf_source_x)
7760# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7761#elif defined(MFC_OpenMP)
7762# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7763!$omp target enter data map(always,alloc:spbf_source_x)
7764# 560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7765#endif
7766# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7767#ifdef MFC_DEBUG
7768# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7769 block
7770# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7771 use iso_fortran_env, only: output_unit
7772# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7773
7774# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7775 print *, 'm_rhs.fpp:561: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
7776# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7777
7778# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7779 call flush (output_unit)
7780# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7781 end block
7782# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7783#endif
7784# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7785 allocate (spbf_source_y(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
7786# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7787
7788# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7789
7790# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7791#if defined(MFC_OpenACC)
7792# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7793!$acc enter data create(spbf_source_y)
7794# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7795#elif defined(MFC_OpenMP)
7796# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7797!$omp target enter data map(always,alloc:spbf_source_y)
7798# 561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7799#endif
7800# 562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7801 end if
7802 else
7803#ifdef MFC_DEBUG
7804# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7805 block
7806# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7807 use iso_fortran_env, only: output_unit
7808# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7809
7810# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7811 print *, 'm_rhs.fpp:564: ', '@:ALLOCATE(spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))'
7812# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7813
7814# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7815 call flush (output_unit)
7816# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7817 end block
7818# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7819#endif
7820# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7821 allocate (spbf_source_x(-buff_size:buff_size + m, 0:0, 0:0))
7822# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7823
7824# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7825
7826# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7827#if defined(MFC_OpenACC)
7828# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7829!$acc enter data create(spbf_source_x)
7830# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7831#elif defined(MFC_OpenMP)
7832# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7833!$omp target enter data map(always,alloc:spbf_source_x)
7834# 564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7835#endif
7836# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7837#ifdef MFC_DEBUG
7838# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7839 block
7840# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7841 use iso_fortran_env, only: output_unit
7842# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7843
7844# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7845 print *, 'm_rhs.fpp:565: ', '@:ALLOCATE(spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))'
7846# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7847
7848# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7849 call flush (output_unit)
7850# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7851 end block
7852# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7853#endif
7854# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7855 allocate (spbf_source_y(-buff_size:buff_size + m, 0:0, 0:0))
7856# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7857
7858# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7859
7860# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7861#if defined(MFC_OpenACC)
7862# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7863!$acc enter data create(spbf_source_y)
7864# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7865#elif defined(MFC_OpenMP)
7866# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7867!$omp target enter data map(always,alloc:spbf_source_y)
7868# 565 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7869#endif
7870# 566 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7871 end if
7872#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7873# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7874 block
7875# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7876 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7877# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7878 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7879# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7880#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7881# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7882 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7883# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7884#else
7885# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7886 use cuda_runtime_api
7887# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7888#endif
7889# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7890 integer :: istat
7891# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7892
7893# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7894 if (nv_uvm_pref_gpu) then
7895# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7896 ! set preferred location GPU
7897# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7898 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetpreferredlocation, 0)
7899# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7900 if (istat /= cudasuccess) then
7901# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7902 write (*, "('Error code: ',I0, ': ')") istat
7903# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7904 end if
7905# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7906 ! set accessed by CPU
7907# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7908 istat = cudamemadvise(c_devloc(spbf_source_x), sizeof(spbf_source_x), cudamemadvisesetaccessedby, cudacpudeviceid)
7909# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7910 if (istat /= cudasuccess) then
7911# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7912 write (*, "('Error code: ',I0, ': ')") istat
7913# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7914 end if
7915# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7916 ! prefetch to GPU - physically populate memory pages
7917# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7918 istat = cudamemprefetchasync(c_devloc(spbf_source_x), sizeof(spbf_source_x), 0, 0)
7919# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7920 if (istat /= cudasuccess) then
7921# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7922 write (*, "('Error code: ',I0, ': ')") istat
7923# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7924 end if
7925# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7926 end if
7927# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7928 end block
7929# 567 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7930#endif
7931# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7932#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
7933# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7934 block
7935# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7936 ! NVIDIA CUDA Fortran 25.3+: uses submodules (cuda_runtime_api, gpu_reductions, sort) See
7937# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7938 ! https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#fortran-host-modules
7939# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7940#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
7941# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7942 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
7943# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7944#else
7945# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7946 use cuda_runtime_api
7947# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7948#endif
7949# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7950 integer :: istat
7951# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7952
7953# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7954 if (nv_uvm_pref_gpu) then
7955# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7956 ! set preferred location GPU
7957# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7958 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetpreferredlocation, 0)
7959# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7960 if (istat /= cudasuccess) then
7961# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7962 write (*, "('Error code: ',I0, ': ')") istat
7963# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7964 end if
7965# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7966 ! set accessed by CPU
7967# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7968 istat = cudamemadvise(c_devloc(spbf_source_y), sizeof(spbf_source_y), cudamemadvisesetaccessedby, cudacpudeviceid)
7969# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7970 if (istat /= cudasuccess) then
7971# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7972 write (*, "('Error code: ',I0, ': ')") istat
7973# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7974 end if
7975# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7976 ! prefetch to GPU - physically populate memory pages
7977# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7978 istat = cudamemprefetchasync(c_devloc(spbf_source_y), sizeof(spbf_source_y), 0, 0)
7979# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7980 if (istat /= cudasuccess) then
7981# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7982 write (*, "('Error code: ',I0, ': ')") istat
7983# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7984 end if
7985# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7986 end if
7987# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7988 end block
7989# 568 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7990#endif
7991# 569 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7992
7993 spbf_source_x = 0._wp
7994 spbf_source_y = 0._wp
7995
7996# 572 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7997#if defined(MFC_OpenACC)
7998# 572 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
7999!$acc update device(spbf_source_x, spbf_source_y)
8000# 572 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8001#elif defined(MFC_OpenMP)
8002# 572 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8003!$omp target update to(spbf_source_x, spbf_source_y)
8004# 572 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8005#endif
8006# 573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8007 end if
8008
8009 end subroutine s_initialize_rhs_module
8010
8011 !> Compute the right-hand side of the semi-discrete governing equations for a single time stage
8012 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)
8013
8014 type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_vf
8015 type(scalar_field), intent(inout) :: q_t_sf
8016 type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf
8017 type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type
8018 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8019 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: pb_in
8020
8021 ! TODO :: I think these other two variables need to be stp as well, but it doesn't compile like that right now
8022 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_pb
8023 real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: mv_in
8024 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) :: rhs_mv
8025 integer, intent(in) :: t_step
8026 integer, intent(in) :: stage
8027 integer :: id
8028 integer(kind=8) :: i, j, k, l, q !< Generic loop iterators
8029
8030 ! RHS: halo exchange -> reconstruct -> Riemann solve -> flux difference -> source terms
8031
8032 call nvtxstartrange("COMPUTE-RHS")
8033
8034 if (.not. igr) then
8035 ! Association/Population of Working Variables
8036
8037# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8038
8039# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8040#if defined(MFC_OpenACC)
8041# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8042!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
8043# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8044#elif defined(MFC_OpenMP)
8045# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8046
8047# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8048
8049# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8050
8051# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8052!$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)
8053# 602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8054#endif
8055# 603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8056 do l = idwbuff(3)%beg, idwbuff(3)%end
8057 do k = idwbuff(2)%beg, idwbuff(2)%end
8058 do j = idwbuff(1)%beg, idwbuff(1)%end
8059
8060# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8061#if defined(MFC_OpenACC)
8062# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8063!$acc loop seq
8064# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8065#elif defined(MFC_OpenMP)
8066# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8067
8068# 606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8069#endif
8070# 607 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8071 do i = 1, sys_size
8072 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_vf(i)%sf(j, k, l)
8073 end do
8074 end do
8075 end do
8076 end do
8077
8078# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8079#if defined(MFC_OpenACC)
8080# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8081!$acc end parallel loop
8082# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8083#elif defined(MFC_OpenMP)
8084# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8085
8086# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8087!$omp end target teams loop
8088# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8089#endif
8090# 614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8091
8092 ! Converting Conservative to Primitive Variables
8093
8094 if (mpp_lim .and. bubbles_euler) then
8095
8096# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8097
8098# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8099#if defined(MFC_OpenACC)
8100# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8101!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8102# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8103#elif defined(MFC_OpenMP)
8104# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8105
8106# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8107
8108# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8109
8110# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8111!$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)
8112# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8113#endif
8114# 619 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8115 do l = idwbuff(3)%beg, idwbuff(3)%end
8116 do k = idwbuff(2)%beg, idwbuff(2)%end
8117 do j = idwbuff(1)%beg, idwbuff(1)%end
8118 alf_sum%sf(j, k, l) = 0._wp
8119
8120# 623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8121#if defined(MFC_OpenACC)
8122# 623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8123!$acc loop seq
8124# 623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8125#elif defined(MFC_OpenMP)
8126# 623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8127
8128# 623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8129#endif
8130# 624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8131 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
8132 alf_sum%sf(j, k, l) = alf_sum%sf(j, k, l) + q_cons_qp%vf(i)%sf(j, k, l)
8133 end do
8134
8135# 627 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8136#if defined(MFC_OpenACC)
8137# 627 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8138!$acc loop seq
8139# 627 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8140#elif defined(MFC_OpenMP)
8141# 627 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8142
8143# 627 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8144#endif
8145# 628 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8146 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
8147 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_qp%vf(i)%sf(j, k, &
8148 & l)*(1._wp - q_cons_qp%vf(eqn_idx%alf)%sf(j, k, l))/alf_sum%sf(j, k, l)
8149 end do
8150 end do
8151 end do
8152 end do
8153
8154# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8155#if defined(MFC_OpenACC)
8156# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8157!$acc end parallel loop
8158# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8159#elif defined(MFC_OpenMP)
8160# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8161
8162# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8163!$omp end target teams loop
8164# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8165#endif
8166# 636 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8167 end if
8168 end if
8169
8170 if (igr) then
8171 call nvtxstartrange("RHS-COMMUNICATION")
8172 call s_populate_variables_buffers(bc_type, q_cons_vf, pb_in, mv_in, q_t_sf)
8173 call nvtxendrange
8174 end if
8175 if (.not. igr) then
8176 call nvtxstartrange("RHS-CONVERT")
8177 call s_convert_conservative_to_primitive_variables(q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8178 call nvtxendrange
8179
8180 call nvtxstartrange("RHS-COMMUNICATION")
8181 call s_populate_variables_buffers(bc_type, q_prim_qp%vf, pb_in, mv_in, q_t_sf)
8182 call nvtxendrange
8183 end if
8184
8185 if (cfl_dt) then
8186 if (mytime >= t_stop) return
8187 else
8188 if (t_step == t_step_stop) return
8189 end if
8190
8191 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), &
8192 & idwbuff(2), idwbuff(3))
8193
8194 if ((viscous .and. .not. igr)) then
8195 call nvtxstartrange("RHS-VISCOUS")
8198 & idwbuff(1), idwbuff(2), idwbuff(3))
8199 call nvtxendrange
8200 end if
8201
8202 if (surface_tension) then
8203 call nvtxstartrange("RHS-SURFACE-TENSION")
8204 call s_get_capillary(q_prim_qp%vf, bc_type)
8205 call nvtxendrange
8206 end if
8207
8208 if (int_comp == int_comp_mthinc .and. n > 0) then
8209 call nvtxstartrange("RHS-COMPRESSION-NORMALS")
8210 call s_compute_mthinc_normals(q_prim_qp%vf)
8211 call nvtxendrange
8212 end if
8213
8214 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8215 do id = 1, num_dims
8216 if (igr) then
8217 if (id == 1) then
8218
8219# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8220
8221# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8222#if defined(MFC_OpenACC)
8223# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8224!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8225# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8226#elif defined(MFC_OpenMP)
8227# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8228
8229# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8230
8231# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8232
8233# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8234!$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)
8235# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8236#endif
8237# 688 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8238 do l = -1, p + 1
8239 do k = -1, n + 1
8240 do j = -1, m + 1
8241 do i = 1, sys_size
8242 rhs_vf(i)%sf(j, k, l) = 0._stp
8243 end do
8244 end do
8245 end do
8246 end do
8247
8248# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8249#if defined(MFC_OpenACC)
8250# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8251!$acc end parallel loop
8252# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8253#elif defined(MFC_OpenMP)
8254# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8255
8256# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8257!$omp end target teams loop
8258# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8259#endif
8260# 698 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8261 end if
8262
8263 call nvtxstartrange("IGR_RIEMANN")
8264 call s_igr_riemann_solver(q_cons_vf, rhs_vf, id)
8265 call nvtxendrange
8266
8267 if (id == 1) then
8268 call nvtxstartrange("IGR_Jacobi")
8269 call s_igr_iterative_solve(q_cons_vf, bc_type, t_step)
8270 call nvtxendrange
8271
8272 call nvtxstartrange("IGR_SIGMA")
8273 call s_igr_sigma_x(q_cons_vf, rhs_vf)
8274 call nvtxendrange
8275 end if
8276 end if
8277 if (.not. igr) then
8279
8280 call s_compute_directional_rhs(id, rhs_vf, .false.)
8281
8282 ! RHS additions for hypoelasticity
8283 if (hypo_nc_mode == hypo_nc_mode_finite_diff) then
8284 call nvtxstartrange("RHS-HYPOELASTICITY-FD-PER-SWEEP")
8285 call s_compute_hypoelastic_rhs_finite_diff_per_sweep(id, q_prim_qp%vf, rhs_vf)
8286 call nvtxendrange
8287 end if
8288
8289 ! RHS for diffusion
8290 if (chemistry .and. chem_params%diffusion) then
8291 call nvtxstartrange("RHS-CHEM-DIFFUSION")
8292 call s_compute_chemistry_diffusion_flux(id, q_prim_qp%vf, flux_src_n(id)%vf, irx, iry, irz, q_t_sf)
8293 call nvtxendrange
8294 end if
8295
8296 ! RHS for Fourier heat conduction
8297 if (heat_conduction) then
8298 call nvtxstartrange("RHS-CONDUCTION")
8299 call s_compute_conduction_source_flux(id, q_prim_qp%vf, q_t_sf, flux_src_n(id)%vf, irx, iry, irz)
8300 call nvtxendrange
8301 end if
8302
8303 ! Viscous stress contribution to RHS
8304 if (viscous .or. surface_tension .or. chem_params%diffusion .or. heat_conduction) then
8305 call nvtxstartrange("RHS-ADD-PHYSICS")
8306 call s_compute_additional_physics_rhs(id, q_prim_qp%vf, q_t_sf, rhs_vf, flux_src_n(id)%vf, &
8307 & dq_prim_dx_qp(1)%vf, dq_prim_dy_qp(1)%vf, dq_prim_dz_qp(1)%vf)
8308 call nvtxendrange
8309 end if
8310
8311 ! Bubble dynamics source terms
8312 if (bubbles_euler) then
8313 call nvtxstartrange("RHS-BUBBLES-COMPUTE")
8314 call s_compute_bubbles_ee_rhs(id, q_prim_qp%vf, divu)
8315 call nvtxendrange
8316 end if
8317
8318 ! RHS additions for qbmm bubbles
8319 if (qbmm) then
8320 call nvtxstartrange("RHS-QBMM")
8321 call s_compute_qbmm_rhs(id, q_cons_qp%vf, q_prim_qp%vf, rhs_vf, flux_n(id)%vf, pb_in, rhs_pb)
8322 call nvtxendrange
8323 end if
8324 ! END: Additional physics and source terms
8325
8326 if (hyper_cleaning) then
8327
8328# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8329
8330# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8331#if defined(MFC_OpenACC)
8332# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8333!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8334# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8335#elif defined(MFC_OpenMP)
8336# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8337
8338# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8339
8340# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8341
8342# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8343!$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)
8344# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8345#endif
8346# 765 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8347 do l = 0, p
8348 do k = 0, n
8349 do j = 0, m
8350 rhs_vf(eqn_idx%psi)%sf(j, k, l) = rhs_vf(eqn_idx%psi)%sf(j, k, &
8351 & l) - q_prim_vf(eqn_idx%psi)%sf(j, k, l)/hyper_cleaning_tau
8352 end do
8353 end do
8354 end do
8355
8356# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8357#if defined(MFC_OpenACC)
8358# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8359!$acc end parallel loop
8360# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8361#elif defined(MFC_OpenMP)
8362# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8363
8364# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8365!$omp end target teams loop
8366# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8367#endif
8368# 774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8369 end if
8370
8371 ! END: Additional physics and source terms
8372 end if
8373 end do
8374 else
8375 ! Fused dual-pass HLLD: per direction, the Riemann states are reconstructed once and ONE fused solve computes both
8376 ! 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*
8377 ! buffers). The hat_L partial RHS is assembled first; the hat_R set is then finalized into the same (already consumed)
8378 ! flux field arrays and assembled. The full RHS is the sum of the two anchored partial RHS's; the axisymmetric
8379 ! cylindrical completion for the volume fractions and stresses is applied once on the summed RHS, using the cell's own
8380 ! two anchored radial face traces (hat_L outer face, hat_R inner face).
8381 do id = 1, num_dims
8383 call s_compute_directional_rhs(id, rhs_hatl_vf, .true.)
8384 call nvtxstartrange("RHS-RIEMANN-FINALIZE-HATR")
8385 call s_finalize_riemann_solver_hatr(flux_n(id)%vf, flux_gsrc_n(id)%vf, id)
8386 if (use_nc_iface_vel) then
8387 call s_finalize_nc_iface_vel_hatr(nc_iface_vel_hatr_n(id)%vf, id)
8388 end if
8389 call nvtxendrange
8390 call nvtxstartrange("RHS-ADVECTION-SRC")
8392 call nvtxendrange
8393 end do
8394
8395
8396# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8397
8398# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8399#if defined(MFC_OpenACC)
8400# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8401!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8402# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8403#elif defined(MFC_OpenMP)
8404# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8405
8406# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8407
8408# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8409
8410# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8411!$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)
8412# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8413#endif
8414# 801 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8415 do i = 1, sys_size
8416 do l = 0, p
8417 do k = 0, n
8418 do j = 0, m
8419 rhs_vf(i)%sf(j, k, l) = rhs_hatl_vf(i)%sf(j, k, l) + rhs_hatr_vf(i)%sf(j, k, l)
8420 end do
8421 end do
8422 end do
8423 end do
8424
8425# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8426#if defined(MFC_OpenACC)
8427# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8428!$acc end parallel loop
8429# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8430#elif defined(MFC_OpenMP)
8431# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8432
8433# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8434!$omp end target teams loop
8435# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8436#endif
8437# 811 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8438
8439 if (grid_geometry == 2) then
8440 call nvtxstartrange("RHS-HYPOELASTICITY-AXISYM-HLLD")
8441 call s_compute_hypoelastic_rhs_axisym_geom_dual_pass(q_prim_qp%vf, rhs_vf, nc_iface_vel_n(2)%vf, &
8442 & nc_iface_vel_hatr_n(2)%vf)
8443 call nvtxendrange
8444 end if
8445 end if
8446 ! END: Dimensional Splitting Loop
8447
8448 ! RHS additions for hypoelasticity (interface-consistent path, after all sweeps)
8449 if (hypo_nc_mode == hypo_nc_mode_interface) then
8450 call nvtxstartrange("RHS-HYPOELASTICITY-IFACE")
8451 call s_compute_hypoelastic_rhs_iface(q_prim_qp%vf, rhs_vf, nc_iface_vel_n)
8452 call nvtxendrange
8453 end if
8454 if (ib) then
8455
8456# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8457
8458# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8459#if defined(MFC_OpenACC)
8460# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8461!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
8462# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8463#elif defined(MFC_OpenMP)
8464# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8465
8466# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8467
8468# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8469
8470# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8471!$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)
8472# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8473#endif
8474# 829 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8475 do l = 0, p
8476 do k = 0, n
8477 do j = 0, m
8478 if (ib_markers%sf(j, k, l) /= 0) then
8479 do i = 1, sys_size
8480 rhs_vf(i)%sf(j, k, l) = 0._wp
8481 end do
8482 end if
8483 end do
8484 end do
8485 end do
8486
8487# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8488#if defined(MFC_OpenACC)
8489# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8490!$acc end parallel loop
8491# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8492#elif defined(MFC_OpenMP)
8493# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8494
8495# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8496!$omp end target teams loop
8497# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8498#endif
8499# 841 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8500 end if
8501
8502 ! Additional Physics and Source Terms Additions for acoustic_source
8503 if (acoustic_source) then
8504 call nvtxstartrange("RHS-ACOUSTIC-SRC")
8505 call s_acoustic_src_calculations(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8506 call nvtxendrange
8507 end if
8508
8509 ! Add bubbles source term
8510 if (bubbles_euler .and. (.not. adap_dt) .and. (.not. qbmm)) then
8511 call nvtxstartrange("RHS-BUBBLES-SRC")
8512 call s_compute_bubble_ee_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf, divu)
8513 call nvtxendrange
8514 end if
8515
8516 ! ptil is a probe-output diagnostic only, so evaluate it only when probes are on.
8517 ! This sits outside the source-term branch above so that the qbmm and adap_dt
8518 ! paths, which skip that branch, still get a filled ptil.
8519 if (bubbles_euler .and. probe_wrt) then
8520 call s_compute_ptilde(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size))
8521 end if
8522
8523 if (bubbles_lagrange) then
8524 if (.not. adap_dt) then
8525 call nvtxstartrange("RHS-EL-BUBBLES-DYN")
8526 call s_compute_bubble_el_dynamics(q_prim_qp%vf(1:sys_size), bc_type, stage)
8527 call nvtxendrange
8528 end if
8529
8530 if (lag_params%solver_approach == 2) then
8531 call nvtxstartrange("RHS-EL-BUBBLES-SRC")
8532 call s_compute_bubbles_el_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8533 call nvtxendrange
8534 end if
8535 end if
8536
8537 ! When reaction_substeps > 0 the reaction source is integrated by operator splitting
8538 ! after the flow update (s_chemistry_reaction_substep), not added to the flow RHS here.
8539 if (chemistry .and. chem_params%reactions .and. chem_params%reaction_substeps == 0) then
8540 call nvtxstartrange("RHS-CHEM-REACTIONS")
8541 call s_compute_chemistry_reaction_flux(rhs_vf, q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8542 call nvtxendrange
8543 end if
8544
8545 ! With rburn%substeps > 0 the burn is integrated by operator splitting after the flow
8546 ! update (s_reactive_burn_substep), not added to the flow RHS here.
8547 if (reactive_burn .and. rburn%substeps == 0) then
8548 call nvtxstartrange("RHS-REACTIVE-BURN")
8549 call s_compute_reactive_burn(rhs_vf, q_cons_qp%vf, q_prim_qp%vf, idwint)
8550 call nvtxendrange
8551 end if
8552
8553 if (cont_damage) call s_compute_damage_state(q_cons_qp%vf, q_prim_qp%vf, rhs_vf)
8554
8555 ! END: Additional physics and source terms
8556
8557 if (run_time_info .or. probe_wrt .or. ib .or. bubbles_lagrange) then
8558 if (.not. igr) then
8559
8560# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8561
8562# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8563#if defined(MFC_OpenACC)
8564# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8565!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8566# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8567#elif defined(MFC_OpenMP)
8568# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8569
8570# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8571
8572# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8573
8574# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8575!$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)
8576# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8577#endif
8578# 901 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8579 do i = 1, sys_size
8580 do l = idwbuff(3)%beg, idwbuff(3)%end
8581 do k = idwbuff(2)%beg, idwbuff(2)%end
8582 do j = idwbuff(1)%beg, idwbuff(1)%end
8583 q_prim_vf(i)%sf(j, k, l) = q_prim_qp%vf(i)%sf(j, k, l)
8584 end do
8585 end do
8586 end do
8587 end do
8588
8589# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8590#if defined(MFC_OpenACC)
8591# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8592!$acc end parallel loop
8593# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8594#elif defined(MFC_OpenMP)
8595# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8596
8597# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8598!$omp end target teams loop
8599# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8600#endif
8601# 911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8602 end if
8603 end if
8604
8605 call nvtxendrange
8606
8607 end subroutine s_compute_rhs
8608
8609 !> Reconstructs the left/right Riemann states (cell-boundary values) for one sweep direction into the module face buffers
8610 !! (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
8611 !! sweep direction; both anchored passes of the fused dual-pass HLLD solve in that direction reuse these buffers.
8613
8614 integer, intent(in) :: id
8615 integer :: i, j, k, l !< Generic loop iterators
8616
8617 call nvtxstartrange("RHS-RECONSTRUCTION")
8618
8619 if (.not. surface_tension) then
8620 if ((.not. weno_re_flux) .or. int_comp > 0) then
8621 ! Reconstruct densitiess
8622 iv%beg = 1; iv%end = sys_size
8624 else
8625 iv%beg = 1; iv%end = eqn_idx%cont%end
8627
8628 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8629
8630# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8631#if defined(MFC_OpenACC)
8632# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8633!$acc update device(iv, iglob)
8634# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8635#elif defined(MFC_OpenMP)
8636# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8637!$omp target update to(iv, iglob)
8638# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8639#endif
8640# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8641
8642
8643# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8644
8645# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8646#if defined(MFC_OpenACC)
8647# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8648!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8649# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8650#elif defined(MFC_OpenMP)
8651# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8652
8653# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8654
8655# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8656
8657# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8658!$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)
8659# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8660#endif
8661# 941 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8662 do i = iv%beg, iv%end
8663 do l = idwbuff(3)%beg, idwbuff(3)%end
8664 do k = idwbuff(2)%beg, idwbuff(2)%end
8665 do j = idwbuff(1)%beg, idwbuff(1)%end
8666 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8667 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8668 end do
8669 end do
8670 end do
8671 end do
8672
8673# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8674#if defined(MFC_OpenACC)
8675# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8676!$acc end parallel loop
8677# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8678#elif defined(MFC_OpenMP)
8679# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8680
8681# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8682!$omp end target teams loop
8683# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8684#endif
8685# 952 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8686
8687 iv%beg = eqn_idx%E; iv%end = sys_size
8689 end if
8690 else
8691 if (int_comp > 0) then
8692 ! THINC reads cont and adv from v_rs_ws; must reconstruct full sys_size range to populate both
8693 iv%beg = 1; iv%end = sys_size
8695 ! Surface tension requires first-order energy; overwrite the higher-order result from the full pass above
8696 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8698 else if ((.not. weno_re_flux)) then
8699 iv%beg = 1; iv%end = eqn_idx%E - 1
8701
8702 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8704
8705 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8707 else
8708 iv%beg = 1; iv%end = eqn_idx%cont%end
8710
8711 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8712
8713# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8714#if defined(MFC_OpenACC)
8715# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8716!$acc update device(iv, iglob)
8717# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8718#elif defined(MFC_OpenMP)
8719# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8720!$omp target update to(iv, iglob)
8721# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8722#endif
8723# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8724
8725
8726# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8727
8728# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8729#if defined(MFC_OpenACC)
8730# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8731!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8732# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8733#elif defined(MFC_OpenMP)
8734# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8735
8736# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8737
8738# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8739
8740# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8741!$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)
8742# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8743#endif
8744# 981 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8745 do i = iv%beg, iv%end
8746 do l = idwbuff(3)%beg, idwbuff(3)%end
8747 do k = idwbuff(2)%beg, idwbuff(2)%end
8748 do j = idwbuff(1)%beg, idwbuff(1)%end
8749 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8750 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8751 end do
8752 end do
8753 end do
8754 end do
8755
8756# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8757#if defined(MFC_OpenACC)
8758# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8759!$acc end parallel loop
8760# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8761#elif defined(MFC_OpenMP)
8762# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8763
8764# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8765!$omp end target teams loop
8766# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8767#endif
8768# 992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8769
8770 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8772
8773 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8775 end if
8776 end if
8777
8778 ! Reconstruct viscous derivatives for viscosity
8779 if (weno_re_flux) then
8780 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end
8781 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, &
8782 & 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))
8783 if (n > 0) then
8784 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dy_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, dqr_rsx_vf, &
8785 & 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), &
8786 & idwbuff(3))
8787 if (p > 0) then
8788 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dz_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, &
8789 & 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), &
8790 & idwbuff(2), idwbuff(3))
8791 end if
8792 end if
8793 end if
8794
8795 call nvtxendrange
8796
8797 end subroutine s_reconstruct_riemann_states
8798
8799 !> Computes one sweep direction's contribution to the RHS: the Riemann solve on the reconstructed cell-boundary states followed
8800 !! by the advection source term. For dual-pass HLLD the fused solve computes BOTH anchored flux sets in one call; this routine
8801 !! assembles the hat_L (is_hat_L=.true.) partial RHS, and the caller finalizes + assembles the hat_R set afterwards. is_hat_L
8802 !! selects which one-sided flux difference the advection source applies into rhs_vf.
8803 subroutine s_compute_directional_rhs(id, rhs_vf, is_hat_L)
8804
8805 integer, intent(in) :: id
8806 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8807 logical, intent(in) :: is_hat_L
8808
8809 ! Configuring Coordinate Direction Indexes
8810
8811 if (id == 1) then
8812 irx%beg = -1; iry%beg = 0; irz%beg = 0
8813 else if (id == 2) then
8814 irx%beg = 0; iry%beg = -1; irz%beg = 0
8815 else
8816 irx%beg = 0; iry%beg = 0; irz%beg = -1
8817 end if
8818 irx%end = m; iry%end = n; irz%end = p
8819
8820 ! Computing Riemann Solver Flux and Source Flux
8821 call nvtxstartrange("RHS-RIEMANN-SOLVER")
8822 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, &
8823 & 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, &
8824 & q_prim_qp%vf, flux_n(id)%vf, flux_src_n(id)%vf, flux_gsrc_n(id)%vf, id, irx, iry, irz)
8825 call nvtxendrange
8826
8827 if (use_nc_iface_vel) then
8828 call s_finalize_nc_iface_vel(nc_iface_vel_n(id)%vf, id)
8829 end if
8830
8831 ! Additional physics and source terms RHS addition for advection source
8832 call nvtxstartrange("RHS-ADVECTION-SRC")
8833 call s_compute_advection_source_term(id, rhs_vf, q_cons_qp, q_prim_qp, flux_src_n(id), is_hat_l)
8834 call nvtxendrange
8835
8836 end subroutine s_compute_directional_rhs
8837
8838 !> Accumulate advection source contributions from a given coordinate direction into the RHS
8839 subroutine s_compute_advection_source_term(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, is_hat_L)
8840
8841 integer, intent(in) :: idir
8842 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8843 type(vector_field), intent(inout) :: q_cons_vf
8844 type(vector_field), intent(inout) :: q_prim_vf
8845 type(vector_field), intent(inout) :: flux_src_n_vf
8846 logical, intent(in) :: is_hat_L
8847 integer :: j, k, l, q !< Loop iterators from original, meaning varies
8848 integer :: k_loop, l_loop, q_loop !< Standardized spatial loop iterators 0:m, 0:n, 0:p
8849 integer :: i_fluid_loop
8850 real(wp) :: inv_ds, flux_face1, flux_face2
8851 real(wp) :: advected_qty_val, pressure_val
8852 real(wp) :: G1_eff, G2_eff, pres_K, alpha_K, alpha_rho_K, blkmod_K
8853
8854 g1_eff = 0._wp
8855 g2_eff = 0._wp
8856 if (hypoelasticity) then
8857 g1_eff = fluid_pp(1)%G
8858 g2_eff = fluid_pp(2)%G
8859 end if
8860
8861 if (alt_soundspeed) then
8862
8863# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8864
8865# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8866#if defined(MFC_OpenACC)
8867# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8868!$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)
8869# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8870#elif defined(MFC_OpenMP)
8871# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8872
8873# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8874
8875# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8876
8877# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8878!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8879# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8880!$omp& private(k_loop, l_loop, q_loop, pres_K, alpha_K, alpha_rho_K, blkmod_K)
8881# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8882#endif
8883# 1086 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8884 do q_loop = 0, p
8885 do l_loop = 0, n
8886 do k_loop = 0, m
8887 ! Scalars in, scalar out: an element of a device-resident array passed by reference to a
8888 ! device routine is read or written at the wrong address on Cray OpenACC.
8889 pres_k = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
8890 alpha_k = q_prim_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8891 alpha_rho_k = q_prim_vf%vf(eqn_idx%cont%beg)%sf(k_loop, l_loop, q_loop)
8892 call s_phase_bulk_modulus(pres_k, alpha_k, alpha_rho_k, 1, blkmod_k)
8893 blkmod1(k_loop, l_loop, q_loop) = blkmod_k + (4._wp/3._wp)*g1_eff
8894 alpha_k = q_prim_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8895 alpha_rho_k = q_prim_vf%vf(eqn_idx%cont%end)%sf(k_loop, l_loop, q_loop)
8896 call s_phase_bulk_modulus(pres_k, alpha_k, alpha_rho_k, 2, blkmod_k)
8897 blkmod2(k_loop, l_loop, q_loop) = blkmod_k + (4._wp/3._wp)*g2_eff
8898 alpha1(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8899
8900 if (bubbles_euler) then
8901 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%alf - 1)%sf(k_loop, l_loop, q_loop)
8902 else
8903 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8904 end if
8905
8906 kterm(k_loop, l_loop, q_loop) = alpha1(k_loop, l_loop, q_loop)*alpha2(k_loop, l_loop, &
8907 & q_loop)*(blkmod2(k_loop, l_loop, q_loop) - blkmod1(k_loop, l_loop, q_loop))/(alpha1(k_loop, &
8908 & l_loop, q_loop)*blkmod2(k_loop, l_loop, q_loop) + alpha2(k_loop, l_loop, q_loop)*blkmod1(k_loop, &
8909 & l_loop, q_loop))
8910 end do
8911 end do
8912 end do
8913
8914# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8915#if defined(MFC_OpenACC)
8916# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8917!$acc end parallel loop
8918# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8919#elif defined(MFC_OpenMP)
8920# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8921
8922# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8923!$omp end target teams loop
8924# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8925#endif
8926# 1116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8927 end if
8928
8929 select case (idir)
8930 case (1) ! x-direction
8931 if (bc_x%beg <= bc_char_slip_wall .and. bc_x%beg >= bc_char_sup_outflow) then
8932 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8933 end if
8934 if (bc_x%end <= bc_char_slip_wall .and. bc_x%end >= bc_char_sup_outflow) then
8935 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8936 end if
8937
8938 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8939
8940# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8941
8942# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8943#if defined(MFC_OpenACC)
8944# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8945!$acc parallel loop collapse(3) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8946# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8947#elif defined(MFC_OpenMP)
8948# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8949
8950# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8951
8952# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8953
8954# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8955!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8956# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8957!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8958# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8959#endif
8960# 1129 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8961 do q_loop = 0, p
8962 do l_loop = 0, n
8963 do k_loop = 0, m
8964 inv_ds = 1._wp/dx(k_loop)
8965
8966# 1133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8967#if defined(MFC_OpenACC)
8968# 1133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8969!$acc loop seq
8970# 1133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8971#elif defined(MFC_OpenMP)
8972# 1133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8973
8974# 1133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8975#endif
8976# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8977 do j = 1, sys_size
8978 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8979 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8980 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*(flux_face1 - flux_face2)
8981 end do
8982 end do
8983 end do
8984 end do
8985
8986# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8987#if defined(MFC_OpenACC)
8988# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8989!$acc end parallel loop
8990# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8991#elif defined(MFC_OpenMP)
8992# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8993
8994# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8995!$omp end target teams loop
8996# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8997#endif
8998# 1143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8999 else if (is_hat_l) then
9000
9001# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9002
9003# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9004#if defined(MFC_OpenACC)
9005# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9006!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
9007# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9008#elif defined(MFC_OpenMP)
9009# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9010
9011# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9012
9013# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9014
9015# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9016!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9017# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9018!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
9019# 1144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9020#endif
9021# 1145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9022 do j = 1, sys_size
9023 do q_loop = 0, p
9024 do l_loop = 0, n
9025 do k_loop = 0, m
9026 inv_ds = 1._wp/dx(k_loop)
9027 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
9028 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = -inv_ds*flux_face2
9029 end do
9030 end do
9031 end do
9032 end do
9033
9034# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9035#if defined(MFC_OpenACC)
9036# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9037!$acc end parallel loop
9038# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9039#elif defined(MFC_OpenMP)
9040# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9041
9042# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9043!$omp end target teams loop
9044# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9045#endif
9046# 1157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9047 else ! is_hat_R
9048
9049# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9050
9051# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9052#if defined(MFC_OpenACC)
9053# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9054!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
9055# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9056#elif defined(MFC_OpenMP)
9057# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9058
9059# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9060
9061# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9062
9063# 1158 "/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# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9066!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
9067# 1158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9068#endif
9069# 1159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9070 do j = 1, sys_size
9071 do q_loop = 0, p
9072 do l_loop = 0, n
9073 do k_loop = 0, m
9074 inv_ds = 1._wp/dx(k_loop)
9075 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
9076 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*flux_face1
9077 end do
9078 end do
9079 end do
9080 end do
9081
9082# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9083#if defined(MFC_OpenACC)
9084# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9085!$acc end parallel loop
9086# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9087#elif defined(MFC_OpenMP)
9088# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9089
9090# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9091!$omp end target teams loop
9092# 1170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9093#endif
9094# 1171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9095 end if
9096
9097 if (model_eqns == model_eqns_6eq) then
9098
9099# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9100
9101# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9102#if defined(MFC_OpenACC)
9103# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9104!$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)
9105# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9106#elif defined(MFC_OpenMP)
9107# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9108
9109# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9110
9111# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9112
9113# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9114!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9115# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9116!$omp& private(i_fluid_loop, k_loop, l_loop, q_loop, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9117# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9118#endif
9119# 1176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9120 do q_loop = 0, p
9121 do l_loop = 0, n
9122 do k_loop = 0, m
9123 do i_fluid_loop = 1, num_fluids
9124 inv_ds = 1._wp/dx(k_loop)
9125 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(k_loop, l_loop, q_loop)
9126 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
9127 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
9128 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop - 1, l_loop, q_loop)
9129 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
9130 & q_loop) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
9131 & q_loop) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9132 end do
9133 end do
9134 end do
9135 end do
9136
9137# 1192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9138#if defined(MFC_OpenACC)
9139# 1192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9140!$acc end parallel loop
9141# 1192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9142#elif defined(MFC_OpenMP)
9143# 1192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9144
9145# 1192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9146!$omp end target teams loop
9147# 1192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9148#endif
9149# 1193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9150 end if
9151
9152 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9153 case (2) ! y-direction
9154 if (bc_y%beg <= bc_char_slip_wall .and. bc_y%beg >= bc_char_sup_outflow) then
9155 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9156 end if
9157 if (bc_y%end <= bc_char_slip_wall .and. bc_y%end >= bc_char_sup_outflow) then
9158 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9159 end if
9160
9161 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9162
9163# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9164
9165# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9166#if defined(MFC_OpenACC)
9167# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9168!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9169# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9170#elif defined(MFC_OpenMP)
9171# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9172
9173# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9174
9175# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9176
9177# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9178!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9179# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9180!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9181# 1205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9182#endif
9183# 1206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9184 do l = 0, p
9185 do k = 0, n
9186 do q = 0, m
9187 inv_ds = 1._wp/dy(k)
9188
9189# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9190#if defined(MFC_OpenACC)
9191# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9192!$acc loop seq
9193# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9194#elif defined(MFC_OpenMP)
9195# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9196
9197# 1210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9198#endif
9199# 1211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9200 do j = 1, sys_size
9201 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9202 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
9203 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*(flux_face1 - flux_face2)
9204 end do
9205 end do
9206 end do
9207 end do
9208
9209# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9210#if defined(MFC_OpenACC)
9211# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9212!$acc end parallel loop
9213# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9214#elif defined(MFC_OpenMP)
9215# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9216
9217# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9218!$omp end target teams loop
9219# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9220#endif
9221# 1220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9222 else if (is_hat_l) then
9223
9224# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9225
9226# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9227#if defined(MFC_OpenACC)
9228# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9229!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9230# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9231#elif defined(MFC_OpenMP)
9232# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9233
9234# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9235
9236# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9237
9238# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9239!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9240# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9241!$omp& private(j, k, l, q, inv_ds, flux_face2)
9242# 1221 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9243#endif
9244# 1222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9245 do j = 1, sys_size
9246 do l = 0, p
9247 do k = 0, n
9248 do q = 0, m
9249 inv_ds = 1._wp/dy(k)
9250 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
9251 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - inv_ds*flux_face2
9252 end do
9253 end do
9254 end do
9255 end do
9256
9257# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9258#if defined(MFC_OpenACC)
9259# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9260!$acc end parallel loop
9261# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9262#elif defined(MFC_OpenMP)
9263# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9264
9265# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9266!$omp end target teams loop
9267# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9268#endif
9269# 1234 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9270 else ! is_hat_R
9271
9272# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9273
9274# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9275#if defined(MFC_OpenACC)
9276# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9277!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9278# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9279#elif defined(MFC_OpenMP)
9280# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9281
9282# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9283
9284# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9285
9286# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9287!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9288# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9289!$omp& private(j, k, l, q, inv_ds, flux_face1)
9290# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9291#endif
9292# 1236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9293 do j = 1, sys_size
9294 do l = 0, p
9295 do k = 0, n
9296 do q = 0, m
9297 inv_ds = 1._wp/dy(k)
9298 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9299 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*flux_face1
9300 end do
9301 end do
9302 end do
9303 end do
9304
9305# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9306#if defined(MFC_OpenACC)
9307# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9308!$acc end parallel loop
9309# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9310#elif defined(MFC_OpenMP)
9311# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9312
9313# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9314!$omp end target teams loop
9315# 1247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9316#endif
9317# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9318 end if
9319
9320 if (model_eqns == model_eqns_6eq) then
9321
9322# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9323
9324# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9325#if defined(MFC_OpenACC)
9326# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9327!$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)
9328# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9329#elif defined(MFC_OpenMP)
9330# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9331
9332# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9333
9334# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9335
9336# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9337!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9338# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9339!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9340# 1251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9341#endif
9342# 1253 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9343 do l = 0, p
9344 do k = 0, n
9345 do q = 0, m
9346 do i_fluid_loop = 1, num_fluids
9347 inv_ds = 1._wp/dy(k)
9348 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(q, k, l)
9349 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(q, k, l)
9350 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k, l)
9351 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k - 1, l)
9352 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9353 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9354 & l) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9355 if (cyl_coord) then
9356 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9357 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9358 & l) - 5.e-1_wp/y_cc(k)*advected_qty_val*pressure_val*(flux_face1 + flux_face2)
9359 end if
9360 end do
9361 end do
9362 end do
9363 end do
9364
9365# 1274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9366#if defined(MFC_OpenACC)
9367# 1274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9368!$acc end parallel loop
9369# 1274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9370#elif defined(MFC_OpenMP)
9371# 1274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9372
9373# 1274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9374!$omp end target teams loop
9375# 1274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9376#endif
9377# 1275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9378 end if
9379
9380 if (cyl_coord) then
9381 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
9382 ! Cell-owned anchored geometry: the hat_L pass owns the cell's outer radial face and the hat_R pass its
9383 ! inner face (the same anchor ownership as the one-sided flux differences above), so the summed RHS
9384 ! carries -(H_outer + H_inner)/(2*y_cc) with both faces anchored to the cell itself. With midpoint cell
9385 ! centers this equals the annular finite-volume divergence (r_+ F_+ - r_- F_-)/(y_cc*dy) for the rows
9386 ! whose geometric flux is the full radial flux.
9387 if (is_hat_l) then
9388
9389# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9390
9391# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9392#if defined(MFC_OpenACC)
9393# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9394!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face2)
9395# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9396#elif defined(MFC_OpenMP)
9397# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9398
9399# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9400
9401# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9402
9403# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9404!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9405# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9406!$omp& private(j, k, l, q, flux_face2)
9407# 1285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9408#endif
9409# 1286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9410 do j = 1, sys_size
9411 do l = 0, p
9412 do k = 0, n
9413 do q = 0, m
9414 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9415 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face2
9416 end do
9417 end do
9418 end do
9419 end do
9420
9421# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9422#if defined(MFC_OpenACC)
9423# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9424!$acc end parallel loop
9425# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9426#elif defined(MFC_OpenMP)
9427# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9428
9429# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9430!$omp end target teams loop
9431# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9432#endif
9433# 1297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9434 else ! is_hat_R
9435
9436# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9437
9438# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9439#if defined(MFC_OpenACC)
9440# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9441!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1)
9442# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9443#elif defined(MFC_OpenMP)
9444# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9445
9446# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9447
9448# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9449
9450# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9451!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9452# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9453!$omp& private(j, k, l, q, flux_face1)
9454# 1298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9455#endif
9456# 1299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9457 do j = 1, sys_size
9458 do l = 0, p
9459 do k = 0, n
9460 do q = 0, m
9461 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9462 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face1
9463 end do
9464 end do
9465 end do
9466 end do
9467
9468# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9469#if defined(MFC_OpenACC)
9470# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9471!$acc end parallel loop
9472# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9473#elif defined(MFC_OpenMP)
9474# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9475
9476# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9477!$omp end target teams loop
9478# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9479#endif
9480# 1310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9481 end if
9482 else
9483
9484# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9485
9486# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9487#if defined(MFC_OpenACC)
9488# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9489!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9490# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9491#elif defined(MFC_OpenMP)
9492# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9493
9494# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9495
9496# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9497
9498# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9499!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9500# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9501!$omp& private(j, k, l, q, flux_face1, flux_face2)
9502# 1312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9503#endif
9504# 1313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9505 do j = 1, sys_size
9506 do l = 0, p
9507 do k = 0, n
9508 do q = 0, m
9509 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9510 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9511 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)
9512 end do
9513 end do
9514 end do
9515 end do
9516
9517# 1324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9518#if defined(MFC_OpenACC)
9519# 1324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9520!$acc end parallel loop
9521# 1324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9522#elif defined(MFC_OpenMP)
9523# 1324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9524
9525# 1324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9526!$omp end target teams loop
9527# 1324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9528#endif
9529# 1325 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9530 end if
9531 end if
9532
9533 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9534 case (3) ! z-direction
9535 if (bc_z%beg <= bc_char_slip_wall .and. bc_z%beg >= bc_char_sup_outflow) then
9536 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9537 end if
9538 if (bc_z%end <= bc_char_slip_wall .and. bc_z%end >= bc_char_sup_outflow) then
9539 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9540 end if
9541
9542 if (grid_geometry == 3) then ! Cylindrical Coordinates
9543
9544# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9545
9546# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9547#if defined(MFC_OpenACC)
9548# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9549!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9550# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9551#elif defined(MFC_OpenMP)
9552# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9553
9554# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9555
9556# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9557
9558# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9559!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9560# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9561!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9562# 1338 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9563#endif
9564# 1339 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9565 do j = 1, sys_size
9566 do k = 0, p
9567 do q = 0, n
9568 do l = 0, m
9569 inv_ds = 1._wp/(dz(k)*y_cc(q))
9570 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9571 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9572 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*(flux_face1 - flux_face2)
9573 end do
9574 end do
9575 end do
9576 end do
9577
9578# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9579#if defined(MFC_OpenACC)
9580# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9581!$acc end parallel loop
9582# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9583#elif defined(MFC_OpenMP)
9584# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9585
9586# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9587!$omp end target teams loop
9588# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9589#endif
9590# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9591
9592# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9593
9594# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9595#if defined(MFC_OpenACC)
9596# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9597!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9598# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9599#elif defined(MFC_OpenMP)
9600# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9601
9602# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9603
9604# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9605
9606# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9607!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9608# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9609!$omp& private(j, k, l, q, flux_face1, flux_face2)
9610# 1352 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9611#endif
9612# 1353 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9613 do j = 1, sys_size
9614 do k = 0, p
9615 do q = 0, n
9616 do l = 0, m
9617 flux_face1 = flux_gsrc_n(3)%vf(j)%sf(l, q, k - 1)
9618 flux_face2 = flux_gsrc_n(3)%vf(j)%sf(l, q, k)
9619 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)
9620 end do
9621 end do
9622 end do
9623 end do
9624
9625# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9626#if defined(MFC_OpenACC)
9627# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9628!$acc end parallel loop
9629# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9630#elif defined(MFC_OpenMP)
9631# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9632
9633# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9634!$omp end target teams loop
9635# 1364 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9636#endif
9637# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9638 else ! Cartesian Coordinates
9639 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9640
9641# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9642
9643# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9644#if defined(MFC_OpenACC)
9645# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9646!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9647# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9648#elif defined(MFC_OpenMP)
9649# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9650
9651# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9652
9653# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9654
9655# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9656!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9657# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9658!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9659# 1367 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9660#endif
9661# 1368 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9662 do k = 0, p
9663 do q = 0, n
9664 do l = 0, m
9665 inv_ds = 1._wp/dz(k)
9666
9667# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9668#if defined(MFC_OpenACC)
9669# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9670!$acc loop seq
9671# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9672#elif defined(MFC_OpenMP)
9673# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9674
9675# 1372 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9676#endif
9677# 1373 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9678 do j = 1, sys_size
9679 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9680 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9681 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*(flux_face1 - flux_face2)
9682 end do
9683 end do
9684 end do
9685 end do
9686
9687# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9688#if defined(MFC_OpenACC)
9689# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9690!$acc end parallel loop
9691# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9692#elif defined(MFC_OpenMP)
9693# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9694
9695# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9696!$omp end target teams loop
9697# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9698#endif
9699# 1382 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9700 else if (is_hat_l) then
9701
9702# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9703
9704# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9705#if defined(MFC_OpenACC)
9706# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9707!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9708# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9709#elif defined(MFC_OpenMP)
9710# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9711
9712# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9713
9714# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9715
9716# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9717!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9718# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9719!$omp& private(j, k, l, q, inv_ds, flux_face2)
9720# 1383 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9721#endif
9722# 1384 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9723 do j = 1, sys_size
9724 do k = 0, p
9725 do q = 0, n
9726 do l = 0, m
9727 inv_ds = 1._wp/dz(k)
9728 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9729 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) - inv_ds*flux_face2
9730 end do
9731 end do
9732 end do
9733 end do
9734
9735# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9736#if defined(MFC_OpenACC)
9737# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9738!$acc end parallel loop
9739# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9740#elif defined(MFC_OpenMP)
9741# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9742
9743# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9744!$omp end target teams loop
9745# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9746#endif
9747# 1396 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9748 else ! is_hat_R
9749
9750# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9751
9752# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9753#if defined(MFC_OpenACC)
9754# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9755!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9756# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9757#elif defined(MFC_OpenMP)
9758# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9759
9760# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9761
9762# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9763
9764# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9765!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9766# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9767!$omp& private(j, k, l, q, inv_ds, flux_face1)
9768# 1397 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9769#endif
9770# 1398 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9771 do j = 1, sys_size
9772 do k = 0, p
9773 do q = 0, n
9774 do l = 0, m
9775 inv_ds = 1._wp/dz(k)
9776 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9777 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*flux_face1
9778 end do
9779 end do
9780 end do
9781 end do
9782
9783# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9784#if defined(MFC_OpenACC)
9785# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9786!$acc end parallel loop
9787# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9788#elif defined(MFC_OpenMP)
9789# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9790
9791# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9792!$omp end target teams loop
9793# 1409 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9794#endif
9795# 1410 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9796 end if
9797 end if
9798
9799 if (model_eqns == model_eqns_6eq) then
9800
9801# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9802
9803# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9804#if defined(MFC_OpenACC)
9805# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9806!$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)
9807# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9808#elif defined(MFC_OpenMP)
9809# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9810
9811# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9812
9813# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9814
9815# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9816!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9817# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9818!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9819# 1414 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9820#endif
9821# 1416 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9822 do k = 0, p
9823 do q = 0, n
9824 do l = 0, m
9825 do i_fluid_loop = 1, num_fluids
9826 inv_ds = 1._wp/dz(k)
9827 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(l, q, k)
9828 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(l, q, k)
9829 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k)
9830 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k - 1)
9831 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9832 & k) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9833 & k) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9834 end do
9835 end do
9836 end do
9837 end do
9838
9839# 1432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9840#if defined(MFC_OpenACC)
9841# 1432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9842!$acc end parallel loop
9843# 1432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9844#elif defined(MFC_OpenMP)
9845# 1432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9846
9847# 1432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9848!$omp end target teams loop
9849# 1432 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9850#endif
9851# 1433 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9852 end if
9853
9854 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9855 end select
9856
9857 contains
9858
9859 !> Add the advection source flux-difference terms for a single coordinate direction to the RHS
9860 subroutine s_add_directional_advection_source_terms(current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, &
9861 & flux_src_n_vf_arg, Kterm_arg)
9862 integer, intent(in) :: current_idir
9863 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf_arg
9864 type(vector_field), intent(in) :: q_cons_vf_arg
9865 type(vector_field), intent(in) :: q_prim_vf_arg
9866 type(vector_field), intent(in) :: flux_src_n_vf_arg
9867 real(wp), allocatable, dimension(:,:,:), intent(in) :: Kterm_arg
9868 integer :: j_adv, k_idx, l_idx, q_idx
9869 real(wp) :: local_inv_ds, local_term_coeff, local_flux1, local_flux2
9870 real(wp) :: local_k_term_val
9871
9872 ! Three mutually exclusive modes for the NC volume fraction advection source term:
9873
9874 ! adv_src_mode_alpha_iface - HLL Method 1: flux_src carries per-fluid interface alpha_k
9875
9876 ! adv_src_mode_vel_iface - HLLC, HLL Method 2, Exact, LF: flux_src carries shared face-normal velocity
9877
9878 ! adv_src_mode_none - HLLD: MHD has no volume fractions; hypo uses dual-pass Riemann flux
9879
9880 select case (current_idir)
9881 case (1) ! x-direction
9882 if (adv_src_mode == adv_src_mode_alpha_iface) then
9883 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dx.
9884
9885# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9886
9887# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9888#if defined(MFC_OpenACC)
9889# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9890!$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)
9891# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9892#elif defined(MFC_OpenMP)
9893# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9894
9895# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9896
9897# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9898
9899# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9900!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9901# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9902!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9903# 1465 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9904#endif
9905# 1467 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9906 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9907 do q_idx = 0, p ! z_extent
9908 do l_idx = 0, n ! y_extent
9909 do k_idx = 0, m ! x_extent
9910 local_inv_ds = 1._wp/dx(k_idx)
9911 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(k_idx, l_idx, q_idx)
9912 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx - 1, l_idx, q_idx)
9913 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9914 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9915 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9916 end do
9917 end do
9918 end do
9919 end do
9920
9921# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9922#if defined(MFC_OpenACC)
9923# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9924!$acc end parallel loop
9925# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9926#elif defined(MFC_OpenMP)
9927# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9928
9929# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9930!$omp end target teams loop
9931# 1481 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9932#endif
9933# 1482 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9934 if (alt_soundspeed) then ! K*div(u) correction
9935
9936# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9937
9938# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9939#if defined(MFC_OpenACC)
9940# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9941!$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)
9942# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9943#elif defined(MFC_OpenMP)
9944# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9945
9946# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9947
9948# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9949
9950# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9951!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9952# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9953!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9954# 1483 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9955#endif
9956# 1485 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9957 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9958 local_inv_ds = 1._wp/dx(k_idx)
9959 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9960 local_flux1 = nc_iface_vel_n(1)%vf(1)%sf(k_idx, l_idx, q_idx)
9961 local_flux2 = nc_iface_vel_n(1)%vf(1)%sf(k_idx - 1, l_idx, q_idx)
9962 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, &
9963 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9964 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, &
9965 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9966 end do; end do; end do
9967
9968# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9969#if defined(MFC_OpenACC)
9970# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9971!$acc end parallel loop
9972# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9973#elif defined(MFC_OpenMP)
9974# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9975
9976# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9977!$omp end target teams loop
9978# 1495 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9979#endif
9980# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9981 end if
9982 else if (adv_src_mode == adv_src_mode_vel_iface) then
9983 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dx.
9984
9985# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9986
9987# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9988#if defined(MFC_OpenACC)
9989# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9990!$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)
9991# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9992#elif defined(MFC_OpenMP)
9993# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9994
9995# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9996
9997# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9998
9999# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10000!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10001# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10002!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10003# 1499 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10004#endif
10005# 1501 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10006 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10007 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
10008 local_inv_ds = 1._wp/dx(k_idx)
10009 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
10010 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
10011 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
10012 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
10013 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10014 end do; end do; end do
10015 end do
10016
10017# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10018#if defined(MFC_OpenACC)
10019# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10020!$acc end parallel loop
10021# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10022#elif defined(MFC_OpenMP)
10023# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10024
10025# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10026!$omp end target teams loop
10027# 1511 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10028#endif
10029# 1512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10030 if (alt_soundspeed) then ! K*div(u) correction
10031
10032# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10033
10034# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10035#if defined(MFC_OpenACC)
10036# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10037!$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)
10038# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10039#elif defined(MFC_OpenMP)
10040# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10041
10042# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10043
10044# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10045
10046# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10047!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10048# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10049!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10050# 1513 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10051#endif
10052# 1515 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10053 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
10054 local_inv_ds = 1._wp/dx(k_idx)
10055 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
10056 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
10057 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
10058 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, &
10059 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10060 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, &
10061 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10062 end do; end do; end do
10063
10064# 1525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10065#if defined(MFC_OpenACC)
10066# 1525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10067!$acc end parallel loop
10068# 1525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10069#elif defined(MFC_OpenMP)
10070# 1525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10071
10072# 1525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10073!$omp end target teams loop
10074# 1525 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10075#endif
10076# 1526 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10077 end if
10078 end if
10079 case (2) ! y-direction
10080 if (adv_src_mode == adv_src_mode_alpha_iface) then
10081 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dy.
10082
10083# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10084
10085# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10086#if defined(MFC_OpenACC)
10087# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10088!$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)
10089# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10090#elif defined(MFC_OpenMP)
10091# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10092
10093# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10094
10095# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10096
10097# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10098!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10099# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10100!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10101# 1531 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10102#endif
10103# 1533 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10104 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10105 do l_idx = 0, p ! z_extent
10106 do k_idx = 0, n ! y_extent
10107 do q_idx = 0, m ! x_extent
10108 local_inv_ds = 1._wp/dy(k_idx)
10109 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(q_idx, k_idx, l_idx)
10110 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx - 1, l_idx)
10111 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
10112 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
10113 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10114 end do
10115 end do
10116 end do
10117 end do
10118
10119# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10120#if defined(MFC_OpenACC)
10121# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10122!$acc end parallel loop
10123# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10124#elif defined(MFC_OpenMP)
10125# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10126
10127# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10128!$omp end target teams loop
10129# 1547 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10130#endif
10131# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10132 if (alt_soundspeed) then ! K*div(u) correction
10133
10134# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10135
10136# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10137#if defined(MFC_OpenACC)
10138# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10139!$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)
10140# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10141#elif defined(MFC_OpenMP)
10142# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10143
10144# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10145
10146# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10147
10148# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10149!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10150# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10151!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10152# 1549 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10153#endif
10154# 1551 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10155 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10156 local_inv_ds = 1._wp/dy(k_idx)
10157 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10158 local_flux1 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx, l_idx)
10159 local_flux2 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx - 1, l_idx)
10160 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, &
10161 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10162 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, &
10163 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10164 end do; end do; end do
10165
10166# 1561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10167#if defined(MFC_OpenACC)
10168# 1561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10169!$acc end parallel loop
10170# 1561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10171#elif defined(MFC_OpenMP)
10172# 1561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10173
10174# 1561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10175!$omp end target teams loop
10176# 1561 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10177#endif
10178# 1562 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10179 if (cyl_coord) then
10180
10181# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10182
10183# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10184#if defined(MFC_OpenACC)
10185# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10186!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val)
10187# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10188#elif defined(MFC_OpenMP)
10189# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10190
10191# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10192
10193# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10194
10195# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10196!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10197# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10198!$omp& private(k_idx, l_idx, q_idx, local_k_term_val)
10199# 1563 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10200#endif
10201# 1564 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10202 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10203 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10204 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10205 & k_idx, l_idx) + local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
10206 & k_idx, l_idx)/y_cc(k_idx)
10207 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10208 & k_idx, l_idx) - local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
10209 & k_idx, l_idx)/y_cc(k_idx)
10210 end do; end do; end do
10211
10212# 1573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10213#if defined(MFC_OpenACC)
10214# 1573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10215!$acc end parallel loop
10216# 1573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10217#elif defined(MFC_OpenMP)
10218# 1573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10219
10220# 1573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10221!$omp end target teams loop
10222# 1573 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10223#endif
10224# 1574 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10225 end if
10226 end if
10227 else if (adv_src_mode == adv_src_mode_vel_iface) then
10228 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dy.
10229
10230# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10231
10232# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10233#if defined(MFC_OpenACC)
10234# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10235!$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)
10236# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10237#elif defined(MFC_OpenMP)
10238# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10239
10240# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10241
10242# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10243
10244# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10245!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10246# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10247!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10248# 1578 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10249#endif
10250# 1580 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10251 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10252 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10253 local_inv_ds = 1._wp/dy(k_idx)
10254 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
10255 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10256 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10257 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
10258 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10259 end do; end do; end do
10260 end do
10261
10262# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10263#if defined(MFC_OpenACC)
10264# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10265!$acc end parallel loop
10266# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10267#elif defined(MFC_OpenMP)
10268# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10269
10270# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10271!$omp end target teams loop
10272# 1590 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10273#endif
10274# 1591 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10275 if (alt_soundspeed) then ! K*div(u) correction
10276
10277# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10278
10279# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10280#if defined(MFC_OpenACC)
10281# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10282!$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)
10283# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10284#elif defined(MFC_OpenMP)
10285# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10286
10287# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10288
10289# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10290
10291# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10292!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10293# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10294!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10295# 1592 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10296#endif
10297# 1594 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10298 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10299 local_inv_ds = 1._wp/dy(k_idx)
10300 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10301 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10302 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10303 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, &
10304 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10305 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, &
10306 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10307 end do; end do; end do
10308
10309# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10310#if defined(MFC_OpenACC)
10311# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10312!$acc end parallel loop
10313# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10314#elif defined(MFC_OpenMP)
10315# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10316
10317# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10318!$omp end target teams loop
10319# 1604 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10320#endif
10321# 1605 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10322 if (cyl_coord) then
10323
10324# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10325
10326# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10327#if defined(MFC_OpenACC)
10328# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10329!$acc parallel loop collapse(3) gang vector default(present) private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10330# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10331#elif defined(MFC_OpenMP)
10332# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10333
10334# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10335
10336# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10337
10338# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10339!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10340# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10341!$omp& private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10342# 1606 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10343#endif
10344# 1608 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10345 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10346 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10347 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10348 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10349 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10350 & k_idx, l_idx) + (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10351 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10352 & k_idx, l_idx) - (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10353 end do; end do; end do
10354
10355# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10356#if defined(MFC_OpenACC)
10357# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10358!$acc end parallel loop
10359# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10360#elif defined(MFC_OpenMP)
10361# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10362
10363# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10364!$omp end target teams loop
10365# 1617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10366#endif
10367# 1618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10368 end if
10369 end if
10370 end if
10371 case (3) ! z-direction
10372 if (grid_geometry == 3) then
10373 if (adv_src_mode == adv_src_mode_alpha_iface) then
10374
10375# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10376
10377# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10378#if defined(MFC_OpenACC)
10379# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10380!$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)
10381# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10382#elif defined(MFC_OpenMP)
10383# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10384
10385# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10386
10387# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10388
10389# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10390!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10391# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10392!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10393# 1624 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10394#endif
10395# 1626 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10396 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10397 do k_idx = 0, p ! z_extent
10398 do q_idx = 0, n ! y_extent
10399 do l_idx = 0, m ! x_extent
10400 local_inv_ds = 1._wp/(dz(k_idx)*y_cc(q_idx))
10401 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10402 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10403 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10404 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10405 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10406 end do
10407 end do
10408 end do
10409 end do
10410
10411# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10412#if defined(MFC_OpenACC)
10413# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10414!$acc end parallel loop
10415# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10416#elif defined(MFC_OpenMP)
10417# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10418
10419# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10420!$omp end target teams loop
10421# 1640 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10422#endif
10423# 1641 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10424 if (alt_soundspeed) then ! K*div(u) correction
10425
10426# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10427
10428# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10429#if defined(MFC_OpenACC)
10430# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10431!$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)
10432# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10433#elif defined(MFC_OpenMP)
10434# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10435
10436# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10437
10438# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10439
10440# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10441!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10442# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10443!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10444# 1642 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10445#endif
10446# 1644 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10447 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10448 local_inv_ds = 1._wp/(dz(k_idx)*y_cc(q_idx))
10449 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10450 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10451 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10452 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10453 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10454 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10455 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10456 end do; end do; end do
10457
10458# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10459#if defined(MFC_OpenACC)
10460# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10461!$acc end parallel loop
10462# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10463#elif defined(MFC_OpenMP)
10464# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10465
10466# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10467!$omp end target teams loop
10468# 1654 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10469#endif
10470# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10471 end if
10472 else if (adv_src_mode == adv_src_mode_vel_iface) then
10473 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10474
10475# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10476
10477# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10478#if defined(MFC_OpenACC)
10479# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10480!$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)
10481# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10482#elif defined(MFC_OpenMP)
10483# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10484
10485# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10486
10487# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10488
10489# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10490!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10491# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10492!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10493# 1658 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10494#endif
10495# 1660 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10496 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10497 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10498 local_inv_ds = 1._wp/(dz(k_idx)*y_cc(q_idx))
10499 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10500 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10501 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10502 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10503 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10504 end do; end do; end do
10505 end do
10506
10507# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10508#if defined(MFC_OpenACC)
10509# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10510!$acc end parallel loop
10511# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10512#elif defined(MFC_OpenMP)
10513# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10514
10515# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10516!$omp end target teams loop
10517# 1670 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10518#endif
10519# 1671 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10520 if (alt_soundspeed) then ! K*div(u) correction
10521
10522# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10523
10524# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10525#if defined(MFC_OpenACC)
10526# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10527!$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)
10528# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10529#elif defined(MFC_OpenMP)
10530# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10531
10532# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10533
10534# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10535
10536# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10537!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10538# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10539!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10540# 1672 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10541#endif
10542# 1674 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10543 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10544 local_inv_ds = 1._wp/(dz(k_idx)*y_cc(q_idx))
10545 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10546 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10547 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10548 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10549 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10550 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10551 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10552 end do; end do; end do
10553
10554# 1684 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10555#if defined(MFC_OpenACC)
10556# 1684 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10557!$acc end parallel loop
10558# 1684 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10559#elif defined(MFC_OpenMP)
10560# 1684 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10561
10562# 1684 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10563!$omp end target teams loop
10564# 1684 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10565#endif
10566# 1685 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10567 end if
10568 end if
10569 else ! non-cylindrical z-direction
10570 if (adv_src_mode == adv_src_mode_alpha_iface) then
10571 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dz.
10572
10573# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10574
10575# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10576#if defined(MFC_OpenACC)
10577# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10578!$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)
10579# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10580#elif defined(MFC_OpenMP)
10581# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10582
10583# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10584
10585# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10586
10587# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10588!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10589# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10590!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10591# 1690 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10592#endif
10593# 1692 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10594 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10595 do k_idx = 0, p ! z_extent
10596 do q_idx = 0, n ! y_extent
10597 do l_idx = 0, m ! x_extent
10598 local_inv_ds = 1._wp/dz(k_idx)
10599 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10600 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10601 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10602 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10603 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10604 end do
10605 end do
10606 end do
10607 end do
10608
10609# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10610#if defined(MFC_OpenACC)
10611# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10612!$acc end parallel loop
10613# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10614#elif defined(MFC_OpenMP)
10615# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10616
10617# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10618!$omp end target teams loop
10619# 1706 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10620#endif
10621# 1707 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10622 if (alt_soundspeed) then ! K*div(u) correction
10623
10624# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10625
10626# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10627#if defined(MFC_OpenACC)
10628# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10629!$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)
10630# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10631#elif defined(MFC_OpenMP)
10632# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10633
10634# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10635
10636# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10637
10638# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10639!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10640# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10641!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10642# 1708 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10643#endif
10644# 1710 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10645 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10646 local_inv_ds = 1._wp/dz(k_idx)
10647 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10648 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10649 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10650 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10651 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10652 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10653 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10654 end do; end do; end do
10655
10656# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10657#if defined(MFC_OpenACC)
10658# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10659!$acc end parallel loop
10660# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10661#elif defined(MFC_OpenMP)
10662# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10663
10664# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10665!$omp end target teams loop
10666# 1720 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10667#endif
10668# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10669 end if
10670 else if (adv_src_mode == adv_src_mode_vel_iface) then
10671 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10672
10673# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10674
10675# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10676#if defined(MFC_OpenACC)
10677# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10678!$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)
10679# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10680#elif defined(MFC_OpenMP)
10681# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10682
10683# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10684
10685# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10686
10687# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10688!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10689# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10690!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10691# 1724 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10692#endif
10693# 1726 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10694 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10695 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10696 local_inv_ds = 1._wp/dz(k_idx)
10697 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10698 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10699 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10700 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10701 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10702 end do; end do; end do
10703 end do
10704
10705# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10706#if defined(MFC_OpenACC)
10707# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10708!$acc end parallel loop
10709# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10710#elif defined(MFC_OpenMP)
10711# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10712
10713# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10714!$omp end target teams loop
10715# 1736 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10716#endif
10717# 1737 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10718 if (alt_soundspeed) then ! K*div(u) correction
10719
10720# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10721
10722# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10723#if defined(MFC_OpenACC)
10724# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10725!$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)
10726# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10727#elif defined(MFC_OpenMP)
10728# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10729
10730# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10731
10732# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10733
10734# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10735!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10736# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10737!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10738# 1738 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10739#endif
10740# 1740 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10741 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10742 local_inv_ds = 1._wp/dz(k_idx)
10743 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10744 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10745 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10746 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10747 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10748 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10749 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10750 end do; end do; end do
10751
10752# 1750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10753#if defined(MFC_OpenACC)
10754# 1750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10755!$acc end parallel loop
10756# 1750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10757#elif defined(MFC_OpenMP)
10758# 1750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10759
10760# 1750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10761!$omp end target teams loop
10762# 1750 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10763#endif
10764# 1751 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10765 end if
10766 end if
10767 end if
10768 end select
10769
10771
10772 end subroutine s_compute_advection_source_term
10773
10774 !> Add viscous, surface-tension, species-diffusion, and heat-conduction source flux contributions to the RHS for a direction
10775 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, &
10776 & dq_prim_dz_vf)
10777
10778 integer, intent(in) :: idir
10779 type(scalar_field), dimension(sys_size), intent(in) :: q_prim_vf
10780 type(scalar_field), intent(in) :: q_T_sf
10781 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
10782 type(scalar_field), dimension(sys_size), intent(in) :: flux_src_n_in
10783 type(scalar_field), dimension(sys_size), intent(in) :: dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf
10784 integer :: i, j, k, l
10785
10786 if (idir == 1) then ! x-direction
10787 if (surface_tension) then
10788
10789# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10790
10791# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10792#if defined(MFC_OpenACC)
10793# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10794!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10795# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10796#elif defined(MFC_OpenMP)
10797# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10798
10799# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10800
10801# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10802
10803# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10804!$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)
10805# 1774 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10806#endif
10807# 1775 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10808 do l = 0, p
10809 do k = 0, n
10810 do j = 0, m
10811 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10812 & 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, &
10813 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j - 1, k, l))
10814 end do
10815 end do
10816 end do
10817
10818# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10819#if defined(MFC_OpenACC)
10820# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10821!$acc end parallel loop
10822# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10823#elif defined(MFC_OpenMP)
10824# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10825
10826# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10827!$omp end target teams loop
10828# 1784 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10829#endif
10830# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10831 end if
10832
10833 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
10834
10835# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10836
10837# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10838#if defined(MFC_OpenACC)
10839# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10840!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10841# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10842#elif defined(MFC_OpenMP)
10843# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10844
10845# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10846
10847# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10848
10849# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10850!$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)
10851# 1788 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10852#endif
10853# 1789 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10854 do l = 0, p
10855 do k = 0, n
10856 do j = 0, m
10857 if (surface_tension .or. viscous .or. heat_conduction) then
10858
10859# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10860#if defined(MFC_OpenACC)
10861# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10862!$acc loop seq
10863# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10864#elif defined(MFC_OpenMP)
10865# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10866
10867# 1793 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10868#endif
10869# 1794 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10870 do i = eqn_idx%mom%beg, eqn_idx%E
10871 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, &
10872 & l) - flux_src_n_in(i)%sf(j, k, l))
10873 end do
10874 end if
10875
10876 if (chem_params%diffusion) then
10877
10878# 1801 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10879#if defined(MFC_OpenACC)
10880# 1801 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10881!$acc loop seq
10882# 1801 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10883#elif defined(MFC_OpenMP)
10884# 1801 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10885
10886# 1801 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10887#endif
10888# 1802 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10889 do i = eqn_idx%species%beg, eqn_idx%species%end
10890 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, &
10891 & l) - flux_src_n_in(i)%sf(j, k, l))
10892 end do
10893
10894 if (.not. viscous) then
10895 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10896 & l) + 1._wp/dx(j)*(flux_src_n_in(eqn_idx%E)%sf(j - 1, k, &
10897 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10898 end if
10899 end if
10900 end do
10901 end do
10902 end do
10903
10904# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10905#if defined(MFC_OpenACC)
10906# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10907!$acc end parallel loop
10908# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10909#elif defined(MFC_OpenMP)
10910# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10911
10912# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10913!$omp end target teams loop
10914# 1816 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10915#endif
10916# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10917 end if
10918 else if (idir == 2) then ! y-direction
10919 if (surface_tension) then
10920
10921# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10922
10923# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10924#if defined(MFC_OpenACC)
10925# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10926!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10927# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10928#elif defined(MFC_OpenMP)
10929# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10930
10931# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10932
10933# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10934
10935# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10936!$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)
10937# 1820 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10938#endif
10939# 1821 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10940 do l = 0, p
10941 do k = 0, n
10942 do j = 0, m
10943 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10944 & 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, &
10945 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k - 1, l))
10946 end do
10947 end do
10948 end do
10949
10950# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10951#if defined(MFC_OpenACC)
10952# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10953!$acc end parallel loop
10954# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10955#elif defined(MFC_OpenMP)
10956# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10957
10958# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10959!$omp end target teams loop
10960# 1830 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10961#endif
10962# 1831 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10963 end if
10964
10965 if (cyl_coord .and. ((bc_y%beg == -2) .or. (bc_y%beg == -14))) then
10966 if (viscous) then
10967 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10968 & dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10969 & tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10970 end if
10971
10972 if (heat_conduction) then
10973 call s_compute_conduction_axis_source(q_prim_vf, q_t_sf, tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10974 end if
10975
10976 if (viscous .or. heat_conduction) then
10977
10978# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10979
10980# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10981#if defined(MFC_OpenACC)
10982# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10983!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10984# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10985#elif defined(MFC_OpenMP)
10986# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10987
10988# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10989
10990# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10991
10992# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10993!$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)
10994# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10995#endif
10996# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10997 do l = 0, p
10998 do j = 0, m
10999
11000# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11001#if defined(MFC_OpenACC)
11002# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11003!$acc loop seq
11004# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11005#elif defined(MFC_OpenMP)
11006# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11007
11008# 1848 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11009#endif
11010# 1849 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11011 do i = eqn_idx%mom%beg, eqn_idx%E
11012 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, &
11013 & -1, l) - tau_re_vf(i)%sf(j, 1, l))
11014 end do
11015 end do
11016 end do
11017
11018# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11019#if defined(MFC_OpenACC)
11020# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11021!$acc end parallel loop
11022# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11023#elif defined(MFC_OpenMP)
11024# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11025
11026# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11027!$omp end target teams loop
11028# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11029#endif
11030# 1856 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11031 end if
11032
11033
11034# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11035
11036# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11037#if defined(MFC_OpenACC)
11038# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11039!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11040# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11041#elif defined(MFC_OpenMP)
11042# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11043
11044# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11045
11046# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11047
11048# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11049!$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)
11050# 1858 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11051#endif
11052# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11053 do l = 0, p
11054 do k = 1, n
11055 do j = 0, m
11056
11057# 1862 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11058#if defined(MFC_OpenACC)
11059# 1862 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11060!$acc loop seq
11061# 1862 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11062#elif defined(MFC_OpenMP)
11063# 1862 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11064
11065# 1862 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11066#endif
11067# 1863 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11068 do i = eqn_idx%mom%beg, eqn_idx%E
11069 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, &
11070 & l) - flux_src_n_in(i)%sf(j, k, l))
11071 end do
11072 end do
11073 end do
11074 end do
11075
11076# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11077#if defined(MFC_OpenACC)
11078# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11079!$acc end parallel loop
11080# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11081#elif defined(MFC_OpenMP)
11082# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11083
11084# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11085!$omp end target teams loop
11086# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11087#endif
11088# 1871 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11089 else
11090 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
11091
11092# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11093
11094# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11095#if defined(MFC_OpenACC)
11096# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11097!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11098# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11099#elif defined(MFC_OpenMP)
11100# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11101
11102# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11103
11104# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11105
11106# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11107!$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)
11108# 1873 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11109#endif
11110# 1874 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11111 do l = 0, p
11112 do k = 0, n
11113 do j = 0, m
11114 if (surface_tension .or. viscous .or. heat_conduction) then
11115
11116# 1878 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11117#if defined(MFC_OpenACC)
11118# 1878 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11119!$acc loop seq
11120# 1878 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11121#elif defined(MFC_OpenMP)
11122# 1878 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11123
11124# 1878 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11125#endif
11126# 1879 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11127 do i = eqn_idx%mom%beg, eqn_idx%E
11128 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, &
11129 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
11130 end do
11131 end if
11132
11133 if (chem_params%diffusion) then
11134
11135# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11136#if defined(MFC_OpenACC)
11137# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11138!$acc loop seq
11139# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11140#elif defined(MFC_OpenMP)
11141# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11142
11143# 1886 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11144#endif
11145# 1887 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11146 do i = eqn_idx%species%beg, eqn_idx%species%end
11147 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, &
11148 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
11149 end do
11150 if (.not. viscous) then
11151 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11152 & l) + 1._wp/dy(k)*(flux_src_n_in(eqn_idx%E)%sf(j, k - 1, &
11153 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11154 end if
11155 end if
11156 end do
11157 end do
11158 end do
11159
11160# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11161#if defined(MFC_OpenACC)
11162# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11163!$acc end parallel loop
11164# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11165#elif defined(MFC_OpenMP)
11166# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11167
11168# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11169!$omp end target teams loop
11170# 1900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11171#endif
11172# 1901 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11173 end if
11174 end if
11175
11176 ! Applying the geometrical viscous Riemann source fluxes calculated as average of values at cell boundaries
11177 if (cyl_coord) then
11178 if ((bc_y%beg == -2) .or. (bc_y%beg == -14)) then
11179
11180# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11181
11182# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11183#if defined(MFC_OpenACC)
11184# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11185!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11186# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11187#elif defined(MFC_OpenMP)
11188# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11189
11190# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11191
11192# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11193
11194# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11195!$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)
11196# 1907 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11197#endif
11198# 1908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11199 do l = 0, p
11200 do k = 1, n
11201 do j = 0, m
11202
11203# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11204#if defined(MFC_OpenACC)
11205# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11206!$acc loop seq
11207# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11208#elif defined(MFC_OpenMP)
11209# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11210
11211# 1911 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11212#endif
11213# 1912 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11214 do i = eqn_idx%mom%beg, eqn_idx%E
11215 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, &
11216 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
11217 end do
11218 end do
11219 end do
11220 end do
11221
11222# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11223#if defined(MFC_OpenACC)
11224# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11225!$acc end parallel loop
11226# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11227#elif defined(MFC_OpenMP)
11228# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11229
11230# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11231!$omp end target teams loop
11232# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11233#endif
11234# 1920 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11235
11236 if (viscous .or. heat_conduction) then
11237
11238# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11239
11240# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11241#if defined(MFC_OpenACC)
11242# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11243!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
11244# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11245#elif defined(MFC_OpenMP)
11246# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11247
11248# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11249
11250# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11251
11252# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11253!$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)
11254# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11255#endif
11256# 1923 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11257 do l = 0, p
11258 do j = 0, m
11259
11260# 1925 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11261#if defined(MFC_OpenACC)
11262# 1925 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11263!$acc loop seq
11264# 1925 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11265#elif defined(MFC_OpenMP)
11266# 1925 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11267
11268# 1925 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11269#endif
11270# 1926 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11271 do i = eqn_idx%mom%beg, eqn_idx%E
11272 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)
11273 end do
11274 end do
11275 end do
11276
11277# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11278#if defined(MFC_OpenACC)
11279# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11280!$acc end parallel loop
11281# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11282#elif defined(MFC_OpenMP)
11283# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11284
11285# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11286!$omp end target teams loop
11287# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11288#endif
11289# 1932 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11290 end if
11291 else
11292
11293# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11294
11295# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11296#if defined(MFC_OpenACC)
11297# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11298!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11299# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11300#elif defined(MFC_OpenMP)
11301# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11302
11303# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11304
11305# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11306
11307# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11308!$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)
11309# 1934 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11310#endif
11311# 1935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11312 do l = 0, p
11313 do k = 0, n
11314 do j = 0, m
11315
11316# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11317#if defined(MFC_OpenACC)
11318# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11319!$acc loop seq
11320# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11321#elif defined(MFC_OpenMP)
11322# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11323
11324# 1938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11325#endif
11326# 1939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11327 do i = eqn_idx%mom%beg, eqn_idx%E
11328 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, &
11329 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
11330 end do
11331 end do
11332 end do
11333 end do
11334
11335# 1946 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11336#if defined(MFC_OpenACC)
11337# 1946 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11338!$acc end parallel loop
11339# 1946 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11340#elif defined(MFC_OpenMP)
11341# 1946 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11342
11343# 1946 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11344!$omp end target teams loop
11345# 1946 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11346#endif
11347# 1947 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11348 end if
11349 end if
11350 else if (idir == 3) then ! z-direction
11351 if (surface_tension) then
11352
11353# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11354
11355# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11356#if defined(MFC_OpenACC)
11357# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11358!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11359# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11360#elif defined(MFC_OpenMP)
11361# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11362
11363# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11364
11365# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11366
11367# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11368!$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)
11369# 1951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11370#endif
11371# 1952 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11372 do l = 0, p
11373 do k = 0, n
11374 do j = 0, m
11375 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
11376 & 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, &
11377 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, l - 1))
11378 end do
11379 end do
11380 end do
11381
11382# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11383#if defined(MFC_OpenACC)
11384# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11385!$acc end parallel loop
11386# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11387#elif defined(MFC_OpenMP)
11388# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11389
11390# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11391!$omp end target teams loop
11392# 1961 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11393#endif
11394# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11395 end if
11396
11397 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
11398
11399# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11400
11401# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11402#if defined(MFC_OpenACC)
11403# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11404!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11405# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11406#elif defined(MFC_OpenMP)
11407# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11408
11409# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11410
11411# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11412
11413# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11414!$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)
11415# 1965 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11416#endif
11417# 1966 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11418 do l = 0, p
11419 do k = 0, n
11420 do j = 0, m
11421 if (surface_tension .or. viscous .or. heat_conduction) then
11422
11423# 1970 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11424#if defined(MFC_OpenACC)
11425# 1970 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11426!$acc loop seq
11427# 1970 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11428#elif defined(MFC_OpenMP)
11429# 1970 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11430
11431# 1970 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11432#endif
11433# 1971 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11434 do i = eqn_idx%mom%beg, eqn_idx%E
11435 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, &
11436 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11437 end do
11438 end if
11439
11440 if (chem_params%diffusion) then
11441
11442# 1978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11443#if defined(MFC_OpenACC)
11444# 1978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11445!$acc loop seq
11446# 1978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11447#elif defined(MFC_OpenMP)
11448# 1978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11449
11450# 1978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11451#endif
11452# 1979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11453 do i = eqn_idx%species%beg, eqn_idx%species%end
11454 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, &
11455 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11456 end do
11457 if (.not. viscous) then
11458 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11459 & l) + 1._wp/dz(l)*(flux_src_n_in(eqn_idx%E)%sf(j, k, &
11460 & l - 1) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11461 end if
11462 end if
11463 end do
11464 end do
11465 end do
11466
11467# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11468#if defined(MFC_OpenACC)
11469# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11470!$acc end parallel loop
11471# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11472#elif defined(MFC_OpenMP)
11473# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11474
11475# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11476!$omp end target teams loop
11477# 1992 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11478#endif
11479# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11480 end if
11481
11482 if (grid_geometry == 3) then
11483
11484# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11485
11486# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11487#if defined(MFC_OpenACC)
11488# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11489!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11490# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11491#elif defined(MFC_OpenMP)
11492# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11493
11494# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11495
11496# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11497
11498# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11499!$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)
11500# 1996 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11501#endif
11502# 1997 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11503 do l = 0, p
11504 do k = 0, n
11505 do j = 0, m
11506 rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
11507 & l) + 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%end)%sf(j, k, &
11508 & l - 1) + flux_src_n_in(eqn_idx%mom%end)%sf(j, k, l))
11509
11510 rhs_vf(eqn_idx%mom%end)%sf(j, k, l) = rhs_vf(eqn_idx%mom%end)%sf(j, k, &
11511 & l) - 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, &
11512 & l - 1) + flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, l))
11513 end do
11514 end do
11515 end do
11516
11517# 2010 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11518#if defined(MFC_OpenACC)
11519# 2010 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11520!$acc end parallel loop
11521# 2010 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11522#elif defined(MFC_OpenMP)
11523# 2010 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11524
11525# 2010 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11526!$omp end target teams loop
11527# 2010 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11528#endif
11529# 2011 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11530 end if
11531 end if
11532
11534
11535 !> Reconstruct left and right cell-boundary values from cell-averaged variables
11536 subroutine s_reconstruct_cell_boundary_values(v_vf, vL_x, vR_x, norm_dir)
11537
11538 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11539 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11540 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11541 integer, intent(in) :: norm_dir
11542 integer :: recon_dir !< Coordinate direction of the reconstruction
11543 integer :: i, j, k, l
11544
11545# 2027 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11546 if (recon_type == recon_type_weno) then
11547# 2028 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11548 ! Reconstruction in s1-direction
11549 if (norm_dir == 1) then
11550 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11551 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11552# 2032 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11553 is1%end = is1%end - weno_polyn
11554# 2033 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11555 else if (norm_dir == 2) then
11556 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11557 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11558# 2036 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11559 is1%end = is1%end - weno_polyn
11560# 2037 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11561 else
11562 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11563 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11564# 2040 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11565 is1%end = is1%end - weno_polyn
11566# 2041 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11567 end if
11568
11569 call s_weno (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11570# 2044 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11571 & is2, is3)
11572 end if
11573# 2027 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11574 if (recon_type == recon_type_muscl) then
11575# 2028 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11576 ! Reconstruction in s1-direction
11577 if (norm_dir == 1) then
11578 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11579 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11580# 2032 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11581 is1%end = is1%end - muscl_polyn
11582# 2033 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11583 else if (norm_dir == 2) then
11584 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11585 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11586# 2036 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11587 is1%end = is1%end - muscl_polyn
11588# 2037 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11589 else
11590 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11591 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11592# 2040 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11593 is1%end = is1%end - muscl_polyn
11594# 2041 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11595 end if
11596
11597 call s_muscl (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11598# 2044 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11599 & is2, is3)
11600 end if
11601# 2047 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11602
11604
11605 !> Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values
11606 subroutine s_reconstruct_cell_boundary_values_first_order(v_vf, vL_x, vR_x, norm_dir)
11607
11608 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11609 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11610 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11611 integer, intent(in) :: norm_dir
11612 integer :: recon_dir !< Coordinate direction of the reconstruction
11613 integer :: i, j, k, l
11614 ! Reconstruction in s1-direction
11615
11616# 2062 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11617 if (recon_type == recon_type_weno) then
11618# 2063 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11619 if (norm_dir == 1) then
11620 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11621 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11622# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11623 is1%end = is1%end - weno_polyn
11624# 2067 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11625 else if (norm_dir == 2) then
11626 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11627 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11628# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11629 is1%end = is1%end - weno_polyn
11630# 2071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11631 else
11632 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11633 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11634# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11635 is1%end = is1%end - weno_polyn
11636# 2075 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11637 end if
11638
11639
11640# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11641#if defined(MFC_OpenACC)
11642# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11643!$acc update device(is1, is2, is3, iv)
11644# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11645#elif defined(MFC_OpenMP)
11646# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11647!$omp target update to(is1, is2, is3, iv)
11648# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11649#endif
11650# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11651 end if
11652# 2062 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11653 if (recon_type == recon_type_muscl) then
11654# 2063 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11655 if (norm_dir == 1) then
11656 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11657 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11658# 2066 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11659 is1%end = is1%end - muscl_polyn
11660# 2067 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11661 else if (norm_dir == 2) then
11662 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11663 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11664# 2070 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11665 is1%end = is1%end - muscl_polyn
11666# 2071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11667 else
11668 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11669 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11670# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11671 is1%end = is1%end - muscl_polyn
11672# 2075 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11673 end if
11674
11675
11676# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11677#if defined(MFC_OpenACC)
11678# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11679!$acc update device(is1, is2, is3, iv)
11680# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11681#elif defined(MFC_OpenMP)
11682# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11683!$omp target update to(is1, is2, is3, iv)
11684# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11685#endif
11686# 2078 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11687 end if
11688# 2080 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11689
11690 if (recon_dir == 1) then
11691
11692# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11693
11694# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11695#if defined(MFC_OpenACC)
11696# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11697!$acc parallel loop collapse(4) gang vector default(present)
11698# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11699#elif defined(MFC_OpenMP)
11700# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11701
11702# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11703
11704# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11705
11706# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11707!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11708# 2082 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11709#endif
11710# 2083 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11711 do i = iv%beg, iv%end
11712 do l = is3%beg, is3%end
11713 do k = is2%beg, is2%end
11714 do j = is1%beg, is1%end
11715 vl_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11716 vr_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11717 end do
11718 end do
11719 end do
11720 end do
11721
11722# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11723#if defined(MFC_OpenACC)
11724# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11725!$acc end parallel loop
11726# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11727#elif defined(MFC_OpenMP)
11728# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11729
11730# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11731!$omp end target teams loop
11732# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11733#endif
11734# 2094 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11735 else if (recon_dir == 2) then
11736
11737# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11738
11739# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11740#if defined(MFC_OpenACC)
11741# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11742!$acc parallel loop collapse(4) gang vector default(present)
11743# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11744#elif defined(MFC_OpenMP)
11745# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11746
11747# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11748
11749# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11750
11751# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11752!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11753# 2095 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11754#endif
11755# 2096 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11756 do i = iv%beg, iv%end
11757 do l = is3%beg, is3%end
11758 do j = is1%beg, is1%end
11759 do k = is2%beg, is2%end
11760 vl_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11761 vr_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11762 end do
11763 end do
11764 end do
11765 end do
11766
11767# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11768#if defined(MFC_OpenACC)
11769# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11770!$acc end parallel loop
11771# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11772#elif defined(MFC_OpenMP)
11773# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11774
11775# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11776!$omp end target teams loop
11777# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11778#endif
11779# 2107 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11780 else if (recon_dir == 3) then
11781
11782# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11783
11784# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11785#if defined(MFC_OpenACC)
11786# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11787!$acc parallel loop collapse(4) gang vector default(present)
11788# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11789#elif defined(MFC_OpenMP)
11790# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11791
11792# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11793
11794# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11795
11796# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11797!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11798# 2108 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11799#endif
11800# 2109 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11801 do i = iv%beg, iv%end
11802 do j = is1%beg, is1%end
11803 do k = is2%beg, is2%end
11804 do l = is3%beg, is3%end
11805 vl_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11806 vr_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11807 end do
11808 end do
11809 end do
11810 end do
11811
11812# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11813#if defined(MFC_OpenACC)
11814# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11815!$acc end parallel loop
11816# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11817#elif defined(MFC_OpenMP)
11818# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11819
11820# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11821!$omp end target teams loop
11822# 2119 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11823#endif
11824# 2120 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11825 end if
11826
11828
11829 !> Module deallocation and/or disassociation procedures
11830 impure subroutine s_finalize_rhs_module
11831
11832 integer :: i, j, l
11833
11834 if (.not. igr) then
11835 do j = eqn_idx%cont%beg, eqn_idx%cont%end
11836 if (relativity) then
11837 ! Cons and Prim densities are different for relativity
11838#ifdef MFC_DEBUG
11839# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11840 block
11841# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11842 use iso_fortran_env, only: output_unit
11843# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11844
11845# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11846 print *, 'm_rhs.fpp:2133: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11847# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11848
11849# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11850 call flush (output_unit)
11851# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11852 end block
11853# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11854#endif
11855# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11856
11857# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11858#if defined(MFC_OpenACC)
11859# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11860!$acc exit data delete(q_cons_qp%vf(j)%sf)
11861# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11862#elif defined(MFC_OpenMP)
11863# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11864!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11865# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11866#endif
11867# 2133 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11868 deallocate (q_cons_qp%vf(j)%sf)
11869# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11870#ifdef MFC_DEBUG
11871# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11872 block
11873# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11874 use iso_fortran_env, only: output_unit
11875# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11876
11877# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11878 print *, 'm_rhs.fpp:2134: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11879# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11880
11881# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11882 call flush (output_unit)
11883# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11884 end block
11885# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11886#endif
11887# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11888
11889# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11890#if defined(MFC_OpenACC)
11891# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11892!$acc exit data delete(q_prim_qp%vf(j)%sf)
11893# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11894#elif defined(MFC_OpenMP)
11895# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11896!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11897# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11898#endif
11899# 2134 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11900 deallocate (q_prim_qp%vf(j)%sf)
11901# 2135 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11902 else
11903 nullify (q_prim_qp%vf(j)%sf)
11904 end if
11905 end do
11906
11907 do j = eqn_idx%adv%beg, eqn_idx%adv%end
11908 nullify (q_prim_qp%vf(j)%sf)
11909 end do
11910
11911 do j = eqn_idx%mom%beg, eqn_idx%E
11912#ifdef MFC_DEBUG
11913# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11914 block
11915# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11916 use iso_fortran_env, only: output_unit
11917# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11918
11919# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11920 print *, 'm_rhs.fpp:2145: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11921# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11922
11923# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11924 call flush (output_unit)
11925# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11926 end block
11927# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11928#endif
11929# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11930
11931# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11932#if defined(MFC_OpenACC)
11933# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11934!$acc exit data delete(q_cons_qp%vf(j)%sf)
11935# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11936#elif defined(MFC_OpenMP)
11937# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11938!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11939# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11940#endif
11941# 2145 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11942 deallocate (q_cons_qp%vf(j)%sf)
11943# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11944#ifdef MFC_DEBUG
11945# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11946 block
11947# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11948 use iso_fortran_env, only: output_unit
11949# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11950
11951# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11952 print *, 'm_rhs.fpp:2146: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11953# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11954
11955# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11956 call flush (output_unit)
11957# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11958 end block
11959# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11960#endif
11961# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11962
11963# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11964#if defined(MFC_OpenACC)
11965# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11966!$acc exit data delete(q_prim_qp%vf(j)%sf)
11967# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11968#elif defined(MFC_OpenMP)
11969# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11970!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11971# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11972#endif
11973# 2146 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11974 deallocate (q_prim_qp%vf(j)%sf)
11975# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11976 end do
11977 end if
11978
11979#ifdef MFC_DEBUG
11980# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11981 block
11982# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11983 use iso_fortran_env, only: output_unit
11984# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11985
11986# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11987 print *, 'm_rhs.fpp:2150: ', '@:DEALLOCATE(q_cons_qp%vf, q_prim_qp%vf)'
11988# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11989
11990# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11991 call flush (output_unit)
11992# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11993 end block
11994# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11995#endif
11996# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11997
11998# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11999#if defined(MFC_OpenACC)
12000# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12001!$acc exit data delete(q_cons_qp%vf, q_prim_qp%vf)
12002# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12003#elif defined(MFC_OpenMP)
12004# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12005!$omp target exit data map(release:q_cons_qp%vf, q_prim_qp%vf)
12006# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12007#endif
12008# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12009 deallocate (q_cons_qp%vf, q_prim_qp%vf)
12010# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12011
12012 if (.not. igr) then
12013#ifdef MFC_DEBUG
12014# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12015 block
12016# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12017 use iso_fortran_env, only: output_unit
12018# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12019
12020# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12021 print *, 'm_rhs.fpp:2153: ', '@:DEALLOCATE(qL_rsx_vf, qR_rsx_vf)'
12022# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12023
12024# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12025 call flush (output_unit)
12026# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12027 end block
12028# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12029#endif
12030# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12031
12032# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12033#if defined(MFC_OpenACC)
12034# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12035!$acc exit data delete(qL_rsx_vf, qR_rsx_vf)
12036# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12037#elif defined(MFC_OpenMP)
12038# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12039!$omp target exit data map(release:qL_rsx_vf, qR_rsx_vf)
12040# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12041#endif
12042# 2153 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12043 deallocate (ql_rsx_vf, qr_rsx_vf)
12044# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12045
12046 if (viscous) then
12047 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12048#ifdef MFC_DEBUG
12049# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12050 block
12051# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12052 use iso_fortran_env, only: output_unit
12053# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12054
12055# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12056 print *, 'm_rhs.fpp:2157: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf)'
12057# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12058
12059# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12060 call flush (output_unit)
12061# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12062 end block
12063# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12064#endif
12065# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12066
12067# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12068#if defined(MFC_OpenACC)
12069# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12070!$acc exit data delete(dq_prim_dx_qp(1)%vf(l)%sf)
12071# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12072#elif defined(MFC_OpenMP)
12073# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12074!$omp target exit data map(release:dq_prim_dx_qp(1)%vf(l)%sf)
12075# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12076#endif
12077# 2157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12078 deallocate (dq_prim_dx_qp(1)%vf(l)%sf)
12079# 2158 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12080 end do
12081
12082 if (n > 0) then
12083 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12084#ifdef MFC_DEBUG
12085# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12086 block
12087# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12088 use iso_fortran_env, only: output_unit
12089# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12090
12091# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12092 print *, 'm_rhs.fpp:2162: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf)'
12093# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12094
12095# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12096 call flush (output_unit)
12097# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12098 end block
12099# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12100#endif
12101# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12102
12103# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12104#if defined(MFC_OpenACC)
12105# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12106!$acc exit data delete(dq_prim_dy_qp(1)%vf(l)%sf)
12107# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12108#elif defined(MFC_OpenMP)
12109# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12110!$omp target exit data map(release:dq_prim_dy_qp(1)%vf(l)%sf)
12111# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12112#endif
12113# 2162 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12114 deallocate (dq_prim_dy_qp(1)%vf(l)%sf)
12115# 2163 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12116 end do
12117
12118 if (p > 0) then
12119 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12120#ifdef MFC_DEBUG
12121# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12122 block
12123# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12124 use iso_fortran_env, only: output_unit
12125# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12126
12127# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12128 print *, 'm_rhs.fpp:2167: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf)'
12129# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12130
12131# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12132 call flush (output_unit)
12133# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12134 end block
12135# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12136#endif
12137# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12138
12139# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12140#if defined(MFC_OpenACC)
12141# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12142!$acc exit data delete(dq_prim_dz_qp(1)%vf(l)%sf)
12143# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12144#elif defined(MFC_OpenMP)
12145# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12146!$omp target exit data map(release:dq_prim_dz_qp(1)%vf(l)%sf)
12147# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12148#endif
12149# 2167 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12150 deallocate (dq_prim_dz_qp(1)%vf(l)%sf)
12151# 2168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12152 end do
12153 end if
12154 end if
12155
12156#ifdef MFC_DEBUG
12157# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12158 block
12159# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12160 use iso_fortran_env, only: output_unit
12161# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12162
12163# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12164 print *, 'm_rhs.fpp:2172: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf)'
12165# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12166
12167# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12168 call flush (output_unit)
12169# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12170 end block
12171# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12172#endif
12173# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12174
12175# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12176#if defined(MFC_OpenACC)
12177# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12178!$acc exit data delete(dq_prim_dx_qp(1)%vf)
12179# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12180#elif defined(MFC_OpenMP)
12181# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12182!$omp target exit data map(release:dq_prim_dx_qp(1)%vf)
12183# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12184#endif
12185# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12186 deallocate (dq_prim_dx_qp(1)%vf)
12187# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12188#ifdef MFC_DEBUG
12189# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12190 block
12191# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12192 use iso_fortran_env, only: output_unit
12193# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12194
12195# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12196 print *, 'm_rhs.fpp:2173: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf)'
12197# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12198
12199# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12200 call flush (output_unit)
12201# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12202 end block
12203# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12204#endif
12205# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12206
12207# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12208#if defined(MFC_OpenACC)
12209# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12210!$acc exit data delete(dq_prim_dy_qp(1)%vf)
12211# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12212#elif defined(MFC_OpenMP)
12213# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12214!$omp target exit data map(release:dq_prim_dy_qp(1)%vf)
12215# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12216#endif
12217# 2173 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12218 deallocate (dq_prim_dy_qp(1)%vf)
12219# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12220#ifdef MFC_DEBUG
12221# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12222 block
12223# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12224 use iso_fortran_env, only: output_unit
12225# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12226
12227# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12228 print *, 'm_rhs.fpp:2174: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf)'
12229# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12230
12231# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12232 call flush (output_unit)
12233# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12234 end block
12235# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12236#endif
12237# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12238
12239# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12240#if defined(MFC_OpenACC)
12241# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12242!$acc exit data delete(dq_prim_dz_qp(1)%vf)
12243# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12244#elif defined(MFC_OpenMP)
12245# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12246!$omp target exit data map(release:dq_prim_dz_qp(1)%vf)
12247# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12248#endif
12249# 2174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12250 deallocate (dq_prim_dz_qp(1)%vf)
12251# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12252
12253 do i = num_dims, 1, -1
12254 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12255#ifdef MFC_DEBUG
12256# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12257 block
12258# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12259 use iso_fortran_env, only: output_unit
12260# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12261
12262# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12263 print *, 'm_rhs.fpp:2178: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf)'
12264# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12265
12266# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12267 call flush (output_unit)
12268# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12269 end block
12270# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12271#endif
12272# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12273
12274# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12275#if defined(MFC_OpenACC)
12276# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12277!$acc exit data delete(dqL_prim_dx_n(i)%vf(l)%sf)
12278# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12279#elif defined(MFC_OpenMP)
12280# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12281!$omp target exit data map(release:dqL_prim_dx_n(i)%vf(l)%sf)
12282# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12283#endif
12284# 2178 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12285 deallocate (dql_prim_dx_n(i)%vf(l)%sf)
12286# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12287#ifdef MFC_DEBUG
12288# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12289 block
12290# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12291 use iso_fortran_env, only: output_unit
12292# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12293
12294# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12295 print *, 'm_rhs.fpp:2179: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf)'
12296# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12297
12298# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12299 call flush (output_unit)
12300# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12301 end block
12302# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12303#endif
12304# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12305
12306# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12307#if defined(MFC_OpenACC)
12308# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12309!$acc exit data delete(dqR_prim_dx_n(i)%vf(l)%sf)
12310# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12311#elif defined(MFC_OpenMP)
12312# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12313!$omp target exit data map(release:dqR_prim_dx_n(i)%vf(l)%sf)
12314# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12315#endif
12316# 2179 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12317 deallocate (dqr_prim_dx_n(i)%vf(l)%sf)
12318# 2180 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12319 end do
12320
12321 if (n > 0) then
12322 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12323#ifdef MFC_DEBUG
12324# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12325 block
12326# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12327 use iso_fortran_env, only: output_unit
12328# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12329
12330# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12331 print *, 'm_rhs.fpp:2184: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf)'
12332# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12333
12334# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12335 call flush (output_unit)
12336# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12337 end block
12338# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12339#endif
12340# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12341
12342# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12343#if defined(MFC_OpenACC)
12344# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12345!$acc exit data delete(dqL_prim_dy_n(i)%vf(l)%sf)
12346# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12347#elif defined(MFC_OpenMP)
12348# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12349!$omp target exit data map(release:dqL_prim_dy_n(i)%vf(l)%sf)
12350# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12351#endif
12352# 2184 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12353 deallocate (dql_prim_dy_n(i)%vf(l)%sf)
12354# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12355#ifdef MFC_DEBUG
12356# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12357 block
12358# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12359 use iso_fortran_env, only: output_unit
12360# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12361
12362# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12363 print *, 'm_rhs.fpp:2185: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf)'
12364# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12365
12366# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12367 call flush (output_unit)
12368# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12369 end block
12370# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12371#endif
12372# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12373
12374# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12375#if defined(MFC_OpenACC)
12376# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12377!$acc exit data delete(dqR_prim_dy_n(i)%vf(l)%sf)
12378# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12379#elif defined(MFC_OpenMP)
12380# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12381!$omp target exit data map(release:dqR_prim_dy_n(i)%vf(l)%sf)
12382# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12383#endif
12384# 2185 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12385 deallocate (dqr_prim_dy_n(i)%vf(l)%sf)
12386# 2186 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12387 end do
12388 end if
12389
12390 if (p > 0) then
12391 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12392#ifdef MFC_DEBUG
12393# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12394 block
12395# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12396 use iso_fortran_env, only: output_unit
12397# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12398
12399# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12400 print *, 'm_rhs.fpp:2191: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf)'
12401# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12402
12403# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12404 call flush (output_unit)
12405# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12406 end block
12407# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12408#endif
12409# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12410
12411# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12412#if defined(MFC_OpenACC)
12413# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12414!$acc exit data delete(dqL_prim_dz_n(i)%vf(l)%sf)
12415# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12416#elif defined(MFC_OpenMP)
12417# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12418!$omp target exit data map(release:dqL_prim_dz_n(i)%vf(l)%sf)
12419# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12420#endif
12421# 2191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12422 deallocate (dql_prim_dz_n(i)%vf(l)%sf)
12423# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12424#ifdef MFC_DEBUG
12425# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12426 block
12427# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12428 use iso_fortran_env, only: output_unit
12429# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12430
12431# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12432 print *, 'm_rhs.fpp:2192: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf)'
12433# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12434
12435# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12436 call flush (output_unit)
12437# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12438 end block
12439# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12440#endif
12441# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12442
12443# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12444#if defined(MFC_OpenACC)
12445# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12446!$acc exit data delete(dqR_prim_dz_n(i)%vf(l)%sf)
12447# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12448#elif defined(MFC_OpenMP)
12449# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12450!$omp target exit data map(release:dqR_prim_dz_n(i)%vf(l)%sf)
12451# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12452#endif
12453# 2192 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12454 deallocate (dqr_prim_dz_n(i)%vf(l)%sf)
12455# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12456 end do
12457 end if
12458
12459#ifdef MFC_DEBUG
12460# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12461 block
12462# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12463 use iso_fortran_env, only: output_unit
12464# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12465
12466# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12467 print *, 'm_rhs.fpp:2196: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf)'
12468# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12469
12470# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12471 call flush (output_unit)
12472# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12473 end block
12474# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12475#endif
12476# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12477
12478# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12479#if defined(MFC_OpenACC)
12480# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12481!$acc exit data delete(dqL_prim_dx_n(i)%vf)
12482# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12483#elif defined(MFC_OpenMP)
12484# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12485!$omp target exit data map(release:dqL_prim_dx_n(i)%vf)
12486# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12487#endif
12488# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12489 deallocate (dql_prim_dx_n(i)%vf)
12490# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12491#ifdef MFC_DEBUG
12492# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12493 block
12494# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12495 use iso_fortran_env, only: output_unit
12496# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12497
12498# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12499 print *, 'm_rhs.fpp:2197: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf)'
12500# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12501
12502# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12503 call flush (output_unit)
12504# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12505 end block
12506# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12507#endif
12508# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12509
12510# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12511#if defined(MFC_OpenACC)
12512# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12513!$acc exit data delete(dqL_prim_dy_n(i)%vf)
12514# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12515#elif defined(MFC_OpenMP)
12516# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12517!$omp target exit data map(release:dqL_prim_dy_n(i)%vf)
12518# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12519#endif
12520# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12521 deallocate (dql_prim_dy_n(i)%vf)
12522# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12523#ifdef MFC_DEBUG
12524# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12525 block
12526# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12527 use iso_fortran_env, only: output_unit
12528# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12529
12530# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12531 print *, 'm_rhs.fpp:2198: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf)'
12532# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12533
12534# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12535 call flush (output_unit)
12536# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12537 end block
12538# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12539#endif
12540# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12541
12542# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12543#if defined(MFC_OpenACC)
12544# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12545!$acc exit data delete(dqL_prim_dz_n(i)%vf)
12546# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12547#elif defined(MFC_OpenMP)
12548# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12549!$omp target exit data map(release:dqL_prim_dz_n(i)%vf)
12550# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12551#endif
12552# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12553 deallocate (dql_prim_dz_n(i)%vf)
12554# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12555#ifdef MFC_DEBUG
12556# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12557 block
12558# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12559 use iso_fortran_env, only: output_unit
12560# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12561
12562# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12563 print *, 'm_rhs.fpp:2199: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf)'
12564# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12565
12566# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12567 call flush (output_unit)
12568# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12569 end block
12570# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12571#endif
12572# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12573
12574# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12575#if defined(MFC_OpenACC)
12576# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12577!$acc exit data delete(dqR_prim_dx_n(i)%vf)
12578# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12579#elif defined(MFC_OpenMP)
12580# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12581!$omp target exit data map(release:dqR_prim_dx_n(i)%vf)
12582# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12583#endif
12584# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12585 deallocate (dqr_prim_dx_n(i)%vf)
12586# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12587#ifdef MFC_DEBUG
12588# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12589 block
12590# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12591 use iso_fortran_env, only: output_unit
12592# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12593
12594# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12595 print *, 'm_rhs.fpp:2200: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf)'
12596# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12597
12598# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12599 call flush (output_unit)
12600# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12601 end block
12602# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12603#endif
12604# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12605
12606# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12607#if defined(MFC_OpenACC)
12608# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12609!$acc exit data delete(dqR_prim_dy_n(i)%vf)
12610# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12611#elif defined(MFC_OpenMP)
12612# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12613!$omp target exit data map(release:dqR_prim_dy_n(i)%vf)
12614# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12615#endif
12616# 2200 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12617 deallocate (dqr_prim_dy_n(i)%vf)
12618# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12619#ifdef MFC_DEBUG
12620# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12621 block
12622# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12623 use iso_fortran_env, only: output_unit
12624# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12625
12626# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12627 print *, 'm_rhs.fpp:2201: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf)'
12628# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12629
12630# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12631 call flush (output_unit)
12632# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12633 end block
12634# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12635#endif
12636# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12637
12638# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12639#if defined(MFC_OpenACC)
12640# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12641!$acc exit data delete(dqR_prim_dz_n(i)%vf)
12642# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12643#elif defined(MFC_OpenMP)
12644# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12645!$omp target exit data map(release:dqR_prim_dz_n(i)%vf)
12646# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12647#endif
12648# 2201 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12649 deallocate (dqr_prim_dz_n(i)%vf)
12650# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12651 end do
12652
12653 if (weno_re_flux) then
12654#ifdef MFC_DEBUG
12655# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12656 block
12657# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12658 use iso_fortran_env, only: output_unit
12659# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12660
12661# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12662 print *, 'm_rhs.fpp:2205: ', '@:DEALLOCATE(dqL_rsx_vf, dqR_rsx_vf)'
12663# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12664
12665# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12666 call flush (output_unit)
12667# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12668 end block
12669# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12670#endif
12671# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12672
12673# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12674#if defined(MFC_OpenACC)
12675# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12676!$acc exit data delete(dqL_rsx_vf, dqR_rsx_vf)
12677# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12678#elif defined(MFC_OpenMP)
12679# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12680!$omp target exit data map(release:dqL_rsx_vf, dqR_rsx_vf)
12681# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12682#endif
12683# 2205 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12684 deallocate (dql_rsx_vf, dqr_rsx_vf)
12685# 2206 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12686 end if
12687 end if
12688
12689 if (viscous .or. heat_conduction) then
12690 do i = 1, num_dims
12691#ifdef MFC_DEBUG
12692# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12693 block
12694# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12695 use iso_fortran_env, only: output_unit
12696# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12697
12698# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12699 print *, 'm_rhs.fpp:2211: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%cont%end + i)%sf)'
12700# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12701
12702# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12703 call flush (output_unit)
12704# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12705 end block
12706# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12707#endif
12708# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12709
12710# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12711#if defined(MFC_OpenACC)
12712# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12713!$acc exit data delete(tau_Re_vf(eqn_idx%cont%end + i)%sf)
12714# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12715#elif defined(MFC_OpenMP)
12716# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12717!$omp target exit data map(release:tau_Re_vf(eqn_idx%cont%end + i)%sf)
12718# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12719#endif
12720# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12721 deallocate (tau_re_vf(eqn_idx%cont%end + i)%sf)
12722# 2212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12723 end do
12724#ifdef MFC_DEBUG
12725# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12726 block
12727# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12728 use iso_fortran_env, only: output_unit
12729# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12730
12731# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12732 print *, 'm_rhs.fpp:2213: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%E)%sf)'
12733# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12734
12735# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12736 call flush (output_unit)
12737# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12738 end block
12739# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12740#endif
12741# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12742
12743# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12744#if defined(MFC_OpenACC)
12745# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12746!$acc exit data delete(tau_Re_vf(eqn_idx%E)%sf)
12747# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12748#elif defined(MFC_OpenMP)
12749# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12750!$omp target exit data map(release:tau_Re_vf(eqn_idx%E)%sf)
12751# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12752#endif
12753# 2213 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12754 deallocate (tau_re_vf(eqn_idx%E)%sf)
12755# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12756#ifdef MFC_DEBUG
12757# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12758 block
12759# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12760 use iso_fortran_env, only: output_unit
12761# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12762
12763# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12764 print *, 'm_rhs.fpp:2214: ', '@:DEALLOCATE(tau_Re_vf)'
12765# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12766
12767# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12768 call flush (output_unit)
12769# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12770 end block
12771# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12772#endif
12773# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12774
12775# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12776#if defined(MFC_OpenACC)
12777# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12778!$acc exit data delete(tau_Re_vf)
12779# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12780#elif defined(MFC_OpenMP)
12781# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12782!$omp target exit data map(release:tau_Re_vf)
12783# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12784#endif
12785# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12786 deallocate (tau_re_vf)
12787# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12788 end if
12789
12790#ifdef MFC_DEBUG
12791# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12792 block
12793# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12794 use iso_fortran_env, only: output_unit
12795# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12796
12797# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12798 print *, 'm_rhs.fpp:2217: ', '@:DEALLOCATE(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)'
12799# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12800
12801# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12802 call flush (output_unit)
12803# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12804 end block
12805# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12806#endif
12807# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12808
12809# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12810#if defined(MFC_OpenACC)
12811# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12812!$acc exit data delete(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12813# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12814#elif defined(MFC_OpenMP)
12815# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12816!$omp target exit data map(release:dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12817# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12818#endif
12819# 2217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12821# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12822#ifdef MFC_DEBUG
12823# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12824 block
12825# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12826 use iso_fortran_env, only: output_unit
12827# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12828
12829# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12830 print *, 'm_rhs.fpp:2218: ', '@:DEALLOCATE(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)'
12831# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12832
12833# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12834 call flush (output_unit)
12835# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12836 end block
12837# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12838#endif
12839# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12840
12841# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12842#if defined(MFC_OpenACC)
12843# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12844!$acc exit data delete(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12845# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12846#elif defined(MFC_OpenMP)
12847# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12848!$omp target exit data map(release:dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12849# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12850#endif
12851# 2218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12853# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12854 end if
12855
12856 if (mpp_lim .and. bubbles_euler) then
12857#ifdef MFC_DEBUG
12858# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12859 block
12860# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12861 use iso_fortran_env, only: output_unit
12862# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12863
12864# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12865 print *, 'm_rhs.fpp:2222: ', '@:DEALLOCATE(alf_sum%sf)'
12866# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12867
12868# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12869 call flush (output_unit)
12870# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12871 end block
12872# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12873#endif
12874# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12875
12876# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12877#if defined(MFC_OpenACC)
12878# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12879!$acc exit data delete(alf_sum%sf)
12880# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12881#elif defined(MFC_OpenMP)
12882# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12883!$omp target exit data map(release:alf_sum%sf)
12884# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12885#endif
12886# 2222 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12887 deallocate (alf_sum%sf)
12888# 2223 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12889 end if
12890
12891 if (.not. igr) then
12892 do i = num_dims, 1, -1
12893 if (i /= 1) then
12894 do l = 1, sys_size
12895 nullify (flux_n(i)%vf(l)%sf)
12896 nullify (flux_src_n(i)%vf(l)%sf)
12897#ifdef MFC_DEBUG
12898# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12899 block
12900# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12901 use iso_fortran_env, only: output_unit
12902# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12903
12904# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12905 print *, 'm_rhs.fpp:2231: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12906# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12907
12908# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12909 call flush (output_unit)
12910# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12911 end block
12912# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12913#endif
12914# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12915
12916# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12917#if defined(MFC_OpenACC)
12918# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12919!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12920# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12921#elif defined(MFC_OpenMP)
12922# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12923!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12924# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12925#endif
12926# 2231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12927 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12928# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12929 end do
12930 else
12931 do l = 1, sys_size
12932#ifdef MFC_DEBUG
12933# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12934 block
12935# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12936 use iso_fortran_env, only: output_unit
12937# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12938
12939# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12940 print *, 'm_rhs.fpp:2235: ', '@:DEALLOCATE(flux_n(i)%vf(l)%sf)'
12941# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12942
12943# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12944 call flush (output_unit)
12945# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12946 end block
12947# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12948#endif
12949# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12950
12951# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12952#if defined(MFC_OpenACC)
12953# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12954!$acc exit data delete(flux_n(i)%vf(l)%sf)
12955# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12956#elif defined(MFC_OpenMP)
12957# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12958!$omp target exit data map(release:flux_n(i)%vf(l)%sf)
12959# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12960#endif
12961# 2235 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12962 deallocate (flux_n(i)%vf(l)%sf)
12963# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12964#ifdef MFC_DEBUG
12965# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12966 block
12967# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12968 use iso_fortran_env, only: output_unit
12969# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12970
12971# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12972 print *, 'm_rhs.fpp:2236: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12973# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12974
12975# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12976 call flush (output_unit)
12977# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12978 end block
12979# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12980#endif
12981# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12982
12983# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12984#if defined(MFC_OpenACC)
12985# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12986!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12987# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12988#elif defined(MFC_OpenMP)
12989# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12990!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12991# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12992#endif
12993# 2236 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12994 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12995# 2237 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12996 end do
12997
12998 if (viscous .or. surface_tension .or. heat_conduction) then
12999 do l = eqn_idx%mom%beg, eqn_idx%E
13000#ifdef MFC_DEBUG
13001# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13002 block
13003# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13004 use iso_fortran_env, only: output_unit
13005# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13006
13007# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13008 print *, 'm_rhs.fpp:2241: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
13009# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13010
13011# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13012 call flush (output_unit)
13013# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13014 end block
13015# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13016#endif
13017# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13018
13019# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13020#if defined(MFC_OpenACC)
13021# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13022!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
13023# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13024#elif defined(MFC_OpenMP)
13025# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13026!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
13027# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13028#endif
13029# 2241 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13030 deallocate (flux_src_n(i)%vf(l)%sf)
13031# 2242 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13032 end do
13033 end if
13034
13035 if (chemistry .and. chem_params%diffusion .and. .not. (viscous .or. surface_tension .or. heat_conduction)) then
13036#ifdef MFC_DEBUG
13037# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13038 block
13039# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13040 use iso_fortran_env, only: output_unit
13041# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13042
13043# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13044 print *, 'm_rhs.fpp:2246: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%E)%sf)'
13045# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13046
13047# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13048 call flush (output_unit)
13049# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13050 end block
13051# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13052#endif
13053# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13054
13055# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13056#if defined(MFC_OpenACC)
13057# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13058!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%E)%sf)
13059# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13060#elif defined(MFC_OpenMP)
13061# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13062!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%E)%sf)
13063# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13064#endif
13065# 2246 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13066 deallocate (flux_src_n(i)%vf(eqn_idx%E)%sf)
13067# 2247 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13068 end if
13069
13070 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
13071 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
13072#ifdef MFC_DEBUG
13073# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13074 block
13075# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13076 use iso_fortran_env, only: output_unit
13077# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13078
13079# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13080 print *, 'm_rhs.fpp:2251: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
13081# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13082
13083# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13084 call flush (output_unit)
13085# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13086 end block
13087# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13088#endif
13089# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13090
13091# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13092#if defined(MFC_OpenACC)
13093# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13094!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
13095# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13096#elif defined(MFC_OpenMP)
13097# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13098!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
13099# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13100#endif
13101# 2251 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13102 deallocate (flux_src_n(i)%vf(l)%sf)
13103# 2252 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13104 end do
13105 else
13106 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
13107 nullify (flux_src_n(i)%vf(l)%sf)
13108 end do
13109 end if
13110
13111#ifdef MFC_DEBUG
13112# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13113 block
13114# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13115 use iso_fortran_env, only: output_unit
13116# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13117
13118# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13119 print *, 'm_rhs.fpp:2259: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)'
13120# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13121
13122# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13123 call flush (output_unit)
13124# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13125 end block
13126# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13127#endif
13128# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13129
13130# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13131#if defined(MFC_OpenACC)
13132# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13133!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
13134# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13135#elif defined(MFC_OpenMP)
13136# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13137!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
13138# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13139#endif
13140# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13141 deallocate (flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
13142# 2260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13143 end if
13144
13145#ifdef MFC_DEBUG
13146# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13147 block
13148# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13149 use iso_fortran_env, only: output_unit
13150# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13151
13152# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13153 print *, 'm_rhs.fpp:2262: ', '@:DEALLOCATE(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)'
13154# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13155
13156# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13157 call flush (output_unit)
13158# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13159 end block
13160# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13161#endif
13162# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13163
13164# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13165#if defined(MFC_OpenACC)
13166# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13167!$acc exit data delete(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
13168# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13169#elif defined(MFC_OpenMP)
13170# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13171!$omp target exit data map(release:flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
13172# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13173#endif
13174# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13175 deallocate (flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
13176# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13177 end do
13178
13179#ifdef MFC_DEBUG
13180# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13181 block
13182# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13183 use iso_fortran_env, only: output_unit
13184# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13185
13186# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13187 print *, 'm_rhs.fpp:2265: ', '@:DEALLOCATE(flux_n, flux_src_n, flux_gsrc_n)'
13188# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13189
13190# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13191 call flush (output_unit)
13192# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13193 end block
13194# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13195#endif
13196# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13197
13198# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13199#if defined(MFC_OpenACC)
13200# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13201!$acc exit data delete(flux_n, flux_src_n, flux_gsrc_n)
13202# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13203#elif defined(MFC_OpenMP)
13204# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13205!$omp target exit data map(release:flux_n, flux_src_n, flux_gsrc_n)
13206# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13207#endif
13208# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13209 deallocate (flux_n, flux_src_n, flux_gsrc_n)
13210# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13211 do i = 1, num_dims
13212 do l = eqn_idx%mom%beg, eqn_idx%mom%end
13213#ifdef MFC_DEBUG
13214# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13215 block
13216# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13217 use iso_fortran_env, only: output_unit
13218# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13219
13220# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13221 print *, 'm_rhs.fpp:2268: ', '@:DEALLOCATE(qL_prim(i)%vf(l)%sf)'
13222# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13223
13224# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13225 call flush (output_unit)
13226# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13227 end block
13228# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13229#endif
13230# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13231
13232# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13233#if defined(MFC_OpenACC)
13234# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13235!$acc exit data delete(qL_prim(i)%vf(l)%sf)
13236# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13237#elif defined(MFC_OpenMP)
13238# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13239!$omp target exit data map(release:qL_prim(i)%vf(l)%sf)
13240# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13241#endif
13242# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13243 deallocate (ql_prim(i)%vf(l)%sf)
13244# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13245#ifdef MFC_DEBUG
13246# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13247 block
13248# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13249 use iso_fortran_env, only: output_unit
13250# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13251
13252# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13253 print *, 'm_rhs.fpp:2269: ', '@:DEALLOCATE(qR_prim(i)%vf(l)%sf)'
13254# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13255
13256# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13257 call flush (output_unit)
13258# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13259 end block
13260# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13261#endif
13262# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13263
13264# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13265#if defined(MFC_OpenACC)
13266# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13267!$acc exit data delete(qR_prim(i)%vf(l)%sf)
13268# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13269#elif defined(MFC_OpenMP)
13270# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13271!$omp target exit data map(release:qR_prim(i)%vf(l)%sf)
13272# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13273#endif
13274# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13275 deallocate (qr_prim(i)%vf(l)%sf)
13276# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13277 end do
13278#ifdef MFC_DEBUG
13279# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13280 block
13281# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13282 use iso_fortran_env, only: output_unit
13283# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13284
13285# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13286 print *, 'm_rhs.fpp:2271: ', '@:DEALLOCATE(qL_prim(i)%vf, qR_prim(i)%vf)'
13287# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13288
13289# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13290 call flush (output_unit)
13291# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13292 end block
13293# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13294#endif
13295# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13296
13297# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13298#if defined(MFC_OpenACC)
13299# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13300!$acc exit data delete(qL_prim(i)%vf, qR_prim(i)%vf)
13301# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13302#elif defined(MFC_OpenMP)
13303# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13304!$omp target exit data map(release:qL_prim(i)%vf, qR_prim(i)%vf)
13305# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13306#endif
13307# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13308 deallocate (ql_prim(i)%vf, qr_prim(i)%vf)
13309# 2272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13310 end do
13311#ifdef MFC_DEBUG
13312# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13313 block
13314# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13315 use iso_fortran_env, only: output_unit
13316# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13317
13318# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13319 print *, 'm_rhs.fpp:2273: ', '@:DEALLOCATE(qL_prim, qR_prim)'
13320# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13321
13322# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13323 call flush (output_unit)
13324# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13325 end block
13326# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13327#endif
13328# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13329
13330# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13331#if defined(MFC_OpenACC)
13332# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13333!$acc exit data delete(qL_prim, qR_prim)
13334# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13335#elif defined(MFC_OpenMP)
13336# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13337!$omp target exit data map(release:qL_prim, qR_prim)
13338# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13339#endif
13340# 2273 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13341 deallocate (ql_prim, qr_prim)
13342# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13343 end if
13344
13345 if (alt_soundspeed) then
13346#ifdef MFC_DEBUG
13347# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13348 block
13349# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13350 use iso_fortran_env, only: output_unit
13351# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13352
13353# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13354 print *, 'm_rhs.fpp:2277: ', '@:DEALLOCATE(blkmod1, blkmod2, alpha1, alpha2, Kterm)'
13355# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13356
13357# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13358 call flush (output_unit)
13359# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13360 end block
13361# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13362#endif
13363# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13364
13365# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13366#if defined(MFC_OpenACC)
13367# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13368!$acc exit data delete(blkmod1, blkmod2, alpha1, alpha2, Kterm)
13369# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13370#elif defined(MFC_OpenMP)
13371# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13372!$omp target exit data map(release:blkmod1, blkmod2, alpha1, alpha2, Kterm)
13373# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13374#endif
13375# 2277 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13376 deallocate (blkmod1, blkmod2, alpha1, alpha2, kterm)
13377# 2278 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13378 end if
13379
13380 if (qbmm) then
13381 do i = 0, 2
13382 do j = 0, 2
13383 do l = 1, nb
13384#ifdef MFC_DEBUG
13385# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13386 block
13387# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13388 use iso_fortran_env, only: output_unit
13389# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13390
13391# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13392 print *, 'm_rhs.fpp:2284: ', '@:DEALLOCATE(mom_3d(i, j, l)%sf)'
13393# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13394
13395# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13396 call flush (output_unit)
13397# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13398 end block
13399# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13400#endif
13401# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13402
13403# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13404#if defined(MFC_OpenACC)
13405# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13406!$acc exit data delete(mom_3d(i, j, l)%sf)
13407# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13408#elif defined(MFC_OpenMP)
13409# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13410!$omp target exit data map(release:mom_3d(i, j, l)%sf)
13411# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13412#endif
13413# 2284 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13414 deallocate (mom_3d(i, j, l)%sf)
13415# 2285 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13416 end do
13417 end do
13418 end do
13419 do i = 1, nmomsp
13420#ifdef MFC_DEBUG
13421# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13422 block
13423# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13424 use iso_fortran_env, only: output_unit
13425# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13426
13427# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13428 print *, 'm_rhs.fpp:2289: ', '@:DEALLOCATE(mom_sp(i)%sf)'
13429# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13430
13431# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13432 call flush (output_unit)
13433# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13434 end block
13435# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13436#endif
13437# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13438
13439# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13440#if defined(MFC_OpenACC)
13441# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13442!$acc exit data delete(mom_sp(i)%sf)
13443# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13444#elif defined(MFC_OpenMP)
13445# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13446!$omp target exit data map(release:mom_sp(i)%sf)
13447# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13448#endif
13449# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13450 deallocate (mom_sp(i)%sf)
13451# 2290 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13452 end do
13453#ifdef MFC_DEBUG
13454# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13455 block
13456# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13457 use iso_fortran_env, only: output_unit
13458# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13459
13460# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13461 print *, 'm_rhs.fpp:2291: ', '@:DEALLOCATE(mom_sp, mom_3d)'
13462# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13463
13464# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13465 call flush (output_unit)
13466# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13467 end block
13468# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13469#endif
13470# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13471
13472# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13473#if defined(MFC_OpenACC)
13474# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13475!$acc exit data delete(mom_sp, mom_3d)
13476# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13477#elif defined(MFC_OpenMP)
13478# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13479!$omp target exit data map(release:mom_sp, mom_3d)
13480# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13481#endif
13482# 2291 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13483 deallocate (mom_sp, mom_3d)
13484# 2292 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13485 end if
13486
13487 if (use_nc_iface_vel) then
13488 do i = 1, num_dims
13489 do l = 1, num_dims
13490#ifdef MFC_DEBUG
13491# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13492 block
13493# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13494 use iso_fortran_env, only: output_unit
13495# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13496
13497# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13498 print *, 'm_rhs.fpp:2297: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf(l)%sf)'
13499# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13500
13501# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13502 call flush (output_unit)
13503# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13504 end block
13505# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13506#endif
13507# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13508
13509# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13510#if defined(MFC_OpenACC)
13511# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13512!$acc exit data delete(nc_iface_vel_n(i)%vf(l)%sf)
13513# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13514#elif defined(MFC_OpenMP)
13515# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13516!$omp target exit data map(release:nc_iface_vel_n(i)%vf(l)%sf)
13517# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13518#endif
13519# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13520 deallocate (nc_iface_vel_n(i)%vf(l)%sf)
13521# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13522 end do
13523#ifdef MFC_DEBUG
13524# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13525 block
13526# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13527 use iso_fortran_env, only: output_unit
13528# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13529
13530# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13531 print *, 'm_rhs.fpp:2299: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf)'
13532# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13533
13534# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13535 call flush (output_unit)
13536# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13537 end block
13538# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13539#endif
13540# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13541
13542# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13543#if defined(MFC_OpenACC)
13544# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13545!$acc exit data delete(nc_iface_vel_n(i)%vf)
13546# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13547#elif defined(MFC_OpenMP)
13548# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13549!$omp target exit data map(release:nc_iface_vel_n(i)%vf)
13550# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13551#endif
13552# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13553 deallocate (nc_iface_vel_n(i)%vf)
13554# 2300 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13555 end do
13556#ifdef MFC_DEBUG
13557# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13558 block
13559# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13560 use iso_fortran_env, only: output_unit
13561# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13562
13563# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13564 print *, 'm_rhs.fpp:2301: ', '@:DEALLOCATE(nc_iface_vel_n)'
13565# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13566
13567# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13568 call flush (output_unit)
13569# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13570 end block
13571# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13572#endif
13573# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13574
13575# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13576#if defined(MFC_OpenACC)
13577# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13578!$acc exit data delete(nc_iface_vel_n)
13579# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13580#elif defined(MFC_OpenMP)
13581# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13582!$omp target exit data map(release:nc_iface_vel_n)
13583# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13584#endif
13585# 2301 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13586 deallocate (nc_iface_vel_n)
13587# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13588 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13589 do i = 1, num_dims
13590 do l = 1, num_dims
13591#ifdef MFC_DEBUG
13592# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13593 block
13594# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13595 use iso_fortran_env, only: output_unit
13596# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13597
13598# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13599 print *, 'm_rhs.fpp:2305: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf(l)%sf)'
13600# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13601
13602# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13603 call flush (output_unit)
13604# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13605 end block
13606# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13607#endif
13608# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13609
13610# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13611#if defined(MFC_OpenACC)
13612# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13613!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf(l)%sf)
13614# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13615#elif defined(MFC_OpenMP)
13616# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13617!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf(l)%sf)
13618# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13619#endif
13620# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13621 deallocate (nc_iface_vel_hatr_n(i)%vf(l)%sf)
13622# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13623 end do
13624#ifdef MFC_DEBUG
13625# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13626 block
13627# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13628 use iso_fortran_env, only: output_unit
13629# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13630
13631# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13632 print *, 'm_rhs.fpp:2307: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf)'
13633# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13634
13635# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13636 call flush (output_unit)
13637# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13638 end block
13639# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13640#endif
13641# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13642
13643# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13644#if defined(MFC_OpenACC)
13645# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13646!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf)
13647# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13648#elif defined(MFC_OpenMP)
13649# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13650!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf)
13651# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13652#endif
13653# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13654 deallocate (nc_iface_vel_hatr_n(i)%vf)
13655# 2308 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13656 end do
13657#ifdef MFC_DEBUG
13658# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13659 block
13660# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13661 use iso_fortran_env, only: output_unit
13662# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13663
13664# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13665 print *, 'm_rhs.fpp:2309: ', '@:DEALLOCATE(nc_iface_vel_hatR_n)'
13666# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13667
13668# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13669 call flush (output_unit)
13670# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13671 end block
13672# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13673#endif
13674# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13675
13676# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13677#if defined(MFC_OpenACC)
13678# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13679!$acc exit data delete(nc_iface_vel_hatR_n)
13680# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13681#elif defined(MFC_OpenMP)
13682# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13683!$omp target exit data map(release:nc_iface_vel_hatR_n)
13684# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13685#endif
13686# 2309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13687 deallocate (nc_iface_vel_hatr_n)
13688# 2310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13689 end if
13690 end if
13691
13692 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13693 do i = 1, sys_size
13694#ifdef MFC_DEBUG
13695# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13696 block
13697# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13698 use iso_fortran_env, only: output_unit
13699# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13700
13701# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13702 print *, 'm_rhs.fpp:2315: ', '@:DEALLOCATE(rhs_hatL_vf(i)%sf)'
13703# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13704
13705# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13706 call flush (output_unit)
13707# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13708 end block
13709# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13710#endif
13711# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13712
13713# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13714#if defined(MFC_OpenACC)
13715# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13716!$acc exit data delete(rhs_hatL_vf(i)%sf)
13717# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13718#elif defined(MFC_OpenMP)
13719# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13720!$omp target exit data map(release:rhs_hatL_vf(i)%sf)
13721# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13722#endif
13723# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13724 deallocate (rhs_hatl_vf(i)%sf)
13725# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13726#ifdef MFC_DEBUG
13727# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13728 block
13729# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13730 use iso_fortran_env, only: output_unit
13731# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13732
13733# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13734 print *, 'm_rhs.fpp:2316: ', '@:DEALLOCATE(rhs_hatR_vf(i)%sf)'
13735# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13736
13737# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13738 call flush (output_unit)
13739# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13740 end block
13741# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13742#endif
13743# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13744
13745# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13746#if defined(MFC_OpenACC)
13747# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13748!$acc exit data delete(rhs_hatR_vf(i)%sf)
13749# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13750#elif defined(MFC_OpenMP)
13751# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13752!$omp target exit data map(release:rhs_hatR_vf(i)%sf)
13753# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13754#endif
13755# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13756 deallocate (rhs_hatr_vf(i)%sf)
13757# 2317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13758 end do
13759#ifdef MFC_DEBUG
13760# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13761 block
13762# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13763 use iso_fortran_env, only: output_unit
13764# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13765
13766# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13767 print *, 'm_rhs.fpp:2318: ', '@:DEALLOCATE(rhs_hatL_vf)'
13768# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13769
13770# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13771 call flush (output_unit)
13772# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13773 end block
13774# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13775#endif
13776# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13777
13778# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13779#if defined(MFC_OpenACC)
13780# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13781!$acc exit data delete(rhs_hatL_vf)
13782# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13783#elif defined(MFC_OpenMP)
13784# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13785!$omp target exit data map(release:rhs_hatL_vf)
13786# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13787#endif
13788# 2318 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13789 deallocate (rhs_hatl_vf)
13790# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13791#ifdef MFC_DEBUG
13792# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13793 block
13794# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13795 use iso_fortran_env, only: output_unit
13796# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13797
13798# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13799 print *, 'm_rhs.fpp:2319: ', '@:DEALLOCATE(rhs_hatR_vf)'
13800# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13801
13802# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13803 call flush (output_unit)
13804# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13805 end block
13806# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13807#endif
13808# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13809
13810# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13811#if defined(MFC_OpenACC)
13812# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13813!$acc exit data delete(rhs_hatR_vf)
13814# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13815#elif defined(MFC_OpenMP)
13816# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13817!$omp target exit data map(release:rhs_hatR_vf)
13818# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13819#endif
13820# 2319 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13821 deallocate (rhs_hatr_vf)
13822# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13823 end if
13824
13825 if (bf_spatial_support) then
13826#ifdef MFC_DEBUG
13827# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13828 block
13829# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13830 use iso_fortran_env, only: output_unit
13831# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13832
13833# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13834 print *, 'm_rhs.fpp:2323: ', '@:DEALLOCATE(spbf_source_x, spbf_source_y)'
13835# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13836
13837# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13838 call flush (output_unit)
13839# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13840 end block
13841# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13842#endif
13843# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13844
13845# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13846#if defined(MFC_OpenACC)
13847# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13848!$acc exit data delete(spbf_source_x, spbf_source_y)
13849# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13850#elif defined(MFC_OpenMP)
13851# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13852!$omp target exit data map(release:spbf_source_x, spbf_source_y)
13853# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13854#endif
13855# 2323 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13856 deallocate (spbf_source_x, spbf_source_y)
13857# 2324 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13858 end if
13859
13860 end subroutine s_finalize_rhs_module
13861
13862end 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.
Equations of state in Gamma/Pi form, rho e = Gamma(rho) p + Pi(rho).
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 reconstructions 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).