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# 76 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 91 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
247# 102 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
249# 115 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
253# 154 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
255# 165 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 176 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
259# 187 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
261# 198 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 208 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
267# 220 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 226 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
271# 232 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
273# 234 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
274# 235 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
276# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
278# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
284# 63 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
286# 81 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
288# 88 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
290# 111 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
292# 127 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
294# 153 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
296# 159 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
298# 167 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
300# 7 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp" 2
325# 30 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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 integer,
intent(in) ::
k,
l
340 real(wp) :: fltr_dtheta
345 fltr_dtheta = 2._wp*pi*
y_cb(0)/3._wp
346 elseif (
k <= fourier_rings)
then
347 nfq = min(floor(2._wp*real(
k, wp)*pi), (
p + 1)/2 + 1)
348 fltr_dtheta = 2._wp*pi*
y_cb(
k - 1)/real(nfq, wp)
366# 57 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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 real(wp),
dimension(num_vels),
intent(in) :: vel
381 real(wp),
intent(in) :: c
382 integer,
intent(in) ::
j,
k,
l
383 real(wp) :: cfl_terms
384 real(wp) :: fltr_dtheta
390# 69 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
392 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c), &
393 dy(
k)/(abs(vel(2)) + c), &
394 fltr_dtheta/(abs(vel(3)) + c))
396 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c), &
397 dy(
k)/(abs(vel(2)) + c), &
398 dz(
l)/(abs(vel(3)) + c))
400# 79 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
403 cfl_terms = min(
dx(
j)/(abs(vel(1)) + c), &
404 dy(
k)/(abs(vel(2)) + c))
423 subroutine s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, Re, H, alpha, vel, vel_sum, qv, j, k, l)
425# 102 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
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# 104 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
445 type(
scalar_field),
intent(in),
dimension(sys_size) :: q_prim_vf
446# 110 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
447 real(wp),
intent(inout),
dimension(num_fluids) :: alpha
448 real(wp),
intent(inout),
dimension(num_vels) :: vel
449# 113 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
450 real(wp),
intent(inout) :: rho, gamma, pi_inf, vel_sum, h, pres
451 real(wp),
intent(out) :: qv
452 integer,
intent(in) ::
j,
k,
l
453 real(wp),
dimension(2),
intent(inout) :: re
454# 120 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
455 real(wp),
dimension(num_fluids) :: alpha_rho, gs
456# 122 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
457 real(wp) :: e, g_local
465 alpha_rho, re, g_local, gs)
472# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
473#if defined(MFC_OpenACC)
474# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
476# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
477#elif defined(MFC_OpenMP)
478# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
480# 136 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
483 vel(i) = q_prim_vf(
contxe + i)%sf(
j,
k,
l)/rho
487# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
488#if defined(MFC_OpenACC)
489# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
491# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
492#elif defined(MFC_OpenMP)
493# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
495# 141 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
498 vel(i) = q_prim_vf(
contxe + i)%sf(
j,
k,
l)
504# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
505#if defined(MFC_OpenACC)
506# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
508# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
509#elif defined(MFC_OpenMP)
510# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
512# 148 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
515 vel_sum = vel_sum + vel(i)**2._wp
520 pres = (e - pi_inf - qv - 5.e-1_wp*rho*vel_sum)/gamma
523 e = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv
528 e = e + g_local*q_prim_vf(
xiend + 1)%sf(
j,
k,
l)
548# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
550# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
552# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
554# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
556# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
558# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
560# 182 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
562 real(wp),
intent(in),
dimension(num_vels) :: vel
563 real(wp),
intent(in) :: c, rho
564 real(wp),
dimension(0:m, 0:n, 0:p),
intent(inout) :: icfl_sf
565 real(wp),
dimension(0:m, 0:n, 0:p),
intent(inout),
optional :: vcfl_sf, rc_sf
566 real(wp),
dimension(2),
intent(in) :: re_l
567 integer,
intent(in) ::
j,
k,
l
569 real(wp) :: fltr_dtheta
572 if (
p > 0 .or.
n > 0)
then
577 icfl_sf(
j,
k,
l) = (
dt/
dx(
j))*(abs(vel(1)) + c)
583# 205 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
587 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho) &
588 /min(
dx(
j),
dy(
k), fltr_dtheta)**2._wp
589 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c), &
590 dy(
k)*(abs(vel(2)) + c), &
591 fltr_dtheta*(abs(vel(3)) + c)) &
594 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho) &
596 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c), &
597 dy(
k)*(abs(vel(2)) + c), &
598 dz(
l)*(abs(vel(3)) + c)) &
601# 223 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
604 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/min(
dx(
j),
dy(
k))**2._wp
605 rc_sf(
j,
k,
l) = min(
dx(
j)*(abs(vel(1)) + c), &
606 dy(
k)*(abs(vel(2)) + c)) &
610 vcfl_sf(
j,
k,
l) = maxval(
dt/re_l/rho)/
dx(
j)**2._wp
611 rc_sf(
j,
k,
l) =
dx(
j)*(abs(vel(1)) + c)/maxval(1._wp/re_l)
628# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
630# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
632# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
634# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
636# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
638# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
640# 248 "/home/runner/work/MFC/MFC/src/simulation/m_sim_helpers.fpp"
642 real(wp),
dimension(num_vels),
intent(in) :: vel
643 real(wp),
intent(in) :: c, rho
644 real(wp),
dimension(0:m, 0:n, 0:p),
intent(inout) :: max_dt
645 real(wp),
dimension(2),
intent(in) :: re_l
646 integer,
intent(in) ::
j,
k,
l
648 real(wp) :: icfl_dt, vcfl_dt
649 real(wp) :: fltr_dtheta
652 if (
p > 0 .or.
n > 0)
then
667 /maxval(1/(rho*re_l))
670 /maxval(1/(rho*re_l))
682 max_dt(
j,
k,
l) = min(icfl_dt, vcfl_dt)
684 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).