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# 9 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
15# 14 "/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# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
45# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
46# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
47# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
59# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
61# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
63# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
65# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
67# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
69# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
71# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
73# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
75# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
77# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
81# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
83# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
85# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
87# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
93# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
95# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
97# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
99# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
105# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
107# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
109# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
111# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 207 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 232 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 243 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 245 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 283 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 293 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 303 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 312 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 329 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 346 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 358 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 364 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 370 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 376 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
151# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
152# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
153# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
155# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
157# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
163# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
167# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
173# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
177# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
179# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
181# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
183# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
185# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
187# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
189# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
191# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
193# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
195# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
197# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
199# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
201# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
203# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
205# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
207# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 192 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 213 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 241 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 256 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 266 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 275 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 291 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 301 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 308 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
237# 21 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 37 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
241# 50 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
243# 104 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 119 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
249# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 171 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 182 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
255# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 204 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
261# 225 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 236 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 246 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
267# 252 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 258 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 264 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
273# 270 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 272 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
276# 273 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
280# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
286# 63 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
288# 81 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
290# 88 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
292# 111 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
294# 127 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
296# 153 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
298# 159 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
300# 167 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
302# 7 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp" 2
327# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
329# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
331# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
333# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
335# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
337# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
339# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
341 integer,
intent(in) ::
k,
l
342 real(wp) :: fltr_dtheta
347 fltr_dtheta = 2._wp*pi*
y_cb(0)/3._wp
348 elseif (
k <= fourier_rings)
then
349 nfq = min(floor(2._wp*real(
k, wp)*pi), (
p + 1)/2 + 1)
350 fltr_dtheta = 2._wp*pi*
y_cb(
k - 1)/real(nfq, wp)
368# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
370# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
372# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
374# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
376# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
378# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
380# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
382 real(wp),
dimension(num_vels),
intent(in) :: vel
383 real(wp),
intent(in) :: c
384 integer,
intent(in) ::
j,
k,
l
385 real(wp) :: cfl_terms
386 real(wp) :: fltr_dtheta
392# 69 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
394 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c), &
395 dy(
k)/(abs(vel(2)) + c), &
396 fltr_dtheta/(abs(vel(3)) + c))
398 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c), &
399 dy(
k)/(abs(vel(2)) + c), &
400 dz(
l)/(abs(vel(3)) + c))
402# 79 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
405 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c), &
406 dy(
k)/(abs(vel(2)) + c))
425 subroutine s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, Re, H, alpha, vel, vel_sum, qv, j, k, l)
427# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
429# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
431# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
433# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
435# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
437# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
439# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
441# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
443# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
445# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
447# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
449# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
451# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
453# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
455# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
457# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
459# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
461# 104 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
463 type(
scalar_field),
intent(in),
dimension(sys_size) :: q_prim_vf
464# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
465 real(wp),
intent(inout),
dimension(num_fluids) :: alpha
466 real(wp),
intent(inout),
dimension(num_vels) :: vel
467# 113 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
468 real(wp),
intent(inout) :: rho, gamma, pi_inf, vel_sum, h, pres
469 real(wp),
intent(out) :: qv
470 integer,
intent(in) ::
j,
k,
l
471 real(wp),
dimension(2),
intent(inout) :: re
472# 120 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
473 real(wp),
dimension(num_fluids) :: alpha_rho, gs
474# 122 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
475 real(wp) :: e, g_local
483 alpha_rho, re, g_local, gs)
490# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
491#if defined(MFC_OpenACC)
492# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
494# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
495#elif defined(MFC_OpenMP)
496# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
498# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
501 vel(i) = q_prim_vf(
contxe + i)%sf(
j,
k,
l)/rho
505# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
506#if defined(MFC_OpenACC)
507# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
509# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
510#elif defined(MFC_OpenMP)
511# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
513# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
516 vel(i) = q_prim_vf(
contxe + i)%sf(
j,
k,
l)
522# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
523#if defined(MFC_OpenACC)
524# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
526# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
527#elif defined(MFC_OpenMP)
528# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
530# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
533 vel_sum = vel_sum + vel(i)**2._wp
538 pres = (e - pi_inf - qv - 5.e-1_wp*rho*vel_sum)/gamma
541 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv
546 e = e + g_local*q_prim_vf(
xiend + 1)%sf(
j,
k,
l)
566# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
568# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
570# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
572# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
574# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
576# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
578# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
580 real(wp),
intent(in),
dimension(num_vels) :: vel
581 real(wp),
intent(in) :: c, rho
582 real(wp),
dimension(0:m, 0:n, 0:p),
intent(inout) :: icfl_sf
583 real(wp),
dimension(0:m, 0:n, 0:p),
intent(inout),
optional :: vcfl_sf, rc_sf
584 real(wp),
dimension(2),
intent(in) :: re_l
585 integer,
intent(in) ::
j,
k,
l
587 real(wp) :: fltr_dtheta
590 if (
p > 0 .or.
n > 0)
then
595 icfl_sf(
j,
k,
l) = (
dt/
dx(
j))*(abs(vel(1)) + c)
601# 205 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
605 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho) &
606 /min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp
607 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c), &
608 dy(
k)*(abs(vel(2)) + c), &
609 fltr_dtheta*(abs(vel(3)) + c)) &
612 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho) &
614 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c), &
615 dy(
k)*(abs(vel(2)) + c), &
616 dz(
l)*(abs(vel(3)) + c)) &
619# 223 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
622 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/min(
dx(
j),
dy(
k))**2._wp
623 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c), &
624 dy(
k)*(abs(vel(2)) + c)) &
628 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/
dx(
j)**2._wp
629 rc_sf(
j,
k,
l) =
dx(
j)*(abs(vel(1)) + c)/maxval(1._wp/re_l)
646# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
648# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
650# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
652# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
654# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
656# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
658# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
660 real(wp),
dimension(num_vels),
intent(in) :: vel
661 real(wp),
intent(in) :: c, rho
662 real(wp),
dimension(0:m, 0:n, 0:p),
intent(inout) :: max_dt
663 real(wp),
dimension(2),
intent(in) :: re_l
664 integer,
intent(in) ::
j,
k,
l
666 real(wp) :: icfl_dt, vcfl_dt
667 real(wp) :: fltr_dtheta
670 if (
p > 0 .or.
n > 0)
then
685 /maxval(1/(rho*re_l))
688 /maxval(1/(rho*re_l))
700 max_dt(
j,
k,
l) = min(icfl_dt, vcfl_dt)
702 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
logical igr
Use information geometric regularization.
logical viscous
Viscous effects.
logical hyperelasticity
hyperelasticity modeling
integer num_vels
Number of velocity components (different from num_dims for mhd).
real(wp), dimension(:), allocatable, target y_cb
integer e_idx
Index of energy equation.
logical elasticity
elasticity modeling, true for hyper or hypo
real(wp), dimension(:), allocatable, target dy
real(wp) dt
Size of the time-step.
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)
This subroutine computes 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).