1# 1 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
12# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
15# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
16# 6 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp" 2
17# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
18# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
19# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
20# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
24# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
26# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
30# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
34# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
36# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 145 "/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# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
73# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
75# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
77# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
81# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
83# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
85# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
87# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
93# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
95# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
97# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
99# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
105# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
107# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
109# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
111# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
152# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
154# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
155# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
156# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
157# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
163# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
167# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
173# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
177# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
179# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
181# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
183# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
185# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
187# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
189# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
191# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
193# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
195# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
197# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
199# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
201# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
203# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
205# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
207# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
244# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
268# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
277# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
298# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
300# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
303# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
305# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
310# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
313# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
319# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
322# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
325# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
327# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
329# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
331# 7 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp" 2
350# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
352# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
354# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
356# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
358# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
360# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
362# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
364 integer,
intent(in) ::
k,
l
365 real(wp) :: fltr_dtheta
370 fltr_dtheta = 2._wp*pi*
y_cb(0)/3._wp
371 else if (
k <= fourier_rings)
then
372 nfq = min(floor(2._wp*real(
k, wp)*pi), (p + 1)/2 + 1)
373 fltr_dtheta = 2._wp*pi*
y_cb(
k - 1)/real(nfq, wp)
387# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
389# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
391# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
393# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
395# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
397# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
399# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
401 real(wp),
dimension(num_vels),
intent(in) :: vel
402 real(wp),
intent(in) :: c
403 integer,
intent(in) ::
j,
k,
l
404 real(wp) :: cfl_terms
405 real(wp) :: fltr_dtheta
411# 59 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
413 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c), fltr_dtheta/(abs(vel(3)) + c))
415 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c),
dz(
l)/(abs(vel(3)) + c))
417# 65 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
420 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c))
426 subroutine s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, Re, H, alpha, vel, vel_sum, qv, j, k, l)
429# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
431# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
433# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
435# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
437# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
439# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
441# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
443# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
445# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
447# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
449# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
451# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
453# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
455# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
457# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
459# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
461# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
464 type(
scalar_field),
intent(in),
dimension(sys_size) :: q_prim_vf
465# 82 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
466 real(wp),
intent(inout),
dimension(num_fluids) :: alpha
467 real(wp),
intent(inout),
dimension(num_vels) :: vel
468# 85 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
469 real(wp),
intent(inout) :: rho, gamma, pi_inf, vel_sum, h, pres
470 real(wp),
intent(out) :: qv
471 integer,
intent(in) ::
j,
k,
l
472 real(wp),
dimension(2),
intent(inout) :: re
473# 92 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
474 real(wp),
dimension(num_fluids) :: alpha_rho, gs
475# 94 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
476 real(wp) :: e, g_local
489# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
490#if defined(MFC_OpenACC)
491# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
493# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
494#elif defined(MFC_OpenMP)
495# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
497# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
500 vel(i) = q_prim_vf(eqn_idx%cont%end + i)%sf(
j,
k,
l)/rho
504# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
505#if defined(MFC_OpenACC)
506# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
508# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
509#elif defined(MFC_OpenMP)
510# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
512# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
515 vel(i) = q_prim_vf(eqn_idx%cont%end + i)%sf(
j,
k,
l)
521# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
522#if defined(MFC_OpenACC)
523# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
525# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
526#elif defined(MFC_OpenMP)
527# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
529# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
532 vel_sum = vel_sum + vel(i)**2._wp
536 e = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
537 pres = (e - pi_inf - qv - 5.e-1_wp*rho*vel_sum)/gamma
539 pres = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
540 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv
544 if (hyperelasticity)
then
545 e = e + g_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(
j,
k,
l)
556# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
558# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
560# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
562# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
564# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
566# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
568# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
570 real(wp),
intent(in),
dimension(num_vels) :: vel
571 real(wp),
intent(in) :: c, rho
572 real(wp),
dimension(0:m,0:n,0:p),
intent(inout) :: icfl_sf
573 real(wp),
dimension(0:m,0:n,0:p),
intent(inout),
optional :: vcfl_sf, rc_sf
574 real(wp),
dimension(2),
intent(in) :: re_l
575 integer,
intent(in) ::
j,
k,
l
576 real(wp) :: fltr_dtheta
579 if (p > 0 .or. n > 0)
then
584 icfl_sf(
j,
k,
l) = (dt/
dx(
j))*(abs(vel(1)) + c)
590# 165 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
594 vcfl_sf(
j,
k,
l) = maxval(dt/re_l/rho)/min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp
595 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c), &
596 & fltr_dtheta*(abs(vel(3)) + c))/maxval(1._wp/re_l)
598 vcfl_sf(
j,
k,
l) = maxval(dt/re_l/rho)/min(
dx(
j),
dy(
k),
dz(
l))**2._wp
599 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c), &
600 &
dz(
l)*(abs(vel(3)) + c))/maxval(1._wp/re_l)
602# 177 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
605 vcfl_sf(
j,
k,
l) = maxval(dt/re_l/rho)/min(
dx(
j),
dy(
k))**2._wp
606 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c))/maxval(1._wp/re_l)
609 vcfl_sf(
j,
k,
l) = maxval(dt/re_l/rho)/
dx(
j)**2._wp
610 rc_sf(
j,
k,
l) =
dx(
j)*(abs(vel(1)) + c)/maxval(1._wp/re_l)
620# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
622# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
624# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
626# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
628# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
630# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
632# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
634 real(wp),
dimension(num_vels),
intent(in) :: vel
635 real(wp),
intent(in) :: c, rho
636 real(wp),
dimension(0:m,0:n,0:p),
intent(inout) :: max_dt
637 real(wp),
dimension(2),
intent(in) :: re_l
638 integer,
intent(in) ::
j,
k,
l
639 real(wp) :: icfl_dt, vcfl_dt
640 real(wp) :: fltr_dtheta
643 if (p > 0 .or. n > 0)
then
648 icfl_dt = cfl_target*(
dx(
j)/(abs(vel(1)) + c))
657 vcfl_dt = cfl_target*(min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp)/maxval(1/(rho*re_l))
659 vcfl_dt = cfl_target*(min(
dx(
j),
dy(
k),
dz(
l))**2._wp)/maxval(1/(rho*re_l))
663 vcfl_dt = cfl_target*(min(
dx(
j),
dy(
k))**2._wp)/maxval((1/re_l)/rho)
666 vcfl_dt = cfl_target*(
dx(
j)**2._wp)/maxval(1/(rho*re_l))
671 max_dt(
j,
k,
l) = min(icfl_dt, vcfl_dt)
673 max_dt(
j,
k,
l) = icfl_dt
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, dimension(2) re_size
real(wp), dimension(:), allocatable, target y_cb
real(wp), dimension(:), allocatable, target dy
real(wp), dimension(:), allocatable, target dz
real(wp), dimension(:), allocatable, target dx
Simulation helper routines for enthalpy computation, CFL calculation, and stability checks.
subroutine, public s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, re, h, alpha, vel, vel_sum, qv, j, k, l)
Computes enthalpy.
subroutine, public s_compute_dt_from_cfl(vel, c, max_dt, rho, re_l, j, k, l)
Computes dt for a specified CFL number.
real(wp) function f_compute_filtered_dtheta(k, l)
Computes the modified dtheta for Fourier filtering in azimuthal direction.
subroutine, public s_compute_stability_from_dt(vel, c, rho, re_l, j, k, l, icfl_sf, vcfl_sf, rc_sf)
Computes stability criterion for a specified dt.
real(wp) function f_compute_multidim_cfl_terms(vel, c, j, k, l)
Computes inviscid CFL terms for multi-dimensional cases (2D/3D only).
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine, public s_compute_species_fraction(q_vf, k, l, r, alpha_rho_k, alpha_k)
Compute partial densities and volume fractions.
subroutine, public s_convert_species_to_mixture_variables_acc(rho_k, gamma_k, pi_inf_k, qv_k, alpha_k, alpha_rho_k, re_k, g_k, g)
GPU-accelerated conversion of species volume fractions and partial densities to mixture density,...
Derived type annexing a scalar field (SF).