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# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 244 "/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# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 377 "/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# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 311 "/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
227# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
230# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
233# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
283# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
286# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
288# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
293# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
296# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
299# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
302# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
305# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
308# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
310# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
312# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
315# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
321# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
324# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
325# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
337 use m_thermochem,
only: num_species, get_temperature, get_pressure, gas_constant, get_mixture_molecular_weight, &
338 & get_mixture_energy_mass
355#ifndef MFC_PRE_PROCESS
362#ifndef MFC_SIMULATION
365# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
366#if defined(MFC_OpenACC)
367# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
369# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
370#elif defined(MFC_OpenMP)
371# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
373# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
377 real(wp),
allocatable,
dimension(:) ::
gs_vc
379 real(wp),
allocatable,
dimension(:,:) ::
res_vc
381# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
382#if defined(MFC_OpenACC)
383# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
385# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
386#elif defined(MFC_OpenMP)
387# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
389# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
394# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
395#if defined(MFC_OpenACC)
396# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
398# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
399#elif defined(MFC_OpenMP)
400# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
402# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
405 real(wp),
allocatable,
dimension(:,:,:),
public ::
rho_sf
406 real(wp),
allocatable,
dimension(:,:,:),
public ::
gamma_sf
407 real(wp),
allocatable,
dimension(:,:,:),
public ::
pi_inf_sf
408 real(wp),
allocatable,
dimension(:,:,:),
public ::
qv_sf
414 subroutine s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, Re_K, G_K, G)
416 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
417 integer,
intent(in) :: i,
j,
k
418 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
419 real(wp),
optional,
dimension(2),
intent(out) :: re_k
420 real(wp),
optional,
intent(out) :: g_k
421 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
426 call s_convert_species_to_mixture_variables(q_vf, i,
j,
k, rho, gamma, pi_inf, qv, re_k, g_k, g)
432 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, stress, mom, G, pres_mag)
435# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
437# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
439# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
441# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
443# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
445# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
447# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
449# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
451# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
453# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
455# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
457# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
459# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
461# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
463# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
465# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
467# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
470 real(stp),
intent(in) :: energy, alf
471 real(wp),
intent(in) :: dyn_p
472 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
473 real(wp),
intent(out) :: pres
474 real(wp),
intent(inout) :: t
475 real(stp),
intent(in),
optional :: stress, mom
476 real(wp),
intent(in),
optional :: g, pres_mag
479 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
480 real(wp),
dimension(1:num_species) :: y_rs
482 real(wp) :: e_per_kg, pdyn_per_kg
485# 103 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
491 pres = (energy - dyn_p - pi_inf - qv - pres_mag)/gamma
492 else if ((model_eqns /=
model_eqns_4eq) .and. (bubbles_euler .neqv. .true.))
then
494 pres = (energy - dyn_p - pi_inf - qv)/gamma
497 pres = ((energy - dyn_p)/(1._wp - alf) - pi_inf - qv)/gamma
500 pres = (pref + pi_inf)*(energy/(rhoref*(1 - alf)))**(1/gamma + 1) - pi_inf
503 if (hypoelasticity .and.
present(g))
then
506 do s = eqn_idx%stress%beg, eqn_idx%stress%end
508 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
510 if (any(s == shear_indices))
then
511 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
516 pres = (energy - 0.5_wp*(mom**2._wp)/rho - pi_inf - qv - e_e)/gamma
518# 146 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
527 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
528 integer,
intent(in) :: i,
j,
k
529 real(wp),
intent(out),
target :: rho
530 real(wp),
intent(out),
target :: gamma
531 real(wp),
intent(out),
target :: pi_inf
532 real(wp),
intent(out),
target :: qv
536 rho = q_vf(1)%sf(i,
j,
k)
537 gamma = q_vf(eqn_idx%gamma)%sf(i,
j,
k)
538 pi_inf = q_vf(eqn_idx%pi_inf)%sf(i,
j,
k)
542#ifdef MFC_POST_PROCESS
554 subroutine s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, Re_K, G_K, G)
556 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
557 integer,
intent(in) ::
k,
l, r
558 real(wp),
intent(out),
target :: rho
559 real(wp),
intent(out),
target :: gamma
560 real(wp),
intent(out),
target :: pi_inf
561 real(wp),
intent(out),
target :: qv
562 real(wp),
optional,
dimension(2),
intent(out) :: re_k
563 real(wp),
optional,
intent(out) :: g_k
564 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
565 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
573 if (num_fluids == 1 .and. bubbles_euler)
then
579 rho = 0._wp; gamma = 0._wp; pi_inf = 0._wp; qv = 0._wp
581 rho = rho + alpha_rho_k(i)
582 gamma = gamma + alpha_k(i)*
gammas(i)
583 pi_inf = pi_inf + alpha_k(i)*
pi_infs(i)
584 qv = qv + alpha_rho_k(i)*
qvs(i)
592 re_k(i) =
dflt_real;
if (re_size(i) > 0) re_k(i) = 0._wp
595 re_k(i) = alpha_k(re_idx(i,
j))/fluid_pp(re_idx(i,
j))%Re(i) + re_k(i)
598 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
603 if (
present(g_k))
then
606 g_k = g_k + alpha_k(i)*g(i)
608 g_k = max(0._wp, g_k)
612#ifdef MFC_POST_PROCESS
625# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
627# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
629# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
631# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
633# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
635# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
637# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
639# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
641# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
643# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
645# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
647# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
649# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
651# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
653# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
655# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
657# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
660 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
661# 258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
662 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
663 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
664# 261 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
665 real(wp),
dimension(2),
intent(out) :: re_k
666 real(wp),
optional,
intent(out) :: g_k
667 real(wp) :: alpha_k_sum
675 if (
present(g_k)) g_k = 0._wp
679 if (num_fluids == 1 .and. bubbles_euler)
then
680 rho_k = alpha_rho_k(1)
688 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
689 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
690 alpha_k_sum = alpha_k_sum + alpha_k(i)
692 alpha_k = alpha_k/max(alpha_k_sum,
sgm_eps)
694 rho_k = 0._wp; gamma_k = 0._wp; pi_inf_k = 0._wp; qv_k = 0._wp
696 rho_k = rho_k + alpha_rho_k(i)
697 gamma_k = gamma_k + alpha_k(i)*
gammas(i)
698 pi_inf_k = pi_inf_k + alpha_k(i)*
pi_infs(i)
699 qv_k = qv_k + alpha_rho_k(i)*
qvs(i)
703 if (
present(g_k))
then
707 g_k = g_k + alpha_k(i)*g(i)
709 g_k = max(0._wp, g_k)
716 if (re_size(i) > 0) re_k(i) = 0._wp
719 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) + re_k(i)
722 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
735# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
736#if defined(MFC_OpenACC)
737# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
739# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
740#elif defined(MFC_OpenMP)
741# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
743# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
747# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
749# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
750 use iso_fortran_env,
only: output_unit
751# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
753# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
754 print *,
'm_variables_conversion.fpp:332: ',
'@:ALLOCATE(gammas (1:num_fluids))'
755# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
757# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
758 call flush (output_unit)
759# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
761# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
763# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
764 allocate (
gammas(1:num_fluids))
765# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
767# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
769# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
770#if defined(MFC_OpenACC)
771# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
773# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
774#elif defined(MFC_OpenMP)
775# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
777# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
780# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
782# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
783 use iso_fortran_env,
only: output_unit
784# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
786# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
787 print *,
'm_variables_conversion.fpp:333: ',
'@:ALLOCATE(gs_min (1:num_fluids))'
788# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
790# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
791 call flush (output_unit)
792# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
794# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
796# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
797 allocate (
gs_min(1:num_fluids))
798# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
800# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
802# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
803#if defined(MFC_OpenACC)
804# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
806# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
807#elif defined(MFC_OpenMP)
808# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
810# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
815# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
816 use iso_fortran_env,
only: output_unit
817# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
819# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
820 print *,
'm_variables_conversion.fpp:334: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
821# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
823# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
824 call flush (output_unit)
825# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
827# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
829# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
830 allocate (
pi_infs(1:num_fluids))
831# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
833# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
835# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
836#if defined(MFC_OpenACC)
837# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
839# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
840#elif defined(MFC_OpenMP)
841# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
843# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
846# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
848# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
849 use iso_fortran_env,
only: output_unit
850# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
852# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
853 print *,
'm_variables_conversion.fpp:335: ',
'@:ALLOCATE(ps_inf(1:num_fluids))'
854# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
856# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
857 call flush (output_unit)
858# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
860# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
862# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
863 allocate (
ps_inf(1:num_fluids))
864# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
866# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
868# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
869#if defined(MFC_OpenACC)
870# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
872# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
873#elif defined(MFC_OpenMP)
874# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
876# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
881# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
882 use iso_fortran_env,
only: output_unit
883# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
885# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
886 print *,
'm_variables_conversion.fpp:336: ',
'@:ALLOCATE(cvs (1:num_fluids))'
887# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
889# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
890 call flush (output_unit)
891# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
893# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
895# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
896 allocate (
cvs(1:num_fluids))
897# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
899# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
901# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
902#if defined(MFC_OpenACC)
903# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
905# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
906#elif defined(MFC_OpenMP)
907# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
909# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
912# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
914# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
915 use iso_fortran_env,
only: output_unit
916# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
918# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
919 print *,
'm_variables_conversion.fpp:337: ',
'@:ALLOCATE(qvs (1:num_fluids))'
920# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
922# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
923 call flush (output_unit)
924# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
926# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
928# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
929 allocate (
qvs(1:num_fluids))
930# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
932# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
934# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
935#if defined(MFC_OpenACC)
936# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
938# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
939#elif defined(MFC_OpenMP)
940# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
942# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
945# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
947# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
948 use iso_fortran_env,
only: output_unit
949# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
951# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
952 print *,
'm_variables_conversion.fpp:338: ',
'@:ALLOCATE(qvps (1:num_fluids))'
953# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
955# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
956 call flush (output_unit)
957# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
959# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
961# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
962 allocate (
qvps(1:num_fluids))
963# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
965# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
967# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
968#if defined(MFC_OpenACC)
969# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
971# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
972#elif defined(MFC_OpenMP)
973# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
975# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
978# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
980# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
981 use iso_fortran_env,
only: output_unit
982# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
984# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
985 print *,
'm_variables_conversion.fpp:339: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
986# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
988# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
989 call flush (output_unit)
990# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
992# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
994# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
995 allocate (
gs_vc(1:num_fluids))
996# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
998# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1000# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1001#if defined(MFC_OpenACC)
1002# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1004# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1005#elif defined(MFC_OpenMP)
1006# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1008# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1011 do i = 1, num_fluids
1012 gammas(i) = fluid_pp(i)%gamma
1014 pi_infs(i) = fluid_pp(i)%pi_inf
1015 gs_vc(i) = fluid_pp(i)%G
1017 cvs(i) = fluid_pp(i)%cv
1018 qvs(i) = fluid_pp(i)%qv
1019 qvps(i) = fluid_pp(i)%qvp
1022# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1023#if defined(MFC_OpenACC)
1024# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1026# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1027#elif defined(MFC_OpenMP)
1028# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1030# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1033#ifdef MFC_SIMULATION
1036# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1038# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1039 use iso_fortran_env,
only: output_unit
1040# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1042# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1043 print *,
'm_variables_conversion.fpp:355: ',
'@:ALLOCATE(Res_vc(1:2, 1:Re_size_max))'
1044# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1046# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1047 call flush (output_unit)
1048# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1050# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1052# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1053 allocate (
res_vc(1:2, 1:re_size_max))
1054# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1056# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1058# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1059#if defined(MFC_OpenACC)
1060# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1062# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1063#elif defined(MFC_OpenMP)
1064# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1066# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1069 do j = 1, re_size(i)
1070 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1075# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1076#if defined(MFC_OpenACC)
1077# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1079# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1080#elif defined(MFC_OpenMP)
1081# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1083# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1088 if (bubbles_euler)
then
1090# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1092# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1093 use iso_fortran_env,
only: output_unit
1094# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1096# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1097 print *,
'm_variables_conversion.fpp:367: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
1098# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1100# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1101 call flush (output_unit)
1102# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1104# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1106# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1108# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1110# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1112# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1113#if defined(MFC_OpenACC)
1114# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1116# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1117#elif defined(MFC_OpenMP)
1118# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1120# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1126# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1127#if defined(MFC_OpenACC)
1128# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1130# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1131#elif defined(MFC_OpenMP)
1132# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1134# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1138#ifdef MFC_POST_PROCESS
1145 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1146 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1147 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1148 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1152 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1153 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1154 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1155 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1160 allocate (
rho_sf(-buff_size:m + buff_size,0:0,0:0))
1161 allocate (
gamma_sf(-buff_size:m + buff_size,0:0,0:0))
1162 allocate (
pi_inf_sf(-buff_size:m + buff_size,0:0,0:0))
1163 allocate (
qv_sf(-buff_size:m + buff_size,0:0,0:0))
1172 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1173 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: mv
1174 integer :: i,
j,
k,
l
1175 real(wp) :: mu, sig, nbub_sc
1177 do l = idwint(3)%beg, idwint(3)%end
1178 do k = idwint(2)%beg, idwint(2)%end
1179 do j = idwint(1)%beg, idwint(1)%end
1180 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1183# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1184#if defined(MFC_OpenACC)
1185# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1187# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1188#elif defined(MFC_OpenMP)
1189# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1191# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1194 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1195 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1197 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1198 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1199 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1200 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1211 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1212 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(in) :: mv
1213 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: pb
1214 integer :: i,
j,
k,
l
1215 real(wp) :: mu, sig, nbub_sc
1217 do l = idwint(3)%beg, idwint(3)%end
1218 do k = idwint(2)%beg, idwint(2)%end
1219 do j = idwint(1)%beg, idwint(1)%end
1220 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1223# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1224#if defined(MFC_OpenACC)
1225# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1227# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1228#elif defined(MFC_OpenMP)
1229# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1231# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1234 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1235 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1238 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, &
1239 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1240 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, &
1241 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1242 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, &
1243 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1244 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, &
1245 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1257 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1258 type(scalar_field),
intent(inout) :: q_t_sf
1259 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1260 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1262# 483 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1263 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1264 real(wp),
dimension(nb) :: nrtmp
1265 real(wp) :: rhoyks(1:num_species)
1266# 487 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1267 real(wp),
dimension(2) :: re_k
1268 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1269 real(wp) :: vftmp, nbub_sc
1272 integer :: i,
j,
k,
l
1274 real(wp) :: pres_mag
1282 real(wp) :: f, dga_dw, dp_dw, df_dw
1286# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1288# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1289#if defined(MFC_OpenACC)
1290# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1292# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1293#elif defined(MFC_OpenMP)
1294# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1296# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1298# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1300# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1302# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1304# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1305 do l = ibounds(3)%beg, ibounds(3)%end
1306 do k = ibounds(2)%beg, ibounds(2)%end
1307 do j = ibounds(1)%beg, ibounds(1)%end
1312 if (model_eqns /= model_eqns_4eq)
then
1313#ifdef MFC_SIMULATION
1315 if (elasticity)
then
1324 if (elasticity)
then
1325 call s_convert_to_mixture_variables(qk_cons_vf,
j,
k,
l, rho_k, gamma_k, pi_inf_k, qv_k, re_k, g_k, &
1334 if (relativity)
then
1337 b(2) = qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1338 b(3) = qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1340 b(1) = qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1341 b(2) = qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1342 b(3) = qk_cons_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1344 b2 = b(1)**2 + b(2)**2 + b(3)**2
1348# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1349#if defined(MFC_OpenACC)
1350# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1352# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1353#elif defined(MFC_OpenMP)
1354# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1356# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1358 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1359 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1364# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1365#if defined(MFC_OpenACC)
1366# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1368# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1369#elif defined(MFC_OpenMP)
1370# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1372# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1375 s = s + qk_cons_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1378 e = qk_cons_vf(eqn_idx%E)%sf(
j,
k,
l)
1382# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1383#if defined(MFC_OpenACC)
1384# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1386# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1387#elif defined(MFC_OpenMP)
1388# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1390# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1392 do i = 1, eqn_idx%cont%end
1393 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1399# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1400#if defined(MFC_OpenACC)
1401# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1403# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1404#elif defined(MFC_OpenMP)
1405# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1407# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1409 do iter = 1, relativity_cons_to_prim_max_iter
1411 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1413 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1414 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1420 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1422 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1423 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1427 if (abs(dw) < 1.e-12_wp*w)
exit
1431 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1432 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1436# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1437#if defined(MFC_OpenACC)
1438# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1440# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1441#elif defined(MFC_OpenMP)
1442# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1444# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1447 qk_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l) = (qk_cons_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k, &
1448 &
l) + (s/w)*b(i))/(w + b2)
1450 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1453# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1454#if defined(MFC_OpenACC)
1455# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1457# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1458#elif defined(MFC_OpenMP)
1459# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1461# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1463 do i = eqn_idx%B%beg, eqn_idx%B%end
1464 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1474# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1475#if defined(MFC_OpenACC)
1476# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1478# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1479#elif defined(MFC_OpenMP)
1480# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1482# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1484 do i = eqn_idx%species%beg, eqn_idx%species%end
1485 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1489# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1490#if defined(MFC_OpenACC)
1491# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1493# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1494#elif defined(MFC_OpenMP)
1495# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1497# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1499 do i = 1, eqn_idx%cont%end
1500 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1504# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1505#if defined(MFC_OpenACC)
1506# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1508# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1509#elif defined(MFC_OpenMP)
1510# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1512# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1514 do i = eqn_idx%species%beg, eqn_idx%species%end
1515 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1520# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1521#if defined(MFC_OpenACC)
1522# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1524# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1525#elif defined(MFC_OpenMP)
1526# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1528# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1530 do i = 1, eqn_idx%cont%end
1531 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1535#ifdef MFC_SIMULATION
1536 rho_k = max(rho_k, sgm_eps)
1541# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1542#if defined(MFC_OpenACC)
1543# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1545# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1546#elif defined(MFC_OpenMP)
1547# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1549# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1551 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1552 if (model_eqns /= model_eqns_4eq)
then
1553 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1554 dyn_pres_k = dyn_pres_k + 5.e-1_wp*qk_cons_vf(i)%sf(
j,
k,
l)*qk_prim_vf(i)%sf(
j,
k,
l)
1557 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/qk_cons_vf(1)%sf(
j,
k,
l)
1563# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1564#if defined(MFC_OpenACC)
1565# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1567# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1568#elif defined(MFC_OpenMP)
1569# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1571# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1573 do i = 1, num_species
1574 rhoyks(i) = qk_cons_vf(eqn_idx%species%beg + i - 1)%sf(
j,
k,
l)
1577 t = q_t_sf%sf(
j,
k,
l)
1582 pres_mag = 0.5_wp*(bx0**2 + qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k, &
1583 &
l)**2 + qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1585 pres_mag = 0.5_wp*(qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)**2 + qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k, &
1586 &
l)**2 + qk_cons_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1593 & pi_inf_k, gamma_k, rho_k, qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1595 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = pres
1598 q_t_sf%sf(
j,
k,
l) = t
1601 if (bubbles_euler)
then
1604# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1605#if defined(MFC_OpenACC)
1606# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1608# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1609#elif defined(MFC_OpenMP)
1610# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1612# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1618 vftmp = qk_cons_vf(eqn_idx%alf)%sf(
j,
k,
l)
1622 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1626# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1627#if defined(MFC_OpenACC)
1628# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1630# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1631#elif defined(MFC_OpenMP)
1632# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1634# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1636 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1637 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1640#ifdef MFC_SIMULATION
1641 qk_prim_vf(eqn_idx%bub%beg)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1645 qk_prim_vf(eqn_idx%n)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%n)%sf(
j,
k,
l)
1646 nbub_sc = qk_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1648 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1652# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1653#if defined(MFC_OpenACC)
1654# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1656# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1657#elif defined(MFC_OpenMP)
1658# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1660# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1662 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1663 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1670# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1671#if defined(MFC_OpenACC)
1672# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1674# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1675#elif defined(MFC_OpenMP)
1676# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1678# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1680 do i = eqn_idx%B%beg, eqn_idx%B%end
1681 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1685 if (elasticity)
then
1687# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1688#if defined(MFC_OpenACC)
1689# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1691# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1692#elif defined(MFC_OpenMP)
1693# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1695# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1697 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1698 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1702 if (hypoelasticity)
then
1703 if (cont_damage) g_k = g_k*max((1._wp - qk_cons_vf(eqn_idx%damage)%sf(
j,
k,
l)), 0._wp)
1705# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1706#if defined(MFC_OpenACC)
1707# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1709# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1710#elif defined(MFC_OpenMP)
1711# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1713# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1715 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1717 if (g_k > verysmall)
then
1718 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) - ((qk_prim_vf(i)%sf(
j,
k, &
1719 &
l)**2._wp)/(4._wp*g_k))/gamma_k
1721 if (any(i == shear_indices))
then
1722 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) - ((qk_prim_vf(i)%sf(
j, &
1723 &
k,
l)**2._wp)/(4._wp*g_k))/gamma_k
1729 if (hyperelasticity)
then
1731# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1732#if defined(MFC_OpenACC)
1733# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1735# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1736#elif defined(MFC_OpenMP)
1737# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1739# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1741 do i = eqn_idx%xi%beg, eqn_idx%xi%end
1742 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1746 if (.not. igr .or. num_fluids > 1)
then
1748# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1749#if defined(MFC_OpenACC)
1750# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1752# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1753#elif defined(MFC_OpenMP)
1754# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1756# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1758 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1759 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1763 if (surface_tension)
then
1764 qk_prim_vf(eqn_idx%c)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%c)%sf(
j,
k,
l)
1767 if (cont_damage) qk_prim_vf(eqn_idx%damage)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%damage)%sf(
j,
k,
l)
1769 if (hyper_cleaning) qk_prim_vf(eqn_idx%psi)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%psi)%sf(
j,
k,
l)
1770#ifdef MFC_POST_PROCESS
1771 if (bubbles_lagrange) qk_prim_vf(beta_idx)%sf(
j,
k,
l) = qk_cons_vf(beta_idx)%sf(
j,
k,
l)
1777# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1778#if defined(MFC_OpenACC)
1779# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1781# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1782#elif defined(MFC_OpenMP)
1783# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1785# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1787# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1795 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1796 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1804 real(wp) :: dyn_pres
1805 real(wp) :: nbub, r3tmp
1806 real(wp),
dimension(nb) :: rtmp
1808 real(wp),
dimension(2) :: re_k
1809 integer :: i,
j,
k,
l
1810 real(wp),
dimension(num_species) :: ys
1811 real(wp) :: e_mix, mix_mol_weight, t
1812 real(wp) :: pres_mag
1824#ifndef MFC_SIMULATION
1830 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1832 if (.not. igr .or. num_fluids > 1)
then
1834 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1839 if (relativity)
then
1842 b(2) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1843 b(3) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1845 b(1) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1846 b(2) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1847 b(3) = q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1851 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1852 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1854 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1856 ga = 1._wp/sqrt(1._wp - v2)
1858 h = 1._wp + (gamma + 1)*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)/rho
1861 do i = eqn_idx%B%beg, eqn_idx%B%end
1862 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1864 if (n == 0) b2 = b2 + bx0**2
1868 vdotb = vdotb + q_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1871 do i = 1, eqn_idx%cont%end
1875 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1876 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k, &
1877 &
l) - vdotb*b(i - eqn_idx%mom%beg + 1)
1880 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1881 &
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1883 do i = 1, eqn_idx%cont%end
1887 do i = eqn_idx%B%beg, eqn_idx%B%end
1895 do i = 1, eqn_idx%cont%end
1903 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1905 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1910 do i = eqn_idx%species%beg, eqn_idx%species%end
1911 ys(i - eqn_idx%species%beg + 1) = q_prim_vf(i)%sf(
j,
k,
l)
1915 call get_mixture_molecular_weight(ys, mix_mol_weight)
1916 t = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
1917 call get_mixture_energy_mass(t, ys, e_mix)
1919 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + rho*e_mix
1924 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(eqn_idx%B%beg)%sf(
j,
k, &
1925 &
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1927 pres_mag = 0.5_wp*(q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j, &
1928 &
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1931 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1932 &
l) + dyn_pres + pres_mag + pi_inf + qv
1933 else if ((model_eqns /= model_eqns_4eq) .and. (bubbles_euler .neqv. .true.))
then
1935 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + dyn_pres + pi_inf + qv
1936 else if ((model_eqns /= model_eqns_4eq) .and. (bubbles_euler))
then
1938 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(eqn_idx%alf)%sf(
j,
k, &
1939 &
l))*(gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + pi_inf)
1947 if (model_eqns == model_eqns_6eq)
then
1948 do i = 1, num_fluids
1950 &
l)*(
gammas(i)*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1955 if (bubbles_euler)
then
1958 rtmp(i) = q_prim_vf(qbmm_idx%rs(i))%sf(
j,
k,
l)
1961 if (.not. qbmm)
then
1964 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1966 call s_comp_n_from_prim(real(q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
1972 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
1973 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
1976 nbub = 3._wp*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
1979 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1985 do i = eqn_idx%B%beg, eqn_idx%B%end
1990 if (elasticity)
then
1992 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1997 if (hypoelasticity)
then
1998 if (cont_damage) g = g*max((1._wp - q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)), 0._wp)
1999 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2001 if (g > verysmall)
then
2003 &
l)**2._wp)/(4._wp*g)
2005 if (any(i == shear_indices))
then
2007 &
l)**2._wp)/(4._wp*g)
2014 if (hyperelasticity)
then
2016 do i = eqn_idx%xi%beg, eqn_idx%xi%end
2021 if (surface_tension)
then
2025 if (cont_damage)
q_cons_vf(eqn_idx%damage)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)
2027 if (hyper_cleaning)
q_cons_vf(eqn_idx%psi)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%psi)%sf(
j,
k,
l)
2032 if (proc_rank == 0)
then
2033 call s_mpi_abort(
'Conversion from primitive to ' //
'conservative variables not ' //
'implemented. Exiting.')
2042 integer,
intent(in) :: s2b, s3b
2043 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
2044 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
2045 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,eqn_idx%adv%beg:),
intent(inout) :: fk_src_vf
2046 type(int_bounds_info),
intent(in) :: is1, is2, is3
2051# 1048 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2052 real(wp),
dimension(num_fluids) :: alpha_rho_k
2053 real(wp),
dimension(num_fluids) :: alpha_k
2054 real(wp),
dimension(num_vels) :: vel_k
2055 real(wp),
dimension(num_species) :: y_k
2056# 1053 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2058 real(wp) :: vel_k_sum
2062 real(wp) :: pi_inf_k
2064 real(wp),
dimension(2) :: re_k
2066 real(wp) :: t_k, mix_mol_weight, r_gas
2067 integer :: i,
j,
k,
l
2074# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2075#if defined(MFC_OpenACC)
2076# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2078# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2079#elif defined(MFC_OpenMP)
2080# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2082# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2087#ifdef MFC_SIMULATION
2089# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2091# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2092#if defined(MFC_OpenACC)
2093# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2095# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2096#elif defined(MFC_OpenMP)
2097# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2099# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2101# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2103# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2105# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2107# 1076 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2112# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2113#if defined(MFC_OpenACC)
2114# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2116# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2117#elif defined(MFC_OpenMP)
2118# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2120# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2122 do i = 1, eqn_idx%cont%end
2123 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2127# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2128#if defined(MFC_OpenACC)
2129# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2131# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2132#elif defined(MFC_OpenMP)
2133# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2135# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2137 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2138 alpha_k(i - eqn_idx%E) = qk_prim_vf(
j,
k,
l, i)
2142# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2143#if defined(MFC_OpenACC)
2144# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2146# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2147#elif defined(MFC_OpenMP)
2148# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2150# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2153 vel_k(i) = qk_prim_vf(
j,
k,
l, eqn_idx%cont%end + i)
2158# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2159#if defined(MFC_OpenACC)
2160# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2162# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2163#elif defined(MFC_OpenMP)
2164# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2166# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2169 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2172 pres_k = qk_prim_vf(
j,
k,
l, eqn_idx%E)
2173 if (elasticity)
then
2184# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2185#if defined(MFC_OpenACC)
2186# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2188# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2189#elif defined(MFC_OpenMP)
2190# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2192# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2194 do i = eqn_idx%species%beg, eqn_idx%species%end
2195 y_k(i - eqn_idx%species%beg + 1) = qk_prim_vf(
j,
k,
l, i)
2198 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2199 r_gas = gas_constant/mix_mol_weight
2200 t_k = pres_k/rho_k/r_gas
2201 call get_mixture_energy_mass(t_k, y_k, e_k)
2202 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2205 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2210# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2211#if defined(MFC_OpenACC)
2212# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2214# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2215#elif defined(MFC_OpenMP)
2216# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2218# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2220 do i = 1, eqn_idx%cont%end
2221 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx(1))
2225# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2226#if defined(MFC_OpenACC)
2227# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2229# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2230#elif defined(MFC_OpenMP)
2231# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2233# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2237 & eqn_idx%cont%end + dir_idx(i)) = rho_k*vel_k(dir_idx(1))*vel_k(dir_idx(i)) &
2238 & + pres_k*dir_flg(dir_idx(i))
2242 fk_vf(
j,
k,
l, eqn_idx%E) = vel_k(dir_idx(1))*(e_k + pres_k)
2247# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2248#if defined(MFC_OpenACC)
2249# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2251# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2252#elif defined(MFC_OpenMP)
2253# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2255# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2257 do i = 1, num_species
2258 fk_vf(
j,
k,
l, i - 1 + eqn_idx%species%beg) = vel_k(dir_idx(1))*(rho_k*y_k(i))
2262 if (riemann_solver == riemann_solver_hll .or. riemann_solver == riemann_solver_hlld)
then
2264# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2265#if defined(MFC_OpenACC)
2266# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2268# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2269#elif defined(MFC_OpenMP)
2270# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2272# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2274 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2275 fk_vf(
j,
k,
l, i) = 0._wp
2276 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2281# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2282#if defined(MFC_OpenACC)
2283# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2285# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2286#elif defined(MFC_OpenMP)
2287# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2289# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2291 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2292 fk_vf(
j,
k,
l, i) = vel_k(dir_idx(1))*alpha_k(i - eqn_idx%E)
2296# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2297#if defined(MFC_OpenACC)
2298# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2300# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2301#elif defined(MFC_OpenMP)
2302# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2304# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2306 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2307 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx(1))
2314# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2315#if defined(MFC_OpenACC)
2316# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2318# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2319#elif defined(MFC_OpenMP)
2320# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2322# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2324# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2334# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2336# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2338# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2340# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2342# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2344# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2346# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2348# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2350# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2352# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2354# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2356# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2358# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2360# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2362# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2364# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2366# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2368 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2369 integer,
intent(in) ::
k,
l, r
2370# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2371 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2372# 1187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2374 real(wp) :: alpha_k_sum
2376 if (num_fluids == 1)
then
2377 alpha_rho_k(1) = q_vf(eqn_idx%cont%beg)%sf(
k,
l, r)
2378 if (igr .or. bubbles_euler)
then
2381 alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2385 do i = 1, num_fluids - 1
2386 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2387 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2389 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2390 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2392 do i = 1, num_fluids
2393 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2394 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2401 do i = 1, num_fluids
2402 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2403 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2404 alpha_k_sum = alpha_k_sum + alpha_k(i)
2406 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2409 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2417#ifdef MFC_POST_PROCESS
2421#ifdef MFC_SIMULATION
2423# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2425# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2426 use iso_fortran_env,
only: output_unit
2427# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2429# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2430 print *,
'm_variables_conversion.fpp:1236: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2431# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2433# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2434 call flush (output_unit)
2435# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2437# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2439# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2441# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2442#if defined(MFC_OpenACC)
2443# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2445# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2446#elif defined(MFC_OpenMP)
2447# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2449# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2451# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2453 if (bubbles_euler)
then
2455# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2457# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458 use iso_fortran_env,
only: output_unit
2459# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2461# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2462 print *,
'm_variables_conversion.fpp:1238: ',
'@:DEALLOCATE(bubrs_vc)'
2463# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2465# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2466 call flush (output_unit)
2467# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2469# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2471# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2473# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2474#if defined(MFC_OpenACC)
2475# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2477# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2478#elif defined(MFC_OpenMP)
2479# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2481# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2483# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2488# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2490# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2491 use iso_fortran_env,
only: output_unit
2492# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2494# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2495 print *,
'm_variables_conversion.fpp:1241: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2496# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2498# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2499 call flush (output_unit)
2500# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2502# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2504# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2506# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2507#if defined(MFC_OpenACC)
2508# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2510# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2511#elif defined(MFC_OpenMP)
2512# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2514# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2516# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2518 if (bubbles_euler)
then
2520# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2522# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2523 use iso_fortran_env,
only: output_unit
2524# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2526# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2527 print *,
'm_variables_conversion.fpp:1243: ',
'@:DEALLOCATE(bubrs_vc)'
2528# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2530# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2531 call flush (output_unit)
2532# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2534# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2536# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2538# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2539#if defined(MFC_OpenACC)
2540# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2542# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2543#elif defined(MFC_OpenMP)
2544# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2546# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2548# 1243 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2555#ifndef MFC_PRE_PROCESS
2560# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2562# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2564# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2566# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2568# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2570# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2572# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2575 real(wp),
intent(in) :: pres
2576 real(wp),
intent(in) :: rho, gamma, pi_inf, qv
2577 real(wp),
intent(in) :: H
2578# 1261 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2579 real(wp),
dimension(num_fluids),
intent(in) :: adv
2580# 1263 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2581 real(wp),
intent(in) :: vel_sum
2582 real(wp),
intent(in) :: c_c
2583 real(wp),
intent(out) :: c
2584 real(wp) :: blkmod1, blkmod2
2588 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
2589 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2591 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2593 else if (relativity)
then
2594 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2596 if (alt_soundspeed)
then
2599 c = (1._wp/(rho*(adv(1)/blkmod1 + adv(2)/blkmod2)))
2600 else if (model_eqns == model_eqns_6eq)
then
2603# 1284 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2604#if defined(MFC_OpenACC)
2605# 1284 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2607# 1284 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2608#elif defined(MFC_OpenMP)
2609# 1284 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2611# 1284 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2613 do q = 1, num_fluids
2617 else if (((model_eqns == model_eqns_4eq) .or. (model_eqns == model_eqns_5eq .and. bubbles_euler)))
then
2620 if (mpp_lim .and. (num_fluids > 1))
then
2621 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/rho
2623 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/(rho*(1._wp - adv(num_fluids)))
2626 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2629 if (mixture_err .and. c < 0._wp)
then
2639#ifndef MFC_PRE_PROCESS
2644# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2646# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2648# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2650# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2652# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2654# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2656# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2658# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2660# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2662# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2664# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2666# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2668# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2670# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2672# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2674# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2676# 1315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2679 real(wp),
intent(in) :: B(3), rho, c
2680 real(wp),
intent(in) :: h
2681 real(wp),
intent(out) :: c_fast
2682 integer,
intent(in) :: norm
2683 real(wp) :: B2, term, disc
2687 if (.not. relativity)
then
2688 term = c**2 + b2/rho
2689 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2692 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2693 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2697 if (disc < 0._wp)
then
2698 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2702 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2707 c_fast = sqrt(0.5_wp*(term + sqrt(disc)))
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
Compile-time constant parameters: default values, tolerances, and physical constants.
integer, parameter model_eqns_4eq
integer, parameter model_eqns_5eq
integer, parameter avg_state_roe
integer, parameter riemann_solver_hll
integer, parameter riemann_solver_hlld
real(wp), parameter sgm_eps
Segmentation tolerance.
real(wp), parameter dflt_real
Default real value.
integer, parameter model_eqns_6eq
integer, parameter model_eqns_gamma_law
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine s_compute_fast_magnetosonic_speed(rho, c, b, norm, c_fast, h)
Compute the fast magnetosonic wave speed from the sound speed, density, and magnetic field components...
subroutine, public s_convert_primitive_to_flux_variables(qk_prim_vf, fk_vf, fk_src_vf, is1, is2, is3, s2b, s3b)
Convert primitive variables to Eulerian flux variables.
real(wp), dimension(:), allocatable, public gammas
real(wp), dimension(:), allocatable, public ps_inf
subroutine, public s_compute_species_fraction(q_vf, k, l, r, alpha_rho_k, alpha_k)
Compute partial densities and volume fractions.
subroutine s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv, vel_sum, c_c, c, qv)
Compute 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)
Initialize bubble mass-vapor values at quadrature nodes from the conserved moment statistics.
subroutine, public s_initialize_pb(qk_cons_vf, mv, pb)
Initialize bubble internal pressures at quadrature nodes using isothermal relations from the Preston ...
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)
Compute the pressure from the appropriate equation of state.
impure subroutine, public s_convert_primitive_to_conservative_variables(q_prim_vf, q_cons_vf)
Convert primitives (rho, u, p, alpha) to conserved variables (rho*alpha, rho*u, E,...
real(wp), dimension(:), allocatable, public qvps
subroutine, public s_convert_conservative_to_primitive_variables(qk_cons_vf, q_t_sf, qk_prim_vf, ibounds)
Convert conserved variables (rho*alpha, rho*u, E, alpha) to primitives (rho, u, p,...
impure subroutine, public s_initialize_variables_conversion_module
Initialize the variables conversion module.
subroutine, public s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, re_k, g_k, g)
Convert species volume fractions and partial densities to mixture density, gamma, pi_inf,...
real(wp), dimension(:,:,:), allocatable, public qv_sf
Scalar liquid energy reference function.
subroutine, public s_convert_mixture_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv)
Convert mixture variables to density, gamma, pi_inf, and qv for the gamma/pi_inf model....
real(wp), dimension(:,:,:), allocatable, public pi_inf_sf
Scalar liquid stiffness function.
real(wp), dimension(:,:,:), allocatable, public gamma_sf
Scalar sp. heat ratio function.
real(wp), dimension(:,:,:), allocatable, public rho_sf
Scalar density 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()
Deallocate 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).