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# 9 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
324# 14 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
325# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
335 use m_thermochem,
only: num_species, get_temperature, get_pressure, gas_constant, get_mixture_molecular_weight, &
336 & get_mixture_energy_mass
353#ifndef MFC_PRE_PROCESS
360#ifndef MFC_SIMULATION
363# 43 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
364#if defined(MFC_OpenACC)
365# 43 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
367# 43 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
368#elif defined(MFC_OpenMP)
369# 43 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
371# 43 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
375 real(wp),
allocatable,
dimension(:) ::
gs_vc
377 real(wp),
allocatable,
dimension(:,:) ::
res_vc
379# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
380#if defined(MFC_OpenACC)
381# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
383# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
384#elif defined(MFC_OpenMP)
385# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
387# 49 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
392# 52 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
393#if defined(MFC_OpenACC)
394# 52 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
396# 52 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
397#elif defined(MFC_OpenMP)
398# 52 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
400# 52 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
403 real(wp),
allocatable,
dimension(:,:,:),
public ::
rho_sf
404 real(wp),
allocatable,
dimension(:,:,:),
public ::
gamma_sf
405 real(wp),
allocatable,
dimension(:,:,:),
public ::
pi_inf_sf
406 real(wp),
allocatable,
dimension(:,:,:),
public ::
qv_sf
412 subroutine s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, Re_K, G_K, G)
414 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
415 integer,
intent(in) :: i,
j,
k
416 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
417 real(wp),
optional,
dimension(2),
intent(out) :: re_k
418 real(wp),
optional,
intent(out) :: g_k
419 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
424 call s_convert_species_to_mixture_variables(q_vf, i,
j,
k, rho, gamma, pi_inf, qv, re_k, g_k,
g)
430 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, stress, mom, G, pres_mag)
433# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
435# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
437# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
439# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
441# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
443# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
445# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
447# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
449# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
451# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
453# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
455# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
457# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
459# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
461# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
463# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
465# 83 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
468 real(stp),
intent(in) :: energy, alf
469 real(wp),
intent(in) :: dyn_p
470 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
471 real(wp),
intent(out) :: pres
472 real(wp),
intent(inout) :: t
473 real(stp),
intent(in),
optional :: stress, mom
474 real(wp),
intent(in),
optional ::
g, pres_mag
477 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
478 real(wp),
dimension(1:num_species) :: y_rs
480 real(wp) :: e_per_kg, pdyn_per_kg
483# 101 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
489 pres = (energy - dyn_p - pi_inf - qv - pres_mag)/gamma
492 pres = (energy - dyn_p - pi_inf - qv)/gamma
495 pres = ((energy - dyn_p)/(1._wp - alf) - pi_inf - qv)/gamma
498 pres = (
pref + pi_inf)*(energy/(
rhoref*(1 - alf)))**(1/gamma + 1) - pi_inf
506 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*
g)
509 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*
g)
514 pres = (energy - 0.5_wp*(mom**2._wp)/rho - pi_inf - qv - e_e)/gamma
516# 144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
525 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
526 integer,
intent(in) :: i,
j,
k
527 real(wp),
intent(out),
target :: rho
528 real(wp),
intent(out),
target :: gamma
529 real(wp),
intent(out),
target :: pi_inf
530 real(wp),
intent(out),
target :: qv
534 rho = q_vf(1)%sf(i,
j,
k)
540#ifdef MFC_POST_PROCESS
552 subroutine s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, Re_K, G_K, G)
554 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
555 integer,
intent(in) ::
k,
l, r
556 real(wp),
intent(out),
target :: rho
557 real(wp),
intent(out),
target :: gamma
558 real(wp),
intent(out),
target :: pi_inf
559 real(wp),
intent(out),
target :: qv
560 real(wp),
optional,
dimension(2),
intent(out) :: re_k
561 real(wp),
optional,
intent(out) :: g_k
562 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
563 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
577 rho = 0._wp; gamma = 0._wp; pi_inf = 0._wp; qv = 0._wp
579 rho = rho + alpha_rho_k(i)
580 gamma = gamma + alpha_k(i)*
gammas(i)
581 pi_inf = pi_inf + alpha_k(i)*
pi_infs(i)
582 qv = qv + alpha_rho_k(i)*
qvs(i)
590 re_k(i) = dflt_real;
if (re_size(i) > 0) re_k(i) = 0._wp
593 re_k(i) = alpha_k(re_idx(i,
j))/
fluid_pp(re_idx(i,
j))%Re(i) + re_k(i)
596 re_k(i) = 1._wp/max(re_k(i), sgm_eps)
601 if (
present(g_k))
then
604 g_k = g_k + alpha_k(i)*
g(i)
606 g_k = max(0._wp, g_k)
610#ifdef MFC_POST_PROCESS
623# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
625# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
627# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
629# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
631# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
633# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
635# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
637# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
639# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
641# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
643# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
645# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
647# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
649# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
651# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
653# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
655# 249 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
658 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
659# 256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
660 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
661 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
662# 259 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
663 real(wp),
dimension(2),
intent(out) :: re_k
664 real(wp),
optional,
intent(out) :: g_k
665 real(wp) :: alpha_k_sum
670 rho_k = alpha_rho_k(1)
678 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
679 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
680 alpha_k_sum = alpha_k_sum + alpha_k(i)
682 alpha_k = alpha_k/max(alpha_k_sum, sgm_eps)
684 rho_k = 0._wp; gamma_k = 0._wp; pi_inf_k = 0._wp; qv_k = 0._wp
686 rho_k = rho_k + alpha_rho_k(i)
687 gamma_k = gamma_k + alpha_k(i)*
gammas(i)
688 pi_inf_k = pi_inf_k + alpha_k(i)*
pi_infs(i)
689 qv_k = qv_k + alpha_rho_k(i)*
qvs(i)
693 if (
present(g_k))
then
697 g_k = g_k + alpha_k(i)*
g(i)
699 g_k = max(0._wp, g_k)
706 if (re_size(i) > 0) re_k(i) = 0._wp
709 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) + re_k(i)
712 re_k(i) = 1._wp/max(re_k(i), sgm_eps)
725# 320 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
726#if defined(MFC_OpenACC)
727# 320 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
729# 320 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
730#elif defined(MFC_OpenMP)
731# 320 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
733# 320 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
737# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
739# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
740 use iso_fortran_env,
only: output_unit
741# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
743# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
744 print *,
'm_variables_conversion.fpp:322: ',
'@:ALLOCATE(gammas (1:num_fluids))'
745# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
747# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
748 call flush (output_unit)
749# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
751# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
753# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
755# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
757# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
759# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
760#if defined(MFC_OpenACC)
761# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
763# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
764#elif defined(MFC_OpenMP)
765# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
767# 322 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
770# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
772# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
773 use iso_fortran_env,
only: output_unit
774# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
776# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
777 print *,
'm_variables_conversion.fpp:323: ',
'@:ALLOCATE(gs_min (1:num_fluids))'
778# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
780# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
781 call flush (output_unit)
782# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
784# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
786# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
787 allocate (
gs_min(1:num_fluids))
788# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
790# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
792# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
793#if defined(MFC_OpenACC)
794# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
796# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
797#elif defined(MFC_OpenMP)
798# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
800# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
803# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
805# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
806 use iso_fortran_env,
only: output_unit
807# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
809# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
810 print *,
'm_variables_conversion.fpp:324: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
811# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
814 call flush (output_unit)
815# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
817# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
819# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
820 allocate (
pi_infs(1:num_fluids))
821# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
823# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
825# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
826#if defined(MFC_OpenACC)
827# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
829# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
830#elif defined(MFC_OpenMP)
831# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
833# 324 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
836# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
838# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
839 use iso_fortran_env,
only: output_unit
840# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
842# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
843 print *,
'm_variables_conversion.fpp:325: ',
'@:ALLOCATE(ps_inf(1:num_fluids))'
844# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
846# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
847 call flush (output_unit)
848# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
850# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
852# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
853 allocate (
ps_inf(1:num_fluids))
854# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
856# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
858# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
859#if defined(MFC_OpenACC)
860# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
862# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
863#elif defined(MFC_OpenMP)
864# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
866# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
869# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
871# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
872 use iso_fortran_env,
only: output_unit
873# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
875# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
876 print *,
'm_variables_conversion.fpp:326: ',
'@:ALLOCATE(cvs (1:num_fluids))'
877# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
880 call flush (output_unit)
881# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
883# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
885# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
886 allocate (
cvs(1:num_fluids))
887# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
889# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
891# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
892#if defined(MFC_OpenACC)
893# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
895# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
896#elif defined(MFC_OpenMP)
897# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
899# 326 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
902# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
904# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
905 use iso_fortran_env,
only: output_unit
906# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
908# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
909 print *,
'm_variables_conversion.fpp:327: ',
'@:ALLOCATE(qvs (1:num_fluids))'
910# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
912# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
913 call flush (output_unit)
914# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
916# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
918# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
919 allocate (
qvs(1:num_fluids))
920# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
922# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
924# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
925#if defined(MFC_OpenACC)
926# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
928# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
929#elif defined(MFC_OpenMP)
930# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
932# 327 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
935# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
937# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
938 use iso_fortran_env,
only: output_unit
939# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
941# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
942 print *,
'm_variables_conversion.fpp:328: ',
'@:ALLOCATE(qvps (1:num_fluids))'
943# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
945# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
946 call flush (output_unit)
947# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
949# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
951# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
952 allocate (
qvps(1:num_fluids))
953# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
955# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
957# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
958#if defined(MFC_OpenACC)
959# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
961# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
962#elif defined(MFC_OpenMP)
963# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
965# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
968# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
970# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
971 use iso_fortran_env,
only: output_unit
972# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
974# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
975 print *,
'm_variables_conversion.fpp:329: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
976# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
978# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
979 call flush (output_unit)
980# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
982# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
984# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
985 allocate (
gs_vc(1:num_fluids))
986# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
988# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
990# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
991#if defined(MFC_OpenACC)
992# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
994# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
995#elif defined(MFC_OpenMP)
996# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
998# 329 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1001 do i = 1, num_fluids
1002 gammas(i) = fluid_pp(i)%gamma
1004 pi_infs(i) = fluid_pp(i)%pi_inf
1005 gs_vc(i) = fluid_pp(i)%G
1007 cvs(i) = fluid_pp(i)%cv
1008 qvs(i) = fluid_pp(i)%qv
1009 qvps(i) = fluid_pp(i)%qvp
1012# 341 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1013#if defined(MFC_OpenACC)
1014# 341 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1016# 341 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1017#elif defined(MFC_OpenMP)
1018# 341 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1020# 341 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1023#ifdef MFC_SIMULATION
1026# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1028# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1029 use iso_fortran_env,
only: output_unit
1030# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1032# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1033 print *,
'm_variables_conversion.fpp:345: ',
'@:ALLOCATE(Res_vc(1:2, 1:Re_size_max))'
1034# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1036# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1037 call flush (output_unit)
1038# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1040# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1042# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1043 allocate (
res_vc(1:2, 1:re_size_max))
1044# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1046# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1048# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1049#if defined(MFC_OpenACC)
1050# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1052# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1053#elif defined(MFC_OpenMP)
1054# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1056# 345 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1059 do j = 1, re_size(i)
1060 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1065# 352 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1066#if defined(MFC_OpenACC)
1067# 352 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1069# 352 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1070#elif defined(MFC_OpenMP)
1071# 352 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1073# 352 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1078 if (bubbles_euler)
then
1080# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1082# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1083 use iso_fortran_env,
only: output_unit
1084# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1086# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1087 print *,
'm_variables_conversion.fpp:357: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
1088# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1090# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1091 call flush (output_unit)
1092# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1094# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1096# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1098# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1100# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1102# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1103#if defined(MFC_OpenACC)
1104# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1106# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1107#elif defined(MFC_OpenMP)
1108# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1110# 357 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1116# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1117#if defined(MFC_OpenACC)
1118# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1120# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1121#elif defined(MFC_OpenMP)
1122# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1124# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1128#ifdef MFC_POST_PROCESS
1135 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1136 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1137 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1138 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1142 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1143 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1144 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1145 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1150 allocate (
rho_sf(-buff_size:m + buff_size,0:0,0:0))
1151 allocate (
gamma_sf(-buff_size:m + buff_size,0:0,0:0))
1152 allocate (
pi_inf_sf(-buff_size:m + buff_size,0:0,0:0))
1153 allocate (
qv_sf(-buff_size:m + buff_size,0:0,0:0))
1162 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1163 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: mv
1164 integer :: i,
j,
k,
l
1165 real(wp) :: mu, sig, nbub_sc
1167 do l = idwint(3)%beg, idwint(3)%end
1168 do k = idwint(2)%beg, idwint(2)%end
1169 do j = idwint(1)%beg, idwint(1)%end
1170 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1173# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1174#if defined(MFC_OpenACC)
1175# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1177# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1178#elif defined(MFC_OpenMP)
1179# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1181# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1184 mu = qk_cons_vf(bubxb + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1185 sig = (qk_cons_vf(bubxb + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1187 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1188 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1189 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1190 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1201 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1202 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(in) :: mv
1203 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: pb
1204 integer :: i,
j,
k,
l
1205 real(wp) :: mu, sig, nbub_sc
1207 do l = idwint(3)%beg, idwint(3)%end
1208 do k = idwint(2)%beg, idwint(2)%end
1209 do j = idwint(1)%beg, idwint(1)%end
1210 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1213# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1214#if defined(MFC_OpenACC)
1215# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1217# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1218#elif defined(MFC_OpenMP)
1219# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1221# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1224 mu = qk_cons_vf(bubxb + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1225 sig = (qk_cons_vf(bubxb + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1228 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, &
1229 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1230 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, &
1231 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1232 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, &
1233 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1234 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, &
1235 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1247 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1248 type(scalar_field),
intent(inout) :: q_t_sf
1249 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1250 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1252# 473 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1253 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1254 real(wp),
dimension(nb) :: nrtmp
1255 real(wp) :: rhoyks(1:num_species)
1256# 477 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1257 real(wp),
dimension(2) :: re_k
1258 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1259 real(wp) :: vftmp, nbub_sc
1262 integer :: i,
j,
k,
l
1264 real(wp) :: pres_mag
1272 real(wp) :: f, dga_dw, dp_dw, df_dw
1276# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1278# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1279#if defined(MFC_OpenACC)
1280# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1282# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1283#elif defined(MFC_OpenMP)
1284# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1286# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1288# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1290# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1292# 495 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1294# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1295 do l = ibounds(3)%beg, ibounds(3)%end
1296 do k = ibounds(2)%beg, ibounds(2)%end
1297 do j = ibounds(1)%beg, ibounds(1)%end
1302 if (model_eqns /= 4)
then
1303#ifdef MFC_SIMULATION
1305 if (elasticity)
then
1314 if (elasticity)
then
1315 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, &
1324 if (relativity)
then
1327 b(2) = qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)
1328 b(3) = qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1330 b(1) = qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)
1331 b(2) = qk_cons_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1332 b(3) = qk_cons_vf(b_idx%beg + 2)%sf(
j,
k,
l)
1334 b2 = b(1)**2 + b(2)**2 + b(3)**2
1338# 540 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1339#if defined(MFC_OpenACC)
1340# 540 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1342# 540 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1343#elif defined(MFC_OpenMP)
1344# 540 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1346# 540 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1349 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1354# 546 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1355#if defined(MFC_OpenACC)
1356# 546 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1358# 546 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1359#elif defined(MFC_OpenMP)
1360# 546 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1362# 546 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1365 s = s + qk_cons_vf(momxb + i - 1)%sf(
j,
k,
l)*b(i)
1368 e = qk_cons_vf(e_idx)%sf(
j,
k,
l)
1372# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1373#if defined(MFC_OpenACC)
1374# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1376# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1377#elif defined(MFC_OpenMP)
1378# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1380# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1383 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1389# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1390#if defined(MFC_OpenACC)
1391# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1393# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1394#elif defined(MFC_OpenMP)
1395# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1397# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1399 do iter = 1, relativity_cons_to_prim_max_iter
1401 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1403 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1404 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1410 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1412 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1413 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1417 if (abs(dw) < 1.e-12_wp*w)
exit
1421 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1422 qk_prim_vf(e_idx)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1426# 588 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1427#if defined(MFC_OpenACC)
1428# 588 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1430# 588 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1431#elif defined(MFC_OpenMP)
1432# 588 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1434# 588 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1437 qk_prim_vf(momxb + i - 1)%sf(
j,
k,
l) = (qk_cons_vf(momxb + i - 1)%sf(
j,
k,
l) + (s/w)*b(i))/(w + b2)
1439 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1442# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1443#if defined(MFC_OpenACC)
1444# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1446# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1447#elif defined(MFC_OpenMP)
1448# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1450# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1452 do i = b_idx%beg, b_idx%end
1453 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1463# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1464#if defined(MFC_OpenACC)
1465# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1467# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1468#elif defined(MFC_OpenMP)
1469# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1471# 605 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1473 do i = chemxb, chemxe
1474 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1478# 610 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1479#if defined(MFC_OpenACC)
1480# 610 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1482# 610 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1483#elif defined(MFC_OpenMP)
1484# 610 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1486# 610 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1489 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1493# 615 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1494#if defined(MFC_OpenACC)
1495# 615 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1497# 615 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1498#elif defined(MFC_OpenMP)
1499# 615 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1501# 615 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1503 do i = chemxb, chemxe
1504 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1509# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1510#if defined(MFC_OpenACC)
1511# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1513# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1514#elif defined(MFC_OpenMP)
1515# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1517# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1520 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1524#ifdef MFC_SIMULATION
1525 rho_k = max(rho_k, sgm_eps)
1530# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1531#if defined(MFC_OpenACC)
1532# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1534# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1535#elif defined(MFC_OpenMP)
1536# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1538# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1541 if (model_eqns /= 4)
then
1542 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1543 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)
1546 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/qk_cons_vf(1)%sf(
j,
k,
l)
1552# 644 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1553#if defined(MFC_OpenACC)
1554# 644 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1556# 644 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1557#elif defined(MFC_OpenMP)
1558# 644 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1560# 644 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1562 do i = 1, num_species
1563 rhoyks(i) = qk_cons_vf(chemxb + i - 1)%sf(
j,
k,
l)
1566 t = q_t_sf%sf(
j,
k,
l)
1571 pres_mag = 0.5_wp*(bx0**2 + qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)**2 + qk_cons_vf(b_idx%beg + 1)%sf(
j,
k, &
1574 pres_mag = 0.5_wp*(qk_cons_vf(b_idx%beg)%sf(
j,
k,
l)**2 + qk_cons_vf(b_idx%beg + 1)%sf(
j,
k, &
1575 &
l)**2 + qk_cons_vf(b_idx%beg + 2)%sf(
j,
k,
l)**2)
1582 & gamma_k, rho_k, qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1584 qk_prim_vf(e_idx)%sf(
j,
k,
l) = pres
1587 q_t_sf%sf(
j,
k,
l) = t
1590 if (bubbles_euler)
then
1593# 675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1594#if defined(MFC_OpenACC)
1595# 675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1597# 675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1598#elif defined(MFC_OpenMP)
1599# 675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1601# 675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1607 vftmp = qk_cons_vf(alf_idx)%sf(
j,
k,
l)
1611 nbub_sc = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1615# 687 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1616#if defined(MFC_OpenACC)
1617# 687 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1619# 687 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1620#elif defined(MFC_OpenMP)
1621# 687 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1623# 687 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1626 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1629#ifdef MFC_SIMULATION
1630 qk_prim_vf(bubxb)%sf(
j,
k,
l) = qk_cons_vf(bubxb)%sf(
j,
k,
l)
1634 qk_prim_vf(n_idx)%sf(
j,
k,
l) = qk_cons_vf(n_idx)%sf(
j,
k,
l)
1635 nbub_sc = qk_prim_vf(n_idx)%sf(
j,
k,
l)
1637 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1641# 703 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1642#if defined(MFC_OpenACC)
1643# 703 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1645# 703 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1646#elif defined(MFC_OpenMP)
1647# 703 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1649# 703 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1652 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1659# 711 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1660#if defined(MFC_OpenACC)
1661# 711 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1663# 711 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1664#elif defined(MFC_OpenMP)
1665# 711 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1667# 711 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1669 do i = b_idx%beg, b_idx%end
1670 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1674 if (elasticity)
then
1676# 718 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1677#if defined(MFC_OpenACC)
1678# 718 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1680# 718 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1681#elif defined(MFC_OpenMP)
1682# 718 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1684# 718 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1687 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1691 if (hypoelasticity)
then
1692 if (cont_damage) g_k = g_k*max((1._wp - qk_cons_vf(damage_idx)%sf(
j,
k,
l)), 0._wp)
1694# 726 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1695#if defined(MFC_OpenACC)
1696# 726 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1698# 726 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1699#elif defined(MFC_OpenMP)
1700# 726 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1702# 726 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1706 if (g_k > verysmall)
then
1707 qk_prim_vf(e_idx)%sf(
j,
k,
l) = qk_prim_vf(e_idx)%sf(
j,
k,
l) - ((qk_prim_vf(i)%sf(
j,
k, &
1708 &
l)**2._wp)/(4._wp*g_k))/gamma_k
1710 if (any(i == shear_indices))
then
1711 qk_prim_vf(e_idx)%sf(
j,
k,
l) = qk_prim_vf(e_idx)%sf(
j,
k,
l) - ((qk_prim_vf(i)%sf(
j,
k, &
1712 &
l)**2._wp)/(4._wp*g_k))/gamma_k
1718 if (hyperelasticity)
then
1720# 742 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1721#if defined(MFC_OpenACC)
1722# 742 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1724# 742 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1725#elif defined(MFC_OpenMP)
1726# 742 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1728# 742 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1731 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1735 if (.not. igr .or. num_fluids > 1)
then
1737# 749 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1738#if defined(MFC_OpenACC)
1739# 749 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1741# 749 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1742#elif defined(MFC_OpenMP)
1743# 749 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1745# 749 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1748 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1752 if (surface_tension)
then
1753 qk_prim_vf(c_idx)%sf(
j,
k,
l) = qk_cons_vf(c_idx)%sf(
j,
k,
l)
1756 if (cont_damage) qk_prim_vf(damage_idx)%sf(
j,
k,
l) = qk_cons_vf(damage_idx)%sf(
j,
k,
l)
1758 if (hyper_cleaning) qk_prim_vf(psi_idx)%sf(
j,
k,
l) = qk_cons_vf(psi_idx)%sf(
j,
k,
l)
1759#ifdef MFC_POST_PROCESS
1760 if (bubbles_lagrange) qk_prim_vf(beta_idx)%sf(
j,
k,
l) = qk_cons_vf(beta_idx)%sf(
j,
k,
l)
1766# 768 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1767#if defined(MFC_OpenACC)
1768# 768 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1770# 768 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1771#elif defined(MFC_OpenMP)
1772# 768 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1774# 768 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1776# 768 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1784 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1785 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1793 real(wp) :: dyn_pres
1794 real(wp) :: nbub, r3tmp
1795 real(wp),
dimension(nb) :: rtmp
1797 real(wp),
dimension(2) :: re_k
1798 integer :: i,
j,
k,
l
1799 real(wp),
dimension(num_species) :: ys
1800 real(wp) :: e_mix, mix_mol_weight, t
1801 real(wp) :: pres_mag
1813#ifndef MFC_SIMULATION
1819 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1821 if (.not. igr .or. num_fluids > 1)
then
1823 do i = adv_idx%beg, adv_idx%end
1828 if (relativity)
then
1831 b(2) = q_prim_vf(b_idx%beg)%sf(
j,
k,
l)
1832 b(3) = q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1834 b(1) = q_prim_vf(b_idx%beg)%sf(
j,
k,
l)
1835 b(2) = q_prim_vf(b_idx%beg + 1)%sf(
j,
k,
l)
1836 b(3) = q_prim_vf(b_idx%beg + 2)%sf(
j,
k,
l)
1841 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1843 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1845 ga = 1._wp/sqrt(1._wp - v2)
1847 h = 1._wp + (gamma + 1)*q_prim_vf(e_idx)%sf(
j,
k,
l)/rho
1850 do i = b_idx%beg, b_idx%end
1851 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1853 if (n == 0) b2 = b2 + bx0**2
1857 vdotb = vdotb + q_prim_vf(momxb + i - 1)%sf(
j,
k,
l)*b(i)
1865 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k,
l) - vdotb*b(i - momxb + 1)
1868 q_cons_vf(e_idx)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(e_idx)%sf(
j,
k,
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1874 do i = b_idx%beg, b_idx%end
1892 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1897 do i = chemxb, chemxe
1898 ys(i - chemxb + 1) = q_prim_vf(i)%sf(
j,
k,
l)
1902 call get_mixture_molecular_weight(ys, mix_mol_weight)
1903 t = q_prim_vf(e_idx)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
1904 call get_mixture_energy_mass(t, ys, e_mix)
1911 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(b_idx%beg)%sf(
j,
k,
l)**2 + q_prim_vf(b_idx%beg + 1)%sf(
j, &
1914 pres_mag = 0.5_wp*(q_prim_vf(b_idx%beg)%sf(
j,
k,
l)**2 + q_prim_vf(b_idx%beg + 1)%sf(
j,
k, &
1915 &
l)**2 + q_prim_vf(b_idx%beg + 2)%sf(
j,
k,
l)**2)
1918 q_cons_vf(e_idx)%sf(
j,
k,
l) = gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + dyn_pres + pres_mag + pi_inf + qv
1919 else if ((model_eqns /= 4) .and. (bubbles_euler .neqv. .true.))
then
1921 q_cons_vf(e_idx)%sf(
j,
k,
l) = gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + dyn_pres + pi_inf + qv
1922 else if ((model_eqns /= 4) .and. (bubbles_euler))
then
1924 q_cons_vf(e_idx)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(alf_idx)%sf(
j,
k, &
1925 &
l))*(gamma*q_prim_vf(e_idx)%sf(
j,
k,
l) + pi_inf)
1933 if (model_eqns == 3)
then
1934 do i = 1, num_fluids
1936 &
l)*(
gammas(i)*q_prim_vf(e_idx)%sf(
j,
k, &
1941 if (bubbles_euler)
then
1944 rtmp(i) = q_prim_vf(bub_idx%rs(i))%sf(
j,
k,
l)
1947 if (.not. qbmm)
then
1950 nbub = q_prim_vf(n_idx)%sf(
j,
k,
l)
1952 call s_comp_n_from_prim(real(q_prim_vf(alf_idx)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
1958 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
1959 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
1962 nbub = 3._wp*q_prim_vf(alf_idx)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
1965 do i = bub_idx%beg, bub_idx%end
1971 do i = b_idx%beg, b_idx%end
1976 if (elasticity)
then
1983 if (hypoelasticity)
then
1984 if (cont_damage) g = g*max((1._wp - q_prim_vf(damage_idx)%sf(
j,
k,
l)), 0._wp)
1987 if (g > verysmall)
then
1989 &
l)**2._wp)/(4._wp*g)
1991 if (any(i == shear_indices))
then
1993 &
l)**2._wp)/(4._wp*g)
2000 if (hyperelasticity)
then
2007 if (surface_tension)
then
2011 if (cont_damage)
q_cons_vf(damage_idx)%sf(
j,
k,
l) = q_prim_vf(damage_idx)%sf(
j,
k,
l)
2013 if (hyper_cleaning)
q_cons_vf(psi_idx)%sf(
j,
k,
l) = q_prim_vf(psi_idx)%sf(
j,
k,
l)
2018 if (proc_rank == 0)
then
2019 call s_mpi_abort(
'Conversion from primitive to ' //
'conservative variables not ' //
'implemented. Exiting.')
2028 integer,
intent(in) :: s2b, s3b
2029 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
2030 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
2031 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,advxb:),
intent(inout) :: fk_src_vf
2032 type(int_bounds_info),
intent(in) :: is1, is2, is3
2037# 1034 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2038 real(wp),
dimension(num_fluids) :: alpha_rho_k
2039 real(wp),
dimension(num_fluids) :: alpha_k
2040 real(wp),
dimension(num_vels) :: vel_k
2041 real(wp),
dimension(num_species) :: y_k
2042# 1039 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2044 real(wp) :: vel_k_sum
2048 real(wp) :: pi_inf_k
2050 real(wp),
dimension(2) :: re_k
2052 real(wp) :: t_k, mix_mol_weight, r_gas
2053 integer :: i,
j,
k,
l
2060# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2061#if defined(MFC_OpenACC)
2062# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2064# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2065#elif defined(MFC_OpenMP)
2066# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2068# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2073#ifdef MFC_SIMULATION
2075# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2077# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2078#if defined(MFC_OpenACC)
2079# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2081# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2082#elif defined(MFC_OpenMP)
2083# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2085# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2087# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2089# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2091# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2093# 1062 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2098# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2099#if defined(MFC_OpenACC)
2100# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2102# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2103#elif defined(MFC_OpenMP)
2104# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2106# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2109 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2113# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2114#if defined(MFC_OpenACC)
2115# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2117# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2118#elif defined(MFC_OpenMP)
2119# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2121# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2124 alpha_k(i - e_idx) = qk_prim_vf(
j,
k,
l, i)
2128# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2129#if defined(MFC_OpenACC)
2130# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2132# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2133#elif defined(MFC_OpenMP)
2134# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2136# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2139 vel_k(i) = qk_prim_vf(
j,
k,
l, contxe + i)
2144# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2145#if defined(MFC_OpenACC)
2146# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2148# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2149#elif defined(MFC_OpenMP)
2150# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2152# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2155 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2158 pres_k = qk_prim_vf(
j,
k,
l, e_idx)
2159 if (elasticity)
then
2170# 1097 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2171#if defined(MFC_OpenACC)
2172# 1097 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2174# 1097 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2175#elif defined(MFC_OpenMP)
2176# 1097 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2178# 1097 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2180 do i = chemxb, chemxe
2181 y_k(i - chemxb + 1) = qk_prim_vf(
j,
k,
l, i)
2184 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2185 r_gas = gas_constant/mix_mol_weight
2186 t_k = pres_k/rho_k/r_gas
2187 call get_mixture_energy_mass(t_k, y_k, e_k)
2188 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2191 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2196# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2197#if defined(MFC_OpenACC)
2198# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2200# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2201#elif defined(MFC_OpenMP)
2202# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2204# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2207 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx(1))
2211# 1118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2212#if defined(MFC_OpenACC)
2213# 1118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2215# 1118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2216#elif defined(MFC_OpenMP)
2217# 1118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2219# 1118 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2222 fk_vf(
j,
k,
l, contxe + dir_idx(i)) = rho_k*vel_k(dir_idx(1))*vel_k(dir_idx(i)) + pres_k*dir_flg(dir_idx(i))
2226 fk_vf(
j,
k,
l, e_idx) = vel_k(dir_idx(1))*(e_k + pres_k)
2231# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2232#if defined(MFC_OpenACC)
2233# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2235# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2236#elif defined(MFC_OpenMP)
2237# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2239# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241 do i = 1, num_species
2242 fk_vf(
j,
k,
l, i - 1 + chemxb) = vel_k(dir_idx(1))*(rho_k*y_k(i))
2246 if (riemann_solver == 1 .or. riemann_solver == 4)
then
2248# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2249#if defined(MFC_OpenACC)
2250# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2252# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2253#elif defined(MFC_OpenMP)
2254# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2256# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2259 fk_vf(
j,
k,
l, i) = 0._wp
2260 fk_src_vf(
j,
k,
l, i) = alpha_k(i - e_idx)
2265# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2266#if defined(MFC_OpenACC)
2267# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2269# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2270#elif defined(MFC_OpenMP)
2271# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2273# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2276 fk_vf(
j,
k,
l, i) = vel_k(dir_idx(1))*alpha_k(i - e_idx)
2280# 1147 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2281#if defined(MFC_OpenACC)
2282# 1147 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2284# 1147 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2285#elif defined(MFC_OpenMP)
2286# 1147 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2288# 1147 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2291 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx(1))
2298# 1155 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2299#if defined(MFC_OpenACC)
2300# 1155 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2302# 1155 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2303#elif defined(MFC_OpenMP)
2304# 1155 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2306# 1155 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2308# 1155 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2318# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2320# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2322# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2324# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2326# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2328# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2330# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2332# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2334# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2336# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2338# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2340# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2342# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2344# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2346# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2348# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2350# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2352 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2353 integer,
intent(in) ::
k,
l, r
2354# 1169 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2355 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2356# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2358 real(wp) :: alpha_k_sum
2360 if (num_fluids == 1)
then
2361 alpha_rho_k(1) = q_vf(contxb)%sf(
k,
l, r)
2362 if (igr .or. bubbles_euler)
then
2365 alpha_k(1) = q_vf(advxb)%sf(
k,
l, r)
2369 do i = 1, num_fluids - 1
2370 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2371 alpha_k(i) = q_vf(advxb + i - 1)%sf(
k,
l, r)
2373 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2374 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2376 do i = 1, num_fluids
2377 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2378 alpha_k(i) = q_vf(advxb + i - 1)%sf(
k,
l, r)
2385 do i = 1, num_fluids
2386 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2387 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2388 alpha_k_sum = alpha_k_sum + alpha_k(i)
2390 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2393 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(advxb)%sf(
k,
l, r)
2401#ifdef MFC_POST_PROCESS
2405#ifdef MFC_SIMULATION
2407# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2409# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2410 use iso_fortran_env,
only: output_unit
2411# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2413# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2414 print *,
'm_variables_conversion.fpp:1220: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2415# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2417# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2418 call flush (output_unit)
2419# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2421# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2423# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2425# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2426#if defined(MFC_OpenACC)
2427# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2429# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2430#elif defined(MFC_OpenMP)
2431# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2433# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2435# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2437 if (bubbles_euler)
then
2439# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2441# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2442 use iso_fortran_env,
only: output_unit
2443# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2445# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2446 print *,
'm_variables_conversion.fpp:1222: ',
'@:DEALLOCATE(bubrs_vc)'
2447# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2449# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2450 call flush (output_unit)
2451# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2453# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2455# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2457# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458#if defined(MFC_OpenACC)
2459# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2461# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2462#elif defined(MFC_OpenMP)
2463# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2465# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2467# 1222 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2472# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2474# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2475 use iso_fortran_env,
only: output_unit
2476# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2478# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2479 print *,
'm_variables_conversion.fpp:1225: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2480# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2482# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2483 call flush (output_unit)
2484# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2486# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2488# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2490# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2491#if defined(MFC_OpenACC)
2492# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2494# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2495#elif defined(MFC_OpenMP)
2496# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2498# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2500# 1225 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2502 if (bubbles_euler)
then
2504# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2506# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2507 use iso_fortran_env,
only: output_unit
2508# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2510# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2511 print *,
'm_variables_conversion.fpp:1227: ',
'@:DEALLOCATE(bubrs_vc)'
2512# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2514# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2515 call flush (output_unit)
2516# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2518# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2520# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2522# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2523#if defined(MFC_OpenACC)
2524# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2526# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2527#elif defined(MFC_OpenMP)
2528# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2530# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2532# 1227 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2539#ifndef MFC_PRE_PROCESS
2544# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2546# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2548# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2550# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2552# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2554# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2556# 1237 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2559 real(wp),
intent(in) :: pres
2560 real(wp),
intent(in) :: rho, gamma, pi_inf, qv
2561 real(wp),
intent(in) :: H
2562# 1245 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2563 real(wp),
dimension(num_fluids),
intent(in) :: adv
2564# 1247 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2565 real(wp),
intent(in) :: vel_sum
2566 real(wp),
intent(in) :: c_c
2567 real(wp),
intent(out) :: c
2568 real(wp) :: blkmod1, blkmod2
2572 if (avg_state == 1 .and. abs(c_c) > verysmall)
then
2573 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2575 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2577 else if (relativity)
then
2578 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2580 if (alt_soundspeed)
then
2583 c = (1._wp/(rho*(adv(1)/blkmod1 + adv(2)/blkmod2)))
2584 else if (model_eqns == 3)
then
2587# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2588#if defined(MFC_OpenACC)
2589# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2591# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2592#elif defined(MFC_OpenMP)
2593# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2595# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2597 do q = 1, num_fluids
2601 else if (((model_eqns == 4) .or. (model_eqns == 2 .and. bubbles_euler)))
then
2604 if (mpp_lim .and. (num_fluids > 1))
then
2605 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/rho
2607 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/(rho*(1._wp - adv(num_fluids)))
2610 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2613 if (mixture_err .and. c < 0._wp)
then
2623#ifndef MFC_PRE_PROCESS
2628# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2630# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2632# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2634# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2636# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2638# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2640# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2642# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2644# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2646# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2648# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2650# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2652# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2654# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2656# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2658# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2660# 1299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2663 real(wp),
intent(in) :: B(3), rho, c
2664 real(wp),
intent(in) :: h
2665 real(wp),
intent(out) :: c_fast
2666 integer,
intent(in) :: norm
2667 real(wp) :: B2, term, disc
2671 if (.not. relativity)
then
2672 term = c**2 + b2/rho
2673 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2676 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2677 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2681 if (disc < 0._wp)
then
2682 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2683 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2687 c_fast = sqrt(0.5_wp*(term + sqrt(disc)))
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Global parameters for the post-process: domain geometry, equation of state, and output database setti...
logical hypoelasticity
Turn hypoelasticity on.
integer num_fluids
Number of different fluids present in the flow.
type(int_bounds_info) stress_idx
Indices of elastic stresses.
integer gamma_idx
Index of specific heat ratio func. eqn.
integer model_eqns
Multicomponent flow model.
type(physical_parameters), dimension(num_fluids_max) fluid_pp
Stiffened gas EOS parameters and Reynolds numbers per fluid.
integer pi_inf_idx
Index of liquid stiffness func. eqn.
logical mhd
Magnetohydrodynamics.
integer, dimension(3) shear_indices
Indices of the stress components that represent shear stress.
logical mpp_lim
Maximum volume fraction limiter.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
MPI gather and scatter operations for distributing post-process grid and flow-variable data.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine s_compute_fast_magnetosonic_speed(rho, c, b, norm, c_fast, h)
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).