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# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
36# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
37# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
38# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
66# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
67# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
68# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
69# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
70# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
72# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
144# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
145# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
146# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
147# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
148# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
149# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
150# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
152# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
153# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
174# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
176# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
178# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
180# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
233# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
294# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
299# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
302# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
305# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
308# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
318# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
321# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
327# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
330# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
331# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
343 use m_thermochem,
only: num_species, get_temperature, get_pressure, gas_constant, get_mixture_molecular_weight, &
344 & get_mixture_energy_mass
361#ifndef MFC_PRE_PROCESS
368#ifndef MFC_SIMULATION
371# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
372#if defined(MFC_OpenACC)
373# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
375# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
376#elif defined(MFC_OpenMP)
377# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
379# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
383 real(wp),
allocatable,
dimension(:) ::
gs_vc
385 real(wp),
allocatable,
dimension(:,:) ::
res_vc
387# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
388#if defined(MFC_OpenACC)
389# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
391# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
392#elif defined(MFC_OpenMP)
393# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
395# 51 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
400# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
401#if defined(MFC_OpenACC)
402# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
404# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
405#elif defined(MFC_OpenMP)
406# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
408# 54 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
411 real(wp),
allocatable,
dimension(:,:,:),
public ::
rho_sf
412 real(wp),
allocatable,
dimension(:,:,:),
public ::
gamma_sf
413 real(wp),
allocatable,
dimension(:,:,:),
public ::
pi_inf_sf
414 real(wp),
allocatable,
dimension(:,:,:),
public ::
qv_sf
420 subroutine s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, Re_K, G_K, G)
422 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
423 integer,
intent(in) :: i,
j,
k
424 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
425 real(wp),
optional,
dimension(2),
intent(out) :: re_k
426 real(wp),
optional,
intent(out) :: g_k
427 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
432 call s_convert_species_to_mixture_variables(q_vf, i,
j,
k, rho, gamma, pi_inf, qv, re_k, g_k, g)
438 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, stress, mom, G, pres_mag)
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"
469# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
471# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
473# 85 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
476 real(stp),
intent(in) :: energy, alf
477 real(wp),
intent(in) :: dyn_p
478 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
479 real(wp),
intent(out) :: pres
480 real(wp),
intent(inout) :: t
481 real(stp),
intent(in),
optional :: stress, mom
482 real(wp),
intent(in),
optional :: g, pres_mag
485 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
486 real(wp),
dimension(1:num_species) :: y_rs
488 real(wp) :: e_per_kg, pdyn_per_kg
491# 103 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
497 pres = (energy - dyn_p - pi_inf - qv - pres_mag)/gamma
498 else if ((model_eqns /=
model_eqns_4eq) .and. (bubbles_euler .neqv. .true.))
then
500 pres = (energy - dyn_p - pi_inf - qv)/gamma
503 pres = ((energy - dyn_p)/(1._wp - alf) - pi_inf - qv)/gamma
506 pres = (pref + pi_inf)*(energy/(rhoref*(1 - alf)))**(1/gamma + 1) - pi_inf
509 if (hypoelasticity .and.
present(g))
then
512 do s = eqn_idx%stress%beg, eqn_idx%stress%end
514 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
516 if (any(s == shear_indices))
then
517 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
522 pres = (energy - 0.5_wp*(mom**2._wp)/rho - pi_inf - qv - e_e)/gamma
524# 146 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
533 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
534 integer,
intent(in) :: i,
j,
k
535 real(wp),
intent(out),
target :: rho
536 real(wp),
intent(out),
target :: gamma
537 real(wp),
intent(out),
target :: pi_inf
538 real(wp),
intent(out),
target :: qv
542 rho = q_vf(1)%sf(i,
j,
k)
543 gamma = q_vf(eqn_idx%gamma)%sf(i,
j,
k)
544 pi_inf = q_vf(eqn_idx%pi_inf)%sf(i,
j,
k)
548#ifdef MFC_POST_PROCESS
560 subroutine s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, Re_K, G_K, G)
562 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
563 integer,
intent(in) ::
k,
l, r
564 real(wp),
intent(out),
target :: rho
565 real(wp),
intent(out),
target :: gamma
566 real(wp),
intent(out),
target :: pi_inf
567 real(wp),
intent(out),
target :: qv
568 real(wp),
optional,
dimension(2),
intent(out) :: re_k
569 real(wp),
optional,
intent(out) :: g_k
570 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
571 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
579 if (num_fluids == 1 .and. bubbles_euler)
then
585 rho = 0._wp; gamma = 0._wp; pi_inf = 0._wp; qv = 0._wp
587 rho = rho + alpha_rho_k(i)
588 gamma = gamma + alpha_k(i)*
gammas(i)
589 pi_inf = pi_inf + alpha_k(i)*
pi_infs(i)
590 qv = qv + alpha_rho_k(i)*
qvs(i)
598 re_k(i) =
dflt_real;
if (re_size(i) > 0) re_k(i) = 0._wp
601 re_k(i) = alpha_k(re_idx(i,
j))/fluid_pp(re_idx(i,
j))%Re(i) + re_k(i)
604 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
609 if (
present(g_k))
then
612 g_k = g_k + alpha_k(i)*g(i)
614 g_k = max(0._wp, g_k)
618#ifdef MFC_POST_PROCESS
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"
659# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
661# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
663# 251 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
666 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
667# 258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
668 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
669 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
670# 261 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
671 real(wp),
dimension(2),
intent(out) :: re_k
672 real(wp),
optional,
intent(out) :: g_k
673 real(wp) :: alpha_k_sum
681 if (
present(g_k)) g_k = 0._wp
685 if (num_fluids == 1 .and. bubbles_euler)
then
686 rho_k = alpha_rho_k(1)
694 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
695 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
696 alpha_k_sum = alpha_k_sum + alpha_k(i)
698 alpha_k = alpha_k/max(alpha_k_sum,
sgm_eps)
700 rho_k = 0._wp; gamma_k = 0._wp; pi_inf_k = 0._wp; qv_k = 0._wp
702 rho_k = rho_k + alpha_rho_k(i)
703 gamma_k = gamma_k + alpha_k(i)*
gammas(i)
704 pi_inf_k = pi_inf_k + alpha_k(i)*
pi_infs(i)
705 qv_k = qv_k + alpha_rho_k(i)*
qvs(i)
709 if (
present(g_k))
then
713 g_k = g_k + alpha_k(i)*g(i)
715 g_k = max(0._wp, g_k)
722 if (re_size(i) > 0) re_k(i) = 0._wp
725 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) + re_k(i)
728 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
741# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
742#if defined(MFC_OpenACC)
743# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
745# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
746#elif defined(MFC_OpenMP)
747# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
749# 330 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
753# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
755# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
756 use iso_fortran_env,
only: output_unit
757# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
759# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
760 print *,
'm_variables_conversion.fpp:332: ',
'@:ALLOCATE(gammas (1:num_fluids))'
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 call flush (output_unit)
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 allocate (
gammas(1:num_fluids))
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"
775# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
776#if defined(MFC_OpenACC)
777# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
779# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
780#elif defined(MFC_OpenMP)
781# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
783# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
786# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
788# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
789 use iso_fortran_env,
only: output_unit
790# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
792# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
793 print *,
'm_variables_conversion.fpp:333: ',
'@:ALLOCATE(gs_min (1:num_fluids))'
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 call flush (output_unit)
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 allocate (
gs_min(1:num_fluids))
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"
808# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
809#if defined(MFC_OpenACC)
810# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
812# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813#elif defined(MFC_OpenMP)
814# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
816# 333 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
819# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
821# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
822 use iso_fortran_env,
only: output_unit
823# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
825# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
826 print *,
'm_variables_conversion.fpp:334: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
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 call flush (output_unit)
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 allocate (
pi_infs(1:num_fluids))
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"
841# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
842#if defined(MFC_OpenACC)
843# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
845# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
846#elif defined(MFC_OpenMP)
847# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
849# 334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
852# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
854# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
855 use iso_fortran_env,
only: output_unit
856# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
858# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
859 print *,
'm_variables_conversion.fpp:335: ',
'@:ALLOCATE(ps_inf(1:num_fluids))'
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 call flush (output_unit)
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 allocate (
ps_inf(1:num_fluids))
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"
874# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
875#if defined(MFC_OpenACC)
876# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
878# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879#elif defined(MFC_OpenMP)
880# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
882# 335 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
885# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
887# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
888 use iso_fortran_env,
only: output_unit
889# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
891# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
892 print *,
'm_variables_conversion.fpp:336: ',
'@:ALLOCATE(cvs (1:num_fluids))'
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 call flush (output_unit)
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 allocate (
cvs(1:num_fluids))
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"
907# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
908#if defined(MFC_OpenACC)
909# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
911# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
912#elif defined(MFC_OpenMP)
913# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
915# 336 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
918# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
920# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
921 use iso_fortran_env,
only: output_unit
922# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
924# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
925 print *,
'm_variables_conversion.fpp:337: ',
'@:ALLOCATE(qvs (1:num_fluids))'
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 call flush (output_unit)
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 allocate (
qvs(1:num_fluids))
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"
940# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
941#if defined(MFC_OpenACC)
942# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
944# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
945#elif defined(MFC_OpenMP)
946# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
948# 337 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
951# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
953# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
954 use iso_fortran_env,
only: output_unit
955# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
957# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
958 print *,
'm_variables_conversion.fpp:338: ',
'@:ALLOCATE(qvps (1:num_fluids))'
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 call flush (output_unit)
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 allocate (
qvps(1:num_fluids))
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"
973# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
974#if defined(MFC_OpenACC)
975# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
977# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
978#elif defined(MFC_OpenMP)
979# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
981# 338 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
984# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
986# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
987 use iso_fortran_env,
only: output_unit
988# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
990# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
991 print *,
'm_variables_conversion.fpp:339: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
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 call flush (output_unit)
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 allocate (
gs_vc(1:num_fluids))
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"
1006# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1007#if defined(MFC_OpenACC)
1008# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1010# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1011#elif defined(MFC_OpenMP)
1012# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1014# 339 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1017 do i = 1, num_fluids
1018 gammas(i) = fluid_pp(i)%gamma
1020 pi_infs(i) = fluid_pp(i)%pi_inf
1021 gs_vc(i) = fluid_pp(i)%G
1023 cvs(i) = fluid_pp(i)%cv
1024 qvs(i) = fluid_pp(i)%qv
1025 qvps(i) = fluid_pp(i)%qvp
1028# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1029#if defined(MFC_OpenACC)
1030# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1032# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1033#elif defined(MFC_OpenMP)
1034# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1036# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1039#ifdef MFC_SIMULATION
1042# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1044# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1045 use iso_fortran_env,
only: output_unit
1046# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1048# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1049 print *,
'm_variables_conversion.fpp:355: ',
'@:ALLOCATE(Res_vc(1:2, 1:Re_size_max))'
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 call flush (output_unit)
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 allocate (
res_vc(1:2, 1:re_size_max))
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"
1064# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1065#if defined(MFC_OpenACC)
1066# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1068# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1069#elif defined(MFC_OpenMP)
1070# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1072# 355 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1075 do j = 1, re_size(i)
1076 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1081# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1082#if defined(MFC_OpenACC)
1083# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1085# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1086#elif defined(MFC_OpenMP)
1087# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1089# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1094 if (bubbles_euler)
then
1096# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1098# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1099 use iso_fortran_env,
only: output_unit
1100# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1102# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1103 print *,
'm_variables_conversion.fpp:367: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
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"
1107 call flush (output_unit)
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"
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"
1118# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1119#if defined(MFC_OpenACC)
1120# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1122# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1123#elif defined(MFC_OpenMP)
1124# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1126# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1132# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1133#if defined(MFC_OpenACC)
1134# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1136# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1137#elif defined(MFC_OpenMP)
1138# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1140# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1144#ifdef MFC_POST_PROCESS
1151 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1152 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1153 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1154 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1158 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1159 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1160 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1161 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1166 allocate (
rho_sf(-buff_size:m + buff_size,0:0,0:0))
1167 allocate (
gamma_sf(-buff_size:m + buff_size,0:0,0:0))
1168 allocate (
pi_inf_sf(-buff_size:m + buff_size,0:0,0:0))
1169 allocate (
qv_sf(-buff_size:m + buff_size,0:0,0:0))
1178 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1179 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: mv
1180 integer :: i,
j,
k,
l
1181 real(wp) :: mu, sig, nbub_sc
1183 do l = idwint(3)%beg, idwint(3)%end
1184 do k = idwint(2)%beg, idwint(2)%end
1185 do j = idwint(1)%beg, idwint(1)%end
1186 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1189# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1190#if defined(MFC_OpenACC)
1191# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1193# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1194#elif defined(MFC_OpenMP)
1195# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1197# 418 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1200 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1201 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1203 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1204 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1205 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1206 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1217 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1218 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(in) :: mv
1219 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: pb
1220 integer :: i,
j,
k,
l
1221 real(wp) :: mu, sig, nbub_sc
1223 do l = idwint(3)%beg, idwint(3)%end
1224 do k = idwint(2)%beg, idwint(2)%end
1225 do j = idwint(1)%beg, idwint(1)%end
1226 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1229# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1230#if defined(MFC_OpenACC)
1231# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1233# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1234#elif defined(MFC_OpenMP)
1235# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1237# 448 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1240 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1241 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1244 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, &
1245 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1246 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, &
1247 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1248 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, &
1249 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1250 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, &
1251 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1263 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1264 type(scalar_field),
intent(inout) :: q_t_sf
1265 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1266 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1268# 483 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1269 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1270 real(wp),
dimension(nb) :: nrtmp
1271 real(wp) :: rhoyks(1:num_species)
1272# 487 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1273 real(wp),
dimension(2) :: re_k
1274 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1275 real(wp) :: vftmp, nbub_sc
1278 integer :: i,
j,
k,
l
1280 real(wp) :: pres_mag
1288 real(wp) :: f, dga_dw, dp_dw, df_dw
1292# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1294# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1295#if defined(MFC_OpenACC)
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"
1301#elif defined(MFC_OpenMP)
1302# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1304# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1306# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1308# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1310# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1312# 505 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1314# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1315 do l = ibounds(3)%beg, ibounds(3)%end
1316 do k = ibounds(2)%beg, ibounds(2)%end
1317 do j = ibounds(1)%beg, ibounds(1)%end
1322 if (model_eqns /= model_eqns_4eq)
then
1323#ifdef MFC_SIMULATION
1325 if (elasticity)
then
1334 if (elasticity)
then
1335 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, &
1344 if (relativity)
then
1347 b(2) = qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1348 b(3) = qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1350 b(1) = qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1351 b(2) = qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1352 b(3) = qk_cons_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1354 b2 = b(1)**2 + b(2)**2 + b(3)**2
1358# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1359#if defined(MFC_OpenACC)
1360# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1362# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1363#elif defined(MFC_OpenMP)
1364# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1366# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1368 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1369 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1374# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1375#if defined(MFC_OpenACC)
1376# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1378# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1379#elif defined(MFC_OpenMP)
1380# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1382# 556 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1385 s = s + qk_cons_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1388 e = qk_cons_vf(eqn_idx%E)%sf(
j,
k,
l)
1392# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1393#if defined(MFC_OpenACC)
1394# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1396# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1397#elif defined(MFC_OpenMP)
1398# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1400# 564 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1402 do i = 1, eqn_idx%cont%end
1403 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1409# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1410#if defined(MFC_OpenACC)
1411# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1413# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1414#elif defined(MFC_OpenMP)
1415# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1417# 571 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1419 do iter = 1, relativity_cons_to_prim_max_iter
1421 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1423 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1424 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1430 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1432 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1433 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1437 if (abs(dw) < 1.e-12_wp*w)
exit
1441 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1442 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1446# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1447#if defined(MFC_OpenACC)
1448# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1450# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1451#elif defined(MFC_OpenMP)
1452# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1454# 598 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1457 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, &
1458 &
l) + (s/w)*b(i))/(w + b2)
1460 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
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 = eqn_idx%B%beg, eqn_idx%B%end
1474 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1484# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1485#if defined(MFC_OpenACC)
1486# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1488# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1489#elif defined(MFC_OpenMP)
1490# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1492# 616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1494 do i = eqn_idx%species%beg, eqn_idx%species%end
1495 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1499# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1500#if defined(MFC_OpenACC)
1501# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1503# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1504#elif defined(MFC_OpenMP)
1505# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1507# 621 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1509 do i = 1, eqn_idx%cont%end
1510 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1514# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1515#if defined(MFC_OpenACC)
1516# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1518# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1519#elif defined(MFC_OpenMP)
1520# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1522# 626 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1524 do i = eqn_idx%species%beg, eqn_idx%species%end
1525 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
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"
1540 do i = 1, eqn_idx%cont%end
1541 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1545#ifdef MFC_SIMULATION
1546 rho_k = max(rho_k, sgm_eps)
1551# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1552#if defined(MFC_OpenACC)
1553# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1555# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1556#elif defined(MFC_OpenMP)
1557# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1559# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1561 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1562 if (model_eqns /= model_eqns_4eq)
then
1563 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1564 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)
1567 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/qk_cons_vf(1)%sf(
j,
k,
l)
1573# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1574#if defined(MFC_OpenACC)
1575# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1577# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1578#elif defined(MFC_OpenMP)
1579# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1581# 655 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1583 do i = 1, num_species
1584 rhoyks(i) = qk_cons_vf(eqn_idx%species%beg + i - 1)%sf(
j,
k,
l)
1587 t = q_t_sf%sf(
j,
k,
l)
1592 pres_mag = 0.5_wp*(bx0**2 + qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k, &
1593 &
l)**2 + qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1595 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, &
1596 &
l)**2 + qk_cons_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1603 & pi_inf_k, gamma_k, rho_k, qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1605 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = pres
1608 q_t_sf%sf(
j,
k,
l) = t
1611 if (bubbles_euler)
then
1614# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1615#if defined(MFC_OpenACC)
1616# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1618# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1619#elif defined(MFC_OpenMP)
1620# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1622# 686 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1628 vftmp = qk_cons_vf(eqn_idx%alf)%sf(
j,
k,
l)
1632 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1636# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1637#if defined(MFC_OpenACC)
1638# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1640# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1641#elif defined(MFC_OpenMP)
1642# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1644# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1646 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1647 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1650#ifdef MFC_SIMULATION
1651 qk_prim_vf(eqn_idx%bub%beg)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1655 qk_prim_vf(eqn_idx%n)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%n)%sf(
j,
k,
l)
1656 nbub_sc = qk_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1658 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1662# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1663#if defined(MFC_OpenACC)
1664# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1666# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1667#elif defined(MFC_OpenMP)
1668# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1670# 714 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1672 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1673 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1680# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1681#if defined(MFC_OpenACC)
1682# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1684# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1685#elif defined(MFC_OpenMP)
1686# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1688# 722 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1690 do i = eqn_idx%B%beg, eqn_idx%B%end
1691 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1695 if (elasticity)
then
1697# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1698#if defined(MFC_OpenACC)
1699# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1701# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1702#elif defined(MFC_OpenMP)
1703# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1705# 729 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1707 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1708 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1712 if (hypoelasticity)
then
1713 if (cont_damage) g_k = g_k*max((1._wp - qk_cons_vf(eqn_idx%damage)%sf(
j,
k,
l)), 0._wp)
1715# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1716#if defined(MFC_OpenACC)
1717# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1719# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1720#elif defined(MFC_OpenMP)
1721# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1723# 737 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1725 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1727 if (g_k > verysmall)
then
1728 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, &
1729 &
l)**2._wp)/(4._wp*g_k))/gamma_k
1731 if (any(i == shear_indices))
then
1732 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, &
1733 &
k,
l)**2._wp)/(4._wp*g_k))/gamma_k
1739 if (hyperelasticity)
then
1741# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1742#if defined(MFC_OpenACC)
1743# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1745# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1746#elif defined(MFC_OpenMP)
1747# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1749# 753 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1751 do i = eqn_idx%xi%beg, eqn_idx%xi%end
1752 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1756 if (.not. igr .or. num_fluids > 1)
then
1758# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1759#if defined(MFC_OpenACC)
1760# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1762# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1763#elif defined(MFC_OpenMP)
1764# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1766# 760 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1768 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1769 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1773 if (surface_tension)
then
1774 qk_prim_vf(eqn_idx%c)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%c)%sf(
j,
k,
l)
1777 if (cont_damage) qk_prim_vf(eqn_idx%damage)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%damage)%sf(
j,
k,
l)
1779 if (hyper_cleaning) qk_prim_vf(eqn_idx%psi)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%psi)%sf(
j,
k,
l)
1780#ifdef MFC_POST_PROCESS
1781 if (bubbles_lagrange) qk_prim_vf(beta_idx)%sf(
j,
k,
l) = qk_cons_vf(beta_idx)%sf(
j,
k,
l)
1787# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1788#if defined(MFC_OpenACC)
1789# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1791# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1792#elif defined(MFC_OpenMP)
1793# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1795# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1797# 779 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1805 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1806 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1814 real(wp) :: dyn_pres
1815 real(wp) :: nbub, r3tmp
1816 real(wp),
dimension(nb) :: rtmp
1818 real(wp),
dimension(2) :: re_k
1819 integer :: i,
j,
k,
l
1820 real(wp),
dimension(num_species) :: ys
1821 real(wp) :: e_mix, mix_mol_weight, t
1822 real(wp) :: pres_mag
1834#ifndef MFC_SIMULATION
1840 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1842 if (.not. igr .or. num_fluids > 1)
then
1844 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1849 if (relativity)
then
1852 b(2) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1853 b(3) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1855 b(1) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1856 b(2) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1857 b(3) = q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1861 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1862 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1864 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1866 ga = 1._wp/sqrt(1._wp - v2)
1868 h = 1._wp + (gamma + 1)*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)/rho
1871 do i = eqn_idx%B%beg, eqn_idx%B%end
1872 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1874 if (n == 0) b2 = b2 + bx0**2
1878 vdotb = vdotb + q_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1881 do i = 1, eqn_idx%cont%end
1885 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1886 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k, &
1887 &
l) - vdotb*b(i - eqn_idx%mom%beg + 1)
1890 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1891 &
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1893 do i = 1, eqn_idx%cont%end
1897 do i = eqn_idx%B%beg, eqn_idx%B%end
1905 do i = 1, eqn_idx%cont%end
1913 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1915 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1920 do i = eqn_idx%species%beg, eqn_idx%species%end
1921 ys(i - eqn_idx%species%beg + 1) = q_prim_vf(i)%sf(
j,
k,
l)
1925 call get_mixture_molecular_weight(ys, mix_mol_weight)
1926 t = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
1927 call get_mixture_energy_mass(t, ys, e_mix)
1929 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + rho*e_mix
1934 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(eqn_idx%B%beg)%sf(
j,
k, &
1935 &
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1937 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, &
1938 &
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1941 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1942 &
l) + dyn_pres + pres_mag + pi_inf + qv
1943 else if ((model_eqns /= model_eqns_4eq) .and. (bubbles_euler .neqv. .true.))
then
1945 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
1946 else if ((model_eqns /= model_eqns_4eq) .and. (bubbles_euler))
then
1948 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(eqn_idx%alf)%sf(
j,
k, &
1949 &
l))*(gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + pi_inf)
1957 if (model_eqns == model_eqns_6eq)
then
1958 do i = 1, num_fluids
1960 &
l)*(
gammas(i)*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1965 if (bubbles_euler)
then
1968 rtmp(i) = q_prim_vf(qbmm_idx%rs(i))%sf(
j,
k,
l)
1971 if (.not. qbmm)
then
1974 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1976 call s_comp_n_from_prim(real(q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
1982 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
1983 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
1986 nbub = 3._wp*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
1989 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1995 do i = eqn_idx%B%beg, eqn_idx%B%end
2000 if (elasticity)
then
2002 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2007 if (hypoelasticity)
then
2008 if (cont_damage) g = g*max((1._wp - q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)), 0._wp)
2009 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2011 if (g > verysmall)
then
2013 &
l)**2._wp)/(4._wp*g)
2015 if (any(i == shear_indices))
then
2017 &
l)**2._wp)/(4._wp*g)
2024 if (hyperelasticity)
then
2026 do i = eqn_idx%xi%beg, eqn_idx%xi%end
2031 if (surface_tension)
then
2035 if (cont_damage)
q_cons_vf(eqn_idx%damage)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)
2037 if (hyper_cleaning)
q_cons_vf(eqn_idx%psi)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%psi)%sf(
j,
k,
l)
2042 if (proc_rank == 0)
then
2043 call s_mpi_abort(
'Conversion from primitive to ' //
'conservative variables not ' //
'implemented. Exiting.')
2052 integer,
intent(in) :: s2b, s3b
2053 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
2054 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
2055 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,eqn_idx%adv%beg:),
intent(inout) :: fk_src_vf
2056 type(int_bounds_info),
intent(in) :: is1, is2, is3
2061# 1048 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2062 real(wp),
dimension(num_fluids) :: alpha_rho_k
2063 real(wp),
dimension(num_fluids) :: alpha_k
2064 real(wp),
dimension(num_vels) :: vel_k
2065 real(wp),
dimension(num_species) :: y_k
2066# 1053 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2068 real(wp) :: vel_k_sum
2072 real(wp) :: pi_inf_k
2074 real(wp),
dimension(2) :: re_k
2076 real(wp) :: t_k, mix_mol_weight, r_gas
2077 integer :: i,
j,
k,
l
2084# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2085#if defined(MFC_OpenACC)
2086# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2088# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2089#elif defined(MFC_OpenMP)
2090# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2092# 1069 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2097#ifdef MFC_SIMULATION
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"
2102#if defined(MFC_OpenACC)
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"
2106#elif defined(MFC_OpenMP)
2107# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2109# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2111# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2113# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2115# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2117# 1074 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2119# 1076 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2124# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2125#if defined(MFC_OpenACC)
2126# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2128# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2129#elif defined(MFC_OpenMP)
2130# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2132# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2134 do i = 1, eqn_idx%cont%end
2135 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2139# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2140#if defined(MFC_OpenACC)
2141# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2143# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2144#elif defined(MFC_OpenMP)
2145# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2147# 1084 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2149 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2150 alpha_k(i - eqn_idx%E) = qk_prim_vf(
j,
k,
l, i)
2154# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2155#if defined(MFC_OpenACC)
2156# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2158# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2159#elif defined(MFC_OpenMP)
2160# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2162# 1089 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2165 vel_k(i) = qk_prim_vf(
j,
k,
l, eqn_idx%cont%end + i)
2170# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2171#if defined(MFC_OpenACC)
2172# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2174# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2175#elif defined(MFC_OpenMP)
2176# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2178# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2181 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2184 pres_k = qk_prim_vf(
j,
k,
l, eqn_idx%E)
2185 if (elasticity)
then
2196# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2197#if defined(MFC_OpenACC)
2198# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2200# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2201#elif defined(MFC_OpenMP)
2202# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2204# 1111 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2206 do i = eqn_idx%species%beg, eqn_idx%species%end
2207 y_k(i - eqn_idx%species%beg + 1) = qk_prim_vf(
j,
k,
l, i)
2210 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2211 r_gas = gas_constant/mix_mol_weight
2212 t_k = pres_k/rho_k/r_gas
2213 call get_mixture_energy_mass(t_k, y_k, e_k)
2214 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2217 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2222# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2223#if defined(MFC_OpenACC)
2224# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2226# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2227#elif defined(MFC_OpenMP)
2228# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2230# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2232 do i = 1, eqn_idx%cont%end
2233 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx(1))
2237# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2238#if defined(MFC_OpenACC)
2239# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2242#elif defined(MFC_OpenMP)
2243# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2245# 1132 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2249 & eqn_idx%cont%end + dir_idx(i)) = rho_k*vel_k(dir_idx(1))*vel_k(dir_idx(i)) &
2250 & + pres_k*dir_flg(dir_idx(i))
2254 fk_vf(
j,
k,
l, eqn_idx%E) = vel_k(dir_idx(1))*(e_k + pres_k)
2259# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2260#if defined(MFC_OpenACC)
2261# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2263# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2264#elif defined(MFC_OpenMP)
2265# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2267# 1144 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2269 do i = 1, num_species
2270 fk_vf(
j,
k,
l, i - 1 + eqn_idx%species%beg) = vel_k(dir_idx(1))*(rho_k*y_k(i))
2274 if (riemann_solver == riemann_solver_hll .or. riemann_solver == riemann_solver_hlld)
then
2276# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2277#if defined(MFC_OpenACC)
2278# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2280# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2281#elif defined(MFC_OpenMP)
2282# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2284# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2286 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2287 fk_vf(
j,
k,
l, i) = 0._wp
2288 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2293# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2294#if defined(MFC_OpenACC)
2295# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2297# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2298#elif defined(MFC_OpenMP)
2299# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2301# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2303 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2304 fk_vf(
j,
k,
l, i) = vel_k(dir_idx(1))*alpha_k(i - eqn_idx%E)
2308# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2309#if defined(MFC_OpenACC)
2310# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2312# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2313#elif defined(MFC_OpenMP)
2314# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2316# 1163 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2318 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2319 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx(1))
2326# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2327#if defined(MFC_OpenACC)
2328# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2330# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2331#elif defined(MFC_OpenMP)
2332# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2334# 1171 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2336# 1171 "/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# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2370# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2372# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2374# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2376# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2378# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2380 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2381 integer,
intent(in) ::
k,
l, r
2382# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2383 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2384# 1187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2386 real(wp) :: alpha_k_sum
2388 if (num_fluids == 1)
then
2389 alpha_rho_k(1) = q_vf(eqn_idx%cont%beg)%sf(
k,
l, r)
2390 if (igr .or. bubbles_euler)
then
2393 alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2397 do i = 1, num_fluids - 1
2398 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2399 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2401 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2402 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2404 do i = 1, num_fluids
2405 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2406 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2413 do i = 1, num_fluids
2414 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2415 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2416 alpha_k_sum = alpha_k_sum + alpha_k(i)
2418 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2421 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2429#ifdef MFC_POST_PROCESS
2433#ifdef MFC_SIMULATION
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"
2438 use iso_fortran_env,
only: output_unit
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 print *,
'm_variables_conversion.fpp:1236: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
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 call flush (output_unit)
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# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2454#if defined(MFC_OpenACC)
2455# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2457# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458#elif defined(MFC_OpenMP)
2459# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2461# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2463# 1236 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2465 if (bubbles_euler)
then
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"
2470 use iso_fortran_env,
only: output_unit
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 print *,
'm_variables_conversion.fpp:1238: ',
'@:DEALLOCATE(bubrs_vc)'
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 call flush (output_unit)
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"
2485# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2486#if defined(MFC_OpenACC)
2487# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2489# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2490#elif defined(MFC_OpenMP)
2491# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2493# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2495# 1238 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
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"
2503 use iso_fortran_env,
only: output_unit
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 print *,
'm_variables_conversion.fpp:1241: ',
'@:DEALLOCATE(Res_vc)'
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 call flush (output_unit)
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# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2519#if defined(MFC_OpenACC)
2520# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2522# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2523#elif defined(MFC_OpenMP)
2524# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2526# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2528# 1241 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2533# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2535# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2536 use iso_fortran_env,
only: output_unit
2537# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2539# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2540 print *,
'm_variables_conversion.fpp:1244: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2541# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2543# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2544 call flush (output_unit)
2545# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2547# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2549# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2551# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2552#if defined(MFC_OpenACC)
2553# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2555# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2556#elif defined(MFC_OpenMP)
2557# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2559# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2561# 1244 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2563 if (bubbles_euler)
then
2565# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2567# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2568 use iso_fortran_env,
only: output_unit
2569# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2571# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2572 print *,
'm_variables_conversion.fpp:1246: ',
'@:DEALLOCATE(bubrs_vc)'
2573# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2575# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2576 call flush (output_unit)
2577# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2579# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2581# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2583# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2584#if defined(MFC_OpenACC)
2585# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2587# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2588#elif defined(MFC_OpenMP)
2589# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2591# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2593# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2600#ifndef MFC_PRE_PROCESS
2605# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2607# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2609# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2611# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2613# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2615# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2617# 1256 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2620 real(wp),
intent(in) :: pres
2621 real(wp),
intent(in) :: rho, gamma, pi_inf, qv
2622 real(wp),
intent(in) :: H
2623# 1264 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2624 real(wp),
dimension(num_fluids),
intent(in) :: adv
2625# 1266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2626 real(wp),
intent(in) :: vel_sum
2627 real(wp),
intent(in) :: c_c
2628 real(wp),
intent(out) :: c
2629 real(wp) :: blkmod1, blkmod2
2633 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
2634 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2636 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2638 else if (relativity)
then
2639 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2641 if (alt_soundspeed)
then
2644 c = (1._wp/(rho*(adv(1)/blkmod1 + adv(2)/blkmod2)))
2645 else if (model_eqns == model_eqns_6eq)
then
2648# 1287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2649#if defined(MFC_OpenACC)
2650# 1287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2652# 1287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2653#elif defined(MFC_OpenMP)
2654# 1287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2656# 1287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2658 do q = 1, num_fluids
2662 else if (((model_eqns == model_eqns_4eq) .or. (model_eqns == model_eqns_5eq .and. bubbles_euler)))
then
2665 if (mpp_lim .and. (num_fluids > 1))
then
2666 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/rho
2668 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/(rho*(1._wp - adv(num_fluids)))
2671 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2674 if (mixture_err .and. c < 0._wp)
then
2684#ifndef MFC_PRE_PROCESS
2689# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2691# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2693# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2695# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2697# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2699# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2701# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2703# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2705# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2707# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2709# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2711# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2713# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2715# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2717# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2719# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2721# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2724 real(wp),
intent(in) :: B(3), rho, c
2725 real(wp),
intent(in) :: h
2726 real(wp),
intent(out) :: c_fast
2727 integer,
intent(in) :: norm
2728 real(wp) :: B2, term, disc
2732 if (.not. relativity)
then
2733 term = c**2 + b2/rho
2734 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2737 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2738 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2742 if (disc < 0._wp)
then
2743 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2747 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2752 c_fast = sqrt(0.5_wp*(term + sqrt(disc)))
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
Compile-time constant parameters: default values, tolerances, and physical constants.
integer, parameter model_eqns_4eq
integer, parameter model_eqns_5eq
integer, parameter avg_state_roe
integer, parameter riemann_solver_hll
integer, parameter riemann_solver_hlld
real(wp), parameter sgm_eps
Segmentation tolerance.
real(wp), parameter dflt_real
Default real value.
integer, parameter model_eqns_6eq
integer, parameter model_eqns_gamma_law
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine s_compute_fast_magnetosonic_speed(rho, c, b, norm, c_fast, h)
Compute the fast magnetosonic wave speed from the sound speed, density, and magnetic field components...
subroutine, public s_convert_primitive_to_flux_variables(qk_prim_vf, fk_vf, fk_src_vf, is1, is2, is3, s2b, s3b)
Convert primitive variables to Eulerian flux variables.
real(wp), dimension(:), allocatable, public gammas
real(wp), dimension(:), allocatable, public ps_inf
subroutine, public s_compute_species_fraction(q_vf, k, l, r, alpha_rho_k, alpha_k)
Compute partial densities and volume fractions.
subroutine s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv, vel_sum, c_c, c, qv)
Compute the speed of sound from thermodynamic state variables, supporting multiple equation-of-state ...
real(wp), dimension(:), allocatable, public gs_min
real(wp), dimension(:), allocatable, public qvs
real(wp), dimension(:,:), allocatable res_vc
subroutine, public s_initialize_mv(qk_cons_vf, mv)
Initialize bubble mass-vapor values at quadrature nodes from the conserved moment statistics.
subroutine, public s_initialize_pb(qk_cons_vf, mv, pb)
Initialize bubble internal pressures at quadrature nodes using isothermal relations from the Preston ...
real(wp), dimension(:), allocatable, public cvs
subroutine, public s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoyks, pres, t, stress, mom, g, pres_mag)
Compute the pressure from the appropriate equation of state.
impure subroutine, public s_convert_primitive_to_conservative_variables(q_prim_vf, q_cons_vf)
Convert primitives (rho, u, p, alpha) to conserved variables (rho*alpha, rho*u, E,...
real(wp), dimension(:), allocatable, public qvps
subroutine, public s_convert_conservative_to_primitive_variables(qk_cons_vf, q_t_sf, qk_prim_vf, ibounds)
Convert conserved variables (rho*alpha, rho*u, E, alpha) to primitives (rho, u, p,...
impure subroutine, public s_initialize_variables_conversion_module
Initialize the variables conversion module.
subroutine, public s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, re_k, g_k, g)
Convert species volume fractions and partial densities to mixture density, gamma, pi_inf,...
real(wp), dimension(:,:,:), allocatable, public qv_sf
Scalar liquid energy reference function.
subroutine, public s_convert_mixture_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv)
Convert mixture variables to density, gamma, pi_inf, and qv for the gamma/pi_inf model....
real(wp), dimension(:,:,:), allocatable, public pi_inf_sf
Scalar liquid stiffness function.
real(wp), dimension(:,:,:), allocatable, public gamma_sf
Scalar sp. heat ratio function.
real(wp), dimension(:,:,:), allocatable, public rho_sf
Scalar density function.
real(wp), dimension(:), allocatable, public pi_infs
integer, dimension(:), allocatable bubrs_vc
real(wp), dimension(:), allocatable gs_vc
impure subroutine s_finalize_variables_conversion_module()
Deallocate fluid property arrays and post-processing fields allocated during module initialization.
subroutine, public s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, re_k, g_k, g)
Dispatch to the s_convert_mixture_to_mixture_variables and s_convert_species_to_mixture_variables sub...
subroutine, public s_convert_species_to_mixture_variables_acc(rho_k, gamma_k, pi_inf_k, qv_k, alpha_k, alpha_rho_k, re_k, g_k, g)
GPU-accelerated conversion of species volume fractions and partial densities to mixture density,...
Derived type annexing a scalar field (SF).