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# 167 "/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# 167 "/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# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
99# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
101# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
103# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
105# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
107# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
109# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
111# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 320 "/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# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
140# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
142# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
144# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
146# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
148# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
150# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
152# 403 "/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# 167 "/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# 55 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
313# 75 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 83 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
319# 107 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
322# 123 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
325# 148 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
327# 154 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
329# 161 "/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)
384 subroutine s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, Re, H, alpha, vel, vel_sum, qv, j, k, l)
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# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
403# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
405# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
407# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
409# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
411# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
413# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
415# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
417# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
419# 47 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
422 type(
scalar_field),
intent(in),
dimension(sys_size) :: q_prim_vf
423# 54 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
424 real(wp),
intent(inout),
dimension(num_fluids) :: alpha
425 real(wp),
intent(inout),
dimension(num_vels) :: vel
426# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
427 real(wp),
intent(inout) :: rho, gamma, pi_inf, vel_sum, h, pres
428 real(wp),
intent(out) :: qv
429 integer,
intent(in) ::
j,
k,
l
430 real(wp),
dimension(2),
intent(inout) :: re
431# 64 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
432 real(wp),
dimension(num_fluids) :: alpha_rho, gs
433# 66 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
434 real(wp) :: e, g_local
439 if (hypoelasticity)
then
447# 78 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
448#if defined(MFC_OpenACC)
449# 78 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
451# 78 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
452#elif defined(MFC_OpenMP)
453# 78 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
455# 78 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
458 vel(i) = q_prim_vf(eqn_idx%cont%end + i)%sf(
j,
k,
l)/rho
462# 83 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
463#if defined(MFC_OpenACC)
464# 83 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
466# 83 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
467#elif defined(MFC_OpenMP)
468# 83 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
470# 83 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
473 vel(i) = q_prim_vf(eqn_idx%cont%end + i)%sf(
j,
k,
l)
479# 90 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
480#if defined(MFC_OpenACC)
481# 90 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
483# 90 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
484#elif defined(MFC_OpenMP)
485# 90 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
487# 90 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
490 vel_sum = vel_sum + vel(i)**2._wp
494 e = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
495 pres = (e - pi_inf - qv - 5.e-1_wp*rho*vel_sum)/gamma
497 pres = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
498 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv
506 subroutine s_compute_stability_from_dt(vel, c, rho, Re_l, j, k, l, icfl, vcfl, Rc, ccfl)
509# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
511# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
513# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
515# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
517# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
519# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
521# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
523 real(wp),
intent(in),
dimension(num_vels) :: vel
524 real(wp),
intent(in) :: c, rho
525 real(wp),
intent(inout) :: icfl
526 real(wp),
intent(inout) :: vcfl, rc, ccfl
527 real(wp),
dimension(2),
intent(in) :: re_l
528 integer,
intent(in) ::
j,
k,
l
529 real(wp) :: fltr_dtheta
537# 126 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
540 icfl = dt/min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c), fltr_dtheta/(abs(vel(3)) + c))
542 icfl = dt/min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c),
dz(
l)/(abs(vel(3)) + c))
544# 133 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
546 icfl = dt/min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c))
548 icfl = (dt/
dx(
j))*(abs(vel(1)) + c)
554# 143 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
557 vcfl = maxval(dt/re_l/rho)/min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp
558 rc = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c), fltr_dtheta*(abs(vel(3)) + c))/maxval(1._wp/re_l)
560 vcfl = maxval(dt/re_l/rho)/min(
dx(
j),
dy(
k),
dz(
l))**2._wp
561 rc = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c),
dz(
l)*(abs(vel(3)) + c))/maxval(1._wp/re_l)
563# 152 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
565 vcfl = maxval(dt/re_l/rho)/min(
dx(
j),
dy(
k))**2._wp
566 rc = min(
dx(
j)*(abs(vel(1)) + c),
dy(
k)*(abs(vel(2)) + c))/maxval(1._wp/re_l)
568 vcfl = maxval(dt/re_l/rho)/
dx(
j)**2._wp
569 rc =
dx(
j)*(abs(vel(1)) + c)/maxval(1._wp/re_l)
574 if (surface_tension)
then
576# 165 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
579 ccfl = dt*sqrt(2._wp*pi*sigma/(rho*min(
dx(
j),
dy(
k), fltr_dtheta)**3._wp))
581 ccfl = dt*sqrt(2._wp*pi*sigma/(rho*min(
dx(
j),
dy(
k),
dz(
l))**3._wp))
583# 172 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
585 ccfl = dt*sqrt(2._wp*pi*sigma/(rho*min(
dx(
j),
dy(
k))**3._wp))
587 ccfl = dt*sqrt(2._wp*pi*sigma/(rho*
dx(
j)**3._wp))
597# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
599# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
601# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
603# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
605# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
607# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
609# 184 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
611 real(wp),
dimension(num_vels),
intent(in) :: vel
612 real(wp),
intent(in) :: c, rho
613 real(wp),
intent(inout) :: max_dt
614 real(wp),
dimension(2),
intent(in) :: re_l
615 integer,
intent(in) ::
j,
k,
l
616 real(wp) :: vcfl_dt, ccfl_dt
617 real(wp) :: fltr_dtheta
625# 200 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
628 max_dt = cfl_target*min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c), fltr_dtheta/(abs(vel(3)) + c))
630 max_dt = cfl_target*min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c),
dz(
l)/(abs(vel(3)) + c))
632# 207 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
634 max_dt = cfl_target*min(
dx(
j)/(abs(vel(1)) + c),
dy(
k)/(abs(vel(2)) + c))
636 max_dt = cfl_target*(
dx(
j)/(abs(vel(1)) + c))
644 vcfl_dt = cfl_target*(min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp)/maxval(1/(rho*re_l))
646 vcfl_dt = cfl_target*(min(
dx(
j),
dy(
k),
dz(
l))**2._wp)/maxval(1/(rho*re_l))
649 vcfl_dt = cfl_target*(min(
dx(
j),
dy(
k))**2._wp)/maxval((1/re_l)/rho)
651 vcfl_dt = cfl_target*(
dx(
j)**2._wp)/maxval(1/(rho*re_l))
653 max_dt = min(max_dt, vcfl_dt)
657 if (surface_tension)
then
659# 234 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
662 ccfl_dt = cfl_target*sqrt(rho*min(
dx(
j),
dy(
k), fltr_dtheta)**3._wp/(2._wp*pi*sigma))
664 ccfl_dt = cfl_target*sqrt(rho*min(
dx(
j),
dy(
k),
dz(
l))**3._wp/(2._wp*pi*sigma))
666# 241 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
668 ccfl_dt = cfl_target*sqrt(rho*min(
dx(
j),
dy(
k))**3._wp/(2._wp*pi*sigma))
670 ccfl_dt = cfl_target*sqrt(rho*
dx(
j)**3._wp/(2._wp*pi*sigma))
672 max_dt = min(max_dt, ccfl_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...
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.
subroutine, public s_compute_stability_from_dt(vel, c, rho, re_l, j, k, l, icfl, vcfl, rc, ccfl)
Computes stability criterion for a specified dt.
real(wp) function f_compute_filtered_dtheta(k, l)
Computes the modified dtheta for Fourier filtering in azimuthal direction.
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_kernel(rho_k, gamma_k, pi_inf_k, qv_k, alpha_k, alpha_rho_k, re_k, g_k, g)
Host- and device-callable conversion kernel for species and mixture variables.
Derived type annexing a scalar field (SF).