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# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 244 "/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# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 377 "/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# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 311 "/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
238# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
241# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
268# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
277# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
280# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
294# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
295# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
297# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
299# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
304# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
307# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
310# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
313# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
319# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
321# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
325# 7 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp" 2
344# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
346# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
348# 24 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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 integer,
intent(in) ::
k,
l
359 real(wp) :: fltr_dtheta
364 fltr_dtheta = 2._wp*pi*
y_cb(0)/3._wp
365 else if (
k <= fourier_rings)
then
366 nfq = min(floor(2._wp*real(
k, wp)*pi), (
p + 1)/2 + 1)
367 fltr_dtheta = 2._wp*pi*
y_cb(
k - 1)/real(nfq, wp)
381# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
383# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
385# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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 real(wp),
dimension(num_vels),
intent(in) :: vel
396 real(wp),
intent(in) :: c
397 integer,
intent(in) ::
j,
k,
l
398 real(wp) :: cfl_terms
399 real(wp) :: fltr_dtheta
405# 59 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
407 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c), fltr_dtheta/(abs(vel(3)) + c))
409 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c),
dz(
l)/(abs(vel(3)) + c))
411# 65 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
414 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c))
420 subroutine s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, Re, H, alpha, vel, vel_sum, qv, j, k, l)
423# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
425# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
427# 75 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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"
458 type(
scalar_field),
intent(in),
dimension(sys_size) :: q_prim_vf
459# 82 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
460 real(wp),
intent(inout),
dimension(num_fluids) :: alpha
461 real(wp),
intent(inout),
dimension(num_vels) :: vel
462# 85 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
463 real(wp),
intent(inout) :: rho, gamma, pi_inf, vel_sum, h, pres
464 real(wp),
intent(out) :: qv
465 integer,
intent(in) ::
j,
k,
l
466 real(wp),
dimension(2),
intent(inout) :: re
467# 92 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
468 real(wp),
dimension(num_fluids) :: alpha_rho, gs
469# 94 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
470 real(wp) :: e, g_local
483# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
484#if defined(MFC_OpenACC)
485# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
487# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
488#elif defined(MFC_OpenMP)
489# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
491# 106 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
494 vel(i) = q_prim_vf(
contxe + i)%sf(
j,
k,
l)/rho
498# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
499#if defined(MFC_OpenACC)
500# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
502# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
503#elif defined(MFC_OpenMP)
504# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
506# 111 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
509 vel(i) = q_prim_vf(
contxe + i)%sf(
j,
k,
l)
515# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
516#if defined(MFC_OpenACC)
517# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
519# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
520#elif defined(MFC_OpenMP)
521# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
523# 118 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
526 vel_sum = vel_sum + vel(i)**2._wp
531 pres = (e - pi_inf - qv - 5.e-1_wp*rho*vel_sum)/gamma
534 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv
539 e = e + g_local*q_prim_vf(
xiend + 1)%sf(
j,
k,
l)
550# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
552# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
554# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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 real(wp),
intent(in),
dimension(num_vels) :: vel
565 real(wp),
intent(in) :: c, rho
566 real(wp),
dimension(0:m,0:n,0:p),
intent(inout) :: icfl_sf
567 real(wp),
dimension(0:m,0:n,0:p),
intent(inout),
optional :: vcfl_sf, rc_sf
568 real(wp),
dimension(2),
intent(in) :: re_l
569 integer,
intent(in) ::
j,
k,
l
570 real(wp) :: fltr_dtheta
573 if (
p > 0 .or.
n > 0)
then
578 icfl_sf(
j,
k,
l) = (
dt/
dx(
j))*(abs(vel(1)) + c)
584# 165 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
588 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp
589 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c), &
590 & fltr_dtheta*(abs(vel(3)) + c))/maxval(1._wp/re_l)
592 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/min(
dx(
j),
dy(
k),
dz(
l))**2._wp
593 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c), &
594 &
dz(
l)*(abs(vel(3)) + c))/maxval(1._wp/re_l)
596# 177 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
599 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/min(
dx(
j),
dy(
k))**2._wp
600 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c))/maxval(1._wp/re_l)
603 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/
dx(
j)**2._wp
604 rc_sf(
j,
k,
l) =
dx(
j)*(abs(vel(1)) + c)/maxval(1._wp/re_l)
614# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
616# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
618# 193 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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 real(wp),
dimension(num_vels),
intent(in) :: vel
629 real(wp),
intent(in) :: c, rho
630 real(wp),
dimension(0:m,0:n,0:p),
intent(inout) :: max_dt
631 real(wp),
dimension(2),
intent(in) :: re_l
632 integer,
intent(in) ::
j,
k,
l
633 real(wp) :: icfl_dt, vcfl_dt
634 real(wp) :: fltr_dtheta
637 if (
p > 0 .or.
n > 0)
then
651 vcfl_dt =
cfl_target*(min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp)/maxval(1/(rho*re_l))
665 max_dt(
j,
k,
l) = min(icfl_dt, vcfl_dt)
667 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)
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).