1# 1 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
7# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
8# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
9# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
10# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
11# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
12# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
13# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
15# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
16# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
17# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
19# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
20# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
23# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
24# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
25# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
27# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
30# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
34# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
36# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
47# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
48# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
49# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
59# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
63# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
64# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
65# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
67# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
76# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
78# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
84# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
86# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
88# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
163# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
165# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
166# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
167# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
168# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
179# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
182# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
183# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
184# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
186# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
189# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
191# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
193# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
195# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
197# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
199# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
201# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
203# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
205# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
207# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
255# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
257# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
259# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
261# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
263# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
266# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
317# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
320# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
322# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
323# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
325# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
327# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
335# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
338# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
341# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
344# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
347# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
349# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
351# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
353# 6 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp" 2
378 real(wp),
allocatable,
dimension(:,:,:) ::
rhom
380# 31 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
381#if defined(MFC_OpenACC)
382# 31 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
384# 31 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
385#elif defined(MFC_OpenMP)
386# 31 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
388# 31 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
390# 32 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
394# 34 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
395#if defined(MFC_OpenACC)
396# 34 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
398# 34 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
399#elif defined(MFC_OpenMP)
400# 34 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
402# 34 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
404# 35 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
414# 43 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
415#if defined(MFC_OpenACC)
416# 43 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
418# 43 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
419#elif defined(MFC_OpenMP)
420# 43 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
422# 43 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
424# 44 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
426# 44 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
427#if defined(MFC_OpenACC)
428# 44 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
430# 44 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
431#elif defined(MFC_OpenMP)
432# 44 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
434# 44 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
436# 45 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
445 integer :: s, m_wave, m_global
446 integer(kind=selected_int_kind(18)) :: seed
447 real(wp) :: rn1, rn2, k_mag
448 real(wp),
dimension(3) :: khat, xi, sig, sig_tmp
453# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
455# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
456 use iso_fortran_env,
only: output_unit
457# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
459# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
460 print *,
'm_body_forces.fpp:60: ',
'@:ALLOCATE(rhoM(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
461# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
463# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
464 call flush (output_unit)
465# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
467# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
469# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
471# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
473# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
475# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
476#if defined(MFC_OpenACC)
477# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
479# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
480#elif defined(MFC_OpenMP)
481# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
483# 60 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
485# 61 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
488# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
490# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
491 use iso_fortran_env,
only: output_unit
492# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
494# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
495 print *,
'm_body_forces.fpp:62: ',
'@:ALLOCATE(rhoM(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
496# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
498# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
499 call flush (output_unit)
500# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
502# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
504# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
505 allocate (
rhom(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
506# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
508# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
510# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
511#if defined(MFC_OpenACC)
512# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
514# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
515#elif defined(MFC_OpenMP)
516# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
518# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
520# 63 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
524# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
526# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
527 use iso_fortran_env,
only: output_unit
528# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
530# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
531 print *,
'm_body_forces.fpp:65: ',
'@:ALLOCATE(rhoM(-buff_size:buff_size + m, 0:0, 0:0))'
532# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
534# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
535 call flush (output_unit)
536# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
538# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
540# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
541 allocate (
rhom(-buff_size:buff_size + m, 0:0, 0:0))
542# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
544# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
546# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
547#if defined(MFC_OpenACC)
548# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
550# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
551#elif defined(MFC_OpenMP)
552# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
554# 65 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
556# 66 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
559 if (bf_spatial_support)
then
563 if (.not. synthetic_turbulence)
return
564 if (synth_n_shells <= 0)
return
571# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
573# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
574 use iso_fortran_env,
only: output_unit
575# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
577# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
578 print *,
'm_body_forces.fpp:79: ',
'@:ALLOCATE(synthetic_k_x(1:num_synthetic_wave_numbers))'
579# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
581# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
582 call flush (output_unit)
583# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
585# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
587# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
589# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
591# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
593# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
594#if defined(MFC_OpenACC)
595# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
597# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
598#elif defined(MFC_OpenMP)
599# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
601# 79 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
603# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
605# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
607# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
608 use iso_fortran_env,
only: output_unit
609# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
611# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
612 print *,
'm_body_forces.fpp:80: ',
'@:ALLOCATE(synthetic_phase(1:num_synthetic_wave_numbers))'
613# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
615# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
616 call flush (output_unit)
617# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
619# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
621# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
623# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
625# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
627# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
628#if defined(MFC_OpenACC)
629# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
631# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
632#elif defined(MFC_OpenMP)
633# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
635# 80 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
637# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
639# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
641# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
642 use iso_fortran_env,
only: output_unit
643# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
645# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
646 print *,
'm_body_forces.fpp:81: ',
'@:ALLOCATE(synthetic_amp(1:num_synthetic_wave_numbers))'
647# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
649# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
650 call flush (output_unit)
651# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
653# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
655# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
657# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
659# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
661# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
662#if defined(MFC_OpenACC)
663# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
665# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
666#elif defined(MFC_OpenMP)
667# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
669# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
671# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
673# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
675# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
676 use iso_fortran_env,
only: output_unit
677# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
679# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
680 print *,
'm_body_forces.fpp:82: ',
'@:ALLOCATE(synthetic_ex(1:num_synthetic_wave_numbers))'
681# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
683# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
684 call flush (output_unit)
685# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
687# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
689# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
691# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
693# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
695# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
696#if defined(MFC_OpenACC)
697# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
699# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
700#elif defined(MFC_OpenMP)
701# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
703# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
705# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
707# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
709# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
710 use iso_fortran_env,
only: output_unit
711# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
713# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
714 print *,
'm_body_forces.fpp:83: ',
'@:ALLOCATE(synthetic_ey(1:num_synthetic_wave_numbers))'
715# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
717# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
718 call flush (output_unit)
719# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
721# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
723# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
725# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
727# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
729# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
730#if defined(MFC_OpenACC)
731# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
733# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
734#elif defined(MFC_OpenMP)
735# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
737# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
739# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
741# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
743# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
744 use iso_fortran_env,
only: output_unit
745# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
747# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
748 print *,
'm_body_forces.fpp:84: ',
'@:ALLOCATE(synthetic_ez(1:num_synthetic_wave_numbers))'
749# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
751# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
752 call flush (output_unit)
753# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
755# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
757# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
759# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
761# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
763# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
764#if defined(MFC_OpenACC)
765# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
767# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
768#elif defined(MFC_OpenMP)
769# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
771# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
773# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
775 if (num_dims > 1)
then
777# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
779# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
780 use iso_fortran_env,
only: output_unit
781# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
783# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
784 print *,
'm_body_forces.fpp:87: ',
'@:ALLOCATE(synthetic_k_y(1:num_synthetic_wave_numbers))'
785# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
787# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
788 call flush (output_unit)
789# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
791# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
793# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
795# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
797# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
799# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
800#if defined(MFC_OpenACC)
801# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
803# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
804#elif defined(MFC_OpenMP)
805# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
807# 87 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
809# 88 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
812 if (num_dims == 3)
then
814# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
816# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
817 use iso_fortran_env,
only: output_unit
818# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
820# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
821 print *,
'm_body_forces.fpp:91: ',
'@:ALLOCATE(synthetic_k_z(1:num_synthetic_wave_numbers))'
822# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
824# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
825 call flush (output_unit)
826# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
828# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
830# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
832# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
834# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
836# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
837#if defined(MFC_OpenACC)
838# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
840# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
841#elif defined(MFC_OpenMP)
842# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
844# 91 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
846# 92 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
853 if (proc_rank == 0)
then
854 seed = int(synth_seed, kind(seed))
857 do s = 1, synth_n_shells
858 k_mag = synth_k_shell(s)
859 do m_wave = 1, synth_n_waves_per_shell(s)
860 m_global = m_global + 1
862 if (num_dims == 1)
then
868 else if (num_dims == 2)
then
870 call s_prng_splitmix32(rn1, seed)
879 call s_prng_splitmix32(rn1, seed)
880 call s_prng_splitmix32(rn2, seed)
881 khat = f_unit_vector(rn1, rn2)
884 call s_prng_splitmix32(rn1, seed)
885 call s_prng_splitmix32(rn2, seed)
886 xi = f_unit_vector(rn1, rn2)
887 sig_tmp = f_cross(xi, khat)
888 sig_tmp = sig_tmp/max(sqrt(sum(sig_tmp**2._wp)), 1.e-10_wp)
889 sig = f_cross(khat, sig_tmp)
898 call s_prng_splitmix32(rn1, seed)
914 if (num_dims > 1)
then
918 if (num_dims == 3)
then
924# 168 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
925#if defined(MFC_OpenACC)
926# 168 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
928# 168 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
929#elif defined(MFC_OpenMP)
930# 168 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
932# 168 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
934# 169 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
936# 169 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
937#if defined(MFC_OpenACC)
938# 169 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
940# 169 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
941#elif defined(MFC_OpenMP)
942# 169 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
944# 169 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
946# 170 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
948 if (num_dims > 1)
then
950# 172 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
951#if defined(MFC_OpenACC)
952# 172 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
954# 172 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
955#elif defined(MFC_OpenMP)
956# 172 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
958# 172 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
960# 173 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
963 if (num_dims == 3)
then
965# 176 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
966#if defined(MFC_OpenACC)
967# 176 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
969# 176 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
970#elif defined(MFC_OpenMP)
971# 176 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
973# 176 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
975# 177 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
986 spbf_xc = spatial_bf%x_centroid
987 spbf_yc = spatial_bf%y_centroid
992# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
994# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
995 use iso_fortran_env,
only: output_unit
996# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
998# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
999 print *,
'm_body_forces.fpp:192: ',
'@:ALLOCATE(freq(spbf_num_freq), phase(spbf_num_freq))'
1000# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1002# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1003 call flush (output_unit)
1004# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1006# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1008# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1010# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1012# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1014# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1016# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1017#if defined(MFC_OpenACC)
1018# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1020# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1021#elif defined(MFC_OpenMP)
1022# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1024# 192 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1026# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1027#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
1028# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1030# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1032# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1034# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1035#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
1036# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1037 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
1038# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1040# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1041 use cuda_runtime_api
1042# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1044# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1046# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1048# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1049 if (nv_uvm_pref_gpu)
then
1050# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1052# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1053 istat = cudamemadvise(c_devloc(
freq), sizeof(
freq), cudamemadvisesetpreferredlocation, 0)
1054# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1055 if (istat /= cudasuccess)
then
1056# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1057 write (*,
"('Error code: ',I0, ': ')") istat
1058# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1060# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1062# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1063 istat = cudamemadvise(c_devloc(
freq), sizeof(
freq), cudamemadvisesetaccessedby, cudacpudeviceid)
1064# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1065 if (istat /= cudasuccess)
then
1066# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1067 write (*,
"('Error code: ',I0, ': ')") istat
1068# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1070# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1072# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1073 istat = cudamemprefetchasync(c_devloc(
freq), sizeof(
freq), 0, 0)
1074# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1075 if (istat /= cudasuccess)
then
1076# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1077 write (*,
"('Error code: ',I0, ': ')") istat
1078# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1080# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1082# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1084# 193 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1086# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1087#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
1088# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1090# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1092# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1094# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1095#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
1096# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1097 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
1098# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1100# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1101 use cuda_runtime_api
1102# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1104# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1106# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1108# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1109 if (nv_uvm_pref_gpu)
then
1110# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1112# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1113 istat = cudamemadvise(c_devloc(
phase), sizeof(
phase), cudamemadvisesetpreferredlocation, 0)
1114# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1115 if (istat /= cudasuccess)
then
1116# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1117 write (*,
"('Error code: ',I0, ': ')") istat
1118# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1120# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1122# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1123 istat = cudamemadvise(c_devloc(
phase), sizeof(
phase), cudamemadvisesetaccessedby, cudacpudeviceid)
1124# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1125 if (istat /= cudasuccess)
then
1126# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1127 write (*,
"('Error code: ',I0, ': ')") istat
1128# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1130# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1132# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1133 istat = cudamemprefetchasync(c_devloc(
phase), sizeof(
phase), 0, 0)
1134# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1135 if (istat /= cudasuccess)
then
1136# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1137 write (*,
"('Error code: ',I0, ': ')") istat
1138# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1140# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1142# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1144# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1146# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1148 freq(f) = spatial_bf%freq(f)
1149 phase(f) = spatial_bf%phase(f)
1152# 199 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1153#if defined(MFC_OpenACC)
1154# 199 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1156# 199 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1157#elif defined(MFC_OpenMP)
1158# 199 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1160# 199 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1162# 200 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1169 real(wp),
intent(in) :: t
1171# 209 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1173# 210 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1174 accel_bf(1) = g_x + k_x*sin(w_x*t - p_x)
1175# 211 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1177# 209 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1179# 210 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1180 accel_bf(2) = g_y + k_y*sin(w_y*t - p_y)
1181# 211 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1183# 209 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1185# 210 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1186 accel_bf(3) = g_z + k_z*sin(w_z*t - p_z)
1187# 211 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1189# 213 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1192# 214 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1193#if defined(MFC_OpenACC)
1194# 214 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1196# 214 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1197#elif defined(MFC_OpenMP)
1198# 214 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1200# 214 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1202# 215 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1209 real(wp),
intent(in) :: t
1210 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
1212 real(wp) :: theta_x, theta_y, pre_fac
1220# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1222# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1223#if defined(MFC_OpenACC)
1224# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1226# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1227#elif defined(MFC_OpenMP)
1228# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1230# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1232# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1234# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1236# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1238# 231 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1240# 232 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1241 do l = bounds(3)%beg, bounds(3)%end
1242 do k = bounds(2)%beg, bounds(2)%end
1243 do j = bounds(1)%beg, bounds(1)%end
1244 spbf_source_x(j, k, l) = 0._wp
1245 spbf_source_y(j, k, l) = 0._wp
1250# 240 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1251#if defined(MFC_OpenACC)
1252# 240 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1254# 240 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1255#elif defined(MFC_OpenMP)
1256# 240 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1258# 240 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1260# 240 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1262# 241 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1267# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1269# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1270#if defined(MFC_OpenACC)
1271# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1273# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1274#elif defined(MFC_OpenMP)
1275# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1277# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1279# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1281# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1283# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1285# 244 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1287# 245 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1288 do l = bounds(3)%beg, bounds(3)%end
1289 do k = bounds(2)%beg, bounds(2)%end
1290 do j = bounds(1)%beg, bounds(1)%end
1292 spbf_source_x(j, k, l) = 0._wp
1293 spbf_source_y(j, k, l) = 0._wp
1298 spbf_source_x(j, k, l) = spbf_source_x(j, k, &
1299 & l) +
spbf_amp*support*(pre_fac*sin(theta_x)*cos(theta_y) - 2._wp*
spbf_sigma*(y_cc(k) &
1300 & -
spbf_yc)*sin(theta_x)*sin(theta_y))
1301 spbf_source_y(j, k, l) = spbf_source_y(j, k, &
1302 & l) -
spbf_amp*support*(pre_fac*cos(theta_x)*sin(theta_y) - 2._wp*
spbf_sigma*(x_cc(j) &
1303 & -
spbf_xc)*sin(theta_x)*sin(theta_y))
1309# 265 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1310#if defined(MFC_OpenACC)
1311# 265 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1313# 265 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1314#elif defined(MFC_OpenMP)
1315# 265 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1317# 265 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1319# 265 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1321# 266 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1328 type(scalar_field),
dimension(sys_size),
intent(in) :: q_cons_vf
1329 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
1330 integer :: i, j, k, l
1333# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1335# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1336#if defined(MFC_OpenACC)
1337# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1339# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1340#elif defined(MFC_OpenMP)
1341# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1343# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1345# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1347# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1349# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1351# 276 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1353# 277 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1354 do l = bounds(3)%beg, bounds(3)%end
1355 do k = bounds(2)%beg, bounds(2)%end
1356 do j = bounds(1)%beg, bounds(1)%end
1357 rhom(j, k, l) = 0._wp
1358 do i = 1, num_fluids
1359 rhom(j, k, l) =
rhom(j, k, l) + q_cons_vf(eqn_idx%cont%beg + i - 1)%sf(j, k, l)
1365# 287 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1366#if defined(MFC_OpenACC)
1367# 287 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1369# 287 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1370#elif defined(MFC_OpenMP)
1371# 287 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1373# 287 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1375# 287 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1377# 288 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1384 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1385 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
1386 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1387 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
1388 integer :: i,
j,
k,
l
1390 if (bf_x .or. bf_y .or. bf_z)
then
1394 if (bf_spatial_support)
then
1401# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1403# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1404#if defined(MFC_OpenACC)
1405# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1407# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1408#elif defined(MFC_OpenMP)
1409# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1411# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1413# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1415# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1417# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1419# 310 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1421# 311 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1422 do i = eqn_idx%mom%beg, eqn_idx%E
1423 do l = bounds(3)%beg, bounds(3)%end
1424 do k = bounds(2)%beg, bounds(2)%end
1425 do j = bounds(1)%beg, bounds(1)%end
1426 rhs_vf(i)%sf(
j,
k,
l) = 0._wp
1432# 320 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1433#if defined(MFC_OpenACC)
1434# 320 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1436# 320 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1437#elif defined(MFC_OpenMP)
1438# 320 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1440# 320 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1442# 320 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1444# 321 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1446 if (bf_spatial_support)
then
1448# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1450# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1451#if defined(MFC_OpenACC)
1452# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1454# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1455#elif defined(MFC_OpenMP)
1456# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1458# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1460# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1462# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1464# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1466# 323 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1468# 324 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1469 do l = bounds(3)%beg, bounds(3)%end
1470 do k = bounds(2)%beg, bounds(2)%end
1471 do j = bounds(1)%beg, bounds(1)%end
1472 rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) + spbf_source_x(
j,
k,
l)
1473 rhs_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l) + spbf_source_y(
j,
k,
l)
1476 rhs_vf(eqn_idx%E)%sf(
j,
k,
l) = rhs_vf(eqn_idx%E)%sf(
j,
k,
l) + (
q_cons_vf(eqn_idx%mom%beg)%sf(
j,
k, &
1478 &
k,
l))*spbf_source_y(
j,
k,
l)
1483# 337 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1484#if defined(MFC_OpenACC)
1485# 337 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1487# 337 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1488#elif defined(MFC_OpenMP)
1489# 337 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1491# 337 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1493# 337 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1495# 338 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1500# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1502# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1503#if defined(MFC_OpenACC)
1504# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1506# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1507#elif defined(MFC_OpenMP)
1508# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1510# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1512# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1514# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1516# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1518# 341 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1520# 342 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1521 do l = bounds(3)%beg, bounds(3)%end
1522 do k = bounds(2)%beg, bounds(2)%end
1523 do j = bounds(1)%beg, bounds(1)%end
1524 rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) +
rhom(
j,
k,
l)*accel_bf(1)
1525 rhs_vf(eqn_idx%E)%sf(
j,
k,
l) = rhs_vf(eqn_idx%E)%sf(
j,
k,
l) +
q_cons_vf(eqn_idx%mom%beg)%sf(
j,
k, &
1531# 351 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1532#if defined(MFC_OpenACC)
1533# 351 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1535# 351 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1536#elif defined(MFC_OpenMP)
1537# 351 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1539# 351 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1541# 351 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1543# 352 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1548# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1550# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1551#if defined(MFC_OpenACC)
1552# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1554# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1555#elif defined(MFC_OpenMP)
1556# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1558# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1560# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1562# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1564# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1566# 355 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1568# 356 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1569 do l = bounds(3)%beg, bounds(3)%end
1570 do k = bounds(2)%beg, bounds(2)%end
1571 do j = bounds(1)%beg, bounds(1)%end
1572 rhs_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l) +
rhom(
j,
k, &
1574 rhs_vf(eqn_idx%E)%sf(
j,
k,
l) = rhs_vf(eqn_idx%E)%sf(
j,
k,
l) +
q_cons_vf(eqn_idx%mom%beg + 1)%sf(
j,
k, &
1580# 366 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1581#if defined(MFC_OpenACC)
1582# 366 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1584# 366 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1585#elif defined(MFC_OpenMP)
1586# 366 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1588# 366 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1590# 366 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1592# 367 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1597# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1599# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1600#if defined(MFC_OpenACC)
1601# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1603# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1604#elif defined(MFC_OpenMP)
1605# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1607# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1609# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1611# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1613# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1615# 370 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1617# 371 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1618 do l = bounds(3)%beg, bounds(3)%end
1619 do k = bounds(2)%beg, bounds(2)%end
1620 do j = bounds(1)%beg, bounds(1)%end
1621 rhs_vf(eqn_idx%mom%end)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%end)%sf(
j,
k,
l) +
rhom(
j,
k,
l)*accel_bf(3)
1622 rhs_vf(eqn_idx%E)%sf(
j,
k,
l) = rhs_vf(eqn_idx%E)%sf(
j,
k,
l) +
q_cons_vf(eqn_idx%mom%end)%sf(
j,
k, &
1628# 380 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1629#if defined(MFC_OpenACC)
1630# 380 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1632# 380 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1633#elif defined(MFC_OpenMP)
1634# 380 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1636# 380 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1638# 380 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1640# 381 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1654 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1655 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
1656 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1657 integer :: i,
j,
k,
l, n_mode, turb_idx, iq
1658 real(wp) :: pos_x, pos_y, pos_z
1659 real(wp) :: gauss_env, g_norm, f_scale
1660 real(wp) :: a_m, phase_arg
1661 real(wp) :: force_x, force_y, force_z
1662 real(wp) :: rho_local, u_local_x, u_local_y, u_local_z
1663 real(wp) :: adv_offset
1667 real(wp),
parameter :: g_bar = 0.760173_wp
1672# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1674# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1675#if defined(MFC_OpenACC)
1676# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1678# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1679#elif defined(MFC_OpenMP)
1680# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1682# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1684# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1686# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1688# 411 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1690# 412 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1691 do i = eqn_idx%mom%beg, eqn_idx%E
1695 rhs_vf(i)%sf(
j,
k,
l) = 0._wp
1701# 421 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1702#if defined(MFC_OpenACC)
1703# 421 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1705# 421 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1706#elif defined(MFC_OpenMP)
1707# 421 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1709# 421 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1711# 421 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1713# 422 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1716 adv_offset = synth_u_inf*mytime
1718 do turb_idx = 1, num_turbulent_sources
1720# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1722# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1723#if defined(MFC_OpenACC)
1724# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1726# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1728# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1729#elif defined(MFC_OpenMP)
1730# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1732# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1734# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1736# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1738# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1740# 427 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1742# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1747 pos_x = x_cc(
j) - turb_pos(turb_idx, 1)
1750 if (num_dims > 1) pos_y = y_cc(
k) - turb_pos(turb_idx, 2)
1751 if (num_dims == 3) pos_z = z_cc(
l) - turb_pos(turb_idx, 3)
1754 in_box = abs(pos_x) <= 0.5_wp*synth_l(turb_idx, 1)
1755 if (num_dims > 1) in_box = in_box .and. abs(pos_y) <= 0.5_wp*synth_l(turb_idx, 2)
1756 if (num_dims == 3) in_box = in_box .and. abs(pos_z) <= 0.5_wp*synth_l(turb_idx, 3)
1760 gauss_env = exp(-0.5_wp*pi*(2._wp*pos_x/synth_l(turb_idx, 1))**2)
1761 if (num_dims > 1) gauss_env = gauss_env*exp(-0.5_wp*pi*(2._wp*pos_y/synth_l(turb_idx, 2))**2)
1762 if (num_dims == 3) gauss_env = gauss_env*exp(-0.5_wp*pi*(2._wp*pos_z/synth_l(turb_idx, 3))**2)
1763 g_norm = gauss_env/g_bar**num_dims
1773 if (num_dims > 1) phase_arg = phase_arg +
synthetic_k_y(n_mode)*y_cc(
k)
1774 if (num_dims == 3) phase_arg = phase_arg +
synthetic_k_z(n_mode)*z_cc(
l)
1784 do iq = eqn_idx%cont%beg, eqn_idx%cont%end
1785 rho_local = rho_local + q_prim_vf(iq)%sf(
j,
k,
l)
1787 f_scale = rho_local*(synth_u_inf/synth_l(turb_idx, 1))*g_norm
1789 force_x = force_x*f_scale
1790 force_y = force_y*f_scale
1791 force_z = force_z*f_scale
1794 u_local_x = q_prim_vf(eqn_idx%mom%beg)%sf(
j,
k,
l)
1797 if (num_dims > 1) u_local_y = q_prim_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l)
1798 if (num_dims == 3) u_local_z = q_prim_vf(eqn_idx%mom%end)%sf(
j,
k,
l)
1800 rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) + force_x
1801 if (num_dims > 1) rhs_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg + 1)%sf(
j,
k, &
1803 if (num_dims == 3) rhs_vf(eqn_idx%mom%end)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%end)%sf(
j,
k,
l) + force_z
1804 rhs_vf(eqn_idx%E)%sf(
j,
k,
l) = rhs_vf(eqn_idx%E)%sf(
j,
k, &
1805 &
l) + force_x*u_local_x + force_y*u_local_y + force_z*u_local_z
1811# 496 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1812#if defined(MFC_OpenACC)
1813# 496 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1815# 496 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1816#elif defined(MFC_OpenMP)
1817# 496 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1819# 496 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1821# 496 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1823# 497 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1832# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1834# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1835 use iso_fortran_env,
only: output_unit
1836# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1838# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1839 print *,
'm_body_forces.fpp:504: ',
'@:DEALLOCATE(rhoM)'
1840# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1842# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1843 call flush (output_unit)
1844# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1846# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1848# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1850# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1851#if defined(MFC_OpenACC)
1852# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1854# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1855#elif defined(MFC_OpenMP)
1856# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1858# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1860# 504 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1862# 505 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1864 if (bf_spatial_support)
then
1866# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1868# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1869 use iso_fortran_env,
only: output_unit
1870# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1872# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1873 print *,
'm_body_forces.fpp:507: ',
'@:DEALLOCATE(freq, phase)'
1874# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1876# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1877 call flush (output_unit)
1878# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1880# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1882# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1884# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1885#if defined(MFC_OpenACC)
1886# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1888# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1889#elif defined(MFC_OpenMP)
1890# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1892# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1894# 507 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1896# 508 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1901# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1903# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1904 use iso_fortran_env,
only: output_unit
1905# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1907# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1908 print *,
'm_body_forces.fpp:511: ',
'@:DEALLOCATE(synthetic_k_x)'
1909# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1911# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1912 call flush (output_unit)
1913# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1915# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1917# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1919# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1920#if defined(MFC_OpenACC)
1921# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1923# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1924#elif defined(MFC_OpenMP)
1925# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1927# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1929# 511 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1931# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1933# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1935# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1936 use iso_fortran_env,
only: output_unit
1937# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1939# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1940 print *,
'm_body_forces.fpp:512: ',
'@:DEALLOCATE(synthetic_phase)'
1941# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1943# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1944 call flush (output_unit)
1945# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1947# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1949# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1951# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1952#if defined(MFC_OpenACC)
1953# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1955# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1956#elif defined(MFC_OpenMP)
1957# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1959# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1961# 512 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1963# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1965# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1967# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1968 use iso_fortran_env,
only: output_unit
1969# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1971# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1972 print *,
'm_body_forces.fpp:513: ',
'@:DEALLOCATE(synthetic_amp)'
1973# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1975# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1976 call flush (output_unit)
1977# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1979# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1981# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1983# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1984#if defined(MFC_OpenACC)
1985# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1987# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1988#elif defined(MFC_OpenMP)
1989# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1991# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1993# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1995# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1997# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1999# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2000 use iso_fortran_env,
only: output_unit
2001# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2003# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2004 print *,
'm_body_forces.fpp:514: ',
'@:DEALLOCATE(synthetic_ex)'
2005# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2007# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2008 call flush (output_unit)
2009# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2011# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2013# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2015# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2016#if defined(MFC_OpenACC)
2017# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2019# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2020#elif defined(MFC_OpenMP)
2021# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2023# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2025# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2027# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2029# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2031# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2032 use iso_fortran_env,
only: output_unit
2033# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2035# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2036 print *,
'm_body_forces.fpp:515: ',
'@:DEALLOCATE(synthetic_ey)'
2037# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2039# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2040 call flush (output_unit)
2041# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2043# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2045# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2047# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2048#if defined(MFC_OpenACC)
2049# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2051# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2052#elif defined(MFC_OpenMP)
2053# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2055# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2057# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2059# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2061# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2063# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2064 use iso_fortran_env,
only: output_unit
2065# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2067# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2068 print *,
'm_body_forces.fpp:516: ',
'@:DEALLOCATE(synthetic_ez)'
2069# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2071# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2072 call flush (output_unit)
2073# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2075# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2077# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2079# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2080#if defined(MFC_OpenACC)
2081# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2083# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2084#elif defined(MFC_OpenMP)
2085# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2087# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2089# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2091# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2092 if (num_dims > 1)
then
2094# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2096# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2097 use iso_fortran_env,
only: output_unit
2098# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2100# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2101 print *,
'm_body_forces.fpp:518: ',
'@:DEALLOCATE(synthetic_k_y)'
2102# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2104# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2105 call flush (output_unit)
2106# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2108# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2110# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2112# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2113#if defined(MFC_OpenACC)
2114# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2116# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2117#elif defined(MFC_OpenMP)
2118# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2120# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2122# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2124# 519 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2126 if (num_dims == 3)
then
2128# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2130# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2131 use iso_fortran_env,
only: output_unit
2132# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2134# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2135 print *,
'm_body_forces.fpp:521: ',
'@:DEALLOCATE(synthetic_k_z)'
2136# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2138# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2139 call flush (output_unit)
2140# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2142# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2144# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2146# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2147#if defined(MFC_OpenACC)
2148# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2150# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2151#elif defined(MFC_OpenMP)
2152# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2154# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2156# 521 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2158# 522 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
Computes gravitational and body force source terms for the momentum equations.
integer, parameter spbf_num_freq
real(wp), dimension(:), allocatable phase
real(wp), dimension(:), allocatable synthetic_ex
subroutine s_compute_body_force_with_spatial_support(t, bounds)
Apply the body force of Wei & Freund (JFM, 2005).
real(wp), dimension(:), allocatable synthetic_ez
real(wp), dimension(:), allocatable freq
subroutine, public s_compute_synthetic_forces_rhs(q_prim_vf, q_cons_vf, rhs_vf)
Compute the synthetic turbulence RHS contribution.
real(wp), dimension(:), allocatable synthetic_phase
impure subroutine s_initialize_body_force_with_spatial_support
Initialize a body force with spatial support presented in Wei & Freund (JFM, 2005).
impure subroutine, public s_initialize_body_forces_module
Initialize the body forces module. When synthetic_turbulence is enabled, generates random wave vector...
real(wp), dimension(:), allocatable synthetic_amp
real(wp), dimension(:), allocatable synthetic_k_y
subroutine s_compute_acceleration(t)
Compute the acceleration at time t.
real(wp), dimension(:), allocatable synthetic_k_z
real(wp), dimension(:), allocatable synthetic_ey
real(wp), dimension(:,:,:), allocatable rhom
integer num_synthetic_wave_numbers
real(wp), dimension(:), allocatable synthetic_k_x
subroutine s_compute_mixture_density(q_cons_vf, bounds)
Compute the mixture density at each cell center.
impure subroutine, public s_finalize_body_forces_module
Finalize the body forces module.
subroutine, public s_compute_body_forces_rhs(q_prim_vf, q_cons_vf, rhs_vf, bounds)
Compute the body force source terms for momentum and energy equations.
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
integer buff_size
Number of ghost cells for boundary condition storage.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
real(wp) function, dimension(3), public f_unit_vector(theta, eta)
Generate a unit vector uniformly distributed on the sphere from two random parameters.
subroutine, public s_prng_splitmix32(var, state)
Uniform draw in [0, 1) (1 only via single-precision rounding) from a 32-bit SplitMix-style generator ...
pure real(wp) function, dimension(3), public f_cross(a, b)
Compute the cross product of two vectors.
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.
NVIDIA NVTX profiling API bindings for GPU performance instrumentation.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.