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)
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
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.
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
integer, dimension(2) re_size
integer, dimension(:,:), allocatable re_idx
real(wp), dimension(:), allocatable ps_inf
real(wp), dimension(:), allocatable cvs
real(wp), dimension(:), allocatable qvps
real(wp), dimension(:), allocatable qvs
real(wp), dimension(:), allocatable pi_infs
real(wp), dimension(:), allocatable gammas
real(wp), dimension(:), allocatable gs_min
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 halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.
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).