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(4) 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(4) 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 i = 1, sys_size
8057 do l = idwbuff(3)%beg, idwbuff(3)%end
8058 do k = idwbuff(2)%beg, idwbuff(2)%end
8059 do j = idwbuff(1)%beg, idwbuff(1)%end
8060 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_vf(i)%sf(j, k, l)
8061 end do
8062 end do
8063 end do
8064 end do
8065
8066# 612 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8067#if defined(MFC_OpenACC)
8068# 612 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8069!$acc end parallel loop
8070# 612 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8071#elif defined(MFC_OpenMP)
8072# 612 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8073
8074# 612 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8075!$omp end target teams loop
8076# 612 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8077#endif
8078# 613 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8079
8080 ! Converting Conservative to Primitive Variables
8081
8082 if (mpp_lim .and. bubbles_euler) then
8083
8084# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8085
8086# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8087#if defined(MFC_OpenACC)
8088# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8089!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8090# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8091#elif defined(MFC_OpenMP)
8092# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8093
8094# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8095
8096# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8097
8098# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8099!$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)
8100# 617 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8101#endif
8102# 618 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8103 do l = idwbuff(3)%beg, idwbuff(3)%end
8104 do k = idwbuff(2)%beg, idwbuff(2)%end
8105 do j = idwbuff(1)%beg, idwbuff(1)%end
8106 alf_sum%sf(j, k, l) = 0._wp
8107
8108# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8109#if defined(MFC_OpenACC)
8110# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8111!$acc loop seq
8112# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8113#elif defined(MFC_OpenMP)
8114# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8115
8116# 622 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8117#endif
8118# 623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8119 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
8120 alf_sum%sf(j, k, l) = alf_sum%sf(j, k, l) + q_cons_qp%vf(i)%sf(j, k, l)
8121 end do
8122
8123# 626 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8124#if defined(MFC_OpenACC)
8125# 626 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8126!$acc loop seq
8127# 626 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8128#elif defined(MFC_OpenMP)
8129# 626 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8130
8131# 626 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8132#endif
8133# 627 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8134 do i = eqn_idx%adv%beg, eqn_idx%adv%end - 1
8135 q_cons_qp%vf(i)%sf(j, k, l) = q_cons_qp%vf(i)%sf(j, k, &
8136 & l)*(1._wp - q_cons_qp%vf(eqn_idx%alf)%sf(j, k, l))/alf_sum%sf(j, k, l)
8137 end do
8138 end do
8139 end do
8140 end do
8141
8142# 634 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8143#if defined(MFC_OpenACC)
8144# 634 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8145!$acc end parallel loop
8146# 634 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8147#elif defined(MFC_OpenMP)
8148# 634 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8149
8150# 634 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8151!$omp end target teams loop
8152# 634 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8153#endif
8154# 635 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8155 end if
8156 end if
8157
8158 if (igr) then
8159 call nvtxstartrange("RHS-COMMUNICATION")
8160 call s_populate_variables_buffers(bc_type, q_cons_vf, pb_in, mv_in, q_t_sf)
8161 call nvtxendrange
8162 end if
8163 if (.not. igr) then
8164 call nvtxstartrange("RHS-CONVERT")
8165 call s_convert_conservative_to_primitive_variables(q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8166 call nvtxendrange
8167
8168 call nvtxstartrange("RHS-COMMUNICATION")
8169 call s_populate_variables_buffers(bc_type, q_prim_qp%vf, pb_in, mv_in, q_t_sf)
8170 call nvtxendrange
8171 end if
8172
8173 if (cfl_dt) then
8174 if (mytime >= t_stop) return
8175 else
8176 if (t_step == t_step_stop) return
8177 end if
8178
8179 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), &
8180 & idwbuff(2), idwbuff(3))
8181
8182 if ((viscous .and. .not. igr)) then
8183 call nvtxstartrange("RHS-VISCOUS")
8186 & idwbuff(1), idwbuff(2), idwbuff(3))
8187 call nvtxendrange
8188 end if
8189
8190 if (surface_tension) then
8191 call nvtxstartrange("RHS-SURFACE-TENSION")
8192 call s_get_capillary(q_prim_qp%vf, bc_type)
8193 call nvtxendrange
8194 end if
8195
8196 if (int_comp == int_comp_mthinc .and. n > 0) then
8197 call nvtxstartrange("RHS-COMPRESSION-NORMALS")
8198 call s_compute_mthinc_normals(q_prim_qp%vf)
8199 call nvtxendrange
8200 end if
8201
8202 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8203 do id = 1, num_dims
8204 if (igr) then
8205 if (id == 1) then
8206
8207# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8208
8209# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8210#if defined(MFC_OpenACC)
8211# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8212!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8213# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8214#elif defined(MFC_OpenMP)
8215# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8216
8217# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8218
8219# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8220
8221# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8222!$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)
8223# 686 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8224#endif
8225# 687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8226 do l = -1, p + 1
8227 do k = -1, n + 1
8228 do j = -1, m + 1
8229 do i = 1, sys_size
8230 rhs_vf(i)%sf(j, k, l) = 0._stp
8231 end do
8232 end do
8233 end do
8234 end do
8235
8236# 696 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8237#if defined(MFC_OpenACC)
8238# 696 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8239!$acc end parallel loop
8240# 696 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8241#elif defined(MFC_OpenMP)
8242# 696 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8243
8244# 696 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8245!$omp end target teams loop
8246# 696 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8247#endif
8248# 697 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8249 end if
8250
8251 call nvtxstartrange("IGR_RIEMANN")
8252 call s_igr_riemann_solver(q_cons_vf, rhs_vf, id)
8253 call nvtxendrange
8254
8255 if (id == 1) then
8256 call nvtxstartrange("IGR_Jacobi")
8257 call s_igr_iterative_solve(q_cons_vf, bc_type, t_step)
8258 call nvtxendrange
8259
8260 call nvtxstartrange("IGR_SIGMA")
8261 call s_igr_sigma_x(q_cons_vf, rhs_vf)
8262 call nvtxendrange
8263 end if
8264 end if
8265 if (.not. igr) then
8267
8268 call s_compute_directional_rhs(id, rhs_vf, .false.)
8269
8270 ! RHS additions for hypoelasticity
8271 if (hypo_nc_mode == hypo_nc_mode_finite_diff) then
8272 call nvtxstartrange("RHS-HYPOELASTICITY-FD-PER-SWEEP")
8273 call s_compute_hypoelastic_rhs_finite_diff_per_sweep(id, q_prim_qp%vf, rhs_vf)
8274 call nvtxendrange
8275 end if
8276
8277 ! RHS for diffusion
8278 if (chemistry .and. chem_params%diffusion) then
8279 call nvtxstartrange("RHS-CHEM-DIFFUSION")
8280 call s_compute_chemistry_diffusion_flux(id, q_prim_qp%vf, flux_src_n(id)%vf, irx, iry, irz, q_t_sf)
8281 call nvtxendrange
8282 end if
8283
8284 ! RHS for Fourier heat conduction
8285 if (heat_conduction) then
8286 call nvtxstartrange("RHS-CONDUCTION")
8287 call s_compute_conduction_source_flux(id, q_prim_qp%vf, q_t_sf, flux_src_n(id)%vf, irx, iry, irz)
8288 call nvtxendrange
8289 end if
8290
8291 ! Viscous stress contribution to RHS
8292 if (viscous .or. surface_tension .or. chem_params%diffusion .or. heat_conduction) then
8293 call nvtxstartrange("RHS-ADD-PHYSICS")
8294 call s_compute_additional_physics_rhs(id, q_prim_qp%vf, q_t_sf, rhs_vf, flux_src_n(id)%vf, &
8295 & dq_prim_dx_qp(1)%vf, dq_prim_dy_qp(1)%vf, dq_prim_dz_qp(1)%vf)
8296 call nvtxendrange
8297 end if
8298
8299 ! Bubble dynamics source terms
8300 if (bubbles_euler) then
8301 call nvtxstartrange("RHS-BUBBLES-COMPUTE")
8302 call s_compute_bubbles_ee_rhs(id, q_prim_qp%vf, divu)
8303 call nvtxendrange
8304 end if
8305
8306 ! RHS additions for qbmm bubbles
8307 if (qbmm) then
8308 call nvtxstartrange("RHS-QBMM")
8309 call s_compute_qbmm_rhs(id, q_cons_qp%vf, q_prim_qp%vf, rhs_vf, flux_n(id)%vf, pb_in, rhs_pb)
8310 call nvtxendrange
8311 end if
8312 ! END: Additional physics and source terms
8313
8314 if (hyper_cleaning) then
8315
8316# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8317
8318# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8319#if defined(MFC_OpenACC)
8320# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8321!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
8322# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8323#elif defined(MFC_OpenMP)
8324# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8325
8326# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8327
8328# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8329
8330# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8331!$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)
8332# 763 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8333#endif
8334# 764 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8335 do l = 0, p
8336 do k = 0, n
8337 do j = 0, m
8338 rhs_vf(eqn_idx%psi)%sf(j, k, l) = rhs_vf(eqn_idx%psi)%sf(j, k, &
8339 & l) - q_prim_vf(eqn_idx%psi)%sf(j, k, l)/hyper_cleaning_tau
8340 end do
8341 end do
8342 end do
8343
8344# 772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8345#if defined(MFC_OpenACC)
8346# 772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8347!$acc end parallel loop
8348# 772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8349#elif defined(MFC_OpenMP)
8350# 772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8351
8352# 772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8353!$omp end target teams loop
8354# 772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8355#endif
8356# 773 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8357 end if
8358
8359 ! END: Additional physics and source terms
8360 end if
8361 end do
8362 else
8363 ! Fused dual-pass HLLD: per direction, the Riemann states are reconstructed once and ONE fused solve computes both
8364 ! 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*
8365 ! buffers). The hat_L partial RHS is assembled first; the hat_R set is then finalized into the same (already consumed)
8366 ! flux field arrays and assembled. The full RHS is the sum of the two anchored partial RHS's; the axisymmetric
8367 ! cylindrical completion for the volume fractions and stresses is applied once on the summed RHS, using the cell's own
8368 ! two anchored radial face traces (hat_L outer face, hat_R inner face).
8369 do id = 1, num_dims
8371 call s_compute_directional_rhs(id, rhs_hatl_vf, .true.)
8372 call nvtxstartrange("RHS-RIEMANN-FINALIZE-HATR")
8373 call s_finalize_riemann_solver_hatr(flux_n(id)%vf, flux_gsrc_n(id)%vf, id)
8374 if (use_nc_iface_vel) then
8375 call s_finalize_nc_iface_vel_hatr(nc_iface_vel_hatr_n(id)%vf, id)
8376 end if
8377 call nvtxendrange
8378 call nvtxstartrange("RHS-ADVECTION-SRC")
8380 call nvtxendrange
8381 end do
8382
8383
8384# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8385
8386# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8387#if defined(MFC_OpenACC)
8388# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8389!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8390# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8391#elif defined(MFC_OpenMP)
8392# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8393
8394# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8395
8396# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8397
8398# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8399!$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)
8400# 799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8401#endif
8402# 800 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8403 do i = 1, sys_size
8404 do l = 0, p
8405 do k = 0, n
8406 do j = 0, m
8407 rhs_vf(i)%sf(j, k, l) = rhs_hatl_vf(i)%sf(j, k, l) + rhs_hatr_vf(i)%sf(j, k, l)
8408 end do
8409 end do
8410 end do
8411 end do
8412
8413# 809 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8414#if defined(MFC_OpenACC)
8415# 809 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8416!$acc end parallel loop
8417# 809 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8418#elif defined(MFC_OpenMP)
8419# 809 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8420
8421# 809 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8422!$omp end target teams loop
8423# 809 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8424#endif
8425# 810 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8426
8427 if (grid_geometry == 2) then
8428 call nvtxstartrange("RHS-HYPOELASTICITY-AXISYM-HLLD")
8429 call s_compute_hypoelastic_rhs_axisym_geom_dual_pass(q_prim_qp%vf, rhs_vf, nc_iface_vel_n(2)%vf, &
8430 & nc_iface_vel_hatr_n(2)%vf)
8431 call nvtxendrange
8432 end if
8433 end if
8434 ! END: Dimensional Splitting Loop
8435
8436 ! RHS additions for hypoelasticity (interface-consistent path, after all sweeps)
8437 if (hypo_nc_mode == hypo_nc_mode_interface) then
8438 call nvtxstartrange("RHS-HYPOELASTICITY-IFACE")
8439 call s_compute_hypoelastic_rhs_iface(q_prim_qp%vf, rhs_vf, nc_iface_vel_n)
8440 call nvtxendrange
8441 end if
8442 if (ib) then
8443
8444# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8445
8446# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8447#if defined(MFC_OpenACC)
8448# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8449!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
8450# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8451#elif defined(MFC_OpenMP)
8452# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8453
8454# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8455
8456# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8457
8458# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8459!$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)
8460# 827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8461#endif
8462# 828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8463 do l = 0, p
8464 do k = 0, n
8465 do j = 0, m
8466 if (ib_markers%sf(j, k, l) /= 0) then
8467 do i = 1, sys_size
8468 rhs_vf(i)%sf(j, k, l) = 0._wp
8469 end do
8470 end if
8471 end do
8472 end do
8473 end do
8474
8475# 839 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8476#if defined(MFC_OpenACC)
8477# 839 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8478!$acc end parallel loop
8479# 839 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8480#elif defined(MFC_OpenMP)
8481# 839 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8482
8483# 839 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8484!$omp end target teams loop
8485# 839 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8486#endif
8487# 840 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8488 end if
8489
8490 ! Additional Physics and Source Terms Additions for acoustic_source
8491 if (acoustic_source) then
8492 call nvtxstartrange("RHS-ACOUSTIC-SRC")
8493 call s_acoustic_src_calculations(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8494 call nvtxendrange
8495 end if
8496
8497 ! Add bubbles source term
8498 if (bubbles_euler .and. (.not. adap_dt) .and. (.not. qbmm)) then
8499 call nvtxstartrange("RHS-BUBBLES-SRC")
8500 call s_compute_bubble_ee_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf, divu)
8501 call nvtxendrange
8502 end if
8503
8504 ! ptil is a probe-output diagnostic only, so evaluate it only when probes are on.
8505 ! This sits outside the source-term branch above so that the qbmm and adap_dt
8506 ! paths, which skip that branch, still get a filled ptil.
8507 if (bubbles_euler .and. probe_wrt) then
8508 call s_compute_ptilde(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size))
8509 end if
8510
8511 if (bubbles_lagrange) then
8512 if (.not. adap_dt) then
8513 call nvtxstartrange("RHS-EL-BUBBLES-DYN")
8514 call s_compute_bubble_el_dynamics(q_prim_qp%vf(1:sys_size), bc_type, stage)
8515 call nvtxendrange
8516 end if
8517
8518 if (lag_params%solver_approach == 2) then
8519 call nvtxstartrange("RHS-EL-BUBBLES-SRC")
8520 call s_compute_bubbles_el_source(q_cons_qp%vf(1:sys_size), q_prim_qp%vf(1:sys_size), rhs_vf)
8521 call nvtxendrange
8522 end if
8523 end if
8524
8525 ! When reaction_substeps > 0 the reaction source is integrated by operator splitting
8526 ! after the flow update (s_chemistry_reaction_substep), not added to the flow RHS here.
8527 if (chemistry .and. chem_params%reactions .and. chem_params%reaction_substeps == 0) then
8528 call nvtxstartrange("RHS-CHEM-REACTIONS")
8529 call s_compute_chemistry_reaction_flux(rhs_vf, q_cons_qp%vf, q_t_sf, q_prim_qp%vf, idwint)
8530 call nvtxendrange
8531 end if
8532
8533 ! With rburn%substeps > 0 the burn is integrated by operator splitting after the flow
8534 ! update (s_reactive_burn_substep), not added to the flow RHS here.
8535 if (reactive_burn .and. rburn%substeps == 0) then
8536 call nvtxstartrange("RHS-REACTIVE-BURN")
8537 call s_compute_reactive_burn(rhs_vf, q_cons_qp%vf, q_prim_qp%vf, idwint)
8538 call nvtxendrange
8539 end if
8540
8541 if (cont_damage) call s_compute_damage_state(q_cons_qp%vf, q_prim_qp%vf, rhs_vf)
8542
8543 ! END: Additional physics and source terms
8544
8545 if (run_time_info .or. probe_wrt .or. ib .or. bubbles_lagrange) then
8546 if (.not. igr) then
8547
8548# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8549
8550# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8551#if defined(MFC_OpenACC)
8552# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8553!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8554# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8555#elif defined(MFC_OpenMP)
8556# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8557
8558# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8559
8560# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8561
8562# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8563!$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)
8564# 899 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8565#endif
8566# 900 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8567 do i = 1, sys_size
8568 do l = idwbuff(3)%beg, idwbuff(3)%end
8569 do k = idwbuff(2)%beg, idwbuff(2)%end
8570 do j = idwbuff(1)%beg, idwbuff(1)%end
8571 q_prim_vf(i)%sf(j, k, l) = q_prim_qp%vf(i)%sf(j, k, l)
8572 end do
8573 end do
8574 end do
8575 end do
8576
8577# 909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8578#if defined(MFC_OpenACC)
8579# 909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8580!$acc end parallel loop
8581# 909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8582#elif defined(MFC_OpenMP)
8583# 909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8584
8585# 909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8586!$omp end target teams loop
8587# 909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8588#endif
8589# 910 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8590 end if
8591 end if
8592
8593 call nvtxendrange
8594
8595 end subroutine s_compute_rhs
8596
8597 !> Reconstructs the left/right Riemann states (cell-boundary values) for one sweep direction into the module face buffers
8598 !! (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
8599 !! sweep direction; both anchored passes of the fused dual-pass HLLD solve in that direction reuse these buffers.
8601
8602 integer, intent(in) :: id
8603 integer :: i, j, k, l !< Generic loop iterators
8604
8605 call nvtxstartrange("RHS-RECONSTRUCTION")
8606
8607 if (.not. surface_tension) then
8608 if ((.not. weno_re_flux) .or. int_comp > 0) then
8609 ! Reconstruct densitiess
8610 iv%beg = 1; iv%end = sys_size
8612 else
8613 iv%beg = 1; iv%end = eqn_idx%cont%end
8615
8616 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8617
8618# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8619#if defined(MFC_OpenACC)
8620# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8621!$acc update device(iv, iglob)
8622# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8623#elif defined(MFC_OpenMP)
8624# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8625!$omp target update to(iv, iglob)
8626# 937 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8627#endif
8628# 938 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8629
8630
8631# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8632
8633# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8634#if defined(MFC_OpenACC)
8635# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8636!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8637# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8638#elif defined(MFC_OpenMP)
8639# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8640
8641# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8642
8643# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8644
8645# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8646!$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)
8647# 939 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8648#endif
8649# 940 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8650 do i = iv%beg, iv%end
8651 do l = idwbuff(3)%beg, idwbuff(3)%end
8652 do k = idwbuff(2)%beg, idwbuff(2)%end
8653 do j = idwbuff(1)%beg, idwbuff(1)%end
8654 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8655 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8656 end do
8657 end do
8658 end do
8659 end do
8660
8661# 950 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8662#if defined(MFC_OpenACC)
8663# 950 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8664!$acc end parallel loop
8665# 950 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8666#elif defined(MFC_OpenMP)
8667# 950 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8668
8669# 950 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8670!$omp end target teams loop
8671# 950 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8672#endif
8673# 951 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8674
8675 iv%beg = eqn_idx%E; iv%end = sys_size
8677 end if
8678 else
8679 if (int_comp > 0) then
8680 ! THINC reads cont and adv from v_rs_ws; must reconstruct full sys_size range to populate both
8681 iv%beg = 1; iv%end = sys_size
8683 ! Surface tension requires first-order energy; overwrite the higher-order result from the full pass above
8684 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8686 else if ((.not. weno_re_flux)) then
8687 iv%beg = 1; iv%end = eqn_idx%E - 1
8689
8690 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8692
8693 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8695 else
8696 iv%beg = 1; iv%end = eqn_idx%cont%end
8698
8699 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end; iglob = id
8700
8701# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8702#if defined(MFC_OpenACC)
8703# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8704!$acc update device(iv, iglob)
8705# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8706#elif defined(MFC_OpenMP)
8707# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8708!$omp target update to(iv, iglob)
8709# 977 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8710#endif
8711# 978 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8712
8713
8714# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8715
8716# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8717#if defined(MFC_OpenACC)
8718# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8719!$acc parallel loop collapse(4) gang vector default(present) private(i, j, k, l)
8720# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8721#elif defined(MFC_OpenMP)
8722# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8723
8724# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8725
8726# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8727
8728# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8729!$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)
8730# 979 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8731#endif
8732# 980 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8733 do i = iv%beg, iv%end
8734 do l = idwbuff(3)%beg, idwbuff(3)%end
8735 do k = idwbuff(2)%beg, idwbuff(2)%end
8736 do j = idwbuff(1)%beg, idwbuff(1)%end
8737 ql_rsx_vf(j, k, l, i) = ql_prim(iglob)%vf(i)%sf(j, k, l)
8738 qr_rsx_vf(j, k, l, i) = qr_prim(iglob)%vf(i)%sf(j, k, l)
8739 end do
8740 end do
8741 end do
8742 end do
8743
8744# 990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8745#if defined(MFC_OpenACC)
8746# 990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8747!$acc end parallel loop
8748# 990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8749#elif defined(MFC_OpenMP)
8750# 990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8751
8752# 990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8753!$omp end target teams loop
8754# 990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8755#endif
8756# 991 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8757
8758 iv%beg = eqn_idx%E; iv%end = eqn_idx%E
8760
8761 iv%beg = eqn_idx%E + 1; iv%end = sys_size
8763 end if
8764 end if
8765
8766 ! Reconstruct viscous derivatives for viscosity
8767 if (weno_re_flux) then
8768 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end
8769 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, &
8770 & 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))
8771 if (n > 0) then
8772 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dy_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, dqr_rsx_vf, &
8773 & 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), &
8774 & idwbuff(3))
8775 if (p > 0) then
8776 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dz_qp(1)%vf(iv%beg:iv%end), dql_rsx_vf, &
8777 & 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), &
8778 & idwbuff(2), idwbuff(3))
8779 end if
8780 end if
8781 end if
8782
8783 call nvtxendrange
8784
8785 end subroutine s_reconstruct_riemann_states
8786
8787 !> Computes one sweep direction's contribution to the RHS: the Riemann solve on the reconstructed cell-boundary states followed
8788 !! by the advection source term. For dual-pass HLLD the fused solve computes BOTH anchored flux sets in one call; this routine
8789 !! assembles the hat_L (is_hat_L=.true.) partial RHS, and the caller finalizes + assembles the hat_R set afterwards. is_hat_L
8790 !! selects which one-sided flux difference the advection source applies into rhs_vf.
8791 subroutine s_compute_directional_rhs(id, rhs_vf, is_hat_L)
8792
8793 integer, intent(in) :: id
8794 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8795 logical, intent(in) :: is_hat_L
8796
8797 ! Configuring Coordinate Direction Indexes
8798
8799 if (id == 1) then
8800 irx%beg = -1; iry%beg = 0; irz%beg = 0
8801 else if (id == 2) then
8802 irx%beg = 0; iry%beg = -1; irz%beg = 0
8803 else
8804 irx%beg = 0; iry%beg = 0; irz%beg = -1
8805 end if
8806 irx%end = m; iry%end = n; irz%end = p
8807
8808 ! Computing Riemann Solver Flux and Source Flux
8809 call nvtxstartrange("RHS-RIEMANN-SOLVER")
8810 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, &
8811 & 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, &
8812 & q_prim_qp%vf, flux_n(id)%vf, flux_src_n(id)%vf, flux_gsrc_n(id)%vf, id, irx, iry, irz)
8813 call nvtxendrange
8814
8815 if (use_nc_iface_vel) then
8816 call s_finalize_nc_iface_vel(nc_iface_vel_n(id)%vf, id)
8817 end if
8818
8819 ! Additional physics and source terms RHS addition for advection source
8820 call nvtxstartrange("RHS-ADVECTION-SRC")
8821 call s_compute_advection_source_term(id, rhs_vf, q_cons_qp, q_prim_qp, flux_src_n(id), is_hat_l)
8822 call nvtxendrange
8823
8824 end subroutine s_compute_directional_rhs
8825
8826 !> Accumulate advection source contributions from a given coordinate direction into the RHS
8827 subroutine s_compute_advection_source_term(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, is_hat_L)
8828
8829 integer, intent(in) :: idir
8830 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
8831 type(vector_field), intent(inout) :: q_cons_vf
8832 type(vector_field), intent(inout) :: q_prim_vf
8833 type(vector_field), intent(inout) :: flux_src_n_vf
8834 logical, intent(in) :: is_hat_L
8835 integer :: j, k, l, q !< Loop iterators from original, meaning varies
8836 integer :: k_loop, l_loop, q_loop !< Standardized spatial loop iterators 0:m, 0:n, 0:p
8837 integer :: i_fluid_loop
8838 real(wp) :: inv_ds, flux_face1, flux_face2
8839 real(wp) :: advected_qty_val, pressure_val, velocity_val
8840 real(wp) :: G1_eff, G2_eff, pres_K, alpha_K, alpha_rho_K, blkmod_K
8841
8842 g1_eff = 0._wp
8843 g2_eff = 0._wp
8844 if (hypoelasticity) then
8845 g1_eff = fluid_pp(1)%G
8846 g2_eff = fluid_pp(2)%G
8847 end if
8848
8849 if (alt_soundspeed) then
8850
8851# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8852
8853# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8854#if defined(MFC_OpenACC)
8855# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8856!$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)
8857# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8858#elif defined(MFC_OpenMP)
8859# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8860
8861# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8862
8863# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8864
8865# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8866!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8867# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8868!$omp& private(k_loop, l_loop, q_loop, pres_K, alpha_K, alpha_rho_K, blkmod_K)
8869# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8870#endif
8871# 1085 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8872 do q_loop = 0, p
8873 do l_loop = 0, n
8874 do k_loop = 0, m
8875 ! Scalars in, scalar out: an element of a device-resident array passed by reference to a
8876 ! device routine is read or written at the wrong address on Cray OpenACC.
8877 pres_k = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
8878 alpha_k = q_prim_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8879 alpha_rho_k = q_prim_vf%vf(eqn_idx%cont%beg)%sf(k_loop, l_loop, q_loop)
8880 call s_phase_bulk_modulus(pres_k, alpha_k, alpha_rho_k, 1, blkmod_k)
8881 blkmod1(k_loop, l_loop, q_loop) = blkmod_k + (4._wp/3._wp)*g1_eff
8882 alpha_k = q_prim_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8883 alpha_rho_k = q_prim_vf%vf(eqn_idx%cont%end)%sf(k_loop, l_loop, q_loop)
8884 call s_phase_bulk_modulus(pres_k, alpha_k, alpha_rho_k, 2, blkmod_k)
8885 blkmod2(k_loop, l_loop, q_loop) = blkmod_k + (4._wp/3._wp)*g2_eff
8886 alpha1(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
8887
8888 if (bubbles_euler) then
8889 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%alf - 1)%sf(k_loop, l_loop, q_loop)
8890 else
8891 alpha2(k_loop, l_loop, q_loop) = q_cons_vf%vf(eqn_idx%adv%end)%sf(k_loop, l_loop, q_loop)
8892 end if
8893
8894 kterm(k_loop, l_loop, q_loop) = alpha1(k_loop, l_loop, q_loop)*alpha2(k_loop, l_loop, &
8895 & q_loop)*(blkmod2(k_loop, l_loop, q_loop) - blkmod1(k_loop, l_loop, q_loop))/(alpha1(k_loop, &
8896 & l_loop, q_loop)*blkmod2(k_loop, l_loop, q_loop) + alpha2(k_loop, l_loop, q_loop)*blkmod1(k_loop, &
8897 & l_loop, q_loop))
8898 end do
8899 end do
8900 end do
8901
8902# 1114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8903#if defined(MFC_OpenACC)
8904# 1114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8905!$acc end parallel loop
8906# 1114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8907#elif defined(MFC_OpenMP)
8908# 1114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8909
8910# 1114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8911!$omp end target teams loop
8912# 1114 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8913#endif
8914# 1115 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8915 end if
8916
8917 select case (idir)
8918 case (1) ! x-direction
8919 if (bc_x%beg <= bc_char_slip_wall .and. bc_x%beg >= bc_char_sup_outflow) then
8920 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
8921 end if
8922 if (bc_x%end <= bc_char_slip_wall .and. bc_x%end >= bc_char_sup_outflow) then
8923 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
8924 end if
8925
8926 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
8927
8928# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8929
8930# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8931#if defined(MFC_OpenACC)
8932# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8933!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8934# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8935#elif defined(MFC_OpenMP)
8936# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8937
8938# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8939
8940# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8941
8942# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8943!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8944# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8945!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1, flux_face2)
8946# 1127 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8947#endif
8948# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8949 do j = 1, sys_size
8950 do q_loop = 0, p
8951 do l_loop = 0, n
8952 do k_loop = 0, m
8953 inv_ds = 1._wp/dx(k_loop)
8954 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
8955 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
8956 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*(flux_face1 - flux_face2)
8957 end do
8958 end do
8959 end do
8960 end do
8961
8962# 1140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8963#if defined(MFC_OpenACC)
8964# 1140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8965!$acc end parallel loop
8966# 1140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8967#elif defined(MFC_OpenMP)
8968# 1140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8969
8970# 1140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8971!$omp end target teams loop
8972# 1140 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8973#endif
8974# 1141 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8975 else if (is_hat_l) then
8976
8977# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8978
8979# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8980#if defined(MFC_OpenACC)
8981# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8982!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8983# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8984#elif defined(MFC_OpenMP)
8985# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8986
8987# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8988
8989# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8990
8991# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8992!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
8993# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8994!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face2)
8995# 1142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8996#endif
8997# 1143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
8998 do j = 1, sys_size
8999 do q_loop = 0, p
9000 do l_loop = 0, n
9001 do k_loop = 0, m
9002 inv_ds = 1._wp/dx(k_loop)
9003 flux_face2 = flux_n(1)%vf(j)%sf(k_loop, l_loop, q_loop)
9004 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = -inv_ds*flux_face2
9005 end do
9006 end do
9007 end do
9008 end do
9009
9010# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9011#if defined(MFC_OpenACC)
9012# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9013!$acc end parallel loop
9014# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9015#elif defined(MFC_OpenMP)
9016# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9017
9018# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9019!$omp end target teams loop
9020# 1154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9021#endif
9022# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9023 else ! is_hat_R
9024
9025# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9026
9027# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9028#if defined(MFC_OpenACC)
9029# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9030!$acc parallel loop collapse(4) gang vector default(present) private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
9031# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9032#elif defined(MFC_OpenMP)
9033# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9034
9035# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9036
9037# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9038
9039# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9040!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9041# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9042!$omp& private(j, k_loop, l_loop, q_loop, inv_ds, flux_face1)
9043# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9044#endif
9045# 1157 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9046 do j = 1, sys_size
9047 do q_loop = 0, p
9048 do l_loop = 0, n
9049 do k_loop = 0, m
9050 inv_ds = 1._wp/dx(k_loop)
9051 flux_face1 = flux_n(1)%vf(j)%sf(k_loop - 1, l_loop, q_loop)
9052 rhs_vf(j)%sf(k_loop, l_loop, q_loop) = inv_ds*flux_face1
9053 end do
9054 end do
9055 end do
9056 end do
9057
9058# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9059#if defined(MFC_OpenACC)
9060# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9061!$acc end parallel loop
9062# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9063#elif defined(MFC_OpenMP)
9064# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9065
9066# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9067!$omp end target teams loop
9068# 1168 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9069#endif
9070# 1169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9071 end if
9072
9073 if (model_eqns == model_eqns_6eq) then
9074
9075# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9076
9077# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9078#if defined(MFC_OpenACC)
9079# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9080!$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)
9081# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9082#elif defined(MFC_OpenMP)
9083# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9084
9085# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9086
9087# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9088
9089# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9090!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9091# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9092!$omp& private(i_fluid_loop, k_loop, l_loop, q_loop, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9093# 1172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9094#endif
9095# 1174 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9096 do q_loop = 0, p
9097 do l_loop = 0, n
9098 do k_loop = 0, m
9099 do i_fluid_loop = 1, num_fluids
9100 inv_ds = 1._wp/dx(k_loop)
9101 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(k_loop, l_loop, q_loop)
9102 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(k_loop, l_loop, q_loop)
9103 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop, l_loop, q_loop)
9104 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(k_loop - 1, l_loop, q_loop)
9105 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
9106 & q_loop) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(k_loop, l_loop, &
9107 & q_loop) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9108 end do
9109 end do
9110 end do
9111 end do
9112
9113# 1190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9114#if defined(MFC_OpenACC)
9115# 1190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9116!$acc end parallel loop
9117# 1190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9118#elif defined(MFC_OpenMP)
9119# 1190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9120
9121# 1190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9122!$omp end target teams loop
9123# 1190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9124#endif
9125# 1191 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9126 end if
9127
9128 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9129 case (2) ! y-direction
9130 if (bc_y%beg <= bc_char_slip_wall .and. bc_y%beg >= bc_char_sup_outflow) then
9131 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9132 end if
9133 if (bc_y%end <= bc_char_slip_wall .and. bc_y%end >= bc_char_sup_outflow) then
9134 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9135 end if
9136
9137 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9138
9139# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9140
9141# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9142#if defined(MFC_OpenACC)
9143# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9144!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9145# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9146#elif defined(MFC_OpenMP)
9147# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9148
9149# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9150
9151# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9152
9153# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9154!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9155# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9156!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9157# 1203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9158#endif
9159# 1204 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9160 do j = 1, sys_size
9161 do l = 0, p
9162 do k = 0, n
9163 do q = 0, m
9164 inv_ds = 1._wp/dy(k)
9165 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9166 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
9167 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*(flux_face1 - flux_face2)
9168 end do
9169 end do
9170 end do
9171 end do
9172
9173# 1216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9174#if defined(MFC_OpenACC)
9175# 1216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9176!$acc end parallel loop
9177# 1216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9178#elif defined(MFC_OpenMP)
9179# 1216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9180
9181# 1216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9182!$omp end target teams loop
9183# 1216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9184#endif
9185# 1217 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9186 else if (is_hat_l) then
9187
9188# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9189
9190# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9191#if defined(MFC_OpenACC)
9192# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9193!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9194# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9195#elif defined(MFC_OpenMP)
9196# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9197
9198# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9199
9200# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9201
9202# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9203!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9204# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9205!$omp& private(j, k, l, q, inv_ds, flux_face2)
9206# 1218 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9207#endif
9208# 1219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9209 do j = 1, sys_size
9210 do l = 0, p
9211 do k = 0, n
9212 do q = 0, m
9213 inv_ds = 1._wp/dy(k)
9214 flux_face2 = flux_n(2)%vf(j)%sf(q, k, l)
9215 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - inv_ds*flux_face2
9216 end do
9217 end do
9218 end do
9219 end do
9220
9221# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9222#if defined(MFC_OpenACC)
9223# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9224!$acc end parallel loop
9225# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9226#elif defined(MFC_OpenMP)
9227# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9228
9229# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9230!$omp end target teams loop
9231# 1230 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9232#endif
9233# 1231 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9234 else ! is_hat_R
9235
9236# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9237
9238# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9239#if defined(MFC_OpenACC)
9240# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9241!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9242# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9243#elif defined(MFC_OpenMP)
9244# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9245
9246# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9247
9248# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9249
9250# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9251!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9252# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9253!$omp& private(j, k, l, q, inv_ds, flux_face1)
9254# 1232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9255#endif
9256# 1233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9257 do j = 1, sys_size
9258 do l = 0, p
9259 do k = 0, n
9260 do q = 0, m
9261 inv_ds = 1._wp/dy(k)
9262 flux_face1 = flux_n(2)%vf(j)%sf(q, k - 1, l)
9263 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) + inv_ds*flux_face1
9264 end do
9265 end do
9266 end do
9267 end do
9268
9269# 1244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9270#if defined(MFC_OpenACC)
9271# 1244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9272!$acc end parallel loop
9273# 1244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9274#elif defined(MFC_OpenMP)
9275# 1244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9276
9277# 1244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9278!$omp end target teams loop
9279# 1244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9280#endif
9281# 1245 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9282 end if
9283
9284 if (model_eqns == model_eqns_6eq) then
9285
9286# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9287
9288# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9289#if defined(MFC_OpenACC)
9290# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9291!$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)
9292# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9293#elif defined(MFC_OpenMP)
9294# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9295
9296# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9297
9298# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9299
9300# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9301!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9302# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9303!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9304# 1248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9305#endif
9306# 1250 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9307 do l = 0, p
9308 do k = 0, n
9309 do q = 0, m
9310 do i_fluid_loop = 1, num_fluids
9311 inv_ds = 1._wp/dy(k)
9312 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(q, k, l)
9313 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(q, k, l)
9314 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k, l)
9315 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(q, k - 1, l)
9316 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9317 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9318 & l) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9319 if (cyl_coord) then
9320 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9321 & l) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(q, k, &
9322 & l) - 5.e-1_wp/y_cc(k)*advected_qty_val*pressure_val*(flux_face1 + flux_face2)
9323 end if
9324 end do
9325 end do
9326 end do
9327 end do
9328
9329# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9330#if defined(MFC_OpenACC)
9331# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9332!$acc end parallel loop
9333# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9334#elif defined(MFC_OpenMP)
9335# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9336
9337# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9338!$omp end target teams loop
9339# 1271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9340#endif
9341# 1272 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9342 end if
9343
9344 if (cyl_coord) then
9345 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
9346 ! Cell-owned anchored geometry: the hat_L pass owns the cell's outer radial face and the hat_R pass its
9347 ! inner face (the same anchor ownership as the one-sided flux differences above), so the summed RHS
9348 ! carries -(H_outer + H_inner)/(2*y_cc) with both faces anchored to the cell itself. With midpoint cell
9349 ! centers this equals the annular finite-volume divergence (r_+ F_+ - r_- F_-)/(y_cc*dy) for the rows
9350 ! whose geometric flux is the full radial flux.
9351 if (is_hat_l) then
9352
9353# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9354
9355# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9356#if defined(MFC_OpenACC)
9357# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9358!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face2)
9359# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9360#elif defined(MFC_OpenMP)
9361# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9362
9363# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9364
9365# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9366
9367# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9368!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9369# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9370!$omp& private(j, k, l, q, flux_face2)
9371# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9372#endif
9373# 1283 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9374 do j = 1, sys_size
9375 do l = 0, p
9376 do k = 0, n
9377 do q = 0, m
9378 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9379 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face2
9380 end do
9381 end do
9382 end do
9383 end do
9384
9385# 1293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9386#if defined(MFC_OpenACC)
9387# 1293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9388!$acc end parallel loop
9389# 1293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9390#elif defined(MFC_OpenMP)
9391# 1293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9392
9393# 1293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9394!$omp end target teams loop
9395# 1293 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9396#endif
9397# 1294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9398 else ! is_hat_R
9399
9400# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9401
9402# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9403#if defined(MFC_OpenACC)
9404# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9405!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1)
9406# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9407#elif defined(MFC_OpenMP)
9408# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9409
9410# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9411
9412# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9413
9414# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9415!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9416# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9417!$omp& private(j, k, l, q, flux_face1)
9418# 1295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9419#endif
9420# 1296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9421 do j = 1, sys_size
9422 do l = 0, p
9423 do k = 0, n
9424 do q = 0, m
9425 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9426 rhs_vf(j)%sf(q, k, l) = rhs_vf(j)%sf(q, k, l) - 5.e-1_wp/y_cc(k)*flux_face1
9427 end do
9428 end do
9429 end do
9430 end do
9431
9432# 1306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9433#if defined(MFC_OpenACC)
9434# 1306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9435!$acc end parallel loop
9436# 1306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9437#elif defined(MFC_OpenMP)
9438# 1306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9439
9440# 1306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9441!$omp end target teams loop
9442# 1306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9443#endif
9444# 1307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9445 end if
9446 else
9447
9448# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9449
9450# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9451#if defined(MFC_OpenACC)
9452# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9453!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9454# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9455#elif defined(MFC_OpenMP)
9456# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9457
9458# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9459
9460# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9461
9462# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9463!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9464# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9465!$omp& private(j, k, l, q, flux_face1, flux_face2)
9466# 1309 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9467#endif
9468# 1310 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9469 do j = 1, sys_size
9470 do l = 0, p
9471 do k = 0, n
9472 do q = 0, m
9473 flux_face1 = flux_gsrc_n(2)%vf(j)%sf(q, k - 1, l)
9474 flux_face2 = flux_gsrc_n(2)%vf(j)%sf(q, k, l)
9475 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)
9476 end do
9477 end do
9478 end do
9479 end do
9480
9481# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9482#if defined(MFC_OpenACC)
9483# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9484!$acc end parallel loop
9485# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9486#elif defined(MFC_OpenMP)
9487# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9488
9489# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9490!$omp end target teams loop
9491# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9492#endif
9493# 1322 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9494 end if
9495 end if
9496
9497 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9498 case (3) ! z-direction
9499 if (bc_z%beg <= bc_char_slip_wall .and. bc_z%beg >= bc_char_sup_outflow) then
9500 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, -1, irx, iry, irz)
9501 end if
9502 if (bc_z%end <= bc_char_slip_wall .and. bc_z%end >= bc_char_sup_outflow) then
9503 call s_cbc(q_prim_vf%vf, flux_n(idir)%vf, flux_src_n_vf%vf, idir, 1, irx, iry, irz)
9504 end if
9505
9506 if (grid_geometry == 3) then ! Cylindrical Coordinates
9507
9508# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9509
9510# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9511#if defined(MFC_OpenACC)
9512# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9513!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9514# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9515#elif defined(MFC_OpenMP)
9516# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9517
9518# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9519
9520# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9521
9522# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9523!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9524# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9525!$omp& private(j, k, l, q, inv_ds, velocity_val, flux_face1, flux_face2)
9526# 1335 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9527#endif
9528# 1336 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9529 do j = 1, sys_size
9530 do k = 0, p
9531 do q = 0, n
9532 do l = 0, m
9533 inv_ds = 1._wp/(dz(k)*y_cc(q))
9534 velocity_val = q_prim_vf%vf(eqn_idx%cont%end + idir)%sf(l, q, k)
9535 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9536 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9537 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*velocity_val*(flux_face1 - flux_face2)
9538 end do
9539 end do
9540 end do
9541 end do
9542
9543# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9544#if defined(MFC_OpenACC)
9545# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9546!$acc end parallel loop
9547# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9548#elif defined(MFC_OpenMP)
9549# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9550
9551# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9552!$omp end target teams loop
9553# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9554#endif
9555# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9556
9557# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9558
9559# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9560#if defined(MFC_OpenACC)
9561# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9562!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, flux_face1, flux_face2)
9563# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9564#elif defined(MFC_OpenMP)
9565# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9566
9567# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9568
9569# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9570
9571# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9572!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9573# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9574!$omp& private(j, k, l, q, flux_face1, flux_face2)
9575# 1350 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9576#endif
9577# 1351 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9578 do j = 1, sys_size
9579 do k = 0, p
9580 do q = 0, n
9581 do l = 0, m
9582 flux_face1 = flux_gsrc_n(3)%vf(j)%sf(l, q, k - 1)
9583 flux_face2 = flux_gsrc_n(3)%vf(j)%sf(l, q, k)
9584 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)
9585 end do
9586 end do
9587 end do
9588 end do
9589
9590# 1362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9591#if defined(MFC_OpenACC)
9592# 1362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9593!$acc end parallel loop
9594# 1362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9595#elif defined(MFC_OpenMP)
9596# 1362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9597
9598# 1362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9599!$omp end target teams loop
9600# 1362 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9601#endif
9602# 1363 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9603 else ! Cartesian Coordinates
9604 if (hypo_nc_mode /= hypo_nc_mode_dual_pass) then
9605
9606# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9607
9608# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9609#if defined(MFC_OpenACC)
9610# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9611!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9612# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9613#elif defined(MFC_OpenMP)
9614# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9615
9616# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9617
9618# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9619
9620# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9621!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9622# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9623!$omp& private(j, k, l, q, inv_ds, flux_face1, flux_face2)
9624# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9625#endif
9626# 1366 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9627 do j = 1, sys_size
9628 do k = 0, p
9629 do q = 0, n
9630 do l = 0, m
9631 inv_ds = 1._wp/dz(k)
9632 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9633 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9634 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*(flux_face1 - flux_face2)
9635 end do
9636 end do
9637 end do
9638 end do
9639
9640# 1378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9641#if defined(MFC_OpenACC)
9642# 1378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9643!$acc end parallel loop
9644# 1378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9645#elif defined(MFC_OpenMP)
9646# 1378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9647
9648# 1378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9649!$omp end target teams loop
9650# 1378 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9651#endif
9652# 1379 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9653 else if (is_hat_l) then
9654
9655# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9656
9657# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9658#if defined(MFC_OpenACC)
9659# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9660!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face2)
9661# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9662#elif defined(MFC_OpenMP)
9663# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9664
9665# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9666
9667# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9668
9669# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9670!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9671# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9672!$omp& private(j, k, l, q, inv_ds, flux_face2)
9673# 1380 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9674#endif
9675# 1381 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9676 do j = 1, sys_size
9677 do k = 0, p
9678 do q = 0, n
9679 do l = 0, m
9680 inv_ds = 1._wp/dz(k)
9681 flux_face2 = flux_n(3)%vf(j)%sf(l, q, k)
9682 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) - inv_ds*flux_face2
9683 end do
9684 end do
9685 end do
9686 end do
9687
9688# 1392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9689#if defined(MFC_OpenACC)
9690# 1392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9691!$acc end parallel loop
9692# 1392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9693#elif defined(MFC_OpenMP)
9694# 1392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9695
9696# 1392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9697!$omp end target teams loop
9698# 1392 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9699#endif
9700# 1393 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9701 else ! is_hat_R
9702
9703# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9704
9705# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9706#if defined(MFC_OpenACC)
9707# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9708!$acc parallel loop collapse(4) gang vector default(present) private(j, k, l, q, inv_ds, flux_face1)
9709# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9710#elif defined(MFC_OpenMP)
9711# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9712
9713# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9714
9715# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9716
9717# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9718!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9719# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9720!$omp& private(j, k, l, q, inv_ds, flux_face1)
9721# 1394 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9722#endif
9723# 1395 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9724 do j = 1, sys_size
9725 do k = 0, p
9726 do q = 0, n
9727 do l = 0, m
9728 inv_ds = 1._wp/dz(k)
9729 flux_face1 = flux_n(3)%vf(j)%sf(l, q, k - 1)
9730 rhs_vf(j)%sf(l, q, k) = rhs_vf(j)%sf(l, q, k) + inv_ds*flux_face1
9731 end do
9732 end do
9733 end do
9734 end do
9735
9736# 1406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9737#if defined(MFC_OpenACC)
9738# 1406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9739!$acc end parallel loop
9740# 1406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9741#elif defined(MFC_OpenMP)
9742# 1406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9743
9744# 1406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9745!$omp end target teams loop
9746# 1406 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9747#endif
9748# 1407 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9749 end if
9750 end if
9751
9752 if (model_eqns == model_eqns_6eq) then
9753
9754# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9755
9756# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9757#if defined(MFC_OpenACC)
9758# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9759!$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)
9760# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9761#elif defined(MFC_OpenMP)
9762# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9763
9764# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9765
9766# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9767
9768# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9769!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9770# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9771!$omp& private(i_fluid_loop, k, l, q, inv_ds, advected_qty_val, pressure_val, flux_face1, flux_face2)
9772# 1411 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9773#endif
9774# 1413 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9775 do k = 0, p
9776 do q = 0, n
9777 do l = 0, m
9778 do i_fluid_loop = 1, num_fluids
9779 inv_ds = 1._wp/dz(k)
9780 advected_qty_val = q_cons_vf%vf(i_fluid_loop + eqn_idx%adv%beg - 1)%sf(l, q, k)
9781 pressure_val = q_prim_vf%vf(eqn_idx%E)%sf(l, q, k)
9782 flux_face1 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k)
9783 flux_face2 = flux_src_n_vf%vf(eqn_idx%adv%beg)%sf(l, q, k - 1)
9784 rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9785 & k) = rhs_vf(i_fluid_loop + eqn_idx%int_en%beg - 1)%sf(l, q, &
9786 & k) - inv_ds*advected_qty_val*pressure_val*(flux_face1 - flux_face2)
9787 end do
9788 end do
9789 end do
9790 end do
9791
9792# 1429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9793#if defined(MFC_OpenACC)
9794# 1429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9795!$acc end parallel loop
9796# 1429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9797#elif defined(MFC_OpenMP)
9798# 1429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9799
9800# 1429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9801!$omp end target teams loop
9802# 1429 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9803#endif
9804# 1430 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9805 end if
9806
9807 call s_add_directional_advection_source_terms(idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf, kterm)
9808 end select
9809
9810 contains
9811
9812 !> Add the advection source flux-difference terms for a single coordinate direction to the RHS
9813 subroutine s_add_directional_advection_source_terms(current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, &
9814 & flux_src_n_vf_arg, Kterm_arg)
9815 integer, intent(in) :: current_idir
9816 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf_arg
9817 type(vector_field), intent(in) :: q_cons_vf_arg
9818 type(vector_field), intent(in) :: q_prim_vf_arg
9819 type(vector_field), intent(in) :: flux_src_n_vf_arg
9820 real(wp), allocatable, dimension(:,:,:), intent(in) :: Kterm_arg
9821 integer :: j_adv, k_idx, l_idx, q_idx
9822 real(wp) :: local_inv_ds, local_term_coeff, local_flux1, local_flux2
9823 real(wp) :: local_k_term_val
9824
9825 ! Three mutually exclusive modes for the NC volume fraction advection source term:
9826
9827 ! adv_src_mode_alpha_iface - HLL Method 1: flux_src carries per-fluid interface alpha_k
9828
9829 ! adv_src_mode_vel_iface - HLLC, HLL Method 2, Exact, LF: flux_src carries shared face-normal velocity
9830
9831 ! adv_src_mode_none - HLLD: MHD has no volume fractions; hypo uses dual-pass Riemann flux
9832
9833 select case (current_idir)
9834 case (1) ! x-direction
9835 if (adv_src_mode == adv_src_mode_alpha_iface) then
9836 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dx.
9837
9838# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9839
9840# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9841#if defined(MFC_OpenACC)
9842# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9843!$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)
9844# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9845#elif defined(MFC_OpenMP)
9846# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9847
9848# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9849
9850# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9851
9852# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9853!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9854# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9855!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9856# 1462 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9857#endif
9858# 1464 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9859 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9860 do q_idx = 0, p ! z_extent
9861 do l_idx = 0, n ! y_extent
9862 do k_idx = 0, m ! x_extent
9863 local_inv_ds = 1._wp/dx(k_idx)
9864 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(k_idx, l_idx, q_idx)
9865 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx - 1, l_idx, q_idx)
9866 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9867 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9868 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9869 end do
9870 end do
9871 end do
9872 end do
9873
9874# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9875#if defined(MFC_OpenACC)
9876# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9877!$acc end parallel loop
9878# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9879#elif defined(MFC_OpenMP)
9880# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9881
9882# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9883!$omp end target teams loop
9884# 1478 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9885#endif
9886# 1479 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9887 if (alt_soundspeed) then ! K*div(u) correction
9888
9889# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9890
9891# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9892#if defined(MFC_OpenACC)
9893# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9894!$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)
9895# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9896#elif defined(MFC_OpenMP)
9897# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9898
9899# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9900
9901# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9902
9903# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9904!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9905# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9906!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
9907# 1480 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9908#endif
9909# 1482 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9910 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9911 local_inv_ds = 1._wp/dx(k_idx)
9912 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
9913 local_flux1 = nc_iface_vel_n(1)%vf(1)%sf(k_idx, l_idx, q_idx)
9914 local_flux2 = nc_iface_vel_n(1)%vf(1)%sf(k_idx - 1, l_idx, q_idx)
9915 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, &
9916 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9917 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, &
9918 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
9919 end do; end do; end do
9920
9921# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9922#if defined(MFC_OpenACC)
9923# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9924!$acc end parallel loop
9925# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9926#elif defined(MFC_OpenMP)
9927# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9928
9929# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9930!$omp end target teams loop
9931# 1492 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9932#endif
9933# 1493 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9934 end if
9935 else if (adv_src_mode == adv_src_mode_vel_iface) then
9936 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dx.
9937
9938# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9939
9940# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9941#if defined(MFC_OpenACC)
9942# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9943!$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)
9944# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9945#elif defined(MFC_OpenMP)
9946# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9947
9948# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9949
9950# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9951
9952# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9953!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
9954# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9955!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
9956# 1496 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9957#endif
9958# 1498 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9959 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
9960 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
9961 local_inv_ds = 1._wp/dx(k_idx)
9962 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(k_idx, l_idx, q_idx)
9963 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
9964 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
9965 rhs_vf_arg(j_adv)%sf(k_idx, l_idx, q_idx) = rhs_vf_arg(j_adv)%sf(k_idx, l_idx, &
9966 & q_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
9967 end do; end do; end do
9968 end do
9969
9970# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9971#if defined(MFC_OpenACC)
9972# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9973!$acc end parallel loop
9974# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9975#elif defined(MFC_OpenMP)
9976# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9977
9978# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9979!$omp end target teams loop
9980# 1508 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9981#endif
9982# 1509 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9983 if (alt_soundspeed) then ! K*div(u) correction
9984
9985# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9986
9987# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9988#if defined(MFC_OpenACC)
9989# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9990!$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)
9991# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9992#elif defined(MFC_OpenMP)
9993# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9994
9995# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9996
9997# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
9998
9999# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10000!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10001# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10002!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10003# 1510 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10004#endif
10005# 1512 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10006 do q_idx = 0, p; do l_idx = 0, n; do k_idx = 0, m
10007 local_inv_ds = 1._wp/dx(k_idx)
10008 local_k_term_val = kterm_arg(k_idx, l_idx, q_idx)
10009 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx, l_idx, q_idx)
10010 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(k_idx - 1, l_idx, q_idx)
10011 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, &
10012 & q_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10013 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, &
10014 & q_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10015 end do; end do; end do
10016
10017# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10018#if defined(MFC_OpenACC)
10019# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10020!$acc end parallel loop
10021# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10022#elif defined(MFC_OpenMP)
10023# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10024
10025# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10026!$omp end target teams loop
10027# 1522 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10028#endif
10029# 1523 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10030 end if
10031 end if
10032 case (2) ! y-direction
10033 if (adv_src_mode == adv_src_mode_alpha_iface) then
10034 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dy.
10035
10036# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10037
10038# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10039#if defined(MFC_OpenACC)
10040# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10041!$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)
10042# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10043#elif defined(MFC_OpenMP)
10044# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10045
10046# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10047
10048# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10049
10050# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10051!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10052# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10053!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10054# 1528 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10055#endif
10056# 1530 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10057 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10058 do l_idx = 0, p ! z_extent
10059 do k_idx = 0, n ! y_extent
10060 do q_idx = 0, m ! x_extent
10061 local_inv_ds = 1._wp/dy(k_idx)
10062 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(q_idx, k_idx, l_idx)
10063 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx - 1, l_idx)
10064 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
10065 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
10066 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10067 end do
10068 end do
10069 end do
10070 end do
10071
10072# 1544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10073#if defined(MFC_OpenACC)
10074# 1544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10075!$acc end parallel loop
10076# 1544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10077#elif defined(MFC_OpenMP)
10078# 1544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10079
10080# 1544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10081!$omp end target teams loop
10082# 1544 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10083#endif
10084# 1545 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10085 if (alt_soundspeed) then ! K*div(u) correction
10086
10087# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10088
10089# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10090#if defined(MFC_OpenACC)
10091# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10092!$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)
10093# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10094#elif defined(MFC_OpenMP)
10095# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10096
10097# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10098
10099# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10100
10101# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10102!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10103# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10104!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10105# 1546 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10106#endif
10107# 1548 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10108 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10109 local_inv_ds = 1._wp/dy(k_idx)
10110 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10111 local_flux1 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx, l_idx)
10112 local_flux2 = nc_iface_vel_n(2)%vf(2)%sf(q_idx, k_idx - 1, l_idx)
10113 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, &
10114 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10115 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, &
10116 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10117 end do; end do; end do
10118
10119# 1558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10120#if defined(MFC_OpenACC)
10121# 1558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10122!$acc end parallel loop
10123# 1558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10124#elif defined(MFC_OpenMP)
10125# 1558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10126
10127# 1558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10128!$omp end target teams loop
10129# 1558 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10130#endif
10131# 1559 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10132 if (cyl_coord) then
10133
10134# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10135
10136# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10137#if defined(MFC_OpenACC)
10138# 1560 "/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_k_term_val)
10140# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10141#elif defined(MFC_OpenMP)
10142# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10143
10144# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10145
10146# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10147
10148# 1560 "/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# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10151!$omp& private(k_idx, l_idx, q_idx, local_k_term_val)
10152# 1560 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10153#endif
10154# 1561 "/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_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10157 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10158 & k_idx, l_idx) + local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
10159 & k_idx, l_idx)/y_cc(k_idx)
10160 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10161 & k_idx, l_idx) - local_k_term_val*q_prim_vf_arg%vf(eqn_idx%mom%beg + 1)%sf(q_idx, &
10162 & k_idx, l_idx)/y_cc(k_idx)
10163 end do; end do; end do
10164
10165# 1570 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10166#if defined(MFC_OpenACC)
10167# 1570 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10168!$acc end parallel loop
10169# 1570 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10170#elif defined(MFC_OpenMP)
10171# 1570 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10172
10173# 1570 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10174!$omp end target teams loop
10175# 1570 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10176#endif
10177# 1571 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10178 end if
10179 end if
10180 else if (adv_src_mode == adv_src_mode_vel_iface) then
10181 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dy.
10182
10183# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10184
10185# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10186#if defined(MFC_OpenACC)
10187# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10188!$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)
10189# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10190#elif defined(MFC_OpenMP)
10191# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10192
10193# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10194
10195# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10196
10197# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10198!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10199# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10200!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10201# 1575 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10202#endif
10203# 1577 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10204 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10205 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10206 local_inv_ds = 1._wp/dy(k_idx)
10207 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(q_idx, k_idx, l_idx)
10208 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10209 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10210 rhs_vf_arg(j_adv)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(j_adv)%sf(q_idx, k_idx, &
10211 & l_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10212 end do; end do; end do
10213 end do
10214
10215# 1587 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10216#if defined(MFC_OpenACC)
10217# 1587 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10218!$acc end parallel loop
10219# 1587 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10220#elif defined(MFC_OpenMP)
10221# 1587 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10222
10223# 1587 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10224!$omp end target teams loop
10225# 1587 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10226#endif
10227# 1588 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10228 if (alt_soundspeed) then ! K*div(u) correction
10229
10230# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10231
10232# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10233#if defined(MFC_OpenACC)
10234# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10235!$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)
10236# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10237#elif defined(MFC_OpenMP)
10238# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10239
10240# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10241
10242# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10243
10244# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10245!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10246# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10247!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10248# 1589 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10249#endif
10250# 1591 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10251 do l_idx = 0, p; do k_idx = 0, n; do q_idx = 0, m
10252 local_inv_ds = 1._wp/dy(k_idx)
10253 local_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10254 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10255 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10256 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, &
10257 & l_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10258 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, &
10259 & l_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10260 end do; end do; end do
10261
10262# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10263#if defined(MFC_OpenACC)
10264# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10265!$acc end parallel loop
10266# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10267#elif defined(MFC_OpenMP)
10268# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10269
10270# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10271!$omp end target teams loop
10272# 1601 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10273#endif
10274# 1602 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10275 if (cyl_coord) then
10276
10277# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10278
10279# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10280#if defined(MFC_OpenACC)
10281# 1603 "/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_k_term_val, local_flux1, local_flux2)
10283# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10284#elif defined(MFC_OpenMP)
10285# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10286
10287# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10288
10289# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10290
10291# 1603 "/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# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10294!$omp& private(k_idx, l_idx, q_idx, local_k_term_val, local_flux1, local_flux2)
10295# 1603 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10296#endif
10297# 1605 "/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_k_term_val = kterm_arg(q_idx, k_idx, l_idx)
10300 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx)
10301 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(q_idx, k_idx - 1, l_idx)
10302 rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(q_idx, &
10303 & k_idx, l_idx) + (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10304 rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, k_idx, l_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(q_idx, &
10305 & k_idx, l_idx) - (local_k_term_val/(2._wp*y_cc(k_idx)))*(local_flux1 + local_flux2)
10306 end do; end do; end do
10307
10308# 1614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10309#if defined(MFC_OpenACC)
10310# 1614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10311!$acc end parallel loop
10312# 1614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10313#elif defined(MFC_OpenMP)
10314# 1614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10315
10316# 1614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10317!$omp end target teams loop
10318# 1614 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10319#endif
10320# 1615 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10321 end if
10322 end if
10323 end if
10324 case (3) ! z-direction
10325 if (grid_geometry == 3) then
10326 if (adv_src_mode == adv_src_mode_alpha_iface) then
10327
10328# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10329
10330# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10331#if defined(MFC_OpenACC)
10332# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10333!$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)
10334# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10335#elif defined(MFC_OpenMP)
10336# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10337
10338# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10339
10340# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10341
10342# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10343!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10344# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10345!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10346# 1621 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10347#endif
10348# 1623 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10349 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10350 do k_idx = 0, p ! z_extent
10351 do q_idx = 0, n ! y_extent
10352 do l_idx = 0, m ! x_extent
10353 local_inv_ds = 1._wp/dz(k_idx)
10354 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10355 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10356 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10357 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10358 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10359 end do
10360 end do
10361 end do
10362 end do
10363
10364# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10365#if defined(MFC_OpenACC)
10366# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10367!$acc end parallel loop
10368# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10369#elif defined(MFC_OpenMP)
10370# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10371
10372# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10373!$omp end target teams loop
10374# 1637 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10375#endif
10376# 1638 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10377 if (alt_soundspeed) then ! K*div(u) correction
10378
10379# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10380
10381# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10382#if defined(MFC_OpenACC)
10383# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10384!$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)
10385# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10386#elif defined(MFC_OpenMP)
10387# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10388
10389# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10390
10391# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10392
10393# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10394!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10395# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10396!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10397# 1639 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10398#endif
10399# 1641 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10400 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10401 local_inv_ds = 1._wp/dz(k_idx)
10402 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10403 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10404 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10405 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10406 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10407 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10408 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10409 end do; end do; end do
10410
10411# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10412#if defined(MFC_OpenACC)
10413# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10414!$acc end parallel loop
10415# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10416#elif defined(MFC_OpenMP)
10417# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10418
10419# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10420!$omp end target teams loop
10421# 1651 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10422#endif
10423# 1652 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10424 end if
10425 else if (adv_src_mode == adv_src_mode_vel_iface) then
10426 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10427
10428# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10429
10430# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10431#if defined(MFC_OpenACC)
10432# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10433!$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)
10434# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10435#elif defined(MFC_OpenMP)
10436# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10437
10438# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10439
10440# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10441
10442# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10443!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10444# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10445!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10446# 1655 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10447#endif
10448# 1657 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10449 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10450 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10451 local_inv_ds = 1._wp/dz(k_idx)
10452 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10453 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10454 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10455 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10456 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10457 end do; end do; end do
10458 end do
10459
10460# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10461#if defined(MFC_OpenACC)
10462# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10463!$acc end parallel loop
10464# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10465#elif defined(MFC_OpenMP)
10466# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10467
10468# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10469!$omp end target teams loop
10470# 1667 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10471#endif
10472# 1668 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10473 if (alt_soundspeed) then ! K*div(u) correction
10474
10475# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10476
10477# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10478#if defined(MFC_OpenACC)
10479# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10480!$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)
10481# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10482#elif defined(MFC_OpenMP)
10483# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10484
10485# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10486
10487# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10488
10489# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10490!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10491# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10492!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10493# 1669 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10494#endif
10495# 1671 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10496 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10497 local_inv_ds = 1._wp/dz(k_idx)
10498 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10499 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10500 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10501 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10502 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10503 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10504 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10505 end do; end do; end do
10506
10507# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10508#if defined(MFC_OpenACC)
10509# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10510!$acc end parallel loop
10511# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10512#elif defined(MFC_OpenMP)
10513# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10514
10515# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10516!$omp end target teams loop
10517# 1681 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10518#endif
10519# 1682 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10520 end if
10521 end if
10522 else ! non-cylindrical z-direction
10523 if (adv_src_mode == adv_src_mode_alpha_iface) then
10524 ! Alpha-interface: flux_src(j_adv) supplies interface alpha_k. RHS applies velocity * d(alpha_k)/dz.
10525
10526# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10527
10528# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10529#if defined(MFC_OpenACC)
10530# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10531!$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)
10532# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10533#elif defined(MFC_OpenMP)
10534# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10535
10536# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10537
10538# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10539
10540# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10541!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10542# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10543!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10544# 1687 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10545#endif
10546# 1689 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10547 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10548 do k_idx = 0, p ! z_extent
10549 do q_idx = 0, n ! y_extent
10550 do l_idx = 0, m ! x_extent
10551 local_inv_ds = 1._wp/dz(k_idx)
10552 local_term_coeff = q_prim_vf_arg%vf(eqn_idx%cont%end + current_idir)%sf(l_idx, q_idx, k_idx)
10553 local_flux1 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx - 1)
10554 local_flux2 = flux_src_n_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10555 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10556 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10557 end do
10558 end do
10559 end do
10560 end do
10561
10562# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10563#if defined(MFC_OpenACC)
10564# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10565!$acc end parallel loop
10566# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10567#elif defined(MFC_OpenMP)
10568# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10569
10570# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10571!$omp end target teams loop
10572# 1703 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10573#endif
10574# 1704 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10575 if (alt_soundspeed) then ! K*div(u) correction
10576
10577# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10578
10579# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10580#if defined(MFC_OpenACC)
10581# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10582!$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)
10583# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10584#elif defined(MFC_OpenMP)
10585# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10586
10587# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10588
10589# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10590
10591# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10592!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10593# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10594!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10595# 1705 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10596#endif
10597# 1707 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10598 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10599 local_inv_ds = 1._wp/dz(k_idx)
10600 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10601 local_flux1 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx)
10602 local_flux2 = nc_iface_vel_n(3)%vf(3)%sf(l_idx, q_idx, k_idx - 1)
10603 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10604 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10605 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10606 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10607 end do; end do; end do
10608
10609# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10610#if defined(MFC_OpenACC)
10611# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10612!$acc end parallel loop
10613# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10614#elif defined(MFC_OpenMP)
10615# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10616
10617# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10618!$omp end target teams loop
10619# 1717 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10620#endif
10621# 1718 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10622 end if
10623 else if (adv_src_mode == adv_src_mode_vel_iface) then
10624 ! u-interface: flux_src(adv%beg) supplies one shared face-normal velocity. RHS applies alpha_k * du/dz.
10625
10626# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10627
10628# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10629#if defined(MFC_OpenACC)
10630# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10631!$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)
10632# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10633#elif defined(MFC_OpenMP)
10634# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10635
10636# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10637
10638# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10639
10640# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10641!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10642# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10643!$omp& private(j_adv, k_idx, l_idx, q_idx, local_inv_ds, local_term_coeff, local_flux1, local_flux2)
10644# 1721 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10645#endif
10646# 1723 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10647 do j_adv = eqn_idx%adv%beg, eqn_idx%adv%end
10648 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10649 local_inv_ds = 1._wp/dz(k_idx)
10650 local_term_coeff = q_cons_vf_arg%vf(j_adv)%sf(l_idx, q_idx, k_idx)
10651 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10652 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10653 rhs_vf_arg(j_adv)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(j_adv)%sf(l_idx, q_idx, &
10654 & k_idx) + local_inv_ds*local_term_coeff*(local_flux1 - local_flux2)
10655 end do; end do; end do
10656 end do
10657
10658# 1733 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10659#if defined(MFC_OpenACC)
10660# 1733 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10661!$acc end parallel loop
10662# 1733 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10663#elif defined(MFC_OpenMP)
10664# 1733 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10665
10666# 1733 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10667!$omp end target teams loop
10668# 1733 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10669#endif
10670# 1734 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10671 if (alt_soundspeed) then ! K*div(u) correction
10672
10673# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10674
10675# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10676#if defined(MFC_OpenACC)
10677# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10678!$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)
10679# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10680#elif defined(MFC_OpenMP)
10681# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10682
10683# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10684
10685# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10686
10687# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10688!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) &
10689# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10690!$omp& private(k_idx, l_idx, q_idx, local_inv_ds, local_k_term_val, local_flux1, local_flux2)
10691# 1735 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10692#endif
10693# 1737 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10694 do k_idx = 0, p; do q_idx = 0, n; do l_idx = 0, m
10695 local_inv_ds = 1._wp/dz(k_idx)
10696 local_k_term_val = kterm_arg(l_idx, q_idx, k_idx)
10697 local_flux1 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx)
10698 local_flux2 = flux_src_n_vf_arg%vf(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx - 1)
10699 rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%beg)%sf(l_idx, &
10700 & q_idx, k_idx) + local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10701 rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, q_idx, k_idx) = rhs_vf_arg(eqn_idx%adv%end)%sf(l_idx, &
10702 & q_idx, k_idx) - local_k_term_val*local_inv_ds*(local_flux1 - local_flux2)
10703 end do; end do; end do
10704
10705# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10706#if defined(MFC_OpenACC)
10707# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10708!$acc end parallel loop
10709# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10710#elif defined(MFC_OpenMP)
10711# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10712
10713# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10714!$omp end target teams loop
10715# 1747 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10716#endif
10717# 1748 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10718 end if
10719 end if
10720 end if
10721 end select
10722
10724
10725 end subroutine s_compute_advection_source_term
10726
10727 !> Add viscous, surface-tension, species-diffusion, and heat-conduction source flux contributions to the RHS for a direction
10728 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, &
10729 & dq_prim_dz_vf)
10730
10731 integer, intent(in) :: idir
10732 type(scalar_field), dimension(sys_size), intent(in) :: q_prim_vf
10733 type(scalar_field), intent(in) :: q_T_sf
10734 type(scalar_field), dimension(sys_size), intent(inout) :: rhs_vf
10735 type(scalar_field), dimension(sys_size), intent(in) :: flux_src_n_in
10736 type(scalar_field), dimension(sys_size), intent(in) :: dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf
10737 integer :: i, j, k, l
10738
10739 if (idir == 1) then ! x-direction
10740 if (surface_tension) then
10741
10742# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10743
10744# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10745#if defined(MFC_OpenACC)
10746# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10747!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10748# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10749#elif defined(MFC_OpenMP)
10750# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10751
10752# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10753
10754# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10755
10756# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10757!$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)
10758# 1771 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10759#endif
10760# 1772 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10761 do l = 0, p
10762 do k = 0, n
10763 do j = 0, m
10764 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10765 & 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, &
10766 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j - 1, k, l))
10767 end do
10768 end do
10769 end do
10770
10771# 1781 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10772#if defined(MFC_OpenACC)
10773# 1781 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10774!$acc end parallel loop
10775# 1781 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10776#elif defined(MFC_OpenMP)
10777# 1781 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10778
10779# 1781 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10780!$omp end target teams loop
10781# 1781 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10782#endif
10783# 1782 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10784 end if
10785
10786 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
10787
10788# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10789
10790# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10791#if defined(MFC_OpenACC)
10792# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10793!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10794# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10795#elif defined(MFC_OpenMP)
10796# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10797
10798# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10799
10800# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10801
10802# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10803!$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)
10804# 1785 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10805#endif
10806# 1786 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10807 do l = 0, p
10808 do k = 0, n
10809 do j = 0, m
10810 if (surface_tension .or. viscous .or. heat_conduction) then
10811
10812# 1790 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10813#if defined(MFC_OpenACC)
10814# 1790 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10815!$acc loop seq
10816# 1790 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10817#elif defined(MFC_OpenMP)
10818# 1790 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10819
10820# 1790 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10821#endif
10822# 1791 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10823 do i = eqn_idx%mom%beg, eqn_idx%E
10824 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, &
10825 & l) - flux_src_n_in(i)%sf(j, k, l))
10826 end do
10827 end if
10828
10829 if (chem_params%diffusion) then
10830
10831# 1798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10832#if defined(MFC_OpenACC)
10833# 1798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10834!$acc loop seq
10835# 1798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10836#elif defined(MFC_OpenMP)
10837# 1798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10838
10839# 1798 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10840#endif
10841# 1799 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10842 do i = eqn_idx%species%beg, eqn_idx%species%end
10843 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, &
10844 & l) - flux_src_n_in(i)%sf(j, k, l))
10845 end do
10846
10847 if (.not. viscous) then
10848 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
10849 & l) + 1._wp/dx(j)*(flux_src_n_in(eqn_idx%E)%sf(j - 1, k, &
10850 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
10851 end if
10852 end if
10853 end do
10854 end do
10855 end do
10856
10857# 1813 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10858#if defined(MFC_OpenACC)
10859# 1813 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10860!$acc end parallel loop
10861# 1813 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10862#elif defined(MFC_OpenMP)
10863# 1813 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10864
10865# 1813 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10866!$omp end target teams loop
10867# 1813 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10868#endif
10869# 1814 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10870 end if
10871 else if (idir == 2) then ! y-direction
10872 if (surface_tension) then
10873
10874# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10875
10876# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10877#if defined(MFC_OpenACC)
10878# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10879!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
10880# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10881#elif defined(MFC_OpenMP)
10882# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10883
10884# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10885
10886# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10887
10888# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10889!$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)
10890# 1817 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10891#endif
10892# 1818 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10893 do l = 0, p
10894 do k = 0, n
10895 do j = 0, m
10896 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
10897 & 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, &
10898 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k - 1, l))
10899 end do
10900 end do
10901 end do
10902
10903# 1827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10904#if defined(MFC_OpenACC)
10905# 1827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10906!$acc end parallel loop
10907# 1827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10908#elif defined(MFC_OpenMP)
10909# 1827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10910
10911# 1827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10912!$omp end target teams loop
10913# 1827 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10914#endif
10915# 1828 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10916 end if
10917
10918 if (cyl_coord .and. ((bc_y%beg == -2) .or. (bc_y%beg == -14))) then
10919 if (viscous) then
10920 call s_compute_viscous_stress_cylindrical_boundary(q_prim_vf, dq_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10921 & dq_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), dq_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
10922 & tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10923 end if
10924
10925 if (heat_conduction) then
10926 call s_compute_conduction_axis_source(q_prim_vf, q_t_sf, tau_re_vf, idwbuff(1), idwbuff(2), idwbuff(3))
10927 end if
10928
10929 if (viscous .or. heat_conduction) then
10930
10931# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10932
10933# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10934#if defined(MFC_OpenACC)
10935# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10936!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
10937# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10938#elif defined(MFC_OpenMP)
10939# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10940
10941# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10942
10943# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10944
10945# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10946!$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)
10947# 1842 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10948#endif
10949# 1843 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10950 do l = 0, p
10951 do j = 0, m
10952
10953# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10954#if defined(MFC_OpenACC)
10955# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10956!$acc loop seq
10957# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10958#elif defined(MFC_OpenMP)
10959# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10960
10961# 1845 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10962#endif
10963# 1846 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10964 do i = eqn_idx%mom%beg, eqn_idx%E
10965 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, &
10966 & -1, l) - tau_re_vf(i)%sf(j, 1, l))
10967 end do
10968 end do
10969 end do
10970
10971# 1852 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10972#if defined(MFC_OpenACC)
10973# 1852 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10974!$acc end parallel loop
10975# 1852 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10976#elif defined(MFC_OpenMP)
10977# 1852 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10978
10979# 1852 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10980!$omp end target teams loop
10981# 1852 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10982#endif
10983# 1853 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10984 end if
10985
10986
10987# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10988
10989# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10990#if defined(MFC_OpenACC)
10991# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10992!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
10993# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10994#elif defined(MFC_OpenMP)
10995# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10996
10997# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
10998
10999# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11000
11001# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11002!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(3) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer) private(i, j, k, l)
11003# 1855 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11004#endif
11005# 1856 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11006 do l = 0, p
11007 do k = 1, n
11008 do j = 0, m
11009
11010# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11011#if defined(MFC_OpenACC)
11012# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11013!$acc loop seq
11014# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11015#elif defined(MFC_OpenMP)
11016# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11017
11018# 1859 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11019#endif
11020# 1860 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11021 do i = eqn_idx%mom%beg, eqn_idx%E
11022 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, &
11023 & l) - flux_src_n_in(i)%sf(j, k, l))
11024 end do
11025 end do
11026 end do
11027 end do
11028
11029# 1867 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11030#if defined(MFC_OpenACC)
11031# 1867 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11032!$acc end parallel loop
11033# 1867 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11034#elif defined(MFC_OpenMP)
11035# 1867 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11036
11037# 1867 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11038!$omp end target teams loop
11039# 1867 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11040#endif
11041# 1868 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11042 else
11043 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
11044
11045# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11046
11047# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11048#if defined(MFC_OpenACC)
11049# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11050!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11051# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11052#elif defined(MFC_OpenMP)
11053# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11054
11055# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11056
11057# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11058
11059# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11060!$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)
11061# 1870 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11062#endif
11063# 1871 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11064 do l = 0, p
11065 do k = 0, n
11066 do j = 0, m
11067 if (surface_tension .or. viscous .or. heat_conduction) then
11068
11069# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11070#if defined(MFC_OpenACC)
11071# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11072!$acc loop seq
11073# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11074#elif defined(MFC_OpenMP)
11075# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11076
11077# 1875 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11078#endif
11079# 1876 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11080 do i = eqn_idx%mom%beg, eqn_idx%E
11081 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, &
11082 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
11083 end do
11084 end if
11085
11086 if (chem_params%diffusion) then
11087
11088# 1883 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11089#if defined(MFC_OpenACC)
11090# 1883 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11091!$acc loop seq
11092# 1883 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11093#elif defined(MFC_OpenMP)
11094# 1883 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11095
11096# 1883 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11097#endif
11098# 1884 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11099 do i = eqn_idx%species%beg, eqn_idx%species%end
11100 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, &
11101 & k - 1, l) - flux_src_n_in(i)%sf(j, k, l))
11102 end do
11103 if (.not. viscous) then
11104 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11105 & l) + 1._wp/dy(k)*(flux_src_n_in(eqn_idx%E)%sf(j, k - 1, &
11106 & l) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11107 end if
11108 end if
11109 end do
11110 end do
11111 end do
11112
11113# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11114#if defined(MFC_OpenACC)
11115# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11116!$acc end parallel loop
11117# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11118#elif defined(MFC_OpenMP)
11119# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11120
11121# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11122!$omp end target teams loop
11123# 1897 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11124#endif
11125# 1898 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11126 end if
11127 end if
11128
11129 ! Applying the geometrical viscous Riemann source fluxes calculated as average of values at cell boundaries
11130 if (cyl_coord) then
11131 if ((bc_y%beg == -2) .or. (bc_y%beg == -14)) then
11132
11133# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11134
11135# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11136#if defined(MFC_OpenACC)
11137# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11138!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11139# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11140#elif defined(MFC_OpenMP)
11141# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11142
11143# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11144
11145# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11146
11147# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11148!$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)
11149# 1904 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11150#endif
11151# 1905 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11152 do l = 0, p
11153 do k = 1, n
11154 do j = 0, m
11155
11156# 1908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11157#if defined(MFC_OpenACC)
11158# 1908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11159!$acc loop seq
11160# 1908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11161#elif defined(MFC_OpenMP)
11162# 1908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11163
11164# 1908 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11165#endif
11166# 1909 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11167 do i = eqn_idx%mom%beg, eqn_idx%E
11168 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, &
11169 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
11170 end do
11171 end do
11172 end do
11173 end do
11174
11175# 1916 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11176#if defined(MFC_OpenACC)
11177# 1916 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11178!$acc end parallel loop
11179# 1916 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11180#elif defined(MFC_OpenMP)
11181# 1916 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11182
11183# 1916 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11184!$omp end target teams loop
11185# 1916 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11186#endif
11187# 1917 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11188
11189 if (viscous .or. heat_conduction) then
11190
11191# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11192
11193# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11194#if defined(MFC_OpenACC)
11195# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11196!$acc parallel loop collapse(2) gang vector default(present) private(i, j, l)
11197# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11198#elif defined(MFC_OpenMP)
11199# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11200
11201# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11202
11203# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11204
11205# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11206!$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)
11207# 1919 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11208#endif
11209# 1920 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11210 do l = 0, p
11211 do j = 0, m
11212
11213# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11214#if defined(MFC_OpenACC)
11215# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11216!$acc loop seq
11217# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11218#elif defined(MFC_OpenMP)
11219# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11220
11221# 1922 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11222#endif
11223# 1923 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11224 do i = eqn_idx%mom%beg, eqn_idx%E
11225 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)
11226 end do
11227 end do
11228 end do
11229
11230# 1928 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11231#if defined(MFC_OpenACC)
11232# 1928 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11233!$acc end parallel loop
11234# 1928 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11235#elif defined(MFC_OpenMP)
11236# 1928 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11237
11238# 1928 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11239!$omp end target teams loop
11240# 1928 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11241#endif
11242# 1929 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11243 end if
11244 else
11245
11246# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11247
11248# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11249#if defined(MFC_OpenACC)
11250# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11251!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11252# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11253#elif defined(MFC_OpenMP)
11254# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11255
11256# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11257
11258# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11259
11260# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11261!$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)
11262# 1931 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11263#endif
11264# 1932 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11265 do l = 0, p
11266 do k = 0, n
11267 do j = 0, m
11268
11269# 1935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11270#if defined(MFC_OpenACC)
11271# 1935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11272!$acc loop seq
11273# 1935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11274#elif defined(MFC_OpenMP)
11275# 1935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11276
11277# 1935 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11278#endif
11279# 1936 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11280 do i = eqn_idx%mom%beg, eqn_idx%E
11281 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, &
11282 & k - 1, l) + flux_src_n_in(i)%sf(j, k, l))
11283 end do
11284 end do
11285 end do
11286 end do
11287
11288# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11289#if defined(MFC_OpenACC)
11290# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11291!$acc end parallel loop
11292# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11293#elif defined(MFC_OpenMP)
11294# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11295
11296# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11297!$omp end target teams loop
11298# 1943 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11299#endif
11300# 1944 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11301 end if
11302 end if
11303 else if (idir == 3) then ! z-direction
11304 if (surface_tension) then
11305
11306# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11307
11308# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11309#if defined(MFC_OpenACC)
11310# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11311!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11312# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11313#elif defined(MFC_OpenMP)
11314# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11315
11316# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11317
11318# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11319
11320# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11321!$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)
11322# 1948 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11323#endif
11324# 1949 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11325 do l = 0, p
11326 do k = 0, n
11327 do j = 0, m
11328 rhs_vf(eqn_idx%c)%sf(j, k, l) = rhs_vf(eqn_idx%c)%sf(j, k, &
11329 & 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, &
11330 & l) - flux_src_n_in(eqn_idx%adv%beg)%sf(j, k, l - 1))
11331 end do
11332 end do
11333 end do
11334
11335# 1958 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11336#if defined(MFC_OpenACC)
11337# 1958 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11338!$acc end parallel loop
11339# 1958 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11340#elif defined(MFC_OpenMP)
11341# 1958 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11342
11343# 1958 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11344!$omp end target teams loop
11345# 1958 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11346#endif
11347# 1959 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11348 end if
11349
11350 if ((surface_tension .or. viscous) .or. chem_params%diffusion .or. heat_conduction) then
11351
11352# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11353
11354# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11355#if defined(MFC_OpenACC)
11356# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11357!$acc parallel loop collapse(3) gang vector default(present) private(i, j, k, l)
11358# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11359#elif defined(MFC_OpenMP)
11360# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11361
11362# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11363
11364# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11365
11366# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11367!$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)
11368# 1962 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11369#endif
11370# 1963 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11371 do l = 0, p
11372 do k = 0, n
11373 do j = 0, m
11374 if (surface_tension .or. viscous .or. heat_conduction) then
11375
11376# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11377#if defined(MFC_OpenACC)
11378# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11379!$acc loop seq
11380# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11381#elif defined(MFC_OpenMP)
11382# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11383
11384# 1967 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11385#endif
11386# 1968 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11387 do i = eqn_idx%mom%beg, eqn_idx%E
11388 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, &
11389 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11390 end do
11391 end if
11392
11393 if (chem_params%diffusion) then
11394
11395# 1975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11396#if defined(MFC_OpenACC)
11397# 1975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11398!$acc loop seq
11399# 1975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11400#elif defined(MFC_OpenMP)
11401# 1975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11402
11403# 1975 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11404#endif
11405# 1976 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11406 do i = eqn_idx%species%beg, eqn_idx%species%end
11407 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, &
11408 & l - 1) - flux_src_n_in(i)%sf(j, k, l))
11409 end do
11410 if (.not. viscous) then
11411 rhs_vf(eqn_idx%E)%sf(j, k, l) = rhs_vf(eqn_idx%E)%sf(j, k, &
11412 & l) + 1._wp/dz(l)*(flux_src_n_in(eqn_idx%E)%sf(j, k, &
11413 & l - 1) - flux_src_n_in(eqn_idx%E)%sf(j, k, l))
11414 end if
11415 end if
11416 end do
11417 end do
11418 end do
11419
11420# 1989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11421#if defined(MFC_OpenACC)
11422# 1989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11423!$acc end parallel loop
11424# 1989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11425#elif defined(MFC_OpenMP)
11426# 1989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11427
11428# 1989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11429!$omp end target teams loop
11430# 1989 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11431#endif
11432# 1990 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11433 end if
11434
11435 if (grid_geometry == 3) then
11436
11437# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11438
11439# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11440#if defined(MFC_OpenACC)
11441# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11442!$acc parallel loop collapse(3) gang vector default(present) private(j, k, l)
11443# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11444#elif defined(MFC_OpenMP)
11445# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11446
11447# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11448
11449# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11450
11451# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11452!$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)
11453# 1993 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11454#endif
11455# 1994 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11456 do l = 0, p
11457 do k = 0, n
11458 do j = 0, m
11459 rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
11460 & l) + 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%end)%sf(j, k, &
11461 & l - 1) + flux_src_n_in(eqn_idx%mom%end)%sf(j, k, l))
11462
11463 rhs_vf(eqn_idx%mom%end)%sf(j, k, l) = rhs_vf(eqn_idx%mom%end)%sf(j, k, &
11464 & l) - 5.e-1_wp*(flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, &
11465 & l - 1) + flux_src_n_in(eqn_idx%mom%beg + 1)%sf(j, k, l))
11466 end do
11467 end do
11468 end do
11469
11470# 2007 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11471#if defined(MFC_OpenACC)
11472# 2007 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11473!$acc end parallel loop
11474# 2007 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11475#elif defined(MFC_OpenMP)
11476# 2007 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11477
11478# 2007 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11479!$omp end target teams loop
11480# 2007 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11481#endif
11482# 2008 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11483 end if
11484 end if
11485
11487
11488 !> Reconstruct left and right cell-boundary values from cell-averaged variables
11489 subroutine s_reconstruct_cell_boundary_values(v_vf, vL_x, vR_x, norm_dir)
11490
11491 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11492 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11493 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11494 integer, intent(in) :: norm_dir
11495 integer :: recon_dir !< Coordinate direction of the reconstruction
11496 integer :: i, j, k, l
11497
11498# 2024 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11499 if (recon_type == recon_type_weno) then
11500# 2025 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11501 ! Reconstruction in s1-direction
11502 if (norm_dir == 1) then
11503 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11504 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11505# 2029 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11506 is1%end = is1%end - weno_polyn
11507# 2030 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11508 else if (norm_dir == 2) then
11509 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11510 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11511# 2033 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11512 is1%end = is1%end - weno_polyn
11513# 2034 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11514 else
11515 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11516 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11517# 2037 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11518 is1%end = is1%end - weno_polyn
11519# 2038 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11520 end if
11521
11522 call s_weno (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11523# 2041 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11524 & is2, is3)
11525 end if
11526# 2024 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11527 if (recon_type == recon_type_muscl) then
11528# 2025 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11529 ! Reconstruction in s1-direction
11530 if (norm_dir == 1) then
11531 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11532 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11533# 2029 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11534 is1%end = is1%end - muscl_polyn
11535# 2030 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11536 else if (norm_dir == 2) then
11537 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11538 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11539# 2033 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11540 is1%end = is1%end - muscl_polyn
11541# 2034 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11542 else
11543 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11544 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11545# 2037 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11546 is1%end = is1%end - muscl_polyn
11547# 2038 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11548 end if
11549
11550 call s_muscl (v_vf(iv%beg:iv%end), vl_x(:,:,:,iv%beg:iv%end), vr_x(:,:,:,iv%beg:iv%end), recon_dir, is1, &
11551# 2041 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11552 & is2, is3)
11553 end if
11554# 2044 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11555
11557
11558 !> Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values
11559 subroutine s_reconstruct_cell_boundary_values_first_order(v_vf, vL_x, vR_x, norm_dir)
11560
11561 type(scalar_field), dimension(iv%beg:iv%end), intent(in) :: v_vf
11562 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vL_x
11563 real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) :: vR_x
11564 integer, intent(in) :: norm_dir
11565 integer :: recon_dir !< Coordinate direction of the reconstruction
11566 integer :: i, j, k, l
11567 ! Reconstruction in s1-direction
11568
11569# 2059 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11570 if (recon_type == recon_type_weno) then
11571# 2060 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11572 if (norm_dir == 1) then
11573 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11574 recon_dir = 1; is1%beg = is1%beg + weno_polyn
11575# 2063 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11576 is1%end = is1%end - weno_polyn
11577# 2064 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11578 else if (norm_dir == 2) then
11579 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11580 recon_dir = 2; is1%beg = is1%beg + weno_polyn
11581# 2067 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11582 is1%end = is1%end - weno_polyn
11583# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11584 else
11585 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11586 recon_dir = 3; is1%beg = is1%beg + weno_polyn
11587# 2071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11588 is1%end = is1%end - weno_polyn
11589# 2072 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11590 end if
11591
11592
11593# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11594#if defined(MFC_OpenACC)
11595# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11596!$acc update device(is1, is2, is3, iv)
11597# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11598#elif defined(MFC_OpenMP)
11599# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11600!$omp target update to(is1, is2, is3, iv)
11601# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11602#endif
11603# 2075 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11604 end if
11605# 2059 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11606 if (recon_type == recon_type_muscl) then
11607# 2060 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11608 if (norm_dir == 1) then
11609 is1 = idwbuff(1); is2 = idwbuff(2); is3 = idwbuff(3)
11610 recon_dir = 1; is1%beg = is1%beg + muscl_polyn
11611# 2063 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11612 is1%end = is1%end - muscl_polyn
11613# 2064 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11614 else if (norm_dir == 2) then
11615 is1 = idwbuff(2); is2 = idwbuff(1); is3 = idwbuff(3)
11616 recon_dir = 2; is1%beg = is1%beg + muscl_polyn
11617# 2067 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11618 is1%end = is1%end - muscl_polyn
11619# 2068 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11620 else
11621 is1 = idwbuff(3); is2 = idwbuff(2); is3 = idwbuff(1)
11622 recon_dir = 3; is1%beg = is1%beg + muscl_polyn
11623# 2071 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11624 is1%end = is1%end - muscl_polyn
11625# 2072 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11626 end if
11627
11628
11629# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11630#if defined(MFC_OpenACC)
11631# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11632!$acc update device(is1, is2, is3, iv)
11633# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11634#elif defined(MFC_OpenMP)
11635# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11636!$omp target update to(is1, is2, is3, iv)
11637# 2074 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11638#endif
11639# 2075 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11640 end if
11641# 2077 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11642
11643 if (recon_dir == 1) then
11644
11645# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11646
11647# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11648#if defined(MFC_OpenACC)
11649# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11650!$acc parallel loop collapse(4) gang vector default(present)
11651# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11652#elif defined(MFC_OpenMP)
11653# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11654
11655# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11656
11657# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11658
11659# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11660!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11661# 2079 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11662#endif
11663# 2080 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11664 do i = iv%beg, iv%end
11665 do l = is3%beg, is3%end
11666 do k = is2%beg, is2%end
11667 do j = is1%beg, is1%end
11668 vl_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11669 vr_x(j, k, l, i) = v_vf(i)%sf(j, k, l)
11670 end do
11671 end do
11672 end do
11673 end do
11674
11675# 2090 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11676#if defined(MFC_OpenACC)
11677# 2090 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11678!$acc end parallel loop
11679# 2090 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11680#elif defined(MFC_OpenMP)
11681# 2090 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11682
11683# 2090 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11684!$omp end target teams loop
11685# 2090 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11686#endif
11687# 2091 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11688 else if (recon_dir == 2) then
11689
11690# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11691
11692# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11693#if defined(MFC_OpenACC)
11694# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11695!$acc parallel loop collapse(4) gang vector default(present)
11696# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11697#elif defined(MFC_OpenMP)
11698# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11699
11700# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11701
11702# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11703
11704# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11705!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11706# 2092 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11707#endif
11708# 2093 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11709 do i = iv%beg, iv%end
11710 do l = is3%beg, is3%end
11711 do j = is1%beg, is1%end
11712 do k = is2%beg, is2%end
11713 vl_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11714 vr_x(k, j, l, i) = v_vf(i)%sf(k, j, l)
11715 end do
11716 end do
11717 end do
11718 end do
11719
11720# 2103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11721#if defined(MFC_OpenACC)
11722# 2103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11723!$acc end parallel loop
11724# 2103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11725#elif defined(MFC_OpenMP)
11726# 2103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11727
11728# 2103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11729!$omp end target teams loop
11730# 2103 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11731#endif
11732# 2104 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11733 else if (recon_dir == 3) then
11734
11735# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11736
11737# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11738#if defined(MFC_OpenACC)
11739# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11740!$acc parallel loop collapse(4) gang vector default(present)
11741# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11742#elif defined(MFC_OpenMP)
11743# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11744
11745# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11746
11747# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11748
11749# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11750!$omp target teams loop defaultmap(firstprivate:scalar) bind(teams,parallel) collapse(4) defaultmap(tofrom:aggregate) defaultmap(tofrom:allocatable) defaultmap(tofrom:pointer)
11751# 2105 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11752#endif
11753# 2106 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11754 do i = iv%beg, iv%end
11755 do j = is1%beg, is1%end
11756 do k = is2%beg, is2%end
11757 do l = is3%beg, is3%end
11758 vl_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11759 vr_x(l, k, j, i) = v_vf(i)%sf(l, k, j)
11760 end do
11761 end do
11762 end do
11763 end do
11764
11765# 2116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11766#if defined(MFC_OpenACC)
11767# 2116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11768!$acc end parallel loop
11769# 2116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11770#elif defined(MFC_OpenMP)
11771# 2116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11772
11773# 2116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11774!$omp end target teams loop
11775# 2116 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11776#endif
11777# 2117 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11778 end if
11779
11781
11782 !> Module deallocation and/or disassociation procedures
11783 impure subroutine s_finalize_rhs_module
11784
11785 integer :: i, j, l
11786
11787 if (.not. igr) then
11788 do j = eqn_idx%cont%beg, eqn_idx%cont%end
11789 if (relativity) then
11790 ! Cons and Prim densities are different for relativity
11791#ifdef MFC_DEBUG
11792# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11793 block
11794# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11795 use iso_fortran_env, only: output_unit
11796# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11797
11798# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11799 print *, 'm_rhs.fpp:2130: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11800# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11801
11802# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11803 call flush (output_unit)
11804# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11805 end block
11806# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11807#endif
11808# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11809
11810# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11811#if defined(MFC_OpenACC)
11812# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11813!$acc exit data delete(q_cons_qp%vf(j)%sf)
11814# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11815#elif defined(MFC_OpenMP)
11816# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11817!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11818# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11819#endif
11820# 2130 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11821 deallocate (q_cons_qp%vf(j)%sf)
11822# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11823#ifdef MFC_DEBUG
11824# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11825 block
11826# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11827 use iso_fortran_env, only: output_unit
11828# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11829
11830# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11831 print *, 'm_rhs.fpp:2131: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11832# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11833
11834# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11835 call flush (output_unit)
11836# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11837 end block
11838# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11839#endif
11840# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11841
11842# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11843#if defined(MFC_OpenACC)
11844# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11845!$acc exit data delete(q_prim_qp%vf(j)%sf)
11846# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11847#elif defined(MFC_OpenMP)
11848# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11849!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11850# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11851#endif
11852# 2131 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11853 deallocate (q_prim_qp%vf(j)%sf)
11854# 2132 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11855 else
11856 nullify (q_prim_qp%vf(j)%sf)
11857 end if
11858 end do
11859
11860 do j = eqn_idx%adv%beg, eqn_idx%adv%end
11861 nullify (q_prim_qp%vf(j)%sf)
11862 end do
11863
11864 do j = eqn_idx%mom%beg, eqn_idx%E
11865#ifdef MFC_DEBUG
11866# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11867 block
11868# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11869 use iso_fortran_env, only: output_unit
11870# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11871
11872# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11873 print *, 'm_rhs.fpp:2142: ', '@:DEALLOCATE(q_cons_qp%vf(j)%sf)'
11874# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11875
11876# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11877 call flush (output_unit)
11878# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11879 end block
11880# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11881#endif
11882# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11883
11884# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11885#if defined(MFC_OpenACC)
11886# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11887!$acc exit data delete(q_cons_qp%vf(j)%sf)
11888# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11889#elif defined(MFC_OpenMP)
11890# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11891!$omp target exit data map(release:q_cons_qp%vf(j)%sf)
11892# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11893#endif
11894# 2142 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11895 deallocate (q_cons_qp%vf(j)%sf)
11896# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11897#ifdef MFC_DEBUG
11898# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11899 block
11900# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11901 use iso_fortran_env, only: output_unit
11902# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11903
11904# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11905 print *, 'm_rhs.fpp:2143: ', '@:DEALLOCATE(q_prim_qp%vf(j)%sf)'
11906# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11907
11908# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11909 call flush (output_unit)
11910# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11911 end block
11912# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11913#endif
11914# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11915
11916# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11917#if defined(MFC_OpenACC)
11918# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11919!$acc exit data delete(q_prim_qp%vf(j)%sf)
11920# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11921#elif defined(MFC_OpenMP)
11922# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11923!$omp target exit data map(release:q_prim_qp%vf(j)%sf)
11924# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11925#endif
11926# 2143 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11927 deallocate (q_prim_qp%vf(j)%sf)
11928# 2144 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11929 end do
11930 end if
11931
11932#ifdef MFC_DEBUG
11933# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11934 block
11935# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11936 use iso_fortran_env, only: output_unit
11937# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11938
11939# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11940 print *, 'm_rhs.fpp:2147: ', '@:DEALLOCATE(q_cons_qp%vf, q_prim_qp%vf)'
11941# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11942
11943# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11944 call flush (output_unit)
11945# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11946 end block
11947# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11948#endif
11949# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11950
11951# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11952#if defined(MFC_OpenACC)
11953# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11954!$acc exit data delete(q_cons_qp%vf, q_prim_qp%vf)
11955# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11956#elif defined(MFC_OpenMP)
11957# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11958!$omp target exit data map(release:q_cons_qp%vf, q_prim_qp%vf)
11959# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11960#endif
11961# 2147 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11962 deallocate (q_cons_qp%vf, q_prim_qp%vf)
11963# 2148 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11964
11965 if (.not. igr) then
11966#ifdef MFC_DEBUG
11967# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11968 block
11969# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11970 use iso_fortran_env, only: output_unit
11971# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11972
11973# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11974 print *, 'm_rhs.fpp:2150: ', '@:DEALLOCATE(qL_rsx_vf, qR_rsx_vf)'
11975# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11976
11977# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11978 call flush (output_unit)
11979# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11980 end block
11981# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11982#endif
11983# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11984
11985# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11986#if defined(MFC_OpenACC)
11987# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11988!$acc exit data delete(qL_rsx_vf, qR_rsx_vf)
11989# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11990#elif defined(MFC_OpenMP)
11991# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11992!$omp target exit data map(release:qL_rsx_vf, qR_rsx_vf)
11993# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11994#endif
11995# 2150 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11996 deallocate (ql_rsx_vf, qr_rsx_vf)
11997# 2151 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
11998
11999 if (viscous) then
12000 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12001#ifdef MFC_DEBUG
12002# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12003 block
12004# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12005 use iso_fortran_env, only: output_unit
12006# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12007
12008# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12009 print *, 'm_rhs.fpp:2154: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf(l)%sf)'
12010# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12011
12012# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12013 call flush (output_unit)
12014# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12015 end block
12016# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12017#endif
12018# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12019
12020# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12021#if defined(MFC_OpenACC)
12022# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12023!$acc exit data delete(dq_prim_dx_qp(1)%vf(l)%sf)
12024# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12025#elif defined(MFC_OpenMP)
12026# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12027!$omp target exit data map(release:dq_prim_dx_qp(1)%vf(l)%sf)
12028# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12029#endif
12030# 2154 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12031 deallocate (dq_prim_dx_qp(1)%vf(l)%sf)
12032# 2155 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12033 end do
12034
12035 if (n > 0) then
12036 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12037#ifdef MFC_DEBUG
12038# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12039 block
12040# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12041 use iso_fortran_env, only: output_unit
12042# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12043
12044# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12045 print *, 'm_rhs.fpp:2159: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf(l)%sf)'
12046# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12047
12048# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12049 call flush (output_unit)
12050# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12051 end block
12052# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12053#endif
12054# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12055
12056# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12057#if defined(MFC_OpenACC)
12058# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12059!$acc exit data delete(dq_prim_dy_qp(1)%vf(l)%sf)
12060# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12061#elif defined(MFC_OpenMP)
12062# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12063!$omp target exit data map(release:dq_prim_dy_qp(1)%vf(l)%sf)
12064# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12065#endif
12066# 2159 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12067 deallocate (dq_prim_dy_qp(1)%vf(l)%sf)
12068# 2160 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12069 end do
12070
12071 if (p > 0) then
12072 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12073#ifdef MFC_DEBUG
12074# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12075 block
12076# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12077 use iso_fortran_env, only: output_unit
12078# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12079
12080# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12081 print *, 'm_rhs.fpp:2164: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf(l)%sf)'
12082# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12083
12084# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12085 call flush (output_unit)
12086# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12087 end block
12088# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12089#endif
12090# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12091
12092# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12093#if defined(MFC_OpenACC)
12094# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12095!$acc exit data delete(dq_prim_dz_qp(1)%vf(l)%sf)
12096# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12097#elif defined(MFC_OpenMP)
12098# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12099!$omp target exit data map(release:dq_prim_dz_qp(1)%vf(l)%sf)
12100# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12101#endif
12102# 2164 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12103 deallocate (dq_prim_dz_qp(1)%vf(l)%sf)
12104# 2165 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12105 end do
12106 end if
12107 end if
12108
12109#ifdef MFC_DEBUG
12110# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12111 block
12112# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12113 use iso_fortran_env, only: output_unit
12114# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12115
12116# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12117 print *, 'm_rhs.fpp:2169: ', '@:DEALLOCATE(dq_prim_dx_qp(1)%vf)'
12118# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12119
12120# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12121 call flush (output_unit)
12122# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12123 end block
12124# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12125#endif
12126# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12127
12128# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12129#if defined(MFC_OpenACC)
12130# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12131!$acc exit data delete(dq_prim_dx_qp(1)%vf)
12132# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12133#elif defined(MFC_OpenMP)
12134# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12135!$omp target exit data map(release:dq_prim_dx_qp(1)%vf)
12136# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12137#endif
12138# 2169 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12139 deallocate (dq_prim_dx_qp(1)%vf)
12140# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12141#ifdef MFC_DEBUG
12142# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12143 block
12144# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12145 use iso_fortran_env, only: output_unit
12146# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12147
12148# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12149 print *, 'm_rhs.fpp:2170: ', '@:DEALLOCATE(dq_prim_dy_qp(1)%vf)'
12150# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12151
12152# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12153 call flush (output_unit)
12154# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12155 end block
12156# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12157#endif
12158# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12159
12160# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12161#if defined(MFC_OpenACC)
12162# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12163!$acc exit data delete(dq_prim_dy_qp(1)%vf)
12164# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12165#elif defined(MFC_OpenMP)
12166# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12167!$omp target exit data map(release:dq_prim_dy_qp(1)%vf)
12168# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12169#endif
12170# 2170 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12171 deallocate (dq_prim_dy_qp(1)%vf)
12172# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12173#ifdef MFC_DEBUG
12174# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12175 block
12176# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12177 use iso_fortran_env, only: output_unit
12178# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12179
12180# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12181 print *, 'm_rhs.fpp:2171: ', '@:DEALLOCATE(dq_prim_dz_qp(1)%vf)'
12182# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12183
12184# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12185 call flush (output_unit)
12186# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12187 end block
12188# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12189#endif
12190# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12191
12192# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12193#if defined(MFC_OpenACC)
12194# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12195!$acc exit data delete(dq_prim_dz_qp(1)%vf)
12196# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12197#elif defined(MFC_OpenMP)
12198# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12199!$omp target exit data map(release:dq_prim_dz_qp(1)%vf)
12200# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12201#endif
12202# 2171 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12203 deallocate (dq_prim_dz_qp(1)%vf)
12204# 2172 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12205
12206 do i = num_dims, 1, -1
12207 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12208#ifdef MFC_DEBUG
12209# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12210 block
12211# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12212 use iso_fortran_env, only: output_unit
12213# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12214
12215# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12216 print *, 'm_rhs.fpp:2175: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf(l)%sf)'
12217# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12218
12219# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12220 call flush (output_unit)
12221# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12222 end block
12223# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12224#endif
12225# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12226
12227# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12228#if defined(MFC_OpenACC)
12229# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12230!$acc exit data delete(dqL_prim_dx_n(i)%vf(l)%sf)
12231# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12232#elif defined(MFC_OpenMP)
12233# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12234!$omp target exit data map(release:dqL_prim_dx_n(i)%vf(l)%sf)
12235# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12236#endif
12237# 2175 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12238 deallocate (dql_prim_dx_n(i)%vf(l)%sf)
12239# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12240#ifdef MFC_DEBUG
12241# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12242 block
12243# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12244 use iso_fortran_env, only: output_unit
12245# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12246
12247# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12248 print *, 'm_rhs.fpp:2176: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf(l)%sf)'
12249# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12250
12251# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12252 call flush (output_unit)
12253# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12254 end block
12255# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12256#endif
12257# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12258
12259# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12260#if defined(MFC_OpenACC)
12261# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12262!$acc exit data delete(dqR_prim_dx_n(i)%vf(l)%sf)
12263# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12264#elif defined(MFC_OpenMP)
12265# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12266!$omp target exit data map(release:dqR_prim_dx_n(i)%vf(l)%sf)
12267# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12268#endif
12269# 2176 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12270 deallocate (dqr_prim_dx_n(i)%vf(l)%sf)
12271# 2177 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12272 end do
12273
12274 if (n > 0) then
12275 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12276#ifdef MFC_DEBUG
12277# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12278 block
12279# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12280 use iso_fortran_env, only: output_unit
12281# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12282
12283# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12284 print *, 'm_rhs.fpp:2181: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf(l)%sf)'
12285# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12286
12287# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12288 call flush (output_unit)
12289# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12290 end block
12291# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12292#endif
12293# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12294
12295# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12296#if defined(MFC_OpenACC)
12297# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12298!$acc exit data delete(dqL_prim_dy_n(i)%vf(l)%sf)
12299# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12300#elif defined(MFC_OpenMP)
12301# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12302!$omp target exit data map(release:dqL_prim_dy_n(i)%vf(l)%sf)
12303# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12304#endif
12305# 2181 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12306 deallocate (dql_prim_dy_n(i)%vf(l)%sf)
12307# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12308#ifdef MFC_DEBUG
12309# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12310 block
12311# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12312 use iso_fortran_env, only: output_unit
12313# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12314
12315# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12316 print *, 'm_rhs.fpp:2182: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf(l)%sf)'
12317# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12318
12319# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12320 call flush (output_unit)
12321# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12322 end block
12323# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12324#endif
12325# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12326
12327# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12328#if defined(MFC_OpenACC)
12329# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12330!$acc exit data delete(dqR_prim_dy_n(i)%vf(l)%sf)
12331# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12332#elif defined(MFC_OpenMP)
12333# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12334!$omp target exit data map(release:dqR_prim_dy_n(i)%vf(l)%sf)
12335# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12336#endif
12337# 2182 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12338 deallocate (dqr_prim_dy_n(i)%vf(l)%sf)
12339# 2183 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12340 end do
12341 end if
12342
12343 if (p > 0) then
12344 do l = eqn_idx%mom%beg, eqn_idx%mom%end
12345#ifdef MFC_DEBUG
12346# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12347 block
12348# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12349 use iso_fortran_env, only: output_unit
12350# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12351
12352# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12353 print *, 'm_rhs.fpp:2188: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf(l)%sf)'
12354# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12355
12356# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12357 call flush (output_unit)
12358# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12359 end block
12360# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12361#endif
12362# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12363
12364# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12365#if defined(MFC_OpenACC)
12366# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12367!$acc exit data delete(dqL_prim_dz_n(i)%vf(l)%sf)
12368# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12369#elif defined(MFC_OpenMP)
12370# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12371!$omp target exit data map(release:dqL_prim_dz_n(i)%vf(l)%sf)
12372# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12373#endif
12374# 2188 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12375 deallocate (dql_prim_dz_n(i)%vf(l)%sf)
12376# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12377#ifdef MFC_DEBUG
12378# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12379 block
12380# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12381 use iso_fortran_env, only: output_unit
12382# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12383
12384# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12385 print *, 'm_rhs.fpp:2189: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf(l)%sf)'
12386# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12387
12388# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12389 call flush (output_unit)
12390# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12391 end block
12392# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12393#endif
12394# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12395
12396# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12397#if defined(MFC_OpenACC)
12398# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12399!$acc exit data delete(dqR_prim_dz_n(i)%vf(l)%sf)
12400# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12401#elif defined(MFC_OpenMP)
12402# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12403!$omp target exit data map(release:dqR_prim_dz_n(i)%vf(l)%sf)
12404# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12405#endif
12406# 2189 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12407 deallocate (dqr_prim_dz_n(i)%vf(l)%sf)
12408# 2190 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12409 end do
12410 end if
12411
12412#ifdef MFC_DEBUG
12413# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12414 block
12415# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12416 use iso_fortran_env, only: output_unit
12417# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12418
12419# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12420 print *, 'm_rhs.fpp:2193: ', '@:DEALLOCATE(dqL_prim_dx_n(i)%vf)'
12421# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12422
12423# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12424 call flush (output_unit)
12425# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12426 end block
12427# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12428#endif
12429# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12430
12431# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12432#if defined(MFC_OpenACC)
12433# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12434!$acc exit data delete(dqL_prim_dx_n(i)%vf)
12435# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12436#elif defined(MFC_OpenMP)
12437# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12438!$omp target exit data map(release:dqL_prim_dx_n(i)%vf)
12439# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12440#endif
12441# 2193 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12442 deallocate (dql_prim_dx_n(i)%vf)
12443# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12444#ifdef MFC_DEBUG
12445# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12446 block
12447# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12448 use iso_fortran_env, only: output_unit
12449# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12450
12451# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12452 print *, 'm_rhs.fpp:2194: ', '@:DEALLOCATE(dqL_prim_dy_n(i)%vf)'
12453# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12454
12455# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12456 call flush (output_unit)
12457# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12458 end block
12459# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12460#endif
12461# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12462
12463# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12464#if defined(MFC_OpenACC)
12465# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12466!$acc exit data delete(dqL_prim_dy_n(i)%vf)
12467# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12468#elif defined(MFC_OpenMP)
12469# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12470!$omp target exit data map(release:dqL_prim_dy_n(i)%vf)
12471# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12472#endif
12473# 2194 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12474 deallocate (dql_prim_dy_n(i)%vf)
12475# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12476#ifdef MFC_DEBUG
12477# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12478 block
12479# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12480 use iso_fortran_env, only: output_unit
12481# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12482
12483# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12484 print *, 'm_rhs.fpp:2195: ', '@:DEALLOCATE(dqL_prim_dz_n(i)%vf)'
12485# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12486
12487# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12488 call flush (output_unit)
12489# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12490 end block
12491# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12492#endif
12493# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12494
12495# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12496#if defined(MFC_OpenACC)
12497# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12498!$acc exit data delete(dqL_prim_dz_n(i)%vf)
12499# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12500#elif defined(MFC_OpenMP)
12501# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12502!$omp target exit data map(release:dqL_prim_dz_n(i)%vf)
12503# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12504#endif
12505# 2195 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12506 deallocate (dql_prim_dz_n(i)%vf)
12507# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12508#ifdef MFC_DEBUG
12509# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12510 block
12511# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12512 use iso_fortran_env, only: output_unit
12513# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12514
12515# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12516 print *, 'm_rhs.fpp:2196: ', '@:DEALLOCATE(dqR_prim_dx_n(i)%vf)'
12517# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12518
12519# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12520 call flush (output_unit)
12521# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12522 end block
12523# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12524#endif
12525# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12526
12527# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12528#if defined(MFC_OpenACC)
12529# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12530!$acc exit data delete(dqR_prim_dx_n(i)%vf)
12531# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12532#elif defined(MFC_OpenMP)
12533# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12534!$omp target exit data map(release:dqR_prim_dx_n(i)%vf)
12535# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12536#endif
12537# 2196 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12538 deallocate (dqr_prim_dx_n(i)%vf)
12539# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12540#ifdef MFC_DEBUG
12541# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12542 block
12543# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12544 use iso_fortran_env, only: output_unit
12545# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12546
12547# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12548 print *, 'm_rhs.fpp:2197: ', '@:DEALLOCATE(dqR_prim_dy_n(i)%vf)'
12549# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12550
12551# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12552 call flush (output_unit)
12553# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12554 end block
12555# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12556#endif
12557# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12558
12559# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12560#if defined(MFC_OpenACC)
12561# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12562!$acc exit data delete(dqR_prim_dy_n(i)%vf)
12563# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12564#elif defined(MFC_OpenMP)
12565# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12566!$omp target exit data map(release:dqR_prim_dy_n(i)%vf)
12567# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12568#endif
12569# 2197 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12570 deallocate (dqr_prim_dy_n(i)%vf)
12571# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12572#ifdef MFC_DEBUG
12573# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12574 block
12575# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12576 use iso_fortran_env, only: output_unit
12577# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12578
12579# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12580 print *, 'm_rhs.fpp:2198: ', '@:DEALLOCATE(dqR_prim_dz_n(i)%vf)'
12581# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12582
12583# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12584 call flush (output_unit)
12585# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12586 end block
12587# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12588#endif
12589# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12590
12591# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12592#if defined(MFC_OpenACC)
12593# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12594!$acc exit data delete(dqR_prim_dz_n(i)%vf)
12595# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12596#elif defined(MFC_OpenMP)
12597# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12598!$omp target exit data map(release:dqR_prim_dz_n(i)%vf)
12599# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12600#endif
12601# 2198 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12602 deallocate (dqr_prim_dz_n(i)%vf)
12603# 2199 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12604 end do
12605
12606 if (weno_re_flux) then
12607#ifdef MFC_DEBUG
12608# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12609 block
12610# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12611 use iso_fortran_env, only: output_unit
12612# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12613
12614# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12615 print *, 'm_rhs.fpp:2202: ', '@:DEALLOCATE(dqL_rsx_vf, dqR_rsx_vf)'
12616# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12617
12618# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12619 call flush (output_unit)
12620# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12621 end block
12622# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12623#endif
12624# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12625
12626# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12627#if defined(MFC_OpenACC)
12628# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12629!$acc exit data delete(dqL_rsx_vf, dqR_rsx_vf)
12630# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12631#elif defined(MFC_OpenMP)
12632# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12633!$omp target exit data map(release:dqL_rsx_vf, dqR_rsx_vf)
12634# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12635#endif
12636# 2202 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12637 deallocate (dql_rsx_vf, dqr_rsx_vf)
12638# 2203 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12639 end if
12640 end if
12641
12642 if (viscous .or. heat_conduction) then
12643 do i = 1, num_dims
12644#ifdef MFC_DEBUG
12645# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12646 block
12647# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12648 use iso_fortran_env, only: output_unit
12649# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12650
12651# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12652 print *, 'm_rhs.fpp:2208: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%cont%end + i)%sf)'
12653# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12654
12655# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12656 call flush (output_unit)
12657# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12658 end block
12659# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12660#endif
12661# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12662
12663# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12664#if defined(MFC_OpenACC)
12665# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12666!$acc exit data delete(tau_Re_vf(eqn_idx%cont%end + i)%sf)
12667# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12668#elif defined(MFC_OpenMP)
12669# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12670!$omp target exit data map(release:tau_Re_vf(eqn_idx%cont%end + i)%sf)
12671# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12672#endif
12673# 2208 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12674 deallocate (tau_re_vf(eqn_idx%cont%end + i)%sf)
12675# 2209 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12676 end do
12677#ifdef MFC_DEBUG
12678# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12679 block
12680# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12681 use iso_fortran_env, only: output_unit
12682# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12683
12684# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12685 print *, 'm_rhs.fpp:2210: ', '@:DEALLOCATE(tau_Re_vf(eqn_idx%E)%sf)'
12686# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12687
12688# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12689 call flush (output_unit)
12690# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12691 end block
12692# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12693#endif
12694# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12695
12696# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12697#if defined(MFC_OpenACC)
12698# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12699!$acc exit data delete(tau_Re_vf(eqn_idx%E)%sf)
12700# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12701#elif defined(MFC_OpenMP)
12702# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12703!$omp target exit data map(release:tau_Re_vf(eqn_idx%E)%sf)
12704# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12705#endif
12706# 2210 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12707 deallocate (tau_re_vf(eqn_idx%E)%sf)
12708# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12709#ifdef MFC_DEBUG
12710# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12711 block
12712# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12713 use iso_fortran_env, only: output_unit
12714# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12715
12716# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12717 print *, 'm_rhs.fpp:2211: ', '@:DEALLOCATE(tau_Re_vf)'
12718# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12719
12720# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12721 call flush (output_unit)
12722# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12723 end block
12724# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12725#endif
12726# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12727
12728# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12729#if defined(MFC_OpenACC)
12730# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12731!$acc exit data delete(tau_Re_vf)
12732# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12733#elif defined(MFC_OpenMP)
12734# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12735!$omp target exit data map(release:tau_Re_vf)
12736# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12737#endif
12738# 2211 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12739 deallocate (tau_re_vf)
12740# 2212 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12741 end if
12742
12743#ifdef MFC_DEBUG
12744# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12745 block
12746# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12747 use iso_fortran_env, only: output_unit
12748# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12749
12750# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12751 print *, 'm_rhs.fpp:2214: ', '@:DEALLOCATE(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)'
12752# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12753
12754# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12755 call flush (output_unit)
12756# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12757 end block
12758# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12759#endif
12760# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12761
12762# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12763#if defined(MFC_OpenACC)
12764# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12765!$acc exit data delete(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12766# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12767#elif defined(MFC_OpenMP)
12768# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12769!$omp target exit data map(release:dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n)
12770# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12771#endif
12772# 2214 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12774# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12775#ifdef MFC_DEBUG
12776# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12777 block
12778# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12779 use iso_fortran_env, only: output_unit
12780# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12781
12782# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12783 print *, 'm_rhs.fpp:2215: ', '@:DEALLOCATE(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)'
12784# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12785
12786# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12787 call flush (output_unit)
12788# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12789 end block
12790# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12791#endif
12792# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12793
12794# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12795#if defined(MFC_OpenACC)
12796# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12797!$acc exit data delete(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12798# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12799#elif defined(MFC_OpenMP)
12800# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12801!$omp target exit data map(release:dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n)
12802# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12803#endif
12804# 2215 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12806# 2216 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12807 end if
12808
12809 if (mpp_lim .and. bubbles_euler) then
12810#ifdef MFC_DEBUG
12811# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12812 block
12813# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12814 use iso_fortran_env, only: output_unit
12815# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12816
12817# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12818 print *, 'm_rhs.fpp:2219: ', '@:DEALLOCATE(alf_sum%sf)'
12819# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12820
12821# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12822 call flush (output_unit)
12823# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12824 end block
12825# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12826#endif
12827# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12828
12829# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12830#if defined(MFC_OpenACC)
12831# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12832!$acc exit data delete(alf_sum%sf)
12833# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12834#elif defined(MFC_OpenMP)
12835# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12836!$omp target exit data map(release:alf_sum%sf)
12837# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12838#endif
12839# 2219 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12840 deallocate (alf_sum%sf)
12841# 2220 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12842 end if
12843
12844 if (.not. igr) then
12845 do i = num_dims, 1, -1
12846 if (i /= 1) then
12847 do l = 1, sys_size
12848 nullify (flux_n(i)%vf(l)%sf)
12849 nullify (flux_src_n(i)%vf(l)%sf)
12850#ifdef MFC_DEBUG
12851# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12852 block
12853# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12854 use iso_fortran_env, only: output_unit
12855# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12856
12857# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12858 print *, 'm_rhs.fpp:2228: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12859# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12860
12861# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12862 call flush (output_unit)
12863# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12864 end block
12865# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12866#endif
12867# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12868
12869# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12870#if defined(MFC_OpenACC)
12871# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12872!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12873# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12874#elif defined(MFC_OpenMP)
12875# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12876!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12877# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12878#endif
12879# 2228 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12880 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12881# 2229 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12882 end do
12883 else
12884 do l = 1, sys_size
12885#ifdef MFC_DEBUG
12886# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12887 block
12888# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12889 use iso_fortran_env, only: output_unit
12890# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12891
12892# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12893 print *, 'm_rhs.fpp:2232: ', '@:DEALLOCATE(flux_n(i)%vf(l)%sf)'
12894# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12895
12896# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12897 call flush (output_unit)
12898# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12899 end block
12900# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12901#endif
12902# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12903
12904# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12905#if defined(MFC_OpenACC)
12906# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12907!$acc exit data delete(flux_n(i)%vf(l)%sf)
12908# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12909#elif defined(MFC_OpenMP)
12910# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12911!$omp target exit data map(release:flux_n(i)%vf(l)%sf)
12912# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12913#endif
12914# 2232 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12915 deallocate (flux_n(i)%vf(l)%sf)
12916# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12917#ifdef MFC_DEBUG
12918# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12919 block
12920# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12921 use iso_fortran_env, only: output_unit
12922# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12923
12924# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12925 print *, 'm_rhs.fpp:2233: ', '@:DEALLOCATE(flux_gsrc_n(i)%vf(l)%sf)'
12926# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12927
12928# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12929 call flush (output_unit)
12930# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12931 end block
12932# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12933#endif
12934# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12935
12936# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12937#if defined(MFC_OpenACC)
12938# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12939!$acc exit data delete(flux_gsrc_n(i)%vf(l)%sf)
12940# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12941#elif defined(MFC_OpenMP)
12942# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12943!$omp target exit data map(release:flux_gsrc_n(i)%vf(l)%sf)
12944# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12945#endif
12946# 2233 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12947 deallocate (flux_gsrc_n(i)%vf(l)%sf)
12948# 2234 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12949 end do
12950
12951 if (viscous .or. surface_tension .or. heat_conduction) then
12952 do l = eqn_idx%mom%beg, eqn_idx%E
12953#ifdef MFC_DEBUG
12954# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12955 block
12956# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12957 use iso_fortran_env, only: output_unit
12958# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12959
12960# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12961 print *, 'm_rhs.fpp:2238: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
12962# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12963
12964# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12965 call flush (output_unit)
12966# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12967 end block
12968# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12969#endif
12970# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12971
12972# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12973#if defined(MFC_OpenACC)
12974# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12975!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
12976# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12977#elif defined(MFC_OpenMP)
12978# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12979!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
12980# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12981#endif
12982# 2238 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12983 deallocate (flux_src_n(i)%vf(l)%sf)
12984# 2239 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12985 end do
12986 end if
12987
12988 if (chem_params%diffusion .and. .not. (viscous .or. surface_tension .or. heat_conduction)) then
12989#ifdef MFC_DEBUG
12990# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12991 block
12992# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12993 use iso_fortran_env, only: output_unit
12994# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12995
12996# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12997 print *, 'm_rhs.fpp:2243: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%E)%sf)'
12998# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
12999
13000# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13001 call flush (output_unit)
13002# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13003 end block
13004# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13005#endif
13006# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13007
13008# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13009#if defined(MFC_OpenACC)
13010# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13011!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%E)%sf)
13012# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13013#elif defined(MFC_OpenMP)
13014# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13015!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%E)%sf)
13016# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13017#endif
13018# 2243 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13019 deallocate (flux_src_n(i)%vf(eqn_idx%E)%sf)
13020# 2244 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13021 end if
13022
13023 if (adv_src_mode == adv_src_mode_alpha_iface .or. adv_src_mode == adv_src_mode_none) then
13024 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
13025#ifdef MFC_DEBUG
13026# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13027 block
13028# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13029 use iso_fortran_env, only: output_unit
13030# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13031
13032# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13033 print *, 'm_rhs.fpp:2248: ', '@:DEALLOCATE(flux_src_n(i)%vf(l)%sf)'
13034# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13035
13036# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13037 call flush (output_unit)
13038# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13039 end block
13040# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13041#endif
13042# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13043
13044# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13045#if defined(MFC_OpenACC)
13046# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13047!$acc exit data delete(flux_src_n(i)%vf(l)%sf)
13048# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13049#elif defined(MFC_OpenMP)
13050# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13051!$omp target exit data map(release:flux_src_n(i)%vf(l)%sf)
13052# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13053#endif
13054# 2248 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13055 deallocate (flux_src_n(i)%vf(l)%sf)
13056# 2249 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13057 end do
13058 else
13059 do l = eqn_idx%adv%beg + 1, eqn_idx%adv%end
13060 nullify (flux_src_n(i)%vf(l)%sf)
13061 end do
13062 end if
13063
13064#ifdef MFC_DEBUG
13065# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13066 block
13067# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13068 use iso_fortran_env, only: output_unit
13069# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13070
13071# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13072 print *, 'm_rhs.fpp:2256: ', '@:DEALLOCATE(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)'
13073# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13074
13075# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13076 call flush (output_unit)
13077# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13078 end block
13079# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13080#endif
13081# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13082
13083# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13084#if defined(MFC_OpenACC)
13085# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13086!$acc exit data delete(flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
13087# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13088#elif defined(MFC_OpenMP)
13089# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13090!$omp target exit data map(release:flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
13091# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13092#endif
13093# 2256 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13094 deallocate (flux_src_n(i)%vf(eqn_idx%adv%beg)%sf)
13095# 2257 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13096 end if
13097
13098#ifdef MFC_DEBUG
13099# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13100 block
13101# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13102 use iso_fortran_env, only: output_unit
13103# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13104
13105# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13106 print *, 'm_rhs.fpp:2259: ', '@:DEALLOCATE(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)'
13107# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13108
13109# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13110 call flush (output_unit)
13111# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13112 end block
13113# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13114#endif
13115# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13116
13117# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13118#if defined(MFC_OpenACC)
13119# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13120!$acc exit data delete(flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
13121# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13122#elif defined(MFC_OpenMP)
13123# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13124!$omp target exit data map(release:flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
13125# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13126#endif
13127# 2259 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13128 deallocate (flux_n(i)%vf, flux_src_n(i)%vf, flux_gsrc_n(i)%vf)
13129# 2260 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13130 end do
13131
13132#ifdef MFC_DEBUG
13133# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13134 block
13135# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13136 use iso_fortran_env, only: output_unit
13137# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13138
13139# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13140 print *, 'm_rhs.fpp:2262: ', '@:DEALLOCATE(flux_n, flux_src_n, flux_gsrc_n)'
13141# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13142
13143# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13144 call flush (output_unit)
13145# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13146 end block
13147# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13148#endif
13149# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13150
13151# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13152#if defined(MFC_OpenACC)
13153# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13154!$acc exit data delete(flux_n, flux_src_n, flux_gsrc_n)
13155# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13156#elif defined(MFC_OpenMP)
13157# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13158!$omp target exit data map(release:flux_n, flux_src_n, flux_gsrc_n)
13159# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13160#endif
13161# 2262 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13162 deallocate (flux_n, flux_src_n, flux_gsrc_n)
13163# 2263 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13164 do i = 1, num_dims
13165 do l = eqn_idx%mom%beg, eqn_idx%mom%end
13166#ifdef MFC_DEBUG
13167# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13168 block
13169# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13170 use iso_fortran_env, only: output_unit
13171# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13172
13173# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13174 print *, 'm_rhs.fpp:2265: ', '@:DEALLOCATE(qL_prim(i)%vf(l)%sf)'
13175# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13176
13177# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13178 call flush (output_unit)
13179# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13180 end block
13181# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13182#endif
13183# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13184
13185# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13186#if defined(MFC_OpenACC)
13187# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13188!$acc exit data delete(qL_prim(i)%vf(l)%sf)
13189# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13190#elif defined(MFC_OpenMP)
13191# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13192!$omp target exit data map(release:qL_prim(i)%vf(l)%sf)
13193# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13194#endif
13195# 2265 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13196 deallocate (ql_prim(i)%vf(l)%sf)
13197# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13198#ifdef MFC_DEBUG
13199# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13200 block
13201# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13202 use iso_fortran_env, only: output_unit
13203# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13204
13205# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13206 print *, 'm_rhs.fpp:2266: ', '@:DEALLOCATE(qR_prim(i)%vf(l)%sf)'
13207# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13208
13209# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13210 call flush (output_unit)
13211# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13212 end block
13213# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13214#endif
13215# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13216
13217# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13218#if defined(MFC_OpenACC)
13219# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13220!$acc exit data delete(qR_prim(i)%vf(l)%sf)
13221# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13222#elif defined(MFC_OpenMP)
13223# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13224!$omp target exit data map(release:qR_prim(i)%vf(l)%sf)
13225# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13226#endif
13227# 2266 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13228 deallocate (qr_prim(i)%vf(l)%sf)
13229# 2267 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13230 end do
13231#ifdef MFC_DEBUG
13232# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13233 block
13234# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13235 use iso_fortran_env, only: output_unit
13236# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13237
13238# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13239 print *, 'm_rhs.fpp:2268: ', '@:DEALLOCATE(qL_prim(i)%vf, qR_prim(i)%vf)'
13240# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13241
13242# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13243 call flush (output_unit)
13244# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13245 end block
13246# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13247#endif
13248# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13249
13250# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13251#if defined(MFC_OpenACC)
13252# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13253!$acc exit data delete(qL_prim(i)%vf, qR_prim(i)%vf)
13254# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13255#elif defined(MFC_OpenMP)
13256# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13257!$omp target exit data map(release:qL_prim(i)%vf, qR_prim(i)%vf)
13258# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13259#endif
13260# 2268 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13261 deallocate (ql_prim(i)%vf, qr_prim(i)%vf)
13262# 2269 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13263 end do
13264#ifdef MFC_DEBUG
13265# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13266 block
13267# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13268 use iso_fortran_env, only: output_unit
13269# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13270
13271# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13272 print *, 'm_rhs.fpp:2270: ', '@:DEALLOCATE(qL_prim, qR_prim)'
13273# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13274
13275# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13276 call flush (output_unit)
13277# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13278 end block
13279# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13280#endif
13281# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13282
13283# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13284#if defined(MFC_OpenACC)
13285# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13286!$acc exit data delete(qL_prim, qR_prim)
13287# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13288#elif defined(MFC_OpenMP)
13289# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13290!$omp target exit data map(release:qL_prim, qR_prim)
13291# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13292#endif
13293# 2270 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13294 deallocate (ql_prim, qr_prim)
13295# 2271 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13296 end if
13297
13298 if (alt_soundspeed) then
13299#ifdef MFC_DEBUG
13300# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13301 block
13302# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13303 use iso_fortran_env, only: output_unit
13304# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13305
13306# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13307 print *, 'm_rhs.fpp:2274: ', '@:DEALLOCATE(blkmod1, blkmod2, alpha1, alpha2, Kterm)'
13308# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13309
13310# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13311 call flush (output_unit)
13312# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13313 end block
13314# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13315#endif
13316# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13317
13318# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13319#if defined(MFC_OpenACC)
13320# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13321!$acc exit data delete(blkmod1, blkmod2, alpha1, alpha2, Kterm)
13322# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13323#elif defined(MFC_OpenMP)
13324# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13325!$omp target exit data map(release:blkmod1, blkmod2, alpha1, alpha2, Kterm)
13326# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13327#endif
13328# 2274 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13329 deallocate (blkmod1, blkmod2, alpha1, alpha2, kterm)
13330# 2275 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13331 end if
13332
13333 if (qbmm) then
13334 do i = 0, 2
13335 do j = 0, 2
13336 do l = 1, nb
13337#ifdef MFC_DEBUG
13338# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13339 block
13340# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13341 use iso_fortran_env, only: output_unit
13342# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13343
13344# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13345 print *, 'm_rhs.fpp:2281: ', '@:DEALLOCATE(mom_3d(i, j, l)%sf)'
13346# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13347
13348# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13349 call flush (output_unit)
13350# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13351 end block
13352# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13353#endif
13354# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13355
13356# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13357#if defined(MFC_OpenACC)
13358# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13359!$acc exit data delete(mom_3d(i, j, l)%sf)
13360# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13361#elif defined(MFC_OpenMP)
13362# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13363!$omp target exit data map(release:mom_3d(i, j, l)%sf)
13364# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13365#endif
13366# 2281 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13367 deallocate (mom_3d(i, j, l)%sf)
13368# 2282 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13369 end do
13370 end do
13371 end do
13372 do i = 1, nmomsp
13373#ifdef MFC_DEBUG
13374# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13375 block
13376# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13377 use iso_fortran_env, only: output_unit
13378# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13379
13380# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13381 print *, 'm_rhs.fpp:2286: ', '@:DEALLOCATE(mom_sp(i)%sf)'
13382# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13383
13384# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13385 call flush (output_unit)
13386# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13387 end block
13388# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13389#endif
13390# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13391
13392# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13393#if defined(MFC_OpenACC)
13394# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13395!$acc exit data delete(mom_sp(i)%sf)
13396# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13397#elif defined(MFC_OpenMP)
13398# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13399!$omp target exit data map(release:mom_sp(i)%sf)
13400# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13401#endif
13402# 2286 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13403 deallocate (mom_sp(i)%sf)
13404# 2287 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13405 end do
13406#ifdef MFC_DEBUG
13407# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13408 block
13409# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13410 use iso_fortran_env, only: output_unit
13411# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13412
13413# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13414 print *, 'm_rhs.fpp:2288: ', '@:DEALLOCATE(mom_sp, mom_3d)'
13415# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13416
13417# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13418 call flush (output_unit)
13419# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13420 end block
13421# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13422#endif
13423# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13424
13425# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13426#if defined(MFC_OpenACC)
13427# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13428!$acc exit data delete(mom_sp, mom_3d)
13429# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13430#elif defined(MFC_OpenMP)
13431# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13432!$omp target exit data map(release:mom_sp, mom_3d)
13433# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13434#endif
13435# 2288 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13436 deallocate (mom_sp, mom_3d)
13437# 2289 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13438 end if
13439
13440 if (use_nc_iface_vel) then
13441 do i = 1, num_dims
13442 do l = 1, num_dims
13443#ifdef MFC_DEBUG
13444# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13445 block
13446# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13447 use iso_fortran_env, only: output_unit
13448# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13449
13450# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13451 print *, 'm_rhs.fpp:2294: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf(l)%sf)'
13452# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13453
13454# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13455 call flush (output_unit)
13456# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13457 end block
13458# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13459#endif
13460# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13461
13462# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13463#if defined(MFC_OpenACC)
13464# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13465!$acc exit data delete(nc_iface_vel_n(i)%vf(l)%sf)
13466# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13467#elif defined(MFC_OpenMP)
13468# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13469!$omp target exit data map(release:nc_iface_vel_n(i)%vf(l)%sf)
13470# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13471#endif
13472# 2294 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13473 deallocate (nc_iface_vel_n(i)%vf(l)%sf)
13474# 2295 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13475 end do
13476#ifdef MFC_DEBUG
13477# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13478 block
13479# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13480 use iso_fortran_env, only: output_unit
13481# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13482
13483# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13484 print *, 'm_rhs.fpp:2296: ', '@:DEALLOCATE(nc_iface_vel_n(i)%vf)'
13485# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13486
13487# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13488 call flush (output_unit)
13489# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13490 end block
13491# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13492#endif
13493# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13494
13495# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13496#if defined(MFC_OpenACC)
13497# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13498!$acc exit data delete(nc_iface_vel_n(i)%vf)
13499# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13500#elif defined(MFC_OpenMP)
13501# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13502!$omp target exit data map(release:nc_iface_vel_n(i)%vf)
13503# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13504#endif
13505# 2296 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13506 deallocate (nc_iface_vel_n(i)%vf)
13507# 2297 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13508 end do
13509#ifdef MFC_DEBUG
13510# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13511 block
13512# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13513 use iso_fortran_env, only: output_unit
13514# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13515
13516# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13517 print *, 'm_rhs.fpp:2298: ', '@:DEALLOCATE(nc_iface_vel_n)'
13518# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13519
13520# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13521 call flush (output_unit)
13522# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13523 end block
13524# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13525#endif
13526# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13527
13528# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13529#if defined(MFC_OpenACC)
13530# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13531!$acc exit data delete(nc_iface_vel_n)
13532# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13533#elif defined(MFC_OpenMP)
13534# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13535!$omp target exit data map(release:nc_iface_vel_n)
13536# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13537#endif
13538# 2298 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13539 deallocate (nc_iface_vel_n)
13540# 2299 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13541 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13542 do i = 1, num_dims
13543 do l = 1, num_dims
13544#ifdef MFC_DEBUG
13545# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13546 block
13547# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13548 use iso_fortran_env, only: output_unit
13549# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13550
13551# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13552 print *, 'm_rhs.fpp:2302: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf(l)%sf)'
13553# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13554
13555# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13556 call flush (output_unit)
13557# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13558 end block
13559# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13560#endif
13561# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13562
13563# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13564#if defined(MFC_OpenACC)
13565# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13566!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf(l)%sf)
13567# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13568#elif defined(MFC_OpenMP)
13569# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13570!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf(l)%sf)
13571# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13572#endif
13573# 2302 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13574 deallocate (nc_iface_vel_hatr_n(i)%vf(l)%sf)
13575# 2303 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13576 end do
13577#ifdef MFC_DEBUG
13578# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13579 block
13580# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13581 use iso_fortran_env, only: output_unit
13582# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13583
13584# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13585 print *, 'm_rhs.fpp:2304: ', '@:DEALLOCATE(nc_iface_vel_hatR_n(i)%vf)'
13586# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13587
13588# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13589 call flush (output_unit)
13590# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13591 end block
13592# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13593#endif
13594# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13595
13596# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13597#if defined(MFC_OpenACC)
13598# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13599!$acc exit data delete(nc_iface_vel_hatR_n(i)%vf)
13600# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13601#elif defined(MFC_OpenMP)
13602# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13603!$omp target exit data map(release:nc_iface_vel_hatR_n(i)%vf)
13604# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13605#endif
13606# 2304 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13607 deallocate (nc_iface_vel_hatr_n(i)%vf)
13608# 2305 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13609 end do
13610#ifdef MFC_DEBUG
13611# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13612 block
13613# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13614 use iso_fortran_env, only: output_unit
13615# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13616
13617# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13618 print *, 'm_rhs.fpp:2306: ', '@:DEALLOCATE(nc_iface_vel_hatR_n)'
13619# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13620
13621# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13622 call flush (output_unit)
13623# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13624 end block
13625# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13626#endif
13627# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13628
13629# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13630#if defined(MFC_OpenACC)
13631# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13632!$acc exit data delete(nc_iface_vel_hatR_n)
13633# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13634#elif defined(MFC_OpenMP)
13635# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13636!$omp target exit data map(release:nc_iface_vel_hatR_n)
13637# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13638#endif
13639# 2306 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13640 deallocate (nc_iface_vel_hatr_n)
13641# 2307 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13642 end if
13643 end if
13644
13645 if (hypo_nc_mode == hypo_nc_mode_dual_pass) then
13646 do i = 1, sys_size
13647#ifdef MFC_DEBUG
13648# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13649 block
13650# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13651 use iso_fortran_env, only: output_unit
13652# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13653
13654# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13655 print *, 'm_rhs.fpp:2312: ', '@:DEALLOCATE(rhs_hatL_vf(i)%sf)'
13656# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13657
13658# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13659 call flush (output_unit)
13660# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13661 end block
13662# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13663#endif
13664# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13665
13666# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13667#if defined(MFC_OpenACC)
13668# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13669!$acc exit data delete(rhs_hatL_vf(i)%sf)
13670# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13671#elif defined(MFC_OpenMP)
13672# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13673!$omp target exit data map(release:rhs_hatL_vf(i)%sf)
13674# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13675#endif
13676# 2312 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13677 deallocate (rhs_hatl_vf(i)%sf)
13678# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13679#ifdef MFC_DEBUG
13680# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13681 block
13682# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13683 use iso_fortran_env, only: output_unit
13684# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13685
13686# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13687 print *, 'm_rhs.fpp:2313: ', '@:DEALLOCATE(rhs_hatR_vf(i)%sf)'
13688# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13689
13690# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13691 call flush (output_unit)
13692# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13693 end block
13694# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13695#endif
13696# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13697
13698# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13699#if defined(MFC_OpenACC)
13700# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13701!$acc exit data delete(rhs_hatR_vf(i)%sf)
13702# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13703#elif defined(MFC_OpenMP)
13704# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13705!$omp target exit data map(release:rhs_hatR_vf(i)%sf)
13706# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13707#endif
13708# 2313 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13709 deallocate (rhs_hatr_vf(i)%sf)
13710# 2314 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13711 end do
13712#ifdef MFC_DEBUG
13713# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13714 block
13715# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13716 use iso_fortran_env, only: output_unit
13717# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13718
13719# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13720 print *, 'm_rhs.fpp:2315: ', '@:DEALLOCATE(rhs_hatL_vf)'
13721# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13722
13723# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13724 call flush (output_unit)
13725# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13726 end block
13727# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13728#endif
13729# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13730
13731# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13732#if defined(MFC_OpenACC)
13733# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13734!$acc exit data delete(rhs_hatL_vf)
13735# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13736#elif defined(MFC_OpenMP)
13737# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13738!$omp target exit data map(release:rhs_hatL_vf)
13739# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13740#endif
13741# 2315 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13742 deallocate (rhs_hatl_vf)
13743# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13744#ifdef MFC_DEBUG
13745# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13746 block
13747# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13748 use iso_fortran_env, only: output_unit
13749# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13750
13751# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13752 print *, 'm_rhs.fpp:2316: ', '@:DEALLOCATE(rhs_hatR_vf)'
13753# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13754
13755# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13756 call flush (output_unit)
13757# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13758 end block
13759# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13760#endif
13761# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13762
13763# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13764#if defined(MFC_OpenACC)
13765# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13766!$acc exit data delete(rhs_hatR_vf)
13767# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13768#elif defined(MFC_OpenMP)
13769# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13770!$omp target exit data map(release:rhs_hatR_vf)
13771# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13772#endif
13773# 2316 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13774 deallocate (rhs_hatr_vf)
13775# 2317 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13776 end if
13777
13778 if (bf_spatial_support) then
13779#ifdef MFC_DEBUG
13780# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13781 block
13782# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13783 use iso_fortran_env, only: output_unit
13784# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13785
13786# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13787 print *, 'm_rhs.fpp:2320: ', '@:DEALLOCATE(spbf_source_x, spbf_source_y)'
13788# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13789
13790# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13791 call flush (output_unit)
13792# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13793 end block
13794# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13795#endif
13796# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13797
13798# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13799#if defined(MFC_OpenACC)
13800# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13801!$acc exit data delete(spbf_source_x, spbf_source_y)
13802# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13803#elif defined(MFC_OpenMP)
13804# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13805!$omp target exit data map(release:spbf_source_x, spbf_source_y)
13806# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13807#endif
13808# 2320 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13809 deallocate (spbf_source_x, spbf_source_y)
13810# 2321 "/home/runner/work/MFC/MFC/src/simulation/m_rhs.fpp"
13811 end if
13812
13813 end subroutine s_finalize_rhs_module
13814
13815end 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 reconstruction with optional monotonicity-preserving bounds and mapped weights.
Integer bounds for variables.
Derived type annexing a scalar field (SF).
Derived type annexing a vector field (VF).