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# 104 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
234# 119 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
238# 143 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
240# 171 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 182 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
244# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
246# 204 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 214 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
250# 225 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
252# 236 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 246 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
256# 252 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
258# 258 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 264 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
262# 270 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
264# 272 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
265# 273 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
267# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
269# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
275# 63 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
277# 81 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
279# 88 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
281# 111 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
283# 127 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
285# 153 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
287# 159 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
289# 167 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
291# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
292# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
298# 9 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
301# 14 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
302# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
311 use m_mpi_proxy !< message passing interface (mpi) module proxy
317 use m_thermochem,
only: &
318 num_species, get_temperature, get_pressure, gas_constant, &
319 get_mixture_molecular_weight, get_mixture_energy_mass
336#ifndef MFC_PRE_PROCESS
343#ifndef MFC_SIMULATION
346# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
347#if defined(MFC_OpenACC)
348# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
350# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
351#elif defined(MFC_OpenMP)
352# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
354# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
358 real(wp),
allocatable,
dimension(:) ::
gs_vc
360 real(wp),
allocatable,
dimension(:, :) ::
res_vc
362# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
363#if defined(MFC_OpenACC)
364# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
366# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
367#elif defined(MFC_OpenMP)
368# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
370# 55 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
375# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
376#if defined(MFC_OpenACC)
377# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
379# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
380#elif defined(MFC_OpenMP)
381# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
383# 58 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
386 real(wp),
allocatable,
dimension(:, :, :),
public ::
rho_sf
387 real(wp),
allocatable,
dimension(:, :, :),
public ::
gamma_sf
388 real(wp),
allocatable,
dimension(:, :, :),
public ::
pi_inf_sf
389 real(wp),
allocatable,
dimension(:, :, :),
public ::
qv_sf
408 rho, gamma, pi_inf, qv, Re_K, G_K, G)
410 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
411 integer,
intent(in) :: i,
j,
k
412 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
413 real(wp),
optional,
dimension(2),
intent(out) :: re_k
414 real(wp),
optional,
intent(out) :: g_k
415 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
419 rho, gamma, pi_inf, qv)
423 rho, gamma, pi_inf, qv, re_k, g_k,
g)
443 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, stress, mom, G, pres_mag)
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# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
463# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
465# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
467# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
469# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
471# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
473# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
475# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
477# 118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
479# 120 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
481 real(stp),
intent(in) :: energy, alf
482 real(wp),
intent(in) :: dyn_p
483 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
484 real(wp),
intent(out) :: pres
485 real(wp),
intent(inout) :: t
486 real(stp),
intent(in),
optional :: stress, mom
487 real(wp),
intent(in),
optional ::
g, pres_mag
490 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
491 real(wp),
dimension(1:num_species) :: y_rs
493 real(wp) :: e_per_kg, pdyn_per_kg
498# 139 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
503 pres = (energy - dyn_p - pi_inf - qv - pres_mag)/gamma
505 pres = (energy - dyn_p - pi_inf - qv)/gamma
507 pres = ((energy - dyn_p)/(1._wp - alf) - pi_inf - qv)/gamma
509 pres = (
pref + pi_inf)* &
512 )**(1/gamma + 1) - pi_inf
520 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*
g)
523 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*
g)
530 0.5_wp*(mom**2._wp)/rho - &
536# 188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
554 rho, gamma, pi_inf, qv)
556 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
557 integer,
intent(in) :: i,
j,
k
559 real(wp),
intent(out),
target :: rho
560 real(wp),
intent(out),
target :: gamma
561 real(wp),
intent(out),
target :: pi_inf
562 real(wp),
intent(out),
target :: qv
566 rho = q_vf(1)%sf(i,
j,
k)
572#ifdef MFC_POST_PROCESS
598 gamma, pi_inf, qv, Re_K, G_K, G)
600 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
602 integer,
intent(in) ::
k,
l, r
604 real(wp),
intent(out),
target :: rho
605 real(wp),
intent(out),
target :: gamma
606 real(wp),
intent(out),
target :: pi_inf
607 real(wp),
intent(out),
target :: qv
609 real(wp),
optional,
dimension(2),
intent(out) :: re_k
610 real(wp),
optional,
intent(out) :: g_k
611 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
612 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
629 rho = 0._wp; gamma = 0._wp; pi_inf = 0._wp; qv = 0._wp
631 rho = rho + alpha_rho_k(i)
632 gamma = gamma + alpha_k(i)*
gammas(i)
633 pi_inf = pi_inf + alpha_k(i)*
pi_infs(i)
634 qv = qv + alpha_rho_k(i)*
qvs(i)
642 re_k(i) = dflt_real;
if (re_size(i) > 0) re_k(i) = 0._wp
645 re_k(i) = alpha_k(re_idx(i,
j))/
fluid_pp(re_idx(i,
j))%Re(i) &
649 re_k(i) = 1._wp/max(re_k(i), sgm_eps)
654 if (
present(g_k))
then
657 g_k = g_k + alpha_k(i)*
g(i)
659 g_k = max(0._wp, g_k)
663#ifdef MFC_POST_PROCESS
674 gamma_K, pi_inf_K, qv_K, &
675 alpha_K, alpha_rho_K, Re_K, &
678# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
680# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
682# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
684# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
686# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
688# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
690# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
692# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
694# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
696# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
698# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
700# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
702# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
704# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
706# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
708# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
710# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
712# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
714 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
715# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
716 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
717 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
718# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
719 real(wp),
dimension(2),
intent(out) :: re_k
720 real(wp),
optional,
intent(out) :: g_k
721 real(wp) :: alpha_k_sum
731 rho_k = alpha_rho_k(1)
739 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
740 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
741 alpha_k_sum = alpha_k_sum + alpha_k(i)
743 alpha_k = alpha_k/max(alpha_k_sum, sgm_eps)
745 rho_k = 0._wp; gamma_k = 0._wp; pi_inf_k = 0._wp; qv_k = 0._wp
747 rho_k = rho_k + alpha_rho_k(i)
748 gamma_k = gamma_k + alpha_k(i)*
gammas(i)
749 pi_inf_k = pi_inf_k + alpha_k(i)*
pi_infs(i)
750 qv_k = qv_k + alpha_rho_k(i)*
qvs(i)
754 if (
present(g_k))
then
759 g_k = g_k + alpha_k(i)*
g(i)
761 g_k = max(0._wp, g_k)
768 if (re_size(i) > 0) re_k(i) = 0._wp
771 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) &
775 re_k(i) = 1._wp/max(re_k(i), sgm_eps)
790# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
791#if defined(MFC_OpenACC)
792# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
794# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
795#elif defined(MFC_OpenMP)
796# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
798# 409 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
802# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
804# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
805 use iso_fortran_env,
only: output_unit
806# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
808# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
809 print *,
'm_variables_conversion.fpp:411: ',
'@:ALLOCATE(gammas (1:num_fluids))'
810# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
812# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813 call flush (output_unit)
814# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
816# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
818# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
820# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
822# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
824# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
825#if defined(MFC_OpenACC)
826# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
828# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
829#elif defined(MFC_OpenMP)
830# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
832# 411 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
835# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
837# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
838 use iso_fortran_env,
only: output_unit
839# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
841# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
842 print *,
'm_variables_conversion.fpp:412: ',
'@:ALLOCATE(gs_min (1:num_fluids))'
843# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
845# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
846 call flush (output_unit)
847# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
849# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
851# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
852 allocate (
gs_min(1:num_fluids))
853# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
855# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
857# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
858#if defined(MFC_OpenACC)
859# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
861# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
862#elif defined(MFC_OpenMP)
863# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
865# 412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
868# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
870# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
871 use iso_fortran_env,
only: output_unit
872# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
874# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
875 print *,
'm_variables_conversion.fpp:413: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
876# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
878# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879 call flush (output_unit)
880# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
882# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
884# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
885 allocate (
pi_infs(1:num_fluids))
886# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
888# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
890# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
891#if defined(MFC_OpenACC)
892# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
894# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
895#elif defined(MFC_OpenMP)
896# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
898# 413 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
901# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
903# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
904 use iso_fortran_env,
only: output_unit
905# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
907# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
908 print *,
'm_variables_conversion.fpp:414: ',
'@:ALLOCATE(ps_inf(1:num_fluids))'
909# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
911# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
912 call flush (output_unit)
913# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
915# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
917# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
918 allocate (
ps_inf(1:num_fluids))
919# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
921# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
923# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
924#if defined(MFC_OpenACC)
925# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
927# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
928#elif defined(MFC_OpenMP)
929# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
931# 414 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
934# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
936# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
937 use iso_fortran_env,
only: output_unit
938# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
940# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
941 print *,
'm_variables_conversion.fpp:415: ',
'@:ALLOCATE(cvs (1:num_fluids))'
942# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
944# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
945 call flush (output_unit)
946# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
948# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
950# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
951 allocate (
cvs(1:num_fluids))
952# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
954# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
956# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
957#if defined(MFC_OpenACC)
958# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
960# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
961#elif defined(MFC_OpenMP)
962# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
964# 415 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
967# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
969# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
970 use iso_fortran_env,
only: output_unit
971# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
973# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
974 print *,
'm_variables_conversion.fpp:416: ',
'@:ALLOCATE(qvs (1:num_fluids))'
975# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
977# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
978 call flush (output_unit)
979# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
981# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
983# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
984 allocate (
qvs(1:num_fluids))
985# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
987# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
989# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
990#if defined(MFC_OpenACC)
991# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
993# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
994#elif defined(MFC_OpenMP)
995# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
997# 416 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1000# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1002# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1003 use iso_fortran_env,
only: output_unit
1004# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1006# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1007 print *,
'm_variables_conversion.fpp:417: ',
'@:ALLOCATE(qvps (1:num_fluids))'
1008# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1010# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1011 call flush (output_unit)
1012# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1014# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1016# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1017 allocate (
qvps(1:num_fluids))
1018# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1020# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1022# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1023#if defined(MFC_OpenACC)
1024# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1026# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1027#elif defined(MFC_OpenMP)
1028# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1030# 417 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1033# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1035# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1036 use iso_fortran_env,
only: output_unit
1037# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1039# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1040 print *,
'm_variables_conversion.fpp:418: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
1041# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1043# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1044 call flush (output_unit)
1045# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1047# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1049# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1050 allocate (
gs_vc(1:num_fluids))
1051# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1053# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1055# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1056#if defined(MFC_OpenACC)
1057# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1059# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1060#elif defined(MFC_OpenMP)
1061# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1063# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1066 do i = 1, num_fluids
1067 gammas(i) = fluid_pp(i)%gamma
1069 pi_infs(i) = fluid_pp(i)%pi_inf
1070 gs_vc(i) = fluid_pp(i)%G
1072 cvs(i) = fluid_pp(i)%cv
1073 qvs(i) = fluid_pp(i)%qv
1074 qvps(i) = fluid_pp(i)%qvp
1077# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1078#if defined(MFC_OpenACC)
1079# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1081# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1082#elif defined(MFC_OpenMP)
1083# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1085# 430 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1088#ifdef MFC_SIMULATION
1092# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1094# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1095 use iso_fortran_env,
only: output_unit
1096# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1098# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1099 print *,
'm_variables_conversion.fpp:435: ',
'@:ALLOCATE(Res_vc(1:2, 1:Re_size_max))'
1100# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1102# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1103 call flush (output_unit)
1104# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1106# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1108# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1109 allocate (
res_vc(1:2, 1:re_size_max))
1110# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1112# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1114# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1115#if defined(MFC_OpenACC)
1116# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1118# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1119#elif defined(MFC_OpenMP)
1120# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1122# 435 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1125 do j = 1, re_size(i)
1126 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1131# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1132#if defined(MFC_OpenACC)
1133# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1135# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1136#elif defined(MFC_OpenMP)
1137# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1139# 442 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1144 if (bubbles_euler)
then
1146# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1148# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1149 use iso_fortran_env,
only: output_unit
1150# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1152# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1153 print *,
'm_variables_conversion.fpp:447: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
1154# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1156# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1157 call flush (output_unit)
1158# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1160# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1162# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1164# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1166# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1168# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1169#if defined(MFC_OpenACC)
1170# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1172# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1173#elif defined(MFC_OpenMP)
1174# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1176# 447 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1182# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1183#if defined(MFC_OpenACC)
1184# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1186# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1187#elif defined(MFC_OpenMP)
1188# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1190# 451 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1194#ifdef MFC_POST_PROCESS
1204 allocate (
rho_sf(-buff_size:m + buff_size, &
1205 -buff_size:n + buff_size, &
1206 -buff_size:p + buff_size))
1207 allocate (
gamma_sf(-buff_size:m + buff_size, &
1208 -buff_size:n + buff_size, &
1209 -buff_size:p + buff_size))
1210 allocate (
pi_inf_sf(-buff_size:m + buff_size, &
1211 -buff_size:n + buff_size, &
1212 -buff_size:p + buff_size))
1213 allocate (
qv_sf(-buff_size:m + buff_size, &
1214 -buff_size:n + buff_size, &
1215 -buff_size:p + buff_size))
1220 allocate (
rho_sf(-buff_size:m + buff_size, &
1221 -buff_size:n + buff_size, &
1223 allocate (
gamma_sf(-buff_size:m + buff_size, &
1224 -buff_size:n + buff_size, &
1226 allocate (
pi_inf_sf(-buff_size:m + buff_size, &
1227 -buff_size:n + buff_size, &
1229 allocate (
qv_sf(-buff_size:m + buff_size, &
1230 -buff_size:n + buff_size, &
1237 allocate (
rho_sf(-buff_size:m + buff_size, &
1240 allocate (
gamma_sf(-buff_size:m + buff_size, &
1243 allocate (
pi_inf_sf(-buff_size:m + buff_size, &
1246 allocate (
qv_sf(-buff_size:m + buff_size, &
1258 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1260 real(stp),
dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:),
intent(inout) :: mv
1262 integer :: i,
j,
k,
l
1263 real(wp) :: mu, sig, nbub_sc
1265 do l = idwint(3)%beg, idwint(3)%end
1266 do k = idwint(2)%beg, idwint(2)%end
1267 do j = idwint(1)%beg, idwint(1)%end
1269 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1272# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1273#if defined(MFC_OpenACC)
1274# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1276# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1277#elif defined(MFC_OpenMP)
1278# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1280# 531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1283 mu = qk_cons_vf(bubxb + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1284 sig = (qk_cons_vf(bubxb + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1286 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1287 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1288 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1289 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1300 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1302 real(stp),
dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:),
intent(in) :: mv
1303 real(stp),
dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:),
intent(inout) :: pb
1305 integer :: i,
j,
k,
l
1306 real(wp) :: mu, sig, nbub_sc
1308 do l = idwint(3)%beg, idwint(3)%end
1309 do k = idwint(2)%beg, idwint(2)%end
1310 do j = idwint(1)%beg, idwint(1)%end
1312 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1315# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1316#if defined(MFC_OpenACC)
1317# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1319# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1320#elif defined(MFC_OpenMP)
1321# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1323# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1326 mu = qk_cons_vf(bubxb + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1327 sig = (qk_cons_vf(bubxb + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1330 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))
1331 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))
1332 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))
1333 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))
1352 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1353 type(scalar_field),
intent(inout) :: q_t_sf
1354 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1355 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1356# 601 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1357 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1358 real(wp),
dimension(nb) :: nrtmp
1359 real(wp) :: rhoyks(1:num_species)
1360# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1361 real(wp),
dimension(2) :: re_k
1362 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1364 real(wp) :: vftmp, nbub_sc
1370 integer :: i,
j,
k,
l
1373 real(wp) :: pres_mag
1382 real(wp) :: f, dga_dw, dp_dw, df_dw
1386# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1388# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1389#if defined(MFC_OpenACC)
1390# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1392# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1393#elif defined(MFC_OpenMP)
1394# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1396# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1398# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1400# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1402# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1404# 629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1406 do l = ibounds(3)%beg, ibounds(3)%end
1407 do k = ibounds(2)%beg, ibounds(2)%end
1408 do j = ibounds(1)%beg, ibounds(1)%end
1413 if (model_eqns /= 4)
then
1414#ifdef MFC_SIMULATION
1416 if (elasticity)
then
1418 alpha_rho_k, re_k, g_k,
gs_vc)
1421 alpha_k, alpha_rho_k, re_k)
1425 if (elasticity)
then
1427 rho_k, gamma_k, pi_inf_k, qv_k, re_k, g_k, fluid_pp(:)%G)
1430 rho_k, gamma_k, pi_inf_k, qv_k)
1435 if (relativity)
then
1438 b(2) = qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)
1439 b(3) = qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1441 b(1) = qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)
1442 b(2) = qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1443 b(3) = qk_cons_vf(b_idx%beg + 2)%sf(
j,
k,
l)
1445 b2 = b(1)**2 + b(2)**2 + b(3)**2
1449# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1450#if defined(MFC_OpenACC)
1451# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1453# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1454#elif defined(MFC_OpenMP)
1455# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1457# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1460 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1465# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1466#if defined(MFC_OpenACC)
1467# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1469# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1470#elif defined(MFC_OpenMP)
1471# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1473# 678 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1476 s = s + qk_cons_vf(momxb + i - 1)%sf(
j,
k,
l)*b(i)
1479 e = qk_cons_vf(e_idx)%sf(
j,
k,
l)
1483# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1484#if defined(MFC_OpenACC)
1485# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1487# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1488#elif defined(MFC_OpenMP)
1489# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1491# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1494 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1500# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1501#if defined(MFC_OpenACC)
1502# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1504# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1505#elif defined(MFC_OpenMP)
1506# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1508# 693 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1510 do iter = 1, relativity_cons_to_prim_max_iter
1511 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1512 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1513 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1520 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1522 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1523 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1527 if (abs(dw) < 1.e-12_wp*w)
exit
1531 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1532 qk_prim_vf(e_idx)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1536# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1537#if defined(MFC_OpenACC)
1538# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1540# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1541#elif defined(MFC_OpenMP)
1542# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1544# 719 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1547 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)
1549 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1552# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1553#if defined(MFC_OpenACC)
1554# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1556# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1557#elif defined(MFC_OpenMP)
1558# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1560# 725 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1562 do i = b_idx%beg, b_idx%end
1563 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1572# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1573#if defined(MFC_OpenACC)
1574# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1576# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1577#elif defined(MFC_OpenMP)
1578# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1580# 735 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1582 do i = chemxb, chemxe
1583 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1587# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1588#if defined(MFC_OpenACC)
1589# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1591# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1592#elif defined(MFC_OpenMP)
1593# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1595# 740 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1598 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1602# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1603#if defined(MFC_OpenACC)
1604# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1606# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1607#elif defined(MFC_OpenMP)
1608# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1610# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1612 do i = chemxb, chemxe
1613 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1617# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1618#if defined(MFC_OpenACC)
1619# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1621# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1622#elif defined(MFC_OpenMP)
1623# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1625# 750 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1628 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1632#ifdef MFC_SIMULATION
1633 rho_k = max(rho_k, sgm_eps)
1637# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1638#if defined(MFC_OpenACC)
1639# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1641# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1642#elif defined(MFC_OpenMP)
1643# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1645# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1648 if (model_eqns /= 4)
then
1649 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l) &
1651 dyn_pres_k = dyn_pres_k + 5.e-1_wp*qk_cons_vf(i)%sf(
j,
k,
l) &
1652 *qk_prim_vf(i)%sf(
j,
k,
l)
1654 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l) &
1655 /qk_cons_vf(1)%sf(
j,
k,
l)
1661# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1662#if defined(MFC_OpenACC)
1663# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1665# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1666#elif defined(MFC_OpenMP)
1667# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1669# 774 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1671 do i = 1, num_species
1672 rhoyks(i) = qk_cons_vf(chemxb + i - 1)%sf(
j,
k,
l)
1675 t = q_t_sf%sf(
j,
k,
l)
1680 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)
1682 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)
1689 qk_cons_vf(alf_idx)%sf(
j,
k,
l), &
1690 dyn_pres_k, pi_inf_k, gamma_k, rho_k, &
1691 qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1693 qk_prim_vf(e_idx)%sf(
j,
k,
l) = pres
1696 q_t_sf%sf(
j,
k,
l) = t
1699 if (bubbles_euler)
then
1701# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1702#if defined(MFC_OpenACC)
1703# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1705# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1706#elif defined(MFC_OpenMP)
1707# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1709# 804 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1715 vftmp = qk_cons_vf(alf_idx)%sf(
j,
k,
l)
1719 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1723# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1724#if defined(MFC_OpenACC)
1725# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1727# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1728#elif defined(MFC_OpenMP)
1729# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1731# 816 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1734 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1737#ifdef MFC_SIMULATION
1738 qk_prim_vf(bubxb)%sf(
j,
k,
l) = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1743 qk_prim_vf(n_idx)%sf(
j,
k,
l) = qk_cons_vf(n_idx)%sf(
j,
k,
l)
1744 nbub_sc = qk_prim_vf(n_idx)%sf(
j,
k,
l)
1746 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1750# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1751#if defined(MFC_OpenACC)
1752# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1754# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1755#elif defined(MFC_OpenMP)
1756# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1758# 833 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1761 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1768# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1769#if defined(MFC_OpenACC)
1770# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1772# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1773#elif defined(MFC_OpenMP)
1774# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1776# 841 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1778 do i = b_idx%beg, b_idx%end
1779 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1783 if (elasticity)
then
1785# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1786#if defined(MFC_OpenACC)
1787# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1789# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1790#elif defined(MFC_OpenMP)
1791# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1793# 848 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1796 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1800 if (hypoelasticity)
then
1801 if (cont_damage) g_k = g_k*max((1._wp - qk_cons_vf(damage_idx)%sf(
j,
k,
l)), 0._wp)
1803# 856 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1804#if defined(MFC_OpenACC)
1805# 856 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1807# 856 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1808#elif defined(MFC_OpenMP)
1809# 856 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1811# 856 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1815 if (g_k > verysmall)
then
1816 qk_prim_vf(e_idx)%sf(
j,
k,
l) = qk_prim_vf(e_idx)%sf(
j,
k,
l) - &
1817 ((qk_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g_k))/gamma_k
1819 if (any(i == shear_indices))
then
1820 qk_prim_vf(e_idx)%sf(
j,
k,
l) = qk_prim_vf(e_idx)%sf(
j,
k,
l) - &
1821 ((qk_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g_k))/gamma_k
1827 if (hyperelasticity)
then
1829# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1830#if defined(MFC_OpenACC)
1831# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1833# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1834#elif defined(MFC_OpenMP)
1835# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1837# 872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1840 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1844 if (.not. igr .or. num_fluids > 1)
then
1846# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1847#if defined(MFC_OpenACC)
1848# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1850# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1851#elif defined(MFC_OpenMP)
1852# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1854# 879 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1857 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1861 if (surface_tension)
then
1862 qk_prim_vf(c_idx)%sf(
j,
k,
l) = qk_cons_vf(c_idx)%sf(
j,
k,
l)
1865 if (cont_damage) qk_prim_vf(damage_idx)%sf(
j,
k,
l) = qk_cons_vf(damage_idx)%sf(
j,
k,
l)
1867 if (hyper_cleaning) qk_prim_vf(psi_idx)%sf(
j,
k,
l) = qk_cons_vf(psi_idx)%sf(
j,
k,
l)
1868#ifdef MFC_POST_PROCESS
1869 if (bubbles_lagrange) qk_prim_vf(beta_idx)%sf(
j,
k,
l) = qk_cons_vf(beta_idx)%sf(
j,
k,
l)
1876# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1878# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1879#if defined(MFC_OpenACC)
1880# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1882# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1883#elif defined(MFC_OpenMP)
1884# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1886# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1888# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1890# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1892# 899 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1904 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1905 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1914 real(wp) :: dyn_pres
1915 real(wp) :: nbub, r3tmp
1916 real(wp),
dimension(nb) :: rtmp
1918 real(wp),
dimension(2) :: re_k
1920 integer :: i,
j,
k,
l
1922 real(wp),
dimension(num_species) :: ys
1923 real(wp) :: e_mix, mix_mol_weight, t
1924 real(wp) :: pres_mag
1937#ifndef MFC_SIMULATION
1946 rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1948 if (.not. igr .or. num_fluids > 1)
then
1950 do i = adv_idx%beg, adv_idx%end
1955 if (relativity)
then
1959 b(2) = q_prim_vf(b_idx%beg)%sf(
j,
k,
l)
1960 b(3) = q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1962 b(1) = q_prim_vf(b_idx%beg)%sf(
j,
k,
l)
1963 b(2) = q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1964 b(3) = q_prim_vf(b_idx%beg + 2)%sf(
j,
k,
l)
1969 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1971 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1973 ga = 1._wp/sqrt(1._wp - v2)
1975 h = 1._wp + (gamma + 1)*q_prim_vf(e_idx)%sf(
j,
k,
l)/rho
1978 do i = b_idx%beg, b_idx%end
1979 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1981 if (n == 0) b2 = b2 + bx0**2
1985 vdotb = vdotb + q_prim_vf(momxb + i - 1)%sf(
j,
k,
l)*b(i)
1993 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k,
l) &
1994 - vdotb*b(i - momxb + 1)
1997 q_cons_vf(e_idx)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(e_idx)%sf(
j,
k,
l) &
1998 + 0.5_wp*(b2 + v2*b2 - vdotb**2)
2004 do i = b_idx%beg, b_idx%end
2025 q_prim_vf(i)%sf(
j,
k,
l)/2._wp
2029 do i = chemxb, chemxe
2030 ys(i - chemxb + 1) = q_prim_vf(i)%sf(
j,
k,
l)
2034 call get_mixture_molecular_weight(ys, mix_mol_weight)
2035 t = q_prim_vf(e_idx)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
2036 call get_mixture_energy_mass(t, ys, e_mix)
2039 dyn_pres + rho*e_mix
2044 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)
2046 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)
2049 gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + dyn_pres + pres_mag &
2051 elseif ((model_eqns /= 4) .and. (bubbles_euler .neqv. .true.))
then
2054 gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + dyn_pres + pi_inf + qv
2055 else if ((model_eqns /= 4) .and. (bubbles_euler))
then
2058 (1._wp - q_prim_vf(alf_idx)%sf(
j,
k,
l))* &
2059 (gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + pi_inf)
2067 if (model_eqns == 3)
then
2068 do i = 1, num_fluids
2076 if (bubbles_euler)
then
2079 rtmp(i) = q_prim_vf(bub_idx%rs(i))%sf(
j,
k,
l)
2082 if (.not. qbmm)
then
2085 nbub = q_prim_vf(n_idx)%sf(
j,
k,
l)
2087 call s_comp_n_from_prim(real(q_prim_vf(alf_idx)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
2093 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
2094 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
2097 nbub = 3._wp*q_prim_vf(alf_idx)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
2100 do i = bub_idx%beg, bub_idx%end
2106 do i = b_idx%beg, b_idx%end
2111 if (elasticity)
then
2119 if (hypoelasticity)
then
2120 if (cont_damage) g = g*max((1._wp - q_prim_vf(damage_idx)%sf(
j,
k,
l)), 0._wp)
2123 if (g > verysmall)
then
2125 (q_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g)
2127 if (any(i == shear_indices))
then
2129 (q_prim_vf(i)%sf(
j,
k,
l)**2._wp)/(4._wp*g)
2136 if (hyperelasticity)
then
2143 if (surface_tension)
then
2147 if (cont_damage)
q_cons_vf(damage_idx)%sf(
j,
k,
l) = q_prim_vf(damage_idx)%sf(
j,
k,
l)
2149 if (hyper_cleaning)
q_cons_vf(psi_idx)%sf(
j,
k,
l) = q_prim_vf(psi_idx)%sf(
j,
k,
l)
2155 if (proc_rank == 0)
then
2156 call s_mpi_abort(
'Conversion from primitive to '// &
2157 'conservative variables not '// &
2158 'implemented. Exiting.')
2176 is1, is2, is3, s2b, s3b)
2178 integer,
intent(in) :: s2b, s3b
2179 real(wp),
dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:),
intent(in) :: qk_prim_vf
2180 real(wp),
dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:),
intent(inout) :: fk_vf
2181 real(wp),
dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, advxb:),
intent(inout) :: fk_src_vf
2183 type(int_bounds_info),
intent(in) :: is1, is2, is3
2188# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2189 real(wp),
dimension(num_fluids) :: alpha_rho_k
2190 real(wp),
dimension(num_fluids) :: alpha_k
2191 real(wp),
dimension(num_vels) :: vel_k
2192 real(wp),
dimension(num_species) :: y_k
2193# 1205 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2195 real(wp) :: vel_k_sum
2199 real(wp) :: pi_inf_k
2201 real(wp),
dimension(2) :: re_k
2203 real(wp) :: t_k, mix_mol_weight, r_gas
2205 integer :: i,
j,
k,
l
2212# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2213#if defined(MFC_OpenACC)
2214# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2216# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2217#elif defined(MFC_OpenMP)
2218# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2220# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2225#ifdef MFC_SIMULATION
2227# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2229# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2230#if defined(MFC_OpenACC)
2231# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2233# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2234#elif defined(MFC_OpenMP)
2235# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2237# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2239# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2243# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2245# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2252# 1232 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2253#if defined(MFC_OpenACC)
2254# 1232 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2256# 1232 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2257#elif defined(MFC_OpenMP)
2258# 1232 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2260# 1232 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2263 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2267# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2268#if defined(MFC_OpenACC)
2269# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2271# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2272#elif defined(MFC_OpenMP)
2273# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2275# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2278 alpha_k(i - e_idx) = qk_prim_vf(
j,
k,
l, i)
2282# 1242 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2283#if defined(MFC_OpenACC)
2284# 1242 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2286# 1242 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2287#elif defined(MFC_OpenMP)
2288# 1242 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2290# 1242 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2293 vel_k(i) = qk_prim_vf(
j,
k,
l, contxe + i)
2298# 1248 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2299#if defined(MFC_OpenACC)
2300# 1248 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2302# 1248 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2303#elif defined(MFC_OpenMP)
2304# 1248 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2306# 1248 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2309 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2312 pres_k = qk_prim_vf(
j,
k,
l, e_idx)
2313 if (elasticity)
then
2315 alpha_k, alpha_rho_k, re_k, &
2319 alpha_k, alpha_rho_k, re_k)
2326# 1266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2327#if defined(MFC_OpenACC)
2328# 1266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2330# 1266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2331#elif defined(MFC_OpenMP)
2332# 1266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2334# 1266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2336 do i = chemxb, chemxe
2337 y_k(i - chemxb + 1) = qk_prim_vf(
j,
k,
l, i)
2340 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2341 r_gas = gas_constant/mix_mol_weight
2342 t_k = pres_k/rho_k/r_gas
2343 call get_mixture_energy_mass(t_k, y_k, e_k)
2344 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2347 e_k = gamma_k*pres_k + pi_inf_k &
2348 + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2353# 1283 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2354#if defined(MFC_OpenACC)
2355# 1283 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2357# 1283 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2358#elif defined(MFC_OpenMP)
2359# 1283 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2361# 1283 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2364 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx(1))
2368# 1288 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2369#if defined(MFC_OpenACC)
2370# 1288 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2372# 1288 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2373#elif defined(MFC_OpenMP)
2374# 1288 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2376# 1288 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2379 fk_vf(
j,
k,
l, contxe + dir_idx(i)) = &
2380 rho_k*vel_k(dir_idx(1)) &
2381 *vel_k(dir_idx(i)) &
2382 + pres_k*dir_flg(dir_idx(i))
2386 fk_vf(
j,
k,
l, e_idx) = vel_k(dir_idx(1))*(e_k + pres_k)
2391# 1301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2392#if defined(MFC_OpenACC)
2393# 1301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2395# 1301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2396#elif defined(MFC_OpenMP)
2397# 1301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2399# 1301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2401 do i = 1, num_species
2402 fk_vf(
j,
k,
l, i - 1 + chemxb) = vel_k(dir_idx(1))*(rho_k*y_k(i))
2406 if (riemann_solver == 1 .or. riemann_solver == 4)
then
2408# 1308 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2409#if defined(MFC_OpenACC)
2410# 1308 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2412# 1308 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2413#elif defined(MFC_OpenMP)
2414# 1308 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2416# 1308 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2419 fk_vf(
j,
k,
l, i) = 0._wp
2420 fk_src_vf(
j,
k,
l, i) = alpha_k(i - e_idx)
2426# 1316 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2427#if defined(MFC_OpenACC)
2428# 1316 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2430# 1316 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2431#elif defined(MFC_OpenMP)
2432# 1316 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2434# 1316 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2437 fk_vf(
j,
k,
l, i) = vel_k(dir_idx(1))*alpha_k(i - e_idx)
2441# 1321 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2442#if defined(MFC_OpenACC)
2443# 1321 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2445# 1321 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2446#elif defined(MFC_OpenMP)
2447# 1321 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2449# 1321 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2452 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx(1))
2461# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2463# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2464#if defined(MFC_OpenACC)
2465# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2467# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2468#elif defined(MFC_OpenMP)
2469# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2471# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2473# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2475# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2477# 1331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2485# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2487# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2489# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2491# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2493# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2495# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2497# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2499# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2501# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2503# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2505# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2507# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2509# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2511# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2513# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2515# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2517# 1337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2519# 1339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2520 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2521 integer,
intent(in) ::
k,
l, r
2522# 1344 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2523 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2524# 1346 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2526 real(wp) :: alpha_k_sum
2528 if (num_fluids == 1)
then
2529 alpha_rho_k(1) = q_vf(contxb)%sf(
k,
l, r)
2530 if (igr .or. bubbles_euler)
then
2533 alpha_k(1) = q_vf(advxb)%sf(
k,
l, r)
2537 do i = 1, num_fluids - 1
2538 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2539 alpha_k(i) = q_vf(advxb + i - 1)%sf(
k,
l, r)
2541 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2542 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2544 do i = 1, num_fluids
2545 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2546 alpha_k(i) = q_vf(advxb + i - 1)%sf(
k,
l, r)
2553 do i = 1, num_fluids
2554 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2555 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2556 alpha_k_sum = alpha_k_sum + alpha_k(i)
2558 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2561 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(advxb)%sf(
k,
l, r)
2570#ifdef MFC_POST_PROCESS
2574#ifdef MFC_SIMULATION
2576# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2578# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2579 use iso_fortran_env,
only: output_unit
2580# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2582# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2583 print *,
'm_variables_conversion.fpp:1396: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2584# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2586# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2587 call flush (output_unit)
2588# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2590# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2592# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2594# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2595#if defined(MFC_OpenACC)
2596# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2598# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2599#elif defined(MFC_OpenMP)
2600# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2602# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2604# 1396 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2606 if (bubbles_euler)
then
2608# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2610# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2611 use iso_fortran_env,
only: output_unit
2612# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2614# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2615 print *,
'm_variables_conversion.fpp:1398: ',
'@:DEALLOCATE(bubrs_vc)'
2616# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2618# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2619 call flush (output_unit)
2620# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2622# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2624# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2626# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2627#if defined(MFC_OpenACC)
2628# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2630# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2631#elif defined(MFC_OpenMP)
2632# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2634# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2636# 1398 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2641# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2643# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2644 use iso_fortran_env,
only: output_unit
2645# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2647# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2648 print *,
'm_variables_conversion.fpp:1401: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2649# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2651# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2652 call flush (output_unit)
2653# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2655# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2657# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2659# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2660#if defined(MFC_OpenACC)
2661# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2663# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2664#elif defined(MFC_OpenMP)
2665# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2667# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2669# 1401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2671 if (bubbles_euler)
then
2673# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2675# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2676 use iso_fortran_env,
only: output_unit
2677# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2679# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2680 print *,
'm_variables_conversion.fpp:1403: ',
'@:DEALLOCATE(bubrs_vc)'
2681# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2683# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2684 call flush (output_unit)
2685# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2687# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2689# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2691# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2692#if defined(MFC_OpenACC)
2693# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2695# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2696#elif defined(MFC_OpenMP)
2697# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2699# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2701# 1403 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2708#ifndef MFC_PRE_PROCESS
2712# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2714# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2716# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2718# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2720# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2722# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2724# 1412 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2727 real(wp),
intent(in) :: pres
2728 real(wp),
intent(in) :: rho, gamma, pi_inf, qv
2729 real(wp),
intent(in) :: H
2730# 1420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2731 real(wp),
dimension(num_fluids),
intent(in) :: adv
2732# 1422 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2733 real(wp),
intent(in) :: vel_sum
2734 real(wp),
intent(in) :: c_c
2735 real(wp),
intent(out) :: c
2737 real(wp) :: blkmod1, blkmod2
2742 if (avg_state == 1 .and. abs(c_c) > verysmall)
then
2743 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2745 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2747 elseif (relativity)
then
2749 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2751 if (alt_soundspeed)
then
2752 blkmod1 = ((
gammas(1) + 1._wp)*pres + &
2754 blkmod2 = ((
gammas(2) + 1._wp)*pres + &
2756 c = (1._wp/(rho*(adv(1)/blkmod1 + adv(2)/blkmod2)))
2757 elseif (model_eqns == 3)
then
2760# 1448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2761#if defined(MFC_OpenACC)
2762# 1448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2764# 1448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2765#elif defined(MFC_OpenMP)
2766# 1448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2768# 1448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2770 do q = 1, num_fluids
2771 c = c + adv(q)*
gs_min(q)* &
2775 elseif (((model_eqns == 4) .or. (model_eqns == 2 .and. bubbles_euler)))
then
2778 if (mpp_lim .and. (num_fluids > 1))
then
2779 c = (1._wp/gamma + 1._wp)* &
2780 (pres + pi_inf/(gamma + 1._wp))/rho
2783 (1._wp/gamma + 1._wp)* &
2784 (pres + pi_inf/(gamma + 1._wp))/ &
2785 (rho*(1._wp - adv(num_fluids)))
2788 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2791 if (mixture_err .and. c < 0._wp)
then
2800#ifndef MFC_PRE_PROCESS
2804# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2806# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2808# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2810# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2812# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2814# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2816# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2818# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2820# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2822# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2824# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2826# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2828# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2830# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2832# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2834# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2836# 1482 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2838# 1484 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2840 real(wp),
intent(in) :: B(3), rho, c
2841 real(wp),
intent(in) :: h
2842 real(wp),
intent(out) :: c_fast
2843 integer,
intent(in) :: norm
2845 real(wp) :: B2, term, disc
2849 if (.not. relativity)
then
2850 term = c**2 + b2/rho
2851 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2854 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2855 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2859 if (disc < 0._wp)
then
2860 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2861 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2865 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 post-process: domain geometry, equation of state, and output database setti...
logical hypoelasticity
Turn hypoelasticity on.
integer num_fluids
Number of different fluids present in the flow.
type(int_bounds_info) stress_idx
Indices of elastic stresses.
integer gamma_idx
Index of specific heat ratio func. eqn.
integer model_eqns
Multicomponent flow model.
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....
integer pi_inf_idx
Index of liquid stiffness func. eqn.
logical mhd
Magnetohydrodynamics.
integer, dimension(3) shear_indices
Indices of the stress components that represent shear stress.
logical mpp_lim
Maximum volume fraction limiter.
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 gather and scatter operations for distributing post-process grid and flow-variable data.
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).