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# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
36# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
37# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
38# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
66# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
67# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
68# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
69# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
70# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
72# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
144# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
145# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
146# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
147# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
148# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
149# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
150# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
152# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
153# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
174# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
176# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
178# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
180# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
233# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
294# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
299# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
302# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
305# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
308# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
318# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 6 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp" 2
347 real(wp),
allocatable,
dimension(:,:,:) ::
rhom
349# 33 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
350#if defined(MFC_OpenACC)
351# 33 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
353# 33 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
354#elif defined(MFC_OpenMP)
355# 33 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
357# 33 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
362# 36 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
363#if defined(MFC_OpenACC)
364# 36 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
366# 36 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
367#elif defined(MFC_OpenMP)
368# 36 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
370# 36 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
381# 45 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
382#if defined(MFC_OpenACC)
383# 45 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
385# 45 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
386#elif defined(MFC_OpenMP)
387# 45 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
389# 45 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
392# 46 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
393#if defined(MFC_OpenACC)
394# 46 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
396# 46 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
397#elif defined(MFC_OpenMP)
398# 46 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
400# 46 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
410 integer :: s, m_wave, m_global
412 real(wp) :: rn1, rn2, k_mag
413 real(wp),
dimension(3) :: khat, xi, sig, sig_tmp
418# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
420# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
421 use iso_fortran_env,
only: output_unit
422# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
424# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
425 print *,
'm_body_forces.fpp:62: ',
'@:ALLOCATE(rhoM(-buff_size:buff_size + m, -buff_size:buff_size + n, -buff_size:buff_size + p))'
426# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
428# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
429 call flush (output_unit)
430# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
432# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
434# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
436# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
438# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
440# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
441#if defined(MFC_OpenACC)
442# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
444# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
445#elif defined(MFC_OpenMP)
446# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
448# 62 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
452# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
454# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
455 use iso_fortran_env,
only: output_unit
456# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
458# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
459 print *,
'm_body_forces.fpp:64: ',
'@:ALLOCATE(rhoM(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))'
460# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
462# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
463 call flush (output_unit)
464# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
466# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
468# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
469 allocate (
rhom(-buff_size:buff_size + m, -buff_size:buff_size + n, 0:0))
470# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
472# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
474# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
475#if defined(MFC_OpenACC)
476# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
478# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
479#elif defined(MFC_OpenMP)
480# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
482# 64 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
487# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
489# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
490 use iso_fortran_env,
only: output_unit
491# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
493# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
494 print *,
'm_body_forces.fpp:67: ',
'@:ALLOCATE(rhoM(-buff_size:buff_size + m, 0:0, 0:0))'
495# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
497# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
498 call flush (output_unit)
499# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
501# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
503# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
504 allocate (
rhom(-buff_size:buff_size + m, 0:0, 0:0))
505# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
507# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
509# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
510#if defined(MFC_OpenACC)
511# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
513# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
514#elif defined(MFC_OpenMP)
515# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
517# 67 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
521 if (bf_spatial_support)
then
525 if (.not. synthetic_turbulence)
return
526 if (synth_n_shells <= 0)
return
533# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
535# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
536 use iso_fortran_env,
only: output_unit
537# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
539# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
540 print *,
'm_body_forces.fpp:81: ',
'@:ALLOCATE(synthetic_k_x(1:num_synthetic_wave_numbers))'
541# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
543# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
544 call flush (output_unit)
545# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
547# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
549# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
551# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
553# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
555# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
556#if defined(MFC_OpenACC)
557# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
559# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
560#elif defined(MFC_OpenMP)
561# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
563# 81 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
566# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
568# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
569 use iso_fortran_env,
only: output_unit
570# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
572# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
573 print *,
'm_body_forces.fpp:82: ',
'@:ALLOCATE(synthetic_phase(1:num_synthetic_wave_numbers))'
574# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
576# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
577 call flush (output_unit)
578# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
580# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
582# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
584# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
586# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
588# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
589#if defined(MFC_OpenACC)
590# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
592# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
593#elif defined(MFC_OpenMP)
594# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
596# 82 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
599# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
601# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
602 use iso_fortran_env,
only: output_unit
603# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
605# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
606 print *,
'm_body_forces.fpp:83: ',
'@:ALLOCATE(synthetic_amp(1:num_synthetic_wave_numbers))'
607# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
609# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
610 call flush (output_unit)
611# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
613# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
615# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
617# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
619# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
621# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
622#if defined(MFC_OpenACC)
623# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
625# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
626#elif defined(MFC_OpenMP)
627# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
629# 83 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
632# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
634# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
635 use iso_fortran_env,
only: output_unit
636# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
638# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
639 print *,
'm_body_forces.fpp:84: ',
'@:ALLOCATE(synthetic_ex(1:num_synthetic_wave_numbers))'
640# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
642# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
643 call flush (output_unit)
644# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
646# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
648# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
650# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
652# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
654# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
655#if defined(MFC_OpenACC)
656# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
658# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
659#elif defined(MFC_OpenMP)
660# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
662# 84 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
665# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
667# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
668 use iso_fortran_env,
only: output_unit
669# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
671# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
672 print *,
'm_body_forces.fpp:85: ',
'@:ALLOCATE(synthetic_ey(1:num_synthetic_wave_numbers))'
673# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
675# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
676 call flush (output_unit)
677# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
679# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
681# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
683# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
685# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
687# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
688#if defined(MFC_OpenACC)
689# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
691# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
692#elif defined(MFC_OpenMP)
693# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
695# 85 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
698# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
700# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
701 use iso_fortran_env,
only: output_unit
702# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
704# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
705 print *,
'm_body_forces.fpp:86: ',
'@:ALLOCATE(synthetic_ez(1:num_synthetic_wave_numbers))'
706# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
708# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
709 call flush (output_unit)
710# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
712# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
714# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
716# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
718# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
720# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
721#if defined(MFC_OpenACC)
722# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
724# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
725#elif defined(MFC_OpenMP)
726# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
728# 86 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
731 if (num_dims > 1)
then
733# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
735# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
736 use iso_fortran_env,
only: output_unit
737# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
739# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
740 print *,
'm_body_forces.fpp:89: ',
'@:ALLOCATE(synthetic_k_y(1:num_synthetic_wave_numbers))'
741# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
743# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
744 call flush (output_unit)
745# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
747# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
749# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
751# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
753# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
755# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
756#if defined(MFC_OpenACC)
757# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
759# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
760#elif defined(MFC_OpenMP)
761# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
763# 89 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
767 if (num_dims == 3)
then
769# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
771# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
772 use iso_fortran_env,
only: output_unit
773# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
775# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
776 print *,
'm_body_forces.fpp:93: ',
'@:ALLOCATE(synthetic_k_z(1:num_synthetic_wave_numbers))'
777# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
779# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
780 call flush (output_unit)
781# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
783# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
785# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
787# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
789# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
791# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
792#if defined(MFC_OpenACC)
793# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
795# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
796#elif defined(MFC_OpenMP)
797# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
799# 93 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
807 if (proc_rank == 0)
then
811 do s = 1, synth_n_shells
812 k_mag = synth_k_shell(s)
813 do m_wave = 1, synth_n_waves_per_shell(s)
814 m_global = m_global + 1
816 if (num_dims == 1)
then
822 else if (num_dims == 2)
then
824 call s_prng(rn1, seed)
833 call s_prng(rn1, seed)
834 call s_prng(rn2, seed)
835 khat = f_unit_vector(rn1, rn2)
838 call s_prng(rn1, seed)
839 call s_prng(rn2, seed)
840 xi = f_unit_vector(rn1, rn2)
841 sig_tmp = f_cross(xi, khat)
842 sig_tmp = sig_tmp/max(sqrt(sum(sig_tmp**2._wp)), 1.e-10_wp)
843 sig = f_cross(khat, sig_tmp)
852 call s_prng(rn1, seed)
868 if (num_dims > 1)
then
872 if (num_dims == 3)
then
878# 170 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
879#if defined(MFC_OpenACC)
880# 170 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
882# 170 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
883#elif defined(MFC_OpenMP)
884# 170 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
886# 170 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
889# 171 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
890#if defined(MFC_OpenACC)
891# 171 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
893# 171 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
894#elif defined(MFC_OpenMP)
895# 171 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
897# 171 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
900 if (num_dims > 1)
then
902# 174 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
903#if defined(MFC_OpenACC)
904# 174 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
906# 174 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
907#elif defined(MFC_OpenMP)
908# 174 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
910# 174 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
914 if (num_dims == 3)
then
916# 178 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
917#if defined(MFC_OpenACC)
918# 178 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
920# 178 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
921#elif defined(MFC_OpenMP)
922# 178 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
924# 178 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
936 spbf_xc = spatial_bf%x_centroid
937 spbf_yc = spatial_bf%y_centroid
942# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
944# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
945 use iso_fortran_env,
only: output_unit
946# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
948# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
949 print *,
'm_body_forces.fpp:194: ',
'@:ALLOCATE(freq(spbf_num_freq), phase(spbf_num_freq))'
950# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
952# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
953 call flush (output_unit)
954# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
956# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
958# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
960# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
962# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
964# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
966# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
967#if defined(MFC_OpenACC)
968# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
970# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
971#elif defined(MFC_OpenMP)
972# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
974# 194 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
977# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
978#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
979# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
981# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
983# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
985# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
986#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
987# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
988 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
989# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
991# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
993# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
995# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
997# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
999# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1000 if (nv_uvm_pref_gpu)
then
1001# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1003# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1004 istat = cudamemadvise(c_devloc(
freq), sizeof(
freq), cudamemadvisesetpreferredlocation, 0)
1005# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1006 if (istat /= cudasuccess)
then
1007# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1008 write (*,
"('Error code: ',I0, ': ')") istat
1009# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1011# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1013# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1015# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1016 istat = cudamemadvise(c_devloc(
freq), sizeof(
freq), cudamemadvisesetaccessedby, cudacpudeviceid)
1017# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1018 if (istat /= cudasuccess)
then
1019# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1020 write (*,
"('Error code: ',I0, ': ')") istat
1021# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1023# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1025# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1027# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1028 istat = cudamemprefetchasync(c_devloc(
freq), sizeof(
freq), 0, 0)
1029# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1030 if (istat /= cudasuccess)
then
1031# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1032 write (*,
"('Error code: ',I0, ': ')") istat
1033# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1035# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1037# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1039# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1041# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1043# 195 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1045#ifdef MFC_SIMULATION
1046# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1047#ifdef __NVCOMPILER_GPU_UNIFIED_MEM
1048# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1050# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1052# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1054# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1055#if __NVCOMPILER_MAJOR__ < 25 || (__NVCOMPILER_MAJOR__ == 25 && __NVCOMPILER_MINOR__ < 3)
1056# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1057 use cudafor, gpu_sum => sum, gpu_maxval => maxval, gpu_minval => minval
1058# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1060# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1061 use cuda_runtime_api
1062# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1064# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1066# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1068# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1069 if (nv_uvm_pref_gpu)
then
1070# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1072# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1073 istat = cudamemadvise(c_devloc(
phase), sizeof(
phase), cudamemadvisesetpreferredlocation, 0)
1074# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1075 if (istat /= cudasuccess)
then
1076# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1077 write (*,
"('Error code: ',I0, ': ')") istat
1078# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1080# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1082# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1084# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1085 istat = cudamemadvise(c_devloc(
phase), sizeof(
phase), cudamemadvisesetaccessedby, cudacpudeviceid)
1086# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1087 if (istat /= cudasuccess)
then
1088# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1089 write (*,
"('Error code: ',I0, ': ')") istat
1090# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1092# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1094# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1096# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1097 istat = cudamemprefetchasync(c_devloc(
phase), sizeof(
phase), 0, 0)
1098# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1099 if (istat /= cudasuccess)
then
1100# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1101 write (*,
"('Error code: ',I0, ': ')") istat
1102# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1104# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1106# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1108# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1110# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1112# 196 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1115 freq(f) = spatial_bf%freq(f)
1116 phase(f) = spatial_bf%phase(f)
1119# 201 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1120#if defined(MFC_OpenACC)
1121# 201 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1123# 201 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1124#elif defined(MFC_OpenMP)
1125# 201 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1127# 201 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1135 real(wp),
intent(in) :: t
1137# 211 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1139 accel_bf(1) = g_x + k_x*sin(w_x*t - p_x)
1141# 211 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1143 accel_bf(2) = g_y + k_y*sin(w_y*t - p_y)
1145# 211 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1147 accel_bf(3) = g_z + k_z*sin(w_z*t - p_z)
1149# 215 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1152# 216 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1153#if defined(MFC_OpenACC)
1154# 216 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1156# 216 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1157#elif defined(MFC_OpenMP)
1158# 216 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1160# 216 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1168 real(wp),
intent(in) :: t
1169 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
1171 real(wp) :: theta_x, theta_y, pre_fac
1179# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1181# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1182#if defined(MFC_OpenACC)
1183# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1185# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1186#elif defined(MFC_OpenMP)
1187# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1189# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1191# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1193# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1195# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1197# 233 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1199 do l = bounds(3)%beg, bounds(3)%end
1200 do k = bounds(2)%beg, bounds(2)%end
1201 do j = bounds(1)%beg, bounds(1)%end
1202 spbf_source_x(j, k, l) = 0._wp
1203 spbf_source_y(j, k, l) = 0._wp
1208# 242 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1209#if defined(MFC_OpenACC)
1210# 242 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1212# 242 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1213#elif defined(MFC_OpenMP)
1214# 242 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1216# 242 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1218# 242 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1224# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1226# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1227#if defined(MFC_OpenACC)
1228# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1230# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1231#elif defined(MFC_OpenMP)
1232# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1234# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1236# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1238# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1240# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1242# 246 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1244 do l = bounds(3)%beg, bounds(3)%end
1245 do k = bounds(2)%beg, bounds(2)%end
1246 do j = bounds(1)%beg, bounds(1)%end
1248 spbf_source_x(j, k, l) = 0._wp
1249 spbf_source_y(j, k, l) = 0._wp
1254 spbf_source_x(j, k, l) = spbf_source_x(j, k, &
1255 & l) +
spbf_amp*support*(pre_fac*sin(theta_x)*cos(theta_y) - 2._wp*
spbf_sigma*(y_cc(k) &
1256 & -
spbf_yc)*sin(theta_x)*sin(theta_y))
1257 spbf_source_y(j, k, l) = spbf_source_y(j, k, &
1258 & l) -
spbf_amp*support*(pre_fac*cos(theta_x)*sin(theta_y) - 2._wp*
spbf_sigma*(x_cc(j) &
1259 & -
spbf_xc)*sin(theta_x)*sin(theta_y))
1265# 267 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1266#if defined(MFC_OpenACC)
1267# 267 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1269# 267 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1270#elif defined(MFC_OpenMP)
1271# 267 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1273# 267 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1275# 267 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1283 type(scalar_field),
dimension(sys_size),
intent(in) :: q_cons_vf
1284 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
1285 integer :: i, j, k, l
1288# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1290# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1291#if defined(MFC_OpenACC)
1292# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1294# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1295#elif defined(MFC_OpenMP)
1296# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1298# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1300# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1302# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1304# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1306# 278 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1308 do l = bounds(3)%beg, bounds(3)%end
1309 do k = bounds(2)%beg, bounds(2)%end
1310 do j = bounds(1)%beg, bounds(1)%end
1311 rhom(j, k, l) = 0._wp
1312 do i = 1, num_fluids
1313 rhom(j, k, l) =
rhom(j, k, l) + q_cons_vf(eqn_idx%cont%beg + i - 1)%sf(j, k, l)
1319# 289 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1320#if defined(MFC_OpenACC)
1321# 289 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1323# 289 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1324#elif defined(MFC_OpenMP)
1325# 289 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1327# 289 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1329# 289 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1337 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1338 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
1339 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1340 type(int_bounds_info),
dimension(1:3),
intent(in) :: bounds
1341 integer :: i,
j,
k,
l
1343 if (bf_x .or. bf_y .or. bf_z)
then
1347 if (bf_spatial_support)
then
1354# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1356# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1357#if defined(MFC_OpenACC)
1358# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1360# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1361#elif defined(MFC_OpenMP)
1362# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1364# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1366# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1368# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1370# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1372# 312 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1374 do i = eqn_idx%mom%beg, eqn_idx%E
1375 do l = bounds(3)%beg, bounds(3)%end
1376 do k = bounds(2)%beg, bounds(2)%end
1377 do j = bounds(1)%beg, bounds(1)%end
1378 rhs_vf(i)%sf(
j,
k,
l) = 0._wp
1384# 322 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1385#if defined(MFC_OpenACC)
1386# 322 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1388# 322 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1389#elif defined(MFC_OpenMP)
1390# 322 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1392# 322 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1394# 322 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1397 if (bf_spatial_support)
then
1399# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1401# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1402#if defined(MFC_OpenACC)
1403# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1405# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1406#elif defined(MFC_OpenMP)
1407# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1409# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1411# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1413# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1415# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1417# 325 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1419 do l = bounds(3)%beg, bounds(3)%end
1420 do k = bounds(2)%beg, bounds(2)%end
1421 do j = bounds(1)%beg, bounds(1)%end
1422 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)
1423 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)
1426 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, &
1428 &
k,
l))*spbf_source_y(
j,
k,
l)
1433# 339 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1434#if defined(MFC_OpenACC)
1435# 339 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1437# 339 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1438#elif defined(MFC_OpenMP)
1439# 339 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1441# 339 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1443# 339 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1449# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1451# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1452#if defined(MFC_OpenACC)
1453# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1455# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1456#elif defined(MFC_OpenMP)
1457# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1459# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1461# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1463# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1465# 343 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1467# 343 "/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) +
rhom(
j,
k,
l)*accel_bf(1)
1473 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, &
1479# 353 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1480#if defined(MFC_OpenACC)
1481# 353 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1483# 353 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1484#elif defined(MFC_OpenMP)
1485# 353 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1487# 353 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1489# 353 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1495# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1497# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1498#if defined(MFC_OpenACC)
1499# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1501# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1502#elif defined(MFC_OpenMP)
1503# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1505# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1507# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1509# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1511# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1513# 357 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1515 do l = bounds(3)%beg, bounds(3)%end
1516 do k = bounds(2)%beg, bounds(2)%end
1517 do j = bounds(1)%beg, bounds(1)%end
1518 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, &
1520 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, &
1526# 368 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1527#if defined(MFC_OpenACC)
1528# 368 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1530# 368 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1531#elif defined(MFC_OpenMP)
1532# 368 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1534# 368 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1536# 368 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1542# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1544# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1545#if defined(MFC_OpenACC)
1546# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1548# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1549#elif defined(MFC_OpenMP)
1550# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1552# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1554# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1556# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1558# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1560# 372 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1562 do l = bounds(3)%beg, bounds(3)%end
1563 do k = bounds(2)%beg, bounds(2)%end
1564 do j = bounds(1)%beg, bounds(1)%end
1565 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)
1566 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, &
1572# 382 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1573#if defined(MFC_OpenACC)
1574# 382 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1576# 382 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1577#elif defined(MFC_OpenMP)
1578# 382 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1580# 382 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1582# 382 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1597 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1598 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
1599 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1600 integer :: i,
j,
k,
l, n_mode, turb_idx, iq
1601 real(wp) :: pos_x, pos_y, pos_z
1602 real(wp) :: gauss_env, g_norm, f_scale
1603 real(wp) :: a_m, phase_arg
1604 real(wp) :: force_x, force_y, force_z
1605 real(wp) :: rho_local, u_local_x, u_local_y, u_local_z
1606 real(wp) :: adv_offset
1610 real(wp),
parameter :: g_bar = 0.760173_wp
1615# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1617# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1618#if defined(MFC_OpenACC)
1619# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1621# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1622#elif defined(MFC_OpenMP)
1623# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1625# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1627# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1629# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1631# 413 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1633 do i = eqn_idx%mom%beg, eqn_idx%E
1637 rhs_vf(i)%sf(
j,
k,
l) = 0._wp
1643# 423 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1644#if defined(MFC_OpenACC)
1645# 423 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1647# 423 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1648#elif defined(MFC_OpenMP)
1649# 423 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1651# 423 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1653# 423 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1657 adv_offset = synth_u_inf*mytime
1659 do turb_idx = 1, num_turbulent_sources
1661# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1663# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1664#if defined(MFC_OpenACC)
1665# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1667# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1669# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1670#elif defined(MFC_OpenMP)
1671# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1673# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1675# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1677# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1679# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1681# 429 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1683# 431 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1688 pos_x = x_cc(
j) - turb_pos(turb_idx, 1)
1691 if (num_dims > 1) pos_y = y_cc(
k) - turb_pos(turb_idx, 2)
1692 if (num_dims == 3) pos_z = z_cc(
l) - turb_pos(turb_idx, 3)
1695 in_box = abs(pos_x) <= 0.5_wp*synth_l(turb_idx, 1)
1696 if (num_dims > 1) in_box = in_box .and. abs(pos_y) <= 0.5_wp*synth_l(turb_idx, 2)
1697 if (num_dims == 3) in_box = in_box .and. abs(pos_z) <= 0.5_wp*synth_l(turb_idx, 3)
1701 gauss_env = exp(-0.5_wp*pi*(2._wp*pos_x/synth_l(turb_idx, 1))**2)
1702 if (num_dims > 1) gauss_env = gauss_env*exp(-0.5_wp*pi*(2._wp*pos_y/synth_l(turb_idx, 2))**2)
1703 if (num_dims == 3) gauss_env = gauss_env*exp(-0.5_wp*pi*(2._wp*pos_z/synth_l(turb_idx, 3))**2)
1704 g_norm = gauss_env/g_bar**num_dims
1714 if (num_dims > 1) phase_arg = phase_arg +
synthetic_k_y(n_mode)*y_cc(
k)
1715 if (num_dims == 3) phase_arg = phase_arg +
synthetic_k_z(n_mode)*z_cc(
l)
1725 do iq = eqn_idx%cont%beg, eqn_idx%cont%end
1726 rho_local = rho_local + q_prim_vf(iq)%sf(
j,
k,
l)
1728 f_scale = rho_local*(synth_u_inf/synth_l(turb_idx, 1))*g_norm
1730 force_x = force_x*f_scale
1731 force_y = force_y*f_scale
1732 force_z = force_z*f_scale
1735 u_local_x = q_prim_vf(eqn_idx%mom%beg)%sf(
j,
k,
l)
1738 if (num_dims > 1) u_local_y = q_prim_vf(eqn_idx%mom%beg + 1)%sf(
j,
k,
l)
1739 if (num_dims == 3) u_local_z = q_prim_vf(eqn_idx%mom%end)%sf(
j,
k,
l)
1741 rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) = rhs_vf(eqn_idx%mom%beg)%sf(
j,
k,
l) + force_x
1742 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, &
1744 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
1745 rhs_vf(eqn_idx%E)%sf(
j,
k,
l) = rhs_vf(eqn_idx%E)%sf(
j,
k, &
1746 &
l) + force_x*u_local_x + force_y*u_local_y + force_z*u_local_z
1752# 498 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1753#if defined(MFC_OpenACC)
1754# 498 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1756# 498 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1757#elif defined(MFC_OpenMP)
1758# 498 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1760# 498 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1762# 498 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1772# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1774# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1775 use iso_fortran_env,
only: output_unit
1776# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1778# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1779 print *,
'm_body_forces.fpp:506: ',
'@:DEALLOCATE(rhoM)'
1780# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1782# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1783 call flush (output_unit)
1784# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1786# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1788# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1790# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1791#if defined(MFC_OpenACC)
1792# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1794# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1795#elif defined(MFC_OpenMP)
1796# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1798# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1800# 506 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1803 if (bf_spatial_support)
then
1805# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1807# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1808 use iso_fortran_env,
only: output_unit
1809# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1811# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1812 print *,
'm_body_forces.fpp:509: ',
'@:DEALLOCATE(freq, phase)'
1813# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1815# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1816 call flush (output_unit)
1817# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1819# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1821# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1823# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1824#if defined(MFC_OpenACC)
1825# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1827# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1828#elif defined(MFC_OpenMP)
1829# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1831# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1833# 509 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1839# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1841# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1842 use iso_fortran_env,
only: output_unit
1843# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1845# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1846 print *,
'm_body_forces.fpp:513: ',
'@:DEALLOCATE(synthetic_k_x)'
1847# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1849# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1850 call flush (output_unit)
1851# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1853# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1855# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1857# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1858#if defined(MFC_OpenACC)
1859# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1861# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1862#elif defined(MFC_OpenMP)
1863# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1865# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1867# 513 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1870# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1872# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1873 use iso_fortran_env,
only: output_unit
1874# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1876# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1877 print *,
'm_body_forces.fpp:514: ',
'@:DEALLOCATE(synthetic_phase)'
1878# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1880# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1881 call flush (output_unit)
1882# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1884# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1886# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1888# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1889#if defined(MFC_OpenACC)
1890# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1892# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1893#elif defined(MFC_OpenMP)
1894# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1896# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1898# 514 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1901# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1903# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1904 use iso_fortran_env,
only: output_unit
1905# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1907# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1908 print *,
'm_body_forces.fpp:515: ',
'@:DEALLOCATE(synthetic_amp)'
1909# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1911# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1912 call flush (output_unit)
1913# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1915# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1917# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1919# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1920#if defined(MFC_OpenACC)
1921# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1923# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1924#elif defined(MFC_OpenMP)
1925# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1927# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1929# 515 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1932# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1934# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1935 use iso_fortran_env,
only: output_unit
1936# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1938# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1939 print *,
'm_body_forces.fpp:516: ',
'@:DEALLOCATE(synthetic_ex)'
1940# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1942# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1943 call flush (output_unit)
1944# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1946# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1948# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1950# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1951#if defined(MFC_OpenACC)
1952# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1954# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1955#elif defined(MFC_OpenMP)
1956# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1958# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1960# 516 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1963# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1965# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1966 use iso_fortran_env,
only: output_unit
1967# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1969# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1970 print *,
'm_body_forces.fpp:517: ',
'@:DEALLOCATE(synthetic_ey)'
1971# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1973# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1974 call flush (output_unit)
1975# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1977# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1979# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1981# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1982#if defined(MFC_OpenACC)
1983# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1985# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1986#elif defined(MFC_OpenMP)
1987# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1989# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1991# 517 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1994# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1996# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
1997 use iso_fortran_env,
only: output_unit
1998# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2000# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2001 print *,
'm_body_forces.fpp:518: ',
'@:DEALLOCATE(synthetic_ez)'
2002# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2004# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2005 call flush (output_unit)
2006# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2008# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2010# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2012# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2013#if defined(MFC_OpenACC)
2014# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2016# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2017#elif defined(MFC_OpenMP)
2018# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2020# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2022# 518 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2024 if (num_dims > 1)
then
2026# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2028# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2029 use iso_fortran_env,
only: output_unit
2030# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2032# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2033 print *,
'm_body_forces.fpp:520: ',
'@:DEALLOCATE(synthetic_k_y)'
2034# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2036# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2037 call flush (output_unit)
2038# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2040# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2042# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2044# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2045#if defined(MFC_OpenACC)
2046# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2048# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2049#elif defined(MFC_OpenMP)
2050# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2052# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2054# 520 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2057 if (num_dims == 3)
then
2059# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2061# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2062 use iso_fortran_env,
only: output_unit
2063# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2065# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2066 print *,
'm_body_forces.fpp:523: ',
'@:DEALLOCATE(synthetic_k_z)'
2067# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2069# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2070 call flush (output_unit)
2071# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2073# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2075# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2077# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2078#if defined(MFC_OpenACC)
2079# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2081# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2082#elif defined(MFC_OpenMP)
2083# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2085# 523 "/home/runner/work/MFC/MFC/src/simulation/m_body_forces.fpp"
2087# 523 "/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(var, seed)
Generate a pseudo-random number between 0 and 1 using a linear congruential 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.