1# 1 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
7# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
8# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
9# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
10# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
11# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
12# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
13# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
15# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
16# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
17# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
19# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
34# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
35# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
36# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
62# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
63# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
64# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
65# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
66# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
68# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
70# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
72# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 207 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 232 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 243 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 245 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
113# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
115# 283 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 293 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 303 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 312 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 329 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 346 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 358 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 364 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 370 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 376 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
140# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
141# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
142# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
143# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
144# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
145# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
146# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
148# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
149# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
150# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
152# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
168# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
170# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
172# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
174# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
176# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
178# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
180# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 192 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 213 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 241 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 256 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 266 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 275 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 291 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 301 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 308 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
226# 21 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
228# 37 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
230# 50 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
232# 76 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
234# 91 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 102 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
238# 115 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
240# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 154 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 165 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
246# 176 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 187 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 198 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
252# 208 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 220 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
258# 226 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 232 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 234 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 235 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
267# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
273# 63 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
275# 81 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
277# 88 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
279# 111 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
281# 127 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
283# 153 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
285# 159 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
287# 167 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
289# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
290# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
296# 9 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
299# 14 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
300# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
309 use m_mpi_proxy !< message passing interface (mpi) module proxy
315 use m_thermochem,
only: &
316 num_species, get_temperature, get_pressure, gas_constant, &
317 get_mixture_molecular_weight, get_mixture_energy_mass
334#ifndef MFC_PRE_PROCESS
341#ifndef MFC_SIMULATION
344# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
345#if defined(MFC_OpenACC)
346# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
348# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
349#elif defined(MFC_OpenMP)
350# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
352# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
356 real(wp),
allocatable,
dimension(:) ::
gs_vc
358 real(wp),
allocatable,
dimension(:, :) ::
res_vc
360# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
361#if defined(MFC_OpenACC)
362# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
364# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
365#elif defined(MFC_OpenMP)
366# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
368# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
373# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
374#if defined(MFC_OpenACC)
375# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
377# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
378#elif defined(MFC_OpenMP)
379# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
381# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
384 real(wp),
allocatable,
dimension(:, :, :),
public ::
rho_sf
385 real(wp),
allocatable,
dimension(:, :, :),
public ::
gamma_sf
386 real(wp),
allocatable,
dimension(:, :, :),
public ::
pi_inf_sf
387 real(wp),
allocatable,
dimension(:, :, :),
public ::
qv_sf
406 rho, gamma, pi_inf, qv, Re_K, G_K, G)
408 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
409 integer,
intent(in) :: i,
j,
k
410 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
411 real(wp),
optional,
dimension(2),
intent(out) :: re_k
412 real(wp),
optional,
intent(out) :: g_k
413 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
417 rho, gamma, pi_inf, qv)
421 rho, gamma, pi_inf, qv, re_k, g_k, g)
441 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, stress, mom, G, pres_mag)
443# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
445# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
447# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
449# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
451# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
453# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
455# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
457# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
459# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
461# 120 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
463 real(stp),
intent(in) :: energy, alf
464 real(wp),
intent(in) :: dyn_p
465 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
466 real(wp),
intent(out) :: pres
467 real(wp),
intent(inout) :: t
468 real(stp),
intent(in),
optional :: stress, mom
469 real(wp),
intent(in),
optional :: g, pres_mag
472 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
473 real(wp),
dimension(1:num_species) :: y_rs
475 real(wp) :: e_per_kg, pdyn_per_kg
480# 139 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
485 pres = (energy - dyn_p - pi_inf - qv - pres_mag)/gamma
487 pres = (energy - dyn_p - pi_inf - qv)/gamma
489 pres = ((energy - dyn_p)/(1._wp - alf) - pi_inf - qv)/gamma
491 pres = (
pref + pi_inf)* &
494 )**(1/gamma + 1) - pi_inf
502 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
505 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
512 0.5_wp*(mom**2._wp)/rho - &
518# 188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
536 rho, gamma, pi_inf, qv)
538 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
539 integer,
intent(in) :: i,
j,
k
541 real(wp),
intent(out),
target :: rho
542 real(wp),
intent(out),
target :: gamma
543 real(wp),
intent(out),
target :: pi_inf
544 real(wp),
intent(out),
target :: qv
548 rho = q_vf(1)%sf(i,
j,
k)
554#ifdef MFC_POST_PROCESS
580 gamma, pi_inf, qv, Re_K, G_K, G)
582 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
584 integer,
intent(in) ::
k,
l, r
586 real(wp),
intent(out),
target :: rho
587 real(wp),
intent(out),
target :: gamma
588 real(wp),
intent(out),
target :: pi_inf
589 real(wp),
intent(out),
target :: qv
591 real(wp),
optional,
dimension(2),
intent(out) :: re_k
592 real(wp),
optional,
intent(out) :: g_k
593 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
594 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
611 rho = 0._wp; gamma = 0._wp; pi_inf = 0._wp; qv = 0._wp
613 rho = rho + alpha_rho_k(i)
614 gamma = gamma + alpha_k(i)*
gammas(i)
615 pi_inf = pi_inf + alpha_k(i)*
pi_infs(i)
616 qv = qv + alpha_rho_k(i)*
qvs(i)
624 re_k(i) = dflt_real;
if (
re_size(i) > 0) re_k(i) = 0._wp
631 re_k(i) = 1._wp/max(re_k(i), sgm_eps)
636 if (
present(g_k))
then
639 g_k = g_k + alpha_k(i)*g(i)
641 g_k = max(0._wp, g_k)
645#ifdef MFC_POST_PROCESS
656 gamma_K, pi_inf_K, qv_K, &
657 alpha_K, alpha_rho_K, Re_K, &
660# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
662# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
664# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
666# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
668# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
670# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
672# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
674# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
676# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
678# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
680 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
681# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
682 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
683 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
684# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
685 real(wp),
dimension(2),
intent(out) :: re_k
686 real(wp),
optional,
intent(out) :: g_k
687 real(wp) :: alpha_k_sum
697 rho_k = alpha_rho_k(1)
705 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
706 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
707 alpha_k_sum = alpha_k_sum + alpha_k(i)
709 alpha_k = alpha_k/max(alpha_k_sum, sgm_eps)
711 rho_k = 0._wp; gamma_k = 0._wp; pi_inf_k = 0._wp; qv_k = 0._wp
713 rho_k = rho_k + alpha_rho_k(i)
714 gamma_k = gamma_k + alpha_k(i)*
gammas(i)
715 pi_inf_k = pi_inf_k + alpha_k(i)*
pi_infs(i)
716 qv_k = qv_k + alpha_rho_k(i)*
qvs(i)
720 if (
present(g_k))
then
725 g_k = g_k + alpha_k(i)*g(i)
727 g_k = max(0._wp, g_k)
734 if (
re_size(i) > 0) re_k(i) = 0._wp
741 re_k(i) = 1._wp/max(re_k(i), sgm_eps)
756# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
757#if defined(MFC_OpenACC)
758# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
760# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
761#elif defined(MFC_OpenMP)
762# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
764# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
768# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
770# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
771 use iso_fortran_env,
only: output_unit
772# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
774# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
775 print *,
'm_variables_conversion.fpp:411: ',
'@:ALLOCATE(gammas (1:num_fluids))'
776# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
778# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
779 call flush (output_unit)
780# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
782# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
784# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
786# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
788# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
790# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
791#if defined(MFC_OpenACC)
792# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
794# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
795#elif defined(MFC_OpenMP)
796# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
798# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
801# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
803# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
804 use iso_fortran_env,
only: output_unit
805# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
807# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
808 print *,
'm_variables_conversion.fpp:412: ',
'@:ALLOCATE(gs_min (1:num_fluids))'
809# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
811# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
812 call flush (output_unit)
813# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
815# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
817# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
818 allocate (
gs_min(1:num_fluids))
819# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
821# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
823# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
824#if defined(MFC_OpenACC)
825# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
827# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
828#elif defined(MFC_OpenMP)
829# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
831# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
834# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
836# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
837 use iso_fortran_env,
only: output_unit
838# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
840# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
841 print *,
'm_variables_conversion.fpp:413: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
842# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
844# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
845 call flush (output_unit)
846# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
848# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
850# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
851 allocate (
pi_infs(1:num_fluids))
852# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
854# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
856# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
857#if defined(MFC_OpenACC)
858# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
860# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
861#elif defined(MFC_OpenMP)
862# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
864# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
867# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
869# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
870 use iso_fortran_env,
only: output_unit
871# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
873# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
874 print *,
'm_variables_conversion.fpp:414: ',
'@:ALLOCATE(ps_inf(1:num_fluids))'
875# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
877# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
878 call flush (output_unit)
879# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
881# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
883# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
884 allocate (
ps_inf(1:num_fluids))
885# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
887# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
889# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
890#if defined(MFC_OpenACC)
891# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
893# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
894#elif defined(MFC_OpenMP)
895# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
897# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
900# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
902# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
903 use iso_fortran_env,
only: output_unit
904# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
906# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
907 print *,
'm_variables_conversion.fpp:415: ',
'@:ALLOCATE(cvs (1:num_fluids))'
908# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
910# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
911 call flush (output_unit)
912# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
914# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
916# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
917 allocate (
cvs(1:num_fluids))
918# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
920# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
922# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
923#if defined(MFC_OpenACC)
924# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
926# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
927#elif defined(MFC_OpenMP)
928# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
930# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
933# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
935# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
936 use iso_fortran_env,
only: output_unit
937# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
939# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
940 print *,
'm_variables_conversion.fpp:416: ',
'@:ALLOCATE(qvs (1:num_fluids))'
941# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
943# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
944 call flush (output_unit)
945# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
947# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
949# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
950 allocate (
qvs(1:num_fluids))
951# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
953# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
955# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
956#if defined(MFC_OpenACC)
957# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
959# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
960#elif defined(MFC_OpenMP)
961# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
963# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
966# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
968# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
969 use iso_fortran_env,
only: output_unit
970# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
972# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
973 print *,
'm_variables_conversion.fpp:417: ',
'@:ALLOCATE(qvps (1:num_fluids))'
974# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
976# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
977 call flush (output_unit)
978# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
980# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
982# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
983 allocate (
qvps(1:num_fluids))
984# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
986# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
988# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
989#if defined(MFC_OpenACC)
990# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
992# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
993#elif defined(MFC_OpenMP)
994# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
996# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
999# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1001# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1002 use iso_fortran_env,
only: output_unit
1003# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1005# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1006 print *,
'm_variables_conversion.fpp:418: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
1007# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1009# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1010 call flush (output_unit)
1011# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1013# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1015# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1016 allocate (
gs_vc(1:num_fluids))
1017# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1019# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1021# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1022#if defined(MFC_OpenACC)
1023# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1025# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1026#elif defined(MFC_OpenMP)
1027# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1029# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1032 do i = 1, num_fluids
1033 gammas(i) = fluid_pp(i)%gamma
1035 pi_infs(i) = fluid_pp(i)%pi_inf
1036 gs_vc(i) = fluid_pp(i)%G
1038 cvs(i) = fluid_pp(i)%cv
1039 qvs(i) = fluid_pp(i)%qv
1040 qvps(i) = fluid_pp(i)%qvp
1043# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1044#if defined(MFC_OpenACC)
1045# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1047# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1048#elif defined(MFC_OpenMP)
1049# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1051# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1054#ifdef MFC_SIMULATION
1058# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1060# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1061 use iso_fortran_env,
only: output_unit
1062# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1064# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1065 print *,
'm_variables_conversion.fpp:435: ',
'@:ALLOCATE(Res_vc(1:2, 1:Re_size_max))'
1066# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1068# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1069 call flush (output_unit)
1070# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1072# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1074# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1075 allocate (
res_vc(1:2, 1:re_size_max))
1076# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1078# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1080# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1081#if defined(MFC_OpenACC)
1082# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1084# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1085#elif defined(MFC_OpenMP)
1086# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1088# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1091 do j = 1, re_size(i)
1092 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1097# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1098#if defined(MFC_OpenACC)
1099# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1101# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1102#elif defined(MFC_OpenMP)
1103# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1105# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1110 if (bubbles_euler)
then
1112# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1114# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1115 use iso_fortran_env,
only: output_unit
1116# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1118# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1119 print *,
'm_variables_conversion.fpp:447: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
1120# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1122# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1123 call flush (output_unit)
1124# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1126# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1128# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1130# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1132# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1134# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1135#if defined(MFC_OpenACC)
1136# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1138# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1139#elif defined(MFC_OpenMP)
1140# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1142# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1148# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1149#if defined(MFC_OpenACC)
1150# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1152# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1153#elif defined(MFC_OpenMP)
1154# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1156# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1160#ifdef MFC_POST_PROCESS
1170 allocate (
rho_sf(-buff_size:m + buff_size, &
1171 -buff_size:n + buff_size, &
1172 -buff_size:p + buff_size))
1173 allocate (
gamma_sf(-buff_size:m + buff_size, &
1174 -buff_size:n + buff_size, &
1175 -buff_size:p + buff_size))
1176 allocate (
pi_inf_sf(-buff_size:m + buff_size, &
1177 -buff_size:n + buff_size, &
1178 -buff_size:p + buff_size))
1179 allocate (
qv_sf(-buff_size:m + buff_size, &
1180 -buff_size:n + buff_size, &
1181 -buff_size:p + buff_size))
1186 allocate (
rho_sf(-buff_size:m + buff_size, &
1187 -buff_size:n + buff_size, &
1189 allocate (
gamma_sf(-buff_size:m + buff_size, &
1190 -buff_size:n + buff_size, &
1192 allocate (
pi_inf_sf(-buff_size:m + buff_size, &
1193 -buff_size:n + buff_size, &
1195 allocate (
qv_sf(-buff_size:m + buff_size, &
1196 -buff_size:n + buff_size, &
1203 allocate (
rho_sf(-buff_size:m + buff_size, &
1206 allocate (
gamma_sf(-buff_size:m + buff_size, &
1209 allocate (
pi_inf_sf(-buff_size:m + buff_size, &
1212 allocate (
qv_sf(-buff_size:m + buff_size, &
1224 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1226 real(stp),
dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:),
intent(inout) :: mv
1228 integer :: i,
j,
k,
l
1229 real(wp) :: mu, sig, nbub_sc
1231 do l = idwint(3)%beg, idwint(3)%end
1232 do k = idwint(2)%beg, idwint(2)%end
1233 do j = idwint(1)%beg, idwint(1)%end
1235 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1238# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1239#if defined(MFC_OpenACC)
1240# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1242# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1243#elif defined(MFC_OpenMP)
1244# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1246# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1249 mu = qk_cons_vf(bubxb + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1250 sig = (qk_cons_vf(bubxb + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1252 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1253 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1254 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1255 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1266 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1268 real(stp),
dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:),
intent(in) :: mv
1269 real(stp),
dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:),
intent(inout) :: pb
1271 integer :: i,
j,
k,
l
1272 real(wp) :: mu, sig, nbub_sc
1274 do l = idwint(3)%beg, idwint(3)%end
1275 do k = idwint(2)%beg, idwint(2)%end
1276 do j = idwint(1)%beg, idwint(1)%end
1278 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1281# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1282#if defined(MFC_OpenACC)
1283# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1285# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1286#elif defined(MFC_OpenMP)
1287# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1289# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1292 mu = qk_cons_vf(bubxb + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1293 sig = (qk_cons_vf(bubxb + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1296 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1297 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1298 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1299 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1318 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1319 type(scalar_field),
intent(inout) :: q_t_sf
1320 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1321 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1322# 601 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1323 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1324 real(wp),
dimension(nb) :: nrtmp
1325 real(wp) :: rhoyks(1:num_species)
1326# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1327 real(wp),
dimension(2) :: re_k
1328 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1330 real(wp) :: vftmp, nbub_sc
1336 integer :: i,
j,
k,
l
1339 real(wp) :: pres_mag
1348 real(wp) :: f, dga_dw, dp_dw, df_dw
1352# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1354# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1355#if defined(MFC_OpenACC)
1356# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1358# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1359#elif defined(MFC_OpenMP)
1360# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1362# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1364# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1366# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1368# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1370# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1372 do l = ibounds(3)%beg, ibounds(3)%end
1373 do k = ibounds(2)%beg, ibounds(2)%end
1374 do j = ibounds(1)%beg, ibounds(1)%end
1379 if (model_eqns /= 4)
then
1380#ifdef MFC_SIMULATION
1382 if (elasticity)
then
1384 alpha_rho_k, re_k, g_k,
gs_vc)
1387 alpha_k, alpha_rho_k, re_k)
1391 if (elasticity)
then
1393 rho_k, gamma_k, pi_inf_k, qv_k, re_k, g_k, fluid_pp(:)%G)
1396 rho_k, gamma_k, pi_inf_k, qv_k)
1401 if (relativity)
then
1404 b(2) = qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)
1405 b(3) = qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1407 b(1) = qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)
1408 b(2) = qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1409 b(3) = qk_cons_vf(b_idx%beg + 2)%sf(
j,
k,
l)
1411 b2 = b(1)**2 + b(2)**2 + b(3)**2
1415# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1416#if defined(MFC_OpenACC)
1417# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1419# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1420#elif defined(MFC_OpenMP)
1421# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1423# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1426 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1431# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1432#if defined(MFC_OpenACC)
1433# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1435# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1436#elif defined(MFC_OpenMP)
1437# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1439# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1442 s = s + qk_cons_vf(momxb + i - 1)%sf(
j,
k,
l)*b(i)
1445 e = qk_cons_vf(e_idx)%sf(
j,
k,
l)
1449# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1450#if defined(MFC_OpenACC)
1451# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1453# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1454#elif defined(MFC_OpenMP)
1455# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1457# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1460 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1466# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1467#if defined(MFC_OpenACC)
1468# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1470# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1471#elif defined(MFC_OpenMP)
1472# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1474# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1476 do iter = 1, relativity_cons_to_prim_max_iter
1477 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1478 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1479 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1486 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1488 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1489 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1493 if (abs(dw) < 1.e-12_wp*w)
exit
1497 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1498 qk_prim_vf(e_idx)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1502# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1503#if defined(MFC_OpenACC)
1504# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1506# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1507#elif defined(MFC_OpenMP)
1508# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1510# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1513 qk_prim_vf(momxb + i - 1)%sf(
j,
k,
l) = (qk_cons_vf(momxb + i - 1)%sf(
j,
k,
l) + (s/w)*b(i))/(w + b2)
1515 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1518# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1519#if defined(MFC_OpenACC)
1520# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1522# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1523#elif defined(MFC_OpenMP)
1524# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1526# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1528 do i = b_idx%beg, b_idx%end
1529 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1538# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1539#if defined(MFC_OpenACC)
1540# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1542# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1543#elif defined(MFC_OpenMP)
1544# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1546# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1548 do i = chemxb, chemxe
1549 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1553# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1554#if defined(MFC_OpenACC)
1555# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1557# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1558#elif defined(MFC_OpenMP)
1559# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1561# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1564 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1568# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1569#if defined(MFC_OpenACC)
1570# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1572# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1573#elif defined(MFC_OpenMP)
1574# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1576# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1578 do i = chemxb, chemxe
1579 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1583# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1584#if defined(MFC_OpenACC)
1585# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1587# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1588#elif defined(MFC_OpenMP)
1589# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1591# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1594 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1598#ifdef MFC_SIMULATION
1599 rho_k = max(rho_k, sgm_eps)
1603# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1604#if defined(MFC_OpenACC)
1605# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1607# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1608#elif defined(MFC_OpenMP)
1609# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1611# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1614 if (model_eqns /= 4)
then
1615 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l) &
1617 dyn_pres_k = dyn_pres_k + 5.e-1_wp*qk_cons_vf(i)%sf(
j,
k,
l) &
1618 *qk_prim_vf(i)%sf(
j,
k,
l)
1620 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l) &
1621 /qk_cons_vf(1)%sf(
j,
k,
l)
1627# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1628#if defined(MFC_OpenACC)
1629# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1631# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1632#elif defined(MFC_OpenMP)
1633# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1635# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1637 do i = 1, num_species
1638 rhoyks(i) = qk_cons_vf(chemxb + i - 1)%sf(
j,
k,
l)
1641 t = q_t_sf%sf(
j,
k,
l)
1646 pres_mag = 0.5_wp*(bx0**2 + qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)**2 + qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)**2)
1648 pres_mag = 0.5_wp*(qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)**2 + qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)**2 + qk_cons_vf(b_idx%beg + 2)%sf(
j,
k,
l)**2)
1655 qk_cons_vf(alf_idx)%sf(
j,
k,
l), &
1656 dyn_pres_k, pi_inf_k, gamma_k, rho_k, &
1657 qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1659 qk_prim_vf(e_idx)%sf(
j,
k,
l) = pres
1662 q_t_sf%sf(
j,
k,
l) = t
1665 if (bubbles_euler)
then
1667# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1668#if defined(MFC_OpenACC)
1669# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1671# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1672#elif defined(MFC_OpenMP)
1673# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1675# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1681 vftmp = qk_cons_vf(alf_idx)%sf(
j,
k,
l)
1685 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1689# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1690#if defined(MFC_OpenACC)
1691# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1693# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1694#elif defined(MFC_OpenMP)
1695# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1697# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1700 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1703#ifdef MFC_SIMULATION
1704 qk_prim_vf(bubxb)%sf(
j,
k,
l) = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1709 qk_prim_vf(n_idx)%sf(
j,
k,
l) = qk_cons_vf(n_idx)%sf(
j,
k,
l)
1710 nbub_sc = qk_prim_vf(n_idx)%sf(
j,
k,
l)
1712 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1716# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1717#if defined(MFC_OpenACC)
1718# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1720# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1721#elif defined(MFC_OpenMP)
1722# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1724# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1727 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1734# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1735#if defined(MFC_OpenACC)
1736# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1738# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1739#elif defined(MFC_OpenMP)
1740# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1742# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1744 do i = b_idx%beg, b_idx%end
1745 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1749 if (elasticity)
then
1751# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1752#if defined(MFC_OpenACC)
1753# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1755# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1756#elif defined(MFC_OpenMP)
1757# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1759# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1762 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1766 if (hypoelasticity)
then
1768# 855 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1769#if defined(MFC_OpenACC)
1770# 855 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1772# 855 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1773#elif defined(MFC_OpenMP)
1774# 855 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1776# 855 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1780 if (g_k > verysmall)
then
1781 if (cont_damage) g_k = g_k*max((1._wp - qk_cons_vf(damage_idx)%sf(
j,
k,
l)), 0._wp)
1782 qk_prim_vf(e_idx)%sf(
j,
k,
l) = qk_prim_vf(e_idx)%sf(
j,
k,
l) - &
1783 ((qk_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g_k))/gamma_k
1785 if (any(i == shear_indices))
then
1786 qk_prim_vf(e_idx)%sf(
j,
k,
l) = qk_prim_vf(e_idx)%sf(
j,
k,
l) - &
1787 ((qk_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g_k))/gamma_k
1793 if (hyperelasticity)
then
1795# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1796#if defined(MFC_OpenACC)
1797# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1799# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1800#elif defined(MFC_OpenMP)
1801# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1803# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1806 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1810 if (.not. igr .or. num_fluids > 1)
then
1812# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1813#if defined(MFC_OpenACC)
1814# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1816# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1817#elif defined(MFC_OpenMP)
1818# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1820# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1823 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1827 if (surface_tension)
then
1828 qk_prim_vf(c_idx)%sf(
j,
k,
l) = qk_cons_vf(c_idx)%sf(
j,
k,
l)
1831 if (cont_damage) qk_prim_vf(damage_idx)%sf(
j,
k,
l) = qk_cons_vf(damage_idx)%sf(
j,
k,
l)
1833 if (hyper_cleaning) qk_prim_vf(psi_idx)%sf(
j,
k,
l) = qk_cons_vf(psi_idx)%sf(
j,
k,
l)
1834#ifdef MFC_POST_PROCESS
1835 if (bubbles_lagrange) qk_prim_vf(beta_idx)%sf(
j,
k,
l) = qk_cons_vf(beta_idx)%sf(
j,
k,
l)
1842# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1844# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1845#if defined(MFC_OpenACC)
1846# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1848# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1849#elif defined(MFC_OpenMP)
1850# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1852# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1854# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1856# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1858# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1870 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1871 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1880 real(wp) :: dyn_pres
1881 real(wp) :: nbub, r3tmp
1882 real(wp),
dimension(nb) :: rtmp
1884 real(wp),
dimension(2) :: re_k
1886 integer :: i,
j,
k,
l
1888 real(wp),
dimension(num_species) :: ys
1889 real(wp) :: e_mix, mix_mol_weight, t
1890 real(wp) :: pres_mag
1903#ifndef MFC_SIMULATION
1912 rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1914 if (.not. igr .or. num_fluids > 1)
then
1916 do i = adv_idx%beg, adv_idx%end
1921 if (relativity)
then
1925 b(2) = q_prim_vf(b_idx%beg)%sf(
j,
k,
l)
1926 b(3) = q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1928 b(1) = q_prim_vf(b_idx%beg)%sf(
j,
k,
l)
1929 b(2) = q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1930 b(3) = q_prim_vf(b_idx%beg + 2)%sf(
j,
k,
l)
1935 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1937 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1939 ga = 1._wp/sqrt(1._wp - v2)
1941 h = 1._wp + (gamma + 1)*q_prim_vf(e_idx)%sf(
j,
k,
l)/rho
1944 do i = b_idx%beg, b_idx%end
1945 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1947 if (n == 0) b2 = b2 + bx0**2
1951 vdotb = vdotb + q_prim_vf(momxb + i - 1)%sf(
j,
k,
l)*b(i)
1959 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k,
l) &
1960 - vdotb*b(i - momxb + 1)
1963 q_cons_vf(e_idx)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(e_idx)%sf(
j,
k,
l) &
1964 + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1970 do i = b_idx%beg, b_idx%end
1991 q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1995 do i = chemxb, chemxe
1996 ys(i - chemxb + 1) = q_prim_vf(i)%sf(
j,
k,
l)
2000 call get_mixture_molecular_weight(ys, mix_mol_weight)
2001 t = q_prim_vf(e_idx)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
2002 call get_mixture_energy_mass(t, ys, e_mix)
2005 dyn_pres + rho*e_mix
2010 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(b_idx%beg)%sf(
j,
k,
l)**2 + q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)**2)
2012 pres_mag = 0.5_wp*(q_prim_vf(b_idx%beg)%sf(
j,
k,
l)**2 + q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)**2 + q_prim_vf(b_idx%beg + 2)%sf(
j,
k,
l)**2)
2015 gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + dyn_pres + pres_mag &
2017 elseif ((model_eqns /= 4) .and. (bubbles_euler .neqv. .true.))
then
2020 gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + dyn_pres + pi_inf + qv
2021 else if ((model_eqns /= 4) .and. (bubbles_euler))
then
2024 (1._wp - q_prim_vf(alf_idx)%sf(
j,
k,
l))* &
2025 (gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + pi_inf)
2033 if (model_eqns == 3)
then
2034 do i = 1, num_fluids
2042 if (bubbles_euler)
then
2045 rtmp(i) = q_prim_vf(bub_idx%rs(i))%sf(
j,
k,
l)
2048 if (.not. qbmm)
then
2051 nbub = q_prim_vf(n_idx)%sf(
j,
k,
l)
2053 call s_comp_n_from_prim(real(q_prim_vf(alf_idx)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
2059 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
2060 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
2063 nbub = 3._wp*q_prim_vf(alf_idx)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
2066 if (
j == 0 .and.
k == 0 .and.
l == 0) print *,
'In convert, nbub:', nbub
2068 do i = bub_idx%beg, bub_idx%end
2074 do i = b_idx%beg, b_idx%end
2079 if (elasticity)
then
2087 if (hypoelasticity)
then
2090 if (g > verysmall)
then
2091 if (cont_damage) g = g*max((1._wp - q_prim_vf(damage_idx)%sf(
j,
k,
l)), 0._wp)
2094 (q_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g)
2096 if (any(i == shear_indices))
then
2098 (q_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g)
2105 if (hyperelasticity)
then
2112 if (surface_tension)
then
2116 if (cont_damage)
q_cons_vf(damage_idx)%sf(
j,
k,
l) = q_prim_vf(damage_idx)%sf(
j,
k,
l)
2118 if (hyper_cleaning)
q_cons_vf(psi_idx)%sf(
j,
k,
l) = q_prim_vf(psi_idx)%sf(
j,
k,
l)
2124 if (proc_rank == 0)
then
2125 call s_mpi_abort(
'Conversion from primitive to '// &
2126 'conservative variables not '// &
2127 'implemented. Exiting.')
2145 is1, is2, is3, s2b, s3b)
2147 integer,
intent(in) :: s2b, s3b
2148 real(wp),
dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:),
intent(in) :: qk_prim_vf
2149 real(wp),
dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:),
intent(inout) :: fk_vf
2150 real(wp),
dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, advxb:),
intent(inout) :: fk_src_vf
2152 type(int_bounds_info),
intent(in) :: is1, is2, is3
2157# 1203 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2158 real(wp),
dimension(num_fluids) :: alpha_rho_k
2159 real(wp),
dimension(num_fluids) :: alpha_k
2160 real(wp),
dimension(num_vels) :: vel_k
2161 real(wp),
dimension(num_species) :: y_k
2162# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2164 real(wp) :: vel_k_sum
2168 real(wp) :: pi_inf_k
2170 real(wp),
dimension(2) :: re_k
2172 real(wp) :: t_k, mix_mol_weight, r_gas
2174 integer :: i,
j,
k,
l
2181# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2182#if defined(MFC_OpenACC)
2183# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2185# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2186#elif defined(MFC_OpenMP)
2187# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2189# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2194#ifdef MFC_SIMULATION
2196# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2198# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2199#if defined(MFC_OpenACC)
2200# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2202# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2203#elif defined(MFC_OpenMP)
2204# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2206# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2208# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2210# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2212# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2214# 1230 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2221# 1235 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2222#if defined(MFC_OpenACC)
2223# 1235 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2225# 1235 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2226#elif defined(MFC_OpenMP)
2227# 1235 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2229# 1235 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2232 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2236# 1240 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2237#if defined(MFC_OpenACC)
2238# 1240 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2240# 1240 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241#elif defined(MFC_OpenMP)
2242# 1240 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2244# 1240 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2247 alpha_k(i - e_idx) = qk_prim_vf(
j,
k,
l, i)
2251# 1245 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2252#if defined(MFC_OpenACC)
2253# 1245 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2255# 1245 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2256#elif defined(MFC_OpenMP)
2257# 1245 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2259# 1245 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2262 vel_k(i) = qk_prim_vf(
j,
k,
l, contxe + i)
2267# 1251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2268#if defined(MFC_OpenACC)
2269# 1251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2271# 1251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2272#elif defined(MFC_OpenMP)
2273# 1251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2275# 1251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2278 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2281 pres_k = qk_prim_vf(
j,
k,
l, e_idx)
2282 if (elasticity)
then
2284 alpha_k, alpha_rho_k, re_k, &
2288 alpha_k, alpha_rho_k, re_k)
2295# 1269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2296#if defined(MFC_OpenACC)
2297# 1269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2299# 1269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2300#elif defined(MFC_OpenMP)
2301# 1269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2303# 1269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2305 do i = chemxb, chemxe
2306 y_k(i - chemxb + 1) = qk_prim_vf(
j,
k,
l, i)
2309 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2310 r_gas = gas_constant/mix_mol_weight
2311 t_k = pres_k/rho_k/r_gas
2312 call get_mixture_energy_mass(t_k, y_k, e_k)
2313 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2316 e_k = gamma_k*pres_k + pi_inf_k &
2317 + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2322# 1286 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2323#if defined(MFC_OpenACC)
2324# 1286 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2326# 1286 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2327#elif defined(MFC_OpenMP)
2328# 1286 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2330# 1286 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2333 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx(1))
2337# 1291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2338#if defined(MFC_OpenACC)
2339# 1291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2341# 1291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2342#elif defined(MFC_OpenMP)
2343# 1291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2345# 1291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2348 fk_vf(
j,
k,
l, contxe + dir_idx(i)) = &
2349 rho_k*vel_k(dir_idx(1)) &
2350 *vel_k(dir_idx(i)) &
2351 + pres_k*dir_flg(dir_idx(i))
2355 fk_vf(
j,
k,
l, e_idx) = vel_k(dir_idx(1))*(e_k + pres_k)
2360# 1304 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2361#if defined(MFC_OpenACC)
2362# 1304 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2364# 1304 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2365#elif defined(MFC_OpenMP)
2366# 1304 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2368# 1304 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2370 do i = 1, num_species
2371 fk_vf(
j,
k,
l, i - 1 + chemxb) = vel_k(dir_idx(1))*(rho_k*y_k(i))
2375 if (riemann_solver == 1 .or. riemann_solver == 4)
then
2377# 1311 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2378#if defined(MFC_OpenACC)
2379# 1311 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2381# 1311 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2382#elif defined(MFC_OpenMP)
2383# 1311 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2385# 1311 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2388 fk_vf(
j,
k,
l, i) = 0._wp
2389 fk_src_vf(
j,
k,
l, i) = alpha_k(i - e_idx)
2395# 1319 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2396#if defined(MFC_OpenACC)
2397# 1319 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2399# 1319 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2400#elif defined(MFC_OpenMP)
2401# 1319 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2403# 1319 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2406 fk_vf(
j,
k,
l, i) = vel_k(dir_idx(1))*alpha_k(i - e_idx)
2410# 1324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2411#if defined(MFC_OpenACC)
2412# 1324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2414# 1324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2415#elif defined(MFC_OpenMP)
2416# 1324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2418# 1324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2421 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx(1))
2430# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2432# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2433#if defined(MFC_OpenACC)
2434# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2436# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2437#elif defined(MFC_OpenMP)
2438# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2440# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2442# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2444# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2446# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2454# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2456# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2460# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2462# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2464# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2466# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2468# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2470# 1340 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2472# 1342 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2473 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2474 integer,
intent(in) ::
k,
l, r
2475# 1347 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2476 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2477# 1349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2479 real(wp) :: alpha_k_sum
2481 if (num_fluids == 1)
then
2482 alpha_rho_k(1) = q_vf(contxb)%sf(
k,
l, r)
2483 if (igr .or. bubbles_euler)
then
2486 alpha_k(1) = q_vf(advxb)%sf(
k,
l, r)
2490 do i = 1, num_fluids - 1
2491 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2492 alpha_k(i) = q_vf(advxb + i - 1)%sf(
k,
l, r)
2494 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2495 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2497 do i = 1, num_fluids
2498 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2499 alpha_k(i) = q_vf(advxb + i - 1)%sf(
k,
l, r)
2506 do i = 1, num_fluids
2507 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2508 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2509 alpha_k_sum = alpha_k_sum + alpha_k(i)
2511 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2514 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(advxb)%sf(
k,
l, r)
2523#ifdef MFC_POST_PROCESS
2527#ifdef MFC_SIMULATION
2529# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2531# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2532 use iso_fortran_env,
only: output_unit
2533# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2535# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2536 print *,
'm_variables_conversion.fpp:1399: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2537# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2539# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2540 call flush (output_unit)
2541# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2543# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2545# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2547# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2548#if defined(MFC_OpenACC)
2549# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2551# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2552#elif defined(MFC_OpenMP)
2553# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2555# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2557# 1399 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2559 if (bubbles_euler)
then
2561# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2563# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2564 use iso_fortran_env,
only: output_unit
2565# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2567# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2568 print *,
'm_variables_conversion.fpp:1401: ',
'@:DEALLOCATE(bubrs_vc)'
2569# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2571# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2572 call flush (output_unit)
2573# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2575# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2577# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2579# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2580#if defined(MFC_OpenACC)
2581# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2583# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2584#elif defined(MFC_OpenMP)
2585# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2587# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2589# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2594# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2596# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2597 use iso_fortran_env,
only: output_unit
2598# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2600# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2601 print *,
'm_variables_conversion.fpp:1404: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2602# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2604# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2605 call flush (output_unit)
2606# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2608# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2610# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2612# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2613#if defined(MFC_OpenACC)
2614# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2616# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2617#elif defined(MFC_OpenMP)
2618# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2620# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2622# 1404 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2624 if (bubbles_euler)
then
2626# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2628# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2629 use iso_fortran_env,
only: output_unit
2630# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2632# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2633 print *,
'm_variables_conversion.fpp:1406: ',
'@:DEALLOCATE(bubrs_vc)'
2634# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2636# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2637 call flush (output_unit)
2638# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2640# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2642# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2644# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2645#if defined(MFC_OpenACC)
2646# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2648# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2649#elif defined(MFC_OpenMP)
2650# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2652# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2654# 1406 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2661#ifndef MFC_PRE_PROCESS
2665# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2667# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2669# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2671# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2673# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2675# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2677# 1415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2680 real(wp),
intent(in) :: pres
2681 real(wp),
intent(in) :: rho, gamma, pi_inf, qv
2682 real(wp),
intent(in) :: H
2683# 1423 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2684 real(wp),
dimension(num_fluids),
intent(in) :: adv
2685# 1425 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2686 real(wp),
intent(in) :: vel_sum
2687 real(wp),
intent(in) :: c_c
2688 real(wp),
intent(out) :: c
2690 real(wp) :: blkmod1, blkmod2
2695 if (avg_state == 1 .and. abs(c_c) > verysmall)
then
2696 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2698 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2700 elseif (relativity)
then
2702 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2704 if (alt_soundspeed)
then
2705 blkmod1 = ((
gammas(1) + 1._wp)*pres + &
2707 blkmod2 = ((
gammas(2) + 1._wp)*pres + &
2709 c = (1._wp/(rho*(adv(1)/blkmod1 + adv(2)/blkmod2)))
2710 elseif (model_eqns == 3)
then
2713# 1451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2714#if defined(MFC_OpenACC)
2715# 1451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2717# 1451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2718#elif defined(MFC_OpenMP)
2719# 1451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2721# 1451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2723 do q = 1, num_fluids
2724 c = c + adv(q)*
gs_min(q)* &
2728 elseif (((model_eqns == 4) .or. (model_eqns == 2 .and. bubbles_euler)))
then
2731 if (mpp_lim .and. (num_fluids > 1))
then
2732 c = (1._wp/gamma + 1._wp)* &
2733 (pres + pi_inf/(gamma + 1._wp))/rho
2736 (1._wp/gamma + 1._wp)* &
2737 (pres + pi_inf/(gamma + 1._wp))/ &
2738 (rho*(1._wp - adv(num_fluids)))
2741 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2744 if (mixture_err .and. c < 0._wp)
then
2753#ifndef MFC_PRE_PROCESS
2757# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2759# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2761# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2763# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2765# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2767# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2769# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2771# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2773# 1485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2775# 1487 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2777 real(wp),
intent(in) :: B(3), rho, c
2778 real(wp),
intent(in) :: h
2779 real(wp),
intent(out) :: c_fast
2780 integer,
intent(in) :: norm
2782 real(wp) :: B2, term, disc
2786 if (.not. relativity)
then
2787 term = c**2 + b2/rho
2788 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2791 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2792 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2796 if (disc < 0._wp)
then
2797 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2798 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2802 c_fast = sqrt(0.5_wp*(term + sqrt(disc)))
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
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...
logical bubbles_euler
Bubbles euler on/off.
integer, dimension(2) re_size
logical hypoelasticity
hypoelasticity modeling
integer num_fluids
number of fluids in the simulation
type(int_bounds_info) stress_idx
Indexes of first and last shear stress eqns.
integer gamma_idx
Index of specific heat ratio func. eqn.
logical viscous
Viscous effects.
integer model_eqns
Multicomponent flow model.
real(wp), dimension(:), allocatable ps_inf
type(physical_parameters), dimension(num_fluids_max) fluid_pp
Database of the physical parameters of each of the fluids that is present in the flow....
real(wp), dimension(:), allocatable cvs
integer pi_inf_idx
Index of liquid stiffness func. eqn.
real(wp), dimension(:), allocatable qvps
integer, dimension(:, :), allocatable re_idx
real(wp), dimension(:), allocatable qvs
real(wp), dimension(:), allocatable pi_infs
logical mhd
Magnetohydrodynamics.
integer, dimension(3) shear_indices
Indices of the stress components that represent shear stress.
logical mpp_lim
Mixture physical parameters (MPP) limits.
real(wp), dimension(:), allocatable gammas
real(wp), dimension(:), allocatable gs_min
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine s_compute_fast_magnetosonic_speed(rho, c, b, norm, c_fast, h)
Computes the fast magnetosonic wave speed from the sound speed, density, and magnetic field component...
subroutine, public s_convert_primitive_to_flux_variables(qk_prim_vf, fk_vf, fk_src_vf, is1, is2, is3, s2b, s3b)
The following subroutine handles the conversion between the primitive variables and the Eulerian flux...
real(wp), dimension(:), allocatable, public gammas
real(wp), dimension(:, :, :), allocatable, public pi_inf_sf
Scalar liquid stiffness function.
real(wp), dimension(:), allocatable, public ps_inf
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 s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv, vel_sum, c_c, c, qv)
Computes the speed of sound from thermodynamic state variables, supporting multiple equation-of-state...
real(wp), dimension(:), allocatable, public gs_min
real(wp), dimension(:), allocatable, public qvs
real(wp), dimension(:, :), allocatable res_vc
subroutine, public s_initialize_mv(qk_cons_vf, mv)
Initializes bubble mass-vapor values at quadrature nodes from the conserved moment statistics.
subroutine, public s_initialize_pb(qk_cons_vf, mv, pb)
Initializes bubble internal pressures at quadrature nodes using isothermal relations from the Preston...
real(wp), dimension(:, :, :), allocatable, public rho_sf
Scalar density function.
real(wp), dimension(:), allocatable, public cvs
subroutine, public s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoyks, pres, t, stress, mom, g, pres_mag)
This procedure conditionally calculates the appropriate pressure.
real(wp), dimension(:, :, :), allocatable, public qv_sf
Scalar liquid energy reference function.
impure subroutine, public s_convert_primitive_to_conservative_variables(q_prim_vf, q_cons_vf)
The following procedure handles the conversion between the primitive variables and the conservative v...
real(wp), dimension(:), allocatable, public qvps
subroutine, public s_convert_conservative_to_primitive_variables(qk_cons_vf, q_t_sf, qk_prim_vf, ibounds)
The following procedure handles the conversion between the conservative variables and the primitive v...
impure subroutine, public s_initialize_variables_conversion_module
The computation of parameters, the allocation of memory, the association of pointers and/or the execu...
subroutine, public s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, re_k, g_k, g)
This subroutine is designed for the volume fraction model and provided a set of either conservative o...
subroutine, public s_convert_mixture_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv)
This subroutine is designed for the gamma/pi_inf model and provided a set of either conservative or p...
real(wp), dimension(:, :, :), allocatable, public gamma_sf
Scalar sp. heat ratio function.
real(wp), dimension(:), allocatable, public pi_infs
integer, dimension(:), allocatable bubrs_vc
real(wp), dimension(:), allocatable gs_vc
impure subroutine s_finalize_variables_conversion_module()
Deallocates fluid property arrays and post-processing fields allocated during module initialization.
subroutine, public s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, re_k, g_k, g)
Dispatch to the s_convert_mixture_to_mixture_variables and s_convert_species_to_mixture_variables sub...
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).