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.
Global parameters for the post-process: domain geometry, equation of state, and output database setti...
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)
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).