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# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
20# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
40# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
41# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
42# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
74# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
75# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
77# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 320 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 403 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
152# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
153# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
154# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
155# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
157# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
186# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
242# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
245# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
304# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
306# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
330# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
333# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
339# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
342# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
343# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
355 use m_thermochem,
only: num_species, get_temperature, get_pressure, gas_constant, get_mixture_molecular_weight, &
356 & get_mixture_energy_mass
372 real(wp),
allocatable,
dimension(:) ::
gs_vc
374 real(wp),
allocatable,
dimension(:,:) ::
res_vc
376# 38 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
377#if defined(MFC_OpenACC)
378# 38 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
380# 38 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
381#elif defined(MFC_OpenMP)
382# 38 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
384# 38 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
389# 41 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
390#if defined(MFC_OpenACC)
391# 41 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
393# 41 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
394#elif defined(MFC_OpenMP)
395# 41 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
397# 41 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
404# 46 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
405#if defined(MFC_OpenACC)
406# 46 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
408# 46 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
409#elif defined(MFC_OpenMP)
410# 46 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
412# 46 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
415 real(wp),
allocatable,
dimension(:,:,:),
public ::
rho_sf
416 real(wp),
allocatable,
dimension(:,:,:),
public ::
gamma_sf
417 real(wp),
allocatable,
dimension(:,:,:),
public ::
pi_inf_sf
423 subroutine s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, Re_K, G_K, G)
425 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
426 integer,
intent(in) :: i,
j,
k
427 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
428 real(wp),
optional,
dimension(2),
intent(out) :: re_k
429 real(wp),
optional,
intent(out) :: g_k
430 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
435 call s_convert_species_to_mixture_variables(q_vf, i,
j,
k, rho, gamma, pi_inf, qv, re_k, g_k, g)
441 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, E_e_in, pres_mag)
444# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
446# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
448# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
450# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
452# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
454# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
456# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
458# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
460# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
462# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
464# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
466# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
468# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
470# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
472# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
474# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
476# 76 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
479 real(stp),
intent(in) :: energy, alf
480 real(wp),
intent(in) :: dyn_p
481 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
482 real(wp),
intent(out) :: pres
483 real(wp),
intent(inout) :: t
484 real(wp),
intent(in),
optional :: e_e_in, pres_mag
487 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
488 real(wp),
dimension(1:num_species) :: y_rs
490 real(wp) :: e_per_kg, pdyn_per_kg
492# 92 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
497 e_int = energy - dyn_p - pres_mag
498 else if (bubbles_euler .neqv. .true.)
then
500 e_int = energy - dyn_p
503 e_int = (energy - dyn_p - qv)/(1._wp - alf) + qv
506 if (hypoelasticity .and.
present(e_e_in))
then
508 e_int = energy - dyn_p - e_e_in
512# 122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
521 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
522 integer,
intent(in) :: i,
j,
k
523 real(wp),
intent(out),
target :: rho
524 real(wp),
intent(out),
target :: gamma
525 real(wp),
intent(out),
target :: pi_inf
526 real(wp),
intent(out),
target :: qv
530 rho = q_vf(1)%sf(i,
j,
k)
531 gamma = q_vf(eqn_idx%gamma)%sf(i,
j,
k)
532 pi_inf = q_vf(eqn_idx%pi_inf)%sf(i,
j,
k)
536 if (
allocated(
rho_sf))
then
547 subroutine s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, Re_K, G_K, G)
549 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
550 integer,
intent(in) ::
k,
l, r
551 real(wp),
intent(out),
target :: rho
552 real(wp),
intent(out),
target :: gamma
553 real(wp),
intent(out),
target :: pi_inf
554 real(wp),
intent(out),
target :: qv
555 real(wp),
optional,
dimension(2),
intent(out) :: re_k
556 real(wp),
optional,
intent(out) :: g_k
557 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
558 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
569 if (
allocated(
rho_sf))
then
581# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
583# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
585# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
587# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
589# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
591# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
593# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
595# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
597# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
599# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
601# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
603# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
605# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
607# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
609# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
611# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
613# 189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
616 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
617# 196 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
618 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
619 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
620# 199 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
621 real(wp),
optional,
dimension(2),
intent(out) :: re_k
622 real(wp),
optional,
intent(out) :: g_k
623 real(wp) :: alpha_k_sum
631 if (
present(g_k)) g_k = 0._wp
637 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
638 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
639 alpha_k_sum = alpha_k_sum + alpha_k(i)
641 alpha_k = alpha_k/max(alpha_k_sum,
sgm_eps)
645 if (
present(g_k))
then
649 g_k = g_k + alpha_k(i)*g(i)
651 g_k = max(0._wp, g_k)
654 if (viscous .and.
present(re_k))
then
658 if (re_size(i) > 0) re_k(i) = 0._wp
661 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) + re_k(i)
664 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
672 & lagrange_beta_index)
675 logical,
optional,
intent(in) :: store_mixture_fields
676 logical,
optional,
intent(in) :: enforce_density_floor, preserve_qbmm_number
677 integer,
optional,
intent(in) :: lagrange_beta_index
678 logical :: allocate_mixture_fields
679 logical :: state_dependent
681 allocate_mixture_fields = .false.
682 if (
present(store_mixture_fields)) allocate_mixture_fields = store_mixture_fields
691# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
692#if defined(MFC_OpenACC)
693# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
695# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
696#elif defined(MFC_OpenMP)
697# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
699# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
702# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
703#if defined(MFC_OpenACC)
704# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
706# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
707#elif defined(MFC_OpenMP)
708# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
710# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
714# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
716# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
717 use iso_fortran_env,
only: output_unit
718# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
720# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
721 print *,
'm_variables_conversion.fpp:271: ',
'@:ALLOCATE(gammas (1:num_fluids))'
722# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
724# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
725 call flush (output_unit)
726# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
728# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
730# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
731 allocate (gammas(1:num_fluids))
732# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
734# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
736# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
737#if defined(MFC_OpenACC)
738# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
740# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
741#elif defined(MFC_OpenMP)
742# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
744# 271 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
747# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
749# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
750 use iso_fortran_env,
only: output_unit
751# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
753# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
754 print *,
'm_variables_conversion.fpp:272: ',
'@:ALLOCATE(eoss (1:num_fluids))'
755# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
757# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
758 call flush (output_unit)
759# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
761# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
763# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
764 allocate (eoss(1:num_fluids))
765# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
767# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
769# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
770#if defined(MFC_OpenACC)
771# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
773# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
774#elif defined(MFC_OpenMP)
775# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
777# 272 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
780# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
782# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
783 use iso_fortran_env,
only: output_unit
784# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
786# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
787 print *,
'm_variables_conversion.fpp:273: ',
'@:ALLOCATE(isentrope_n (1:num_fluids))'
788# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
790# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
791 call flush (output_unit)
792# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
794# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
796# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
797 allocate (isentrope_n(1:num_fluids))
798# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
800# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
802# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
803#if defined(MFC_OpenACC)
804# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
806# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
807#elif defined(MFC_OpenMP)
808# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
810# 273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
815# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
816 use iso_fortran_env,
only: output_unit
817# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
819# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
820 print *,
'm_variables_conversion.fpp:274: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
821# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
823# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
824 call flush (output_unit)
825# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
827# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
829# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
830 allocate (pi_infs(1:num_fluids))
831# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
833# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
835# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
836#if defined(MFC_OpenACC)
837# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
839# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
840#elif defined(MFC_OpenMP)
841# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
843# 274 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
846# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
848# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
849 use iso_fortran_env,
only: output_unit
850# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
852# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
853 print *,
'm_variables_conversion.fpp:275: ',
'@:ALLOCATE(isentrope_B(1:num_fluids))'
854# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
856# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
857 call flush (output_unit)
858# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
860# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
862# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
863 allocate (isentrope_b(1:num_fluids))
864# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
866# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
868# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
869#if defined(MFC_OpenACC)
870# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
872# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
873#elif defined(MFC_OpenMP)
874# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
876# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
881# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
882 use iso_fortran_env,
only: output_unit
883# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
885# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
886 print *,
'm_variables_conversion.fpp:276: ',
'@:ALLOCATE(cvs (1:num_fluids))'
887# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
889# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
890 call flush (output_unit)
891# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
893# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
895# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
896 allocate (cvs(1:num_fluids))
897# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
899# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
901# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
902#if defined(MFC_OpenACC)
903# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
905# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
906#elif defined(MFC_OpenMP)
907# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
909# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
912# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
914# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
915 use iso_fortran_env,
only: output_unit
916# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
918# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
919 print *,
'm_variables_conversion.fpp:277: ',
'@:ALLOCATE(qvs (1:num_fluids))'
920# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
922# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
923 call flush (output_unit)
924# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
926# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
928# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
929 allocate (qvs(1:num_fluids))
930# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
932# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
934# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
935#if defined(MFC_OpenACC)
936# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
938# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
939#elif defined(MFC_OpenMP)
940# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
942# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
945# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
947# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
948 use iso_fortran_env,
only: output_unit
949# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
951# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
952 print *,
'm_variables_conversion.fpp:278: ',
'@:ALLOCATE(qvps (1:num_fluids))'
953# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
955# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
956 call flush (output_unit)
957# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
959# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
961# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
962 allocate (qvps(1:num_fluids))
963# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
965# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
967# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
968#if defined(MFC_OpenACC)
969# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
971# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
972#elif defined(MFC_OpenMP)
973# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
975# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
978# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
980# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
981 use iso_fortran_env,
only: output_unit
982# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
984# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
985 print *,
'm_variables_conversion.fpp:279: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
986# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
988# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
989 call flush (output_unit)
990# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
992# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
994# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
995 allocate (
gs_vc(1:num_fluids))
996# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
998# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1000# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1001#if defined(MFC_OpenACC)
1002# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1004# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1005#elif defined(MFC_OpenMP)
1006# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1008# 279 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1011# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1013# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1014 use iso_fortran_env,
only: output_unit
1015# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1017# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1018 print *,
'm_variables_conversion.fpp:280: ',
'@:ALLOCATE(fluid_k_therm(1:num_fluids))'
1019# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1021# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1022 call flush (output_unit)
1023# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1025# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1027# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1028 allocate (fluid_k_therm(1:num_fluids))
1029# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1031# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1033# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1034#if defined(MFC_OpenACC)
1035# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1037# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1038#elif defined(MFC_OpenMP)
1039# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1041# 280 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1044 state_dependent = .false.
1045 do i = 1, num_fluids
1046 gammas(i) = fluid_pp(i)%gamma
1051 select case (fluid_pp(i)%eos)
1052 case (eos_ideal_gas)
1055 pi_infs(i) = fluid_pp(i)%pi_inf
1057 gs_vc(i) = fluid_pp(i)%G
1059 cvs(i) = fluid_pp(i)%cv
1060 qvs(i) = fluid_pp(i)%qv
1061 qvps(i) = fluid_pp(i)%qvp
1062 fluid_k_therm(i) = fluid_pp(i)%k_therm
1063 eoss(i) = fluid_pp(i)%eos
1064 eos_coeffs(i)%c0 = fluid_pp(i)%mg_c0
1065 eos_coeffs(i)%s = fluid_pp(i)%mg_s
1066 eos_coeffs(i)%s2 = fluid_pp(i)%mg_s2
1067 eos_coeffs(i)%s3 = fluid_pp(i)%mg_s3
1071 & fluid_pp(i)%mg_s3)
1072 eos_coeffs(i)%a = fluid_pp(i)%jwl_a
1073 eos_coeffs(i)%b = fluid_pp(i)%jwl_b
1074 eos_coeffs(i)%r1 = fluid_pp(i)%jwl_r1
1075 eos_coeffs(i)%r2 = fluid_pp(i)%jwl_r2
1076 eos_coeffs(i)%k0 = fluid_pp(i)%vinet_k0
1077 eos_coeffs(i)%k0p = fluid_pp(i)%vinet_k0p
1079 select case (fluid_pp(i)%eos)
1080 case (eos_mie_gruneisen)
1081 eos_coeffs(i)%rho0 = fluid_pp(i)%mg_rho0
1082 eos_coeffs(i)%t0 = fluid_pp(i)%mg_t0
1083 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%mg_gruneisen
1084 eos_coeffs(i)%gruneisen_a = fluid_pp(i)%mg_gruneisen_a
1086 eos_coeffs(i)%rho0 = fluid_pp(i)%jwl_rho0
1087 eos_coeffs(i)%t0 = fluid_pp(i)%jwl_t0
1088 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%jwl_omega
1089 eos_coeffs(i)%gruneisen_a = 0._wp
1091 eos_coeffs(i)%rho0 = dflt_real
1092 eos_coeffs(i)%t0 = dflt_real
1093 eos_coeffs(i)%gruneisen0 = dflt_real
1094 eos_coeffs(i)%gruneisen_a = 0._wp
1096 eos_coeffs(i)%rho0 = fluid_pp(i)%vinet_rho0
1097 eos_coeffs(i)%t0 = fluid_pp(i)%vinet_t0
1098 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%vinet_gruneisen
1099 eos_coeffs(i)%gruneisen_a = fluid_pp(i)%vinet_gruneisen_a
1103# 347 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1104 any_state_dependent_eos = state_dependent
1105# 349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1107# 349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1108#if defined(MFC_OpenACC)
1109# 349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1111# 349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1112#elif defined(MFC_OpenMP)
1113# 349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1115# 349 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1117# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1119# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1120#if defined(MFC_OpenACC)
1121# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1123# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1124#elif defined(MFC_OpenMP)
1125# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1127# 351 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1129# 353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1132# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1134# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1135 use iso_fortran_env,
only: output_unit
1136# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1138# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1139 print *,
'm_variables_conversion.fpp:354: ',
'@:ALLOCATE(Res_vc(1:2, 1:max(1, Re_size_max)))'
1140# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1142# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1143 call flush (output_unit)
1144# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1146# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1148# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1149 allocate (
res_vc(1:2, 1:max(1, re_size_max)))
1150# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1152# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1154# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1155#if defined(MFC_OpenACC)
1156# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1158# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1159#elif defined(MFC_OpenMP)
1160# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1162# 354 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1165 if (
allocated(re_idx))
then
1167 do j = 1, re_size(i)
1168 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1172# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1173#if defined(MFC_OpenACC)
1174# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1176# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1177#elif defined(MFC_OpenMP)
1178# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1180# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1184# 364 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1185#if defined(MFC_OpenACC)
1186# 364 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1188# 364 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1189#elif defined(MFC_OpenMP)
1190# 364 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1192# 364 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1195 if (bubbles_euler)
then
1197# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1199# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1200 use iso_fortran_env,
only: output_unit
1201# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1203# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1204 print *,
'm_variables_conversion.fpp:367: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
1205# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1207# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1208 call flush (output_unit)
1209# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1211# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1213# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1215# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1217# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1219# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1220#if defined(MFC_OpenACC)
1221# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1223# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1224#elif defined(MFC_OpenMP)
1225# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1227# 367 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1233# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1234#if defined(MFC_OpenACC)
1235# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1237# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1238#elif defined(MFC_OpenMP)
1239# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1241# 371 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1245 if (allocate_mixture_fields)
then
1249 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1250 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1251 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1253 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1254 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1255 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1258 allocate (
rho_sf(-buff_size:m + buff_size,0:0,0:0))
1259 allocate (
gamma_sf(-buff_size:m + buff_size,0:0,0:0))
1260 allocate (
pi_inf_sf(-buff_size:m + buff_size,0:0,0:0))
1269 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1270 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: mv
1271 integer :: i,
j,
k,
l
1272 real(wp) :: mu, sig, nbub_sc
1274 do l = idwint(3)%beg, idwint(3)%end
1275 do k = idwint(2)%beg, idwint(2)%end
1276 do j = idwint(1)%beg, idwint(1)%end
1277 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1280# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1281#if defined(MFC_OpenACC)
1282# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1284# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1285#elif defined(MFC_OpenMP)
1286# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1288# 408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1291 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1292 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1294 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1295 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1296 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1297 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1308 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1309 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(in) :: mv
1310 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: pb
1311 integer :: i,
j,
k,
l
1312 real(wp) :: mu, sig, nbub_sc
1314 do l = idwint(3)%beg, idwint(3)%end
1315 do k = idwint(2)%beg, idwint(2)%end
1316 do j = idwint(1)%beg, idwint(1)%end
1317 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1320# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1321#if defined(MFC_OpenACC)
1322# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1324# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1325#elif defined(MFC_OpenMP)
1326# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1328# 438 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1331 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1332 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1335 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, &
1336 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1337 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, &
1338 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1339 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, &
1340 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1341 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, &
1342 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1356 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1357 type(scalar_field),
intent(inout) :: q_t_sf
1358 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1359 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1361# 475 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1362 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1363 real(wp),
dimension(nb) :: nrtmp
1364 real(wp) :: rhoyks(1:num_species)
1365# 479 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1366 real(wp),
dimension(2) :: re_k
1367 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1368 real(wp) :: vftmp, nbub_sc
1370 real(wp) :: solid_partial_density
1372 integer :: i,
j,
k,
l
1374 real(wp) :: pres_mag
1382 real(wp) :: f, dga_dw, dp_dw, df_dw
1386# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1388# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1389#if defined(MFC_OpenACC)
1390# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1392# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1394# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1395#elif defined(MFC_OpenMP)
1396# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1398# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1400# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1402# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1404# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1406# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1408# 498 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1410# 501 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1411 do l = ibounds(3)%beg, ibounds(3)%end
1412 do k = ibounds(2)%beg, ibounds(2)%end
1413 do j = ibounds(1)%beg, ibounds(1)%end
1430 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, &
1442 b(3) = qk_cons_vf(
eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1445 b(2) = qk_cons_vf(
eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1446 b(3) = qk_cons_vf(
eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1448 b2 = b(1)**2 + b(2)**2 + b(3)**2
1452# 541 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1453#if defined(MFC_OpenACC)
1454# 541 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1456# 541 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1457#elif defined(MFC_OpenMP)
1458# 541 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1460# 541 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1463 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1468# 547 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1469#if defined(MFC_OpenACC)
1470# 547 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1472# 547 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1473#elif defined(MFC_OpenMP)
1474# 547 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1476# 547 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1479 s = s + qk_cons_vf(
eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1486# 555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1487#if defined(MFC_OpenACC)
1488# 555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1490# 555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1491#elif defined(MFC_OpenMP)
1492# 555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1494# 555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1497 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1503# 562 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1504#if defined(MFC_OpenACC)
1505# 562 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1507# 562 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1508#elif defined(MFC_OpenMP)
1509# 562 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1511# 562 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1513 do iter = 1, relativity_cons_to_prim_max_iter
1515 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1517 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1518 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1524 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1526 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1527 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1531 if (abs(dw) < 1.e-12_wp*w)
exit
1535 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1536 qk_prim_vf(
eqn_idx%E)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1540# 589 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1541#if defined(MFC_OpenACC)
1542# 589 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1544# 589 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1545#elif defined(MFC_OpenMP)
1546# 589 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1548# 589 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1551 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, &
1552 &
l) + (s/w)*b(i))/(w + b2)
1554 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1557# 596 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1558#if defined(MFC_OpenACC)
1559# 596 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1561# 596 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1562#elif defined(MFC_OpenMP)
1563# 596 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1565# 596 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1568 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1578# 607 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1579#if defined(MFC_OpenACC)
1580# 607 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1582# 607 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1583#elif defined(MFC_OpenMP)
1584# 607 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1586# 607 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1589 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1593# 612 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1594#if defined(MFC_OpenACC)
1595# 612 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1597# 612 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1598#elif defined(MFC_OpenMP)
1599# 612 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1601# 612 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1604 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1608# 617 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1609#if defined(MFC_OpenACC)
1610# 617 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1612# 617 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1613#elif defined(MFC_OpenMP)
1614# 617 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1616# 617 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1619 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1624# 623 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1625#if defined(MFC_OpenACC)
1626# 623 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1628# 623 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1629#elif defined(MFC_OpenMP)
1630# 623 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1632# 623 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1635 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1643# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1644#if defined(MFC_OpenACC)
1645# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1647# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1648#elif defined(MFC_OpenMP)
1649# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1651# 632 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1654 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1655 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)
1660# 639 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1661#if defined(MFC_OpenACC)
1662# 639 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1664# 639 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1665#elif defined(MFC_OpenMP)
1666# 639 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1668# 639 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1670 do i = 1, num_species
1671 rhoyks(i) = qk_cons_vf(
eqn_idx%species%beg + i - 1)%sf(
j,
k,
l)
1674 t = q_t_sf%sf(
j,
k,
l)
1679 pres_mag = 0.5_wp*(
bx0**2 + qk_cons_vf(
eqn_idx%B%beg)%sf(
j,
k, &
1680 &
l)**2 + qk_cons_vf(
eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1682 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, &
1683 &
l)**2 + qk_cons_vf(
eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1690 & pi_inf_k, gamma_k, rho_k, qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1695 q_t_sf%sf(
j,
k,
l) = t
1703# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1704#if defined(MFC_OpenACC)
1705# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1707# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1708#elif defined(MFC_OpenMP)
1709# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1711# 672 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1721 nbub_sc = qk_cons_vf(
eqn_idx%bub%beg)%sf(
j,
k,
l)
1725# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1726#if defined(MFC_OpenACC)
1727# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1729# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1730#elif defined(MFC_OpenMP)
1731# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1733# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1736 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1747 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1751# 700 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1752#if defined(MFC_OpenACC)
1753# 700 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1755# 700 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1756#elif defined(MFC_OpenMP)
1757# 700 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1759# 700 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1762 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1769# 708 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1770#if defined(MFC_OpenACC)
1771# 708 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1773# 708 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1774#elif defined(MFC_OpenMP)
1775# 708 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1777# 708 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1780 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1786# 715 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1787#if defined(MFC_OpenACC)
1788# 715 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1790# 715 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1791#elif defined(MFC_OpenMP)
1792# 715 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1794# 715 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1797 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1803 solid_partial_density = 0._wp
1805# 724 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1806#if defined(MFC_OpenACC)
1807# 724 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1809# 724 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1810#elif defined(MFC_OpenMP)
1811# 724 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1813# 724 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1816 if (
gs_vc(i) > verysmall)
then
1817 solid_partial_density = solid_partial_density + qk_cons_vf(
eqn_idx%cont%beg + i - 1)%sf(
j,
k,
l)
1821 &
l)/max(solid_partial_density, verysmall), 0._wp), 1._wp)
1827# 736 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1828#if defined(MFC_OpenACC)
1829# 736 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1831# 736 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1832#elif defined(MFC_OpenMP)
1833# 736 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1835# 736 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1846# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1847#if defined(MFC_OpenACC)
1848# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1850# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1851#elif defined(MFC_OpenMP)
1852# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1854# 745 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1857 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1873# 762 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1874#if defined(MFC_OpenACC)
1875# 762 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1877# 762 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1878#elif defined(MFC_OpenMP)
1879# 762 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1881# 762 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1883# 762 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1891 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1892 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1899 real(wp) :: pres_i, alpha_i, alpha_rho_i, e_i
1901 real(wp) :: dyn_pres
1902 real(wp) :: nbub, r3tmp
1903 real(wp),
dimension(nb) :: rtmp
1905 real(wp) :: solid_partial_density
1906 real(wp),
dimension(2) :: re_k
1907 integer :: i,
j,
k,
l
1908 real(wp),
dimension(num_species) :: ys
1909 real(wp) :: e_mix, mix_mol_weight, t
1910 real(wp) :: pres_mag
1927 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1929 if (.not. igr .or. num_fluids > 1)
then
1931 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1936 if (relativity)
then
1939 b(2) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1940 b(3) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1942 b(1) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1943 b(2) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1944 b(3) = q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1948 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1949 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1951 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1953 ga = 1._wp/sqrt(1._wp - v2)
1955 h = 1._wp + (gamma + 1)*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)/rho
1958 do i = eqn_idx%B%beg, eqn_idx%B%end
1959 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1961 if (n == 0) b2 = b2 + bx0**2
1965 vdotb = vdotb + q_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1968 do i = 1, eqn_idx%cont%end
1972 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1973 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k, &
1974 &
l) - vdotb*b(i - eqn_idx%mom%beg + 1)
1977 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1978 &
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1980 do i = 1, eqn_idx%cont%end
1984 do i = eqn_idx%B%beg, eqn_idx%B%end
1992 do i = 1, eqn_idx%cont%end
2000 do i = eqn_idx%mom%beg, eqn_idx%mom%end
2002 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
2007 do i = eqn_idx%species%beg, eqn_idx%species%end
2008 ys(i - eqn_idx%species%beg + 1) = q_prim_vf(i)%sf(
j,
k,
l)
2012 call get_mixture_molecular_weight(ys, mix_mol_weight)
2013 t = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
2014 call get_mixture_energy_mass(t, ys, e_mix)
2016 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + rho*e_mix
2021 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(eqn_idx%B%beg)%sf(
j,
k, &
2022 &
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
2024 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, &
2025 &
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
2028 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
2029 &
l) + dyn_pres + pres_mag + pi_inf + qv
2030 else if (bubbles_euler .neqv. .true.)
then
2032 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
2035 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(eqn_idx%alf)%sf(
j,
k, &
2036 &
l))*(gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + pi_inf) + qv
2041 if (model_eqns == model_eqns_6eq)
then
2042 do i = 1, num_fluids
2043 pres_i = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
2044 alpha_i =
q_cons_vf(i + eqn_idx%adv%beg - 1)%sf(
j,
k,
l)
2045 alpha_rho_i =
q_cons_vf(i + eqn_idx%cont%beg - 1)%sf(
j,
k,
l)
2047 q_cons_vf(i + eqn_idx%int_en%beg - 1)%sf(
j,
k,
l) = e_i
2051 if (bubbles_euler)
then
2054 rtmp(i) = q_prim_vf(qbmm_idx%rs(i))%sf(
j,
k,
l)
2057 if (.not. qbmm)
then
2060 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
2062 call s_comp_n_from_prim(real(q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
2068 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
2069 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
2072 nbub = 3._wp*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
2075 do i = eqn_idx%bub%beg, eqn_idx%bub%end
2081 do i = eqn_idx%B%beg, eqn_idx%B%end
2086 if (hypoelasticity)
then
2088 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2093 if (hypoelasticity)
then
2095 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2097 if (g > verysmall)
then
2099 &
l)**2._wp)/max(4._wp*g, verysmall)
2101 if (any(i == shear_indices))
then
2103 &
l)**2._wp)/max(4._wp*g, verysmall)
2109 if (surface_tension)
then
2113 if (cont_damage)
then
2115 solid_partial_density = 0._wp
2116 do i = 1, num_fluids
2117 if (fluid_pp(i)%G > verysmall)
then
2118 solid_partial_density = solid_partial_density + q_prim_vf(eqn_idx%cont%beg + i - 1)%sf(
j,
k,
l)
2121 q_cons_vf(eqn_idx%damage)%sf(
j,
k,
l) = solid_partial_density*q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)
2124 if (hyper_cleaning)
q_cons_vf(eqn_idx%psi)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%psi)%sf(
j,
k,
l)
2133 & dir_flg_in, hll_u_interface_in)
2135 integer,
intent(in) :: s2b, s3b
2138 integer,
dimension(3),
intent(in) :: dir_idx_in
2139 real(wp),
dimension(3),
intent(in) :: dir_flg_in
2140 logical,
intent(in) :: hll_u_interface_in
2141 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
2142 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
2143 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,eqn_idx%adv%beg:),
intent(inout) :: fk_src_vf
2144 type(int_bounds_info),
intent(in) :: is1, is2, is3
2149# 1033 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2150 real(wp),
dimension(num_fluids) :: alpha_rho_k
2151 real(wp),
dimension(num_fluids) :: alpha_k
2152 real(wp),
dimension(num_vels) :: vel_k
2153 real(wp),
dimension(num_species) :: y_k
2154# 1038 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2156 real(wp) :: vel_k_sum
2160 real(wp) :: pi_inf_k
2162 real(wp),
dimension(2) :: re_k
2164 real(wp) :: blkmod1_k, blkmod2_k, k_k
2165 real(wp) :: t_k, mix_mol_weight, r_gas
2166 integer :: i,
j,
k,
l
2173# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2174#if defined(MFC_OpenACC)
2175# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2177# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2178#elif defined(MFC_OpenMP)
2179# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2181# 1055 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2187# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2189# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2190#if defined(MFC_OpenACC)
2191# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2193# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2195# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2197# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2198#elif defined(MFC_OpenMP)
2199# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2201# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2203# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2205# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2207# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2209# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2211# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2213# 1062 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2218# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2219#if defined(MFC_OpenACC)
2220# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2222# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2223#elif defined(MFC_OpenMP)
2224# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2226# 1065 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2228 do i = 1, eqn_idx%cont%end
2229 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2233# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2234#if defined(MFC_OpenACC)
2235# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2237# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2238#elif defined(MFC_OpenMP)
2239# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241# 1070 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2243 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2244 alpha_k(i - eqn_idx%E) = qk_prim_vf(
j,
k,
l, i)
2248# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2249#if defined(MFC_OpenACC)
2250# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2252# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2253#elif defined(MFC_OpenMP)
2254# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2256# 1075 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2259 vel_k(i) = qk_prim_vf(
j,
k,
l, eqn_idx%cont%end + i)
2264# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2265#if defined(MFC_OpenACC)
2266# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2268# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2269#elif defined(MFC_OpenMP)
2270# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2272# 1081 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2275 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2278 pres_k = qk_prim_vf(
j,
k,
l, eqn_idx%E)
2279 if (hypoelasticity)
then
2291# 1098 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2292#if defined(MFC_OpenACC)
2293# 1098 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2295# 1098 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2296#elif defined(MFC_OpenMP)
2297# 1098 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2299# 1098 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2301 do i = eqn_idx%species%beg, eqn_idx%species%end
2302 y_k(i - eqn_idx%species%beg + 1) = qk_prim_vf(
j,
k,
l, i)
2305 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2306 r_gas = gas_constant/mix_mol_weight
2307 t_k = pres_k/rho_k/r_gas
2308 call get_mixture_energy_mass(t_k, y_k, e_k)
2309 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2312 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2317# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2318#if defined(MFC_OpenACC)
2319# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2321# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2322#elif defined(MFC_OpenMP)
2323# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2325# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2327 do i = 1, eqn_idx%cont%end
2328 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx_in(1))
2332# 1119 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2333#if defined(MFC_OpenACC)
2334# 1119 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2336# 1119 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2337#elif defined(MFC_OpenMP)
2338# 1119 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2340# 1119 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2344 & eqn_idx%cont%end + dir_idx_in(i)) = rho_k*vel_k(dir_idx_in(1))*vel_k(dir_idx_in(i)) &
2345 & + pres_k*dir_flg_in(dir_idx_in(i))
2349 fk_vf(
j,
k,
l, eqn_idx%E) = vel_k(dir_idx_in(1))*(e_k + pres_k)
2354# 1131 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2355#if defined(MFC_OpenACC)
2356# 1131 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2358# 1131 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2359#elif defined(MFC_OpenMP)
2360# 1131 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2362# 1131 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2364 do i = 1, num_species
2365 fk_vf(
j,
k,
l, i - 1 + eqn_idx%species%beg) = vel_k(dir_idx_in(1))*(rho_k*y_k(i))
2376 if (riemann_solver == riemann_solver_hlld)
then
2377 if (hypoelasticity)
then
2382# 1151 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2383 if (alt_soundspeed)
then
2386 k_k = alpha_k(1)*alpha_k(2)*(blkmod2_k - blkmod1_k)/(alpha_k(1)*blkmod2_k + alpha_k(2) &
2387 & *blkmod1_k + verysmall)
2389# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2391# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2392#if defined(MFC_OpenACC)
2393# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2395# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2396#elif defined(MFC_OpenMP)
2397# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2399# 1158 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2401 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2402 fk_vf(
j,
k,
l, i) = 0._wp
2403 fk_src_vf(
j,
k,
l, i) = 0._wp
2405 fk_vf(
j,
k,
l, eqn_idx%adv%beg) = -k_k*vel_k(dir_idx_in(1))
2406 fk_vf(
j,
k,
l, eqn_idx%adv%end) = k_k*vel_k(dir_idx_in(1))
2409# 1166 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2410#if defined(MFC_OpenACC)
2411# 1166 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2413# 1166 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2414#elif defined(MFC_OpenMP)
2415# 1166 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2417# 1166 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2419 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2420 fk_vf(
j,
k,
l, i) = 0._wp
2421 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2424 else if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface_in)
then
2426# 1173 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2427#if defined(MFC_OpenACC)
2428# 1173 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2430# 1173 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2431#elif defined(MFC_OpenMP)
2432# 1173 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2434# 1173 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2436 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2437 fk_vf(
j,
k,
l, i) = 0._wp
2438 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2443# 1180 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2444#if defined(MFC_OpenACC)
2445# 1180 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2447# 1180 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2448#elif defined(MFC_OpenMP)
2449# 1180 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2451# 1180 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2453 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2454 fk_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))*alpha_k(i - eqn_idx%E)
2458# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2459#if defined(MFC_OpenACC)
2460# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2462# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2463#elif defined(MFC_OpenMP)
2464# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2466# 1185 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2468 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2469 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))
2476# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2477#if defined(MFC_OpenACC)
2478# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2480# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2481#elif defined(MFC_OpenMP)
2482# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2484# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2486# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2495# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2497# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2499# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2501# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2503# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2505# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2507# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2509# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2511# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2513# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2515# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2517# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2519# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2521# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2523# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2525# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2527# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2529 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2530 integer,
intent(in) ::
k,
l, r
2531# 1206 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2532 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2533# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2535 real(wp) :: alpha_k_sum
2537 if (num_fluids == 1)
then
2538 alpha_rho_k(1) = q_vf(eqn_idx%cont%beg)%sf(
k,
l, r)
2539 if (igr .or. bubbles_euler)
then
2542 alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2546 do i = 1, num_fluids - 1
2547 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2548 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2550 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2551 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2553 do i = 1, num_fluids
2554 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2555 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2562 do i = 1, num_fluids
2563 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2564 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2565 alpha_k_sum = alpha_k_sum + alpha_k(i)
2567 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2570 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2580# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2582# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2583 use iso_fortran_env,
only: output_unit
2584# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2586# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2587 print *,
'm_variables_conversion.fpp:1253: ',
'@:DEALLOCATE(gammas, isentrope_n, pi_infs, isentrope_B, cvs, qvs, qvps, Gs_vc, eoss, fluid_k_therm)'
2588# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2590# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2591 call flush (output_unit)
2592# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2594# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2596# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2598# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2599#if defined(MFC_OpenACC)
2600# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2602# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2603#elif defined(MFC_OpenMP)
2604# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2606# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2608# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2609 deallocate (gammas, isentrope_n, pi_infs, isentrope_b, cvs, qvs, qvps,
gs_vc, eoss, fluid_k_therm)
2612# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2614# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2615 use iso_fortran_env,
only: output_unit
2616# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2618# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2619 print *,
'm_variables_conversion.fpp:1255: ',
'@:DEALLOCATE(bubrs_vc)'
2620# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2622# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2623 call flush (output_unit)
2624# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2626# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2628# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2630# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2631#if defined(MFC_OpenACC)
2632# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2634# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2635#elif defined(MFC_OpenMP)
2636# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2638# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2640# 1255 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2643 if (
allocated(
res_vc))
then
2645# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2647# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2648 use iso_fortran_env,
only: output_unit
2649# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2651# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2652 print *,
'm_variables_conversion.fpp:1258: ',
'@:DEALLOCATE(Res_vc)'
2653# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2655# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2656 call flush (output_unit)
2657# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2659# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2661# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2663# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2664#if defined(MFC_OpenACC)
2665# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2667# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2668#elif defined(MFC_OpenMP)
2669# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2671# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2673# 1258 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2685# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2687# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2689# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2691# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2693# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2695# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2697# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2699# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2701# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2703# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2705# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2707# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2709# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2711# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2713# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2715# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2717# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2720# 1273 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2721 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
2722# 1275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2723 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
2724 real(wp) :: gamma_i, pi_inf_i, dpi_i, dgamma_i
2725 real(wp) :: rho_i, alpha_i, alpha_rho_i
2732 if (bubbles_euler)
then
2733 rho_k = alpha_rho_k(1)
2735 pi_inf_k = pi_infs(1)
2737 qv_k = alpha_rho_k(1)*qvs(1)
2745# 1296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2746#if defined(MFC_OpenACC)
2747# 1296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2749# 1296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2750#elif defined(MFC_OpenMP)
2751# 1296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2753# 1296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2755 do i = 1, num_fluids
2756 rho_k = rho_k + alpha_rho_k(i)
2757 alpha_rho_i = alpha_rho_k(i)
2758 alpha_i = alpha_k(i)
2760 gamma_k = gamma_k + alpha_k(i)*gamma_i
2761 pi_inf_k = pi_inf_k + alpha_k(i)*pi_inf_i
2762 qv_k = qv_k + alpha_rho_k(i)*qvs(i)
2772# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2774# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2776# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2778# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2780# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2782# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2784# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2786# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2788# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2790# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2792# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2794# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2796# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2798# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2800# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2802# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2804# 1313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2807# 1318 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2808 real(wp),
dimension(num_fluids),
intent(in) :: dalpha_rho_dt, dadv_dt, alpha_rho, adv
2809# 1320 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2810 real(wp),
intent(out) :: drho_dt, dgamma_dt, dpi_inf_dt, dqv_dt
2811 real(wp) :: rho_i, gamma_i, pi_inf_i, dpi_i, dgamma_i, alpha_i, alpha_rho_i
2818 if (num_fluids == 1 .and. bubbles_euler)
then
2820 drho_dt = dalpha_rho_dt(1)
2825# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2826#if defined(MFC_OpenACC)
2827# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2829# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2830#elif defined(MFC_OpenMP)
2831# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2833# 1334 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2835 do i = 1, num_fluids
2836 drho_dt = drho_dt + dalpha_rho_dt(i)
2837 alpha_rho_i = alpha_rho(i)
2841 dgamma_dt = dgamma_dt + dadv_dt(i)*gamma_i + dgamma_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2842 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_inf_i + dpi_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2843 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
2854# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2856# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2858# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2860# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2862# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2864# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2866# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2868# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2870# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2872# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2874# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2876# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2878# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2880# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2882# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2884# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2886# 1353 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2889# 1358 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2890 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
2891# 1360 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2892 real(wp),
intent(in) :: pres, vel_sum
2893 real(wp),
intent(out) :: e
2894 real(wp) :: rho, gamma, pi_inf, qv
2900 e = gamma*pres + pi_inf
2901 if (bubbles_euler) e = e*(1._wp - alpha_k(num_fluids))
2902 e = e + qv + 5.e-1_wp*rho*vel_sum
2911# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2913# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2915# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2917# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2919# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2921# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2923# 1378 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2926 real(wp),
intent(in) :: rho
2927 integer,
intent(in) :: i
2928 real(wp),
intent(out) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
2929 real(wp) :: mu, d, V, ea, eb, up, us, dus, dup_dmu, x, ex, dp_dmu, de_dmu
2932 mu = rho/eos_coeffs(i)%rho0 - 1._wp
2937 if (eoss(i) == eos_mie_gruneisen .and. mu > eos_coeffs(i)%mu_max) mu = eos_coeffs(i)%mu_max
2938 select case (eoss(i))
2939 case (eos_mie_gruneisen)
2943 if (mu < 0._wp)
then
2944 p_ref = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*mu
2945 dp_dmu = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2
2946 else if (eos_coeffs(i)%s2 == 0._wp .and. eos_coeffs(i)%s3 == 0._wp)
then
2947 d = 1._wp - (eos_coeffs(i)%s - 1._wp)*mu
2948 p_ref = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*mu*(1._wp + mu)/(d*d)
2949 dp_dmu = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*((1._wp + 2._wp*mu)*d + 2._wp*(eos_coeffs(i)%s - 1._wp)*mu*(1._wp &
2953 up = eos_coeffs(i)%c0*mu/(1._wp - (eos_coeffs(i)%s - 1._wp)*mu)
2955# 1408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2956#if defined(MFC_OpenACC)
2957# 1408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2959# 1408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2960#elif defined(MFC_OpenMP)
2961# 1408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2963# 1408 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2966 us = eos_coeffs(i)%c0 + up*(eos_coeffs(i)%s + up*(eos_coeffs(i)%s2 + up*eos_coeffs(i)%s3))
2967 dus = eos_coeffs(i)%s + up*(2._wp*eos_coeffs(i)%s2 + 3._wp*eos_coeffs(i)%s3*up)
2968 up = up - (us*mu - up*(1._wp + mu))/(dus*mu - (1._wp + mu))
2970 us = eos_coeffs(i)%c0 + up*(eos_coeffs(i)%s + up*(eos_coeffs(i)%s2 + up*eos_coeffs(i)%s3))
2971 dus = eos_coeffs(i)%s + up*(2._wp*eos_coeffs(i)%s2 + 3._wp*eos_coeffs(i)%s3*up)
2972 dup_dmu = (up - us)/(dus*mu - (1._wp + mu))
2973 p_ref = eos_coeffs(i)%rho0*us*up
2974 dp_dmu = eos_coeffs(i)%rho0*(dus*up + us)*dup_dmu
2976 e_ref = p_ref*mu/(2._wp*eos_coeffs(i)%rho0*(1._wp + mu))
2977 de_dmu = (dp_dmu*mu*(1._wp + mu) + p_ref)/(2._wp*eos_coeffs(i)%rho0*(1._wp + mu)**2)
2978 dp_drho = dp_dmu/eos_coeffs(i)%rho0
2979 de_drho = de_dmu/eos_coeffs(i)%rho0
2982 v = eos_coeffs(i)%rho0/rho
2983 ea = eos_coeffs(i)%a*exp(-eos_coeffs(i)%r1*v)
2984 eb = eos_coeffs(i)%b*exp(-eos_coeffs(i)%r2*v)
2986 e_ref = (ea/eos_coeffs(i)%r1 + eb/eos_coeffs(i)%r2)/eos_coeffs(i)%rho0
2987 dp_drho = (eos_coeffs(i)%rho0/rho**2)*(eos_coeffs(i)%r1*ea + eos_coeffs(i)%r2*eb)
2988 de_drho = p_ref/rho**2
2992 d = 1.5_wp*(eos_coeffs(i)%k0p - 1._wp)
2993 x = (eos_coeffs(i)%rho0/rho)**(1._wp/3._wp)
2994 ex = exp(d*(1._wp - x))
2995 p_ref = 3._wp*eos_coeffs(i)%k0*(1._wp - x)/x**2*ex
2996 e_ref = 9._wp*eos_coeffs(i)%k0/(eos_coeffs(i)%rho0*d**2)*(1._wp - (1._wp - d*(1._wp - x))*ex)
2997 dp_drho = 3._wp*eos_coeffs(i)%k0*ex*(-1._wp/x**2 - 2._wp*(1._wp - x)/x**3 - d*(1._wp - x)/x**2)*(-x/(3._wp*rho))
2998 de_drho = p_ref/rho**2
3000 g0 = eos_coeffs(i)%gruneisen0 + eos_coeffs(i)%gruneisen_a*mu
3001 dg0 = eos_coeffs(i)%gruneisen_a/eos_coeffs(i)%rho0
3009# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3011# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3013# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3015# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3017# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3019# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3021# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3023# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3025# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3027# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3029# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3031# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3033# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3035# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3037# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3039# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3041# 1452 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3044 integer,
intent(in) :: i
3047 yes = eoss(i) == eos_mie_gruneisen .or. eoss(i) == eos_jwl .or. eoss(i) == eos_vinet
3057# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3059# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3061# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3063# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3065# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3067# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3069# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3071# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3073# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3075# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3077# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3079# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3081# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3083# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3085# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3087# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3089# 1466 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3092 integer,
intent(in) :: i
3095 yes = (eoss(i) == eos_jwl .or. eoss(i) == eos_vinet) .and. eos_coeffs(i)%gruneisen_a == 0._wp
3104 real(wp),
intent(in) :: c0, s, s2, s3
3105 real(wp) :: mu_max, up, f, df, us
3108 if (s2 == 0._wp .and. s3 == 0._wp)
then
3109 mu_max = huge(1._wp)
3116 f = c0 - s2*up**2 - 2._wp*s3*up**3
3117 df = -2._wp*s2*up - 6._wp*s3*up**2
3118 if (abs(df) < verysmall)
exit
3119 up = max(up - f/df, verysmall)
3121 us = c0 + up*(s + up*(s2 + up*s3))
3122 mu_max = up/max(us - up, verysmall)
3131# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3133# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3135# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3137# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3139# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3141# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3143# 1506 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3146 real(wp),
intent(in) :: rho
3147 integer,
intent(in) :: i
3148 real(wp),
intent(out) :: gamma, pi_inf, dpi, dgamma
3149 real(wp) :: p_ref, e_ref, dp_drho, de_drho, g0, dg0
3160 pi_inf = rho*e_ref - p_ref/g0
3161 dpi = e_ref + rho*de_drho - dp_drho/g0 + p_ref*dg0/g0**2
3170# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3172# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3174# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3176# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3178# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3180# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3182# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3184# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3186# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3188# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3190# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3192# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3194# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3196# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3198# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3200# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3202# 1531 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3205 real(wp),
intent(in) :: gamma
3208 n = 1._wp/gamma + 1._wp
3216# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3218# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3220# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3222# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3224# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3226# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3228# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3230# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3232# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3234# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3236# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3238# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3240# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3242# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3244# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3246# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3248# 1543 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3251 real(wp),
intent(in) :: pi_inf, gamma
3254 b = pi_inf/(1._wp + gamma)
3262# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3264# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3266# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3268# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3270# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3272# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3274# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3276# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3278# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3280# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3282# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3284# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3286# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3288# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3290# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3292# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3294# 1555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3297 real(wp),
intent(in) :: pres, rho_or_t, n, b, cv
3298 real(wp) :: t_or_rho
3300 t_or_rho = (pres + b)/((n - 1._wp)*cv*rho_or_t)
3310# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3312# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3314# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3316# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3318# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3320# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3322# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3324# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3326# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3328# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3330# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3332# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3334# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3336# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3338# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3340# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3342# 1569 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3345# 1574 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3346 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k
3347# 1576 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3348 real(wp),
intent(in) :: pres, gamma_k, pi_inf_k
3355# 1582 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3356#if defined(MFC_OpenACC)
3357# 1582 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3359# 1582 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3360#elif defined(MFC_OpenMP)
3361# 1582 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3363# 1582 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3365 do i = 1, num_fluids
3366 mcp = mcp + alpha_rho_k(i)*cvs(i)*isentrope_n(i)
3369 t = ((gamma_k + 1._wp)*pres + pi_inf_k)/max(mcp, sgm_eps)
3378# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3380# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3382# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3384# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3386# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3388# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3390# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3392# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3394# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3396# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3398# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3400# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3402# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3404# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3406# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3408# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3410# 1595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3413 real(wp),
intent(in) :: alpha_rho, alpha
3414 integer,
intent(in) :: i
3415 real(wp),
intent(out) :: rho, gamma, pi_inf, dpi, dgamma
3417 rho = max(alpha_rho, sgm_eps)/max(alpha, sgm_eps)
3418 if (any_state_dependent_eos)
then
3433# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3435# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3437# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3439# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3441# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3443# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3445# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3447# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3449# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3451# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3453# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3455# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3457# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3459# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3461# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3463# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3465# 1616 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3468 real(wp),
intent(in) :: rho, pres, gamma, pi_inf, dpi, dgamma
3471 c2 = (((gamma + 1._wp)*pres + pi_inf)/rho - dpi - pres*dgamma)/gamma
3480# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3482# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3484# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3486# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3488# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3490# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3492# 1629 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3495 real(wp),
intent(in) :: rho, pres
3496 integer,
intent(in) :: i
3497 real(wp),
intent(out) :: c2
3498 real(wp) :: gamma, pi_inf, dpi, dgamma
3510# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3512# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3514# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3516# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3518# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3520# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3522# 1645 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3525 integer,
intent(in) :: kind, i
3526 real(wp),
intent(in) :: x, y
3527 real(wp),
intent(out) :: dydx
3528 real(wp) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
3530 if (kind == ode_isentrope)
then
3534 dydx = (p_ref - de_drho/x**2)/cvs(i) - g0*y/x
3540 subroutine s_rk4(kind, i, x0, y0, x1, y)
3543# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3545# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3547# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3549# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3551# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3553# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3555# 1664 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3558 integer,
intent(in) :: kind, i
3559 real(wp),
intent(in) :: x0, y0, x1
3560 real(wp),
intent(out) :: y
3561 real(wp) :: x, h, k1, k2, k3, k4
3566 h = (x1 - x0)/eos_rk4_steps
3568# 1675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3569#if defined(MFC_OpenACC)
3570# 1675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3572# 1675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3573#elif defined(MFC_OpenMP)
3574# 1675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3576# 1675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3578 do step = 1, eos_rk4_steps
3580 call s_ode_slope(kind, i, x + 0.5_wp*h, y + 0.5_wp*h*k1, k2)
3581 call s_ode_slope(kind, i, x + 0.5_wp*h, y + 0.5_wp*h*k2, k3)
3583 y = y + h*(k1 + 2._wp*(k2 + k3) + k4)/6._wp
3587 end subroutine s_rk4
3594# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3596# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3598# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3600# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3602# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3604# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3606# 1691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3609 real(wp),
intent(in) :: pres, rho, xi
3610 integer,
intent(in) :: i
3611 real(wp),
intent(out) :: p_isen
3612 real(wp) :: p_ref_from, p_ref_to, e_ref, dp_drho, de_drho, g0, dg0
3615 p_isen = (pres + isentrope_b(i))*xi**isentrope_n(i) - isentrope_b(i)
3622 p_isen = p_ref_to + (pres - p_ref_from)*xi**(1._wp + eos_coeffs(i)%gruneisen0)
3624 call s_rk4(ode_isentrope, i, rho, pres, xi*rho, p_isen)
3633# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3635# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3637# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3639# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3641# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3643# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3645# 1716 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3648 real(wp),
intent(in) :: rho, pres
3649 integer,
intent(in) :: i
3650 real(wp),
intent(out) :: t
3651 real(wp) :: p_ref, e_ref, dp_drho, de_drho, g0, dg0, t0, t_ref
3655 t0 = eos_coeffs(i)%t0
3656 call s_rk4(ode_reference_temperature, i, 1._wp/eos_coeffs(i)%rho0, t0, 1._wp/rho, t_ref)
3657 t = t_ref + (pres - p_ref)/(rho*g0*cvs(i))
3659 t = (pres + isentrope_b(i))/((isentrope_n(i) - 1._wp)*cvs(i)*rho)
3669# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3671# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3673# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3675# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3677# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3679# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3681# 1738 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3684 integer,
intent(in) :: i
3685 real(wp),
intent(in) :: rho_from, p_from, p_to
3686 real(wp),
intent(out) :: rho_to, c2_to
3687 real(wp) :: p_at, c2_at
3692# 1747 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3693#if defined(MFC_OpenACC)
3694# 1747 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3696# 1747 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3697#elif defined(MFC_OpenMP)
3698# 1747 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3700# 1747 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3705 rho_to = rho_to - (p_at - p_to)/c2_at
3716# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3718# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3720# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3722# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3724# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3726# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3728# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3730# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3732# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3734# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3736# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3738# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3740# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3742# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3744# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3746# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3748# 1761 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3751 real(wp),
intent(in) :: pres, alpha, alpha_rho
3752 integer,
intent(in) :: i
3753 real(wp),
intent(out) :: e_phase
3754 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
3757 e_phase = alpha*(gamma*pres + pi_inf) + alpha_rho*qvs(i)
3766# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3768# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3770# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3772# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3774# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3776# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3778# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3780# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3782# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3784# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3786# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3788# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3790# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3792# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3794# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3796# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3798# 1777 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3801 real(wp),
intent(in) :: alpha_rho, alpha, pres
3802 integer,
intent(in) :: i
3803 real(wp),
intent(out) :: blkmod
3804 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
3807 blkmod =
f_bulk_modulus(pres, gamma, pi_inf) - rho*(dpi + pres*dgamma)/gamma
3816# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3818# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3820# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3822# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3824# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3826# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3828# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3830# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3832# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3834# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3836# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3838# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3840# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3842# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3844# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3846# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3848# 1793 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3851 real(wp),
intent(in) :: tau, g
3852 logical,
intent(in) :: is_shear
3856 if (g > verysmall)
then
3857 de = (tau*tau)/max(4._wp*g, verysmall)
3858 if (is_shear) de = de + (tau*tau)/max(4._wp*g, verysmall)
3866 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
3867 integer,
intent(in) ::
j,
k,
l
3868 real(wp),
intent(in) :: rho, g
3873 do s = eqn_idx%stress%beg, eqn_idx%stress%end
3884# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3886# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3888# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3890# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3892# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3894# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3896# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3898# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3900# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3902# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3904# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3906# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3908# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3910# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3912# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3914# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3916# 1827 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3919 real(wp),
intent(in) :: e_int, gamma, pi_inf, qv
3922 pres = (e_int - pi_inf - qv)/gamma
3931# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3933# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3935# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3937# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3939# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3941# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3943# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3945# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3947# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3949# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3951# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3953# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3955# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3957# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3959# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3961# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3963# 1840 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3966 real(wp),
intent(in) :: pres, gamma, pi_inf
3969 blkmod = ((gamma + 1._wp)*pres + pi_inf)/gamma
3978# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3980# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3982# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3984# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3986# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3988# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3990# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3992# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3994# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3996# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
3998# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4000# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4002# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4004# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4006# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4008# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4010# 1853 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4013 real(wp),
intent(in) :: pres, rho, gamma
4016 h = 1._wp + (gamma + 1._wp)*pres/rho
4025# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4027# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4029# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4031# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4033# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4035# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4037# 1866 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4040 real(wp),
intent(in) :: pres, rho, gamma, pi_inf
4041# 1872 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4042 real(wp),
dimension(num_fluids),
intent(in) :: adv
4043# 1874 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4044 real(wp),
intent(out) :: c
4045# 1878 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4046 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
4047# 1880 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4049 real(wp) :: blkmod_q, alpha_q, alpha_rho_q, gamma_q, pi_inf_q
4053 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
4054 else if (relativity)
then
4059 if (any_state_dependent_eos .and.
present(alpha_rho))
then
4062# 1893 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4063#if defined(MFC_OpenACC)
4064# 1893 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4066# 1893 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4067#elif defined(MFC_OpenMP)
4068# 1893 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4070# 1893 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4072 do q = 1, num_fluids
4074 alpha_rho_q = alpha_rho(q)
4076 if (alt_soundspeed)
then
4077 c = c + adv(q)/blkmod_q
4079 c = c + adv(q)*blkmod_q
4082 if (alt_soundspeed)
then
4087 else if (alt_soundspeed)
then
4090# 1911 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4091#if defined(MFC_OpenACC)
4092# 1911 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4094# 1911 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4095#elif defined(MFC_OpenMP)
4096# 1911 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4098# 1911 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4100 do q = 1, num_fluids
4102 pi_inf_q = pi_infs(q)
4106 else if (model_eqns == model_eqns_6eq)
then
4109# 1920 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4110#if defined(MFC_OpenACC)
4111# 1920 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4113# 1920 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4114#elif defined(MFC_OpenMP)
4115# 1920 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4117# 1920 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4119 do q = 1, num_fluids
4121 pi_inf_q = pi_infs(q)
4131 if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. .not. (mpp_lim .and. num_fluids > 1))
then
4132 alf = adv(num_fluids)
4137 if (mixture_err .and. c < 0._wp)
then
4149 subroutine s_compute_speed_of_sound_avg(pres, rho, gamma, pi_inf, qv, vel_sum, H, c_c, adv, c, alpha_rho)
4152# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4154# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4156# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4158# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4160# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4162# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4164# 1953 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4167 real(wp),
intent(in) :: pres, rho, gamma, pi_inf, qv, vel_sum, h, c_c
4168# 1959 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4169 real(wp),
dimension(num_fluids),
intent(in) :: adv
4170# 1961 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4171 real(wp),
intent(out) :: c
4172# 1965 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4173 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
4174# 1967 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4177 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
4178 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
4182 else if (relativity)
then
4183 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
4184 else if (alt_soundspeed .or. model_eqns == model_eqns_6eq .or. (model_eqns == model_eqns_5eq .and. bubbles_euler) &
4185 & .or. any_state_dependent_eos)
then
4188 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
4190 if (mixture_err .and. c < 0._wp)
then
4203# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4205# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4207# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4209# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4211# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4213# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4215# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4217# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4219# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4221# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4223# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4225# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4227# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4229# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4231# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4233# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4235# 1994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
4238 real(wp),
intent(in) :: b(3), rho, c
4239 real(wp),
intent(in) :: h
4240 real(wp),
intent(out) :: c_fast
4241 integer,
intent(in) :: norm
4242 real(wp) :: b2, term, disc
4246 if (.not. relativity)
then
4247 term = c**2 + b2/rho
4248 disc = term**2 - 4*c**2*(b(norm)**2/rho)
4251 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
4252 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
4256 if (disc < 0._wp)
then
4257 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
4261 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
4266 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_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.
Shared global parameters and equation-index setup for all three executables. Each per-target m_global...
type(physical_parameters), dimension(num_fluids_max) fluid_pp
Per-fluid stiffened-gas EOS parameters, Reynolds numbers, and shear modulus.
logical heat_conduction
any_state_dependent_eos is declared with the case-optimization block above: a parameter when the case...
type(eqn_idx_info) eqn_idx
All conserved-variable equation index ranges and scalars.
logical, parameter chemistry
integer, dimension(3) shear_indices
Indices of the stress components that represent shear stress.
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.
real(wp) function, public f_bulk_modulus(pres, gamma, pi_inf)
Isentropic bulk modulus. Takes coefficients rather than a fluid index, so a mixture - whose effective...
subroutine, public s_compute_speed_of_sound_avg(pres, rho, gamma, pi_inf, qv, vel_sum, h, c_c, adv, c, alpha_rho)
Speed of sound of an interface-averaged state. An average of two states is not a state - its enthalpy...
real(wp) function, public f_elastic_energy(tau, g, is_shear)
Elastic strain energy of one stress component, doubled for a shear component: the tensor stores it on...
subroutine, public s_phase_temperature(rho, pres, i, t)
Temperature of phase i at (rho, p): the stiffened-gas relation, or T_ref(rho) + (e - e_ref)/c_v.
subroutine, public s_compute_species_fraction(q_vf, k, l, r, alpha_rho_k, alpha_k)
Compute partial densities and volume fractions.
subroutine s_reference_curve(rho, i, p_ref, e_ref, dp_drho, de_drho, g0, dg0)
The reference curve of a state-dependent EOS at rho: p_ref, e_ref, their d/drho, and Gamma_G with its...
subroutine, public s_phase_internal_energy(pres, alpha, alpha_rho, i, e_phase)
Internal energy per unit volume of phase i at pressure pres: alpha (Gamma p + Pi) + alpha_rho qv,...
real(wp), dimension(:,:), allocatable res_vc
impure subroutine, public s_finalize_variables_conversion_module()
Deallocate fluid property arrays and post-processing fields allocated during module initialization.
subroutine, public s_compute_mixture_coefficients(alpha_rho_k, alpha_k, rho_k, gamma_k, pi_inf_k, qv_k)
Mixture coefficients of one state. Under bubbles_euler with num_fluids == 1 the sole advection slot a...
real(wp) function, public f_hypoelastic_energy(q_cons_vf, j, k, l, rho, g)
Hypoelastic strain energy at one cell, summed over the stress components.
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 ...
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,...
subroutine s_ode_slope(kind, i, x, y, dydx)
Slope of the ODE kind for fluid i: dp/drho = c^2 along an isentrope (x = rho, y = p),...
real(wp) function, public f_sg_thermal(pres, rho_or_t, n, b, cv)
Stiffened-gas thermal law p + B = (n - 1)*cv*rho*T. Pass rho to get T, or T to get rho.
subroutine s_phase_c2(rho, pres, i, c2)
Frozen sound speed squared of one phase at (rho, p) from its own coefficients. These helpers are subr...
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,...
real(wp) function, public f_relativistic_enthalpy(pres, rho, gamma)
Relativistic specific enthalpy, h = 1 + (Gamma + 1)p/rho. Ideal gas only: the stiffness does not appe...
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,...
subroutine, public s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoyks, pres, t, e_e_in, pres_mag)
Compute the pressure from the appropriate equation of state.
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.
logical function f_has_isentropic_reference(i)
True when fluid i's reference curve is itself an isentrope (de_ref = -p_ref d(1/rho),...
subroutine, public s_compute_energy(pres, alpha_rho_k, alpha_k, vel_sum, e)
Total energy per unit volume, thermodynamic terms only. Callers add magnetic and elastic energy,...
subroutine, public s_phase_bulk_modulus(pres, alpha, alpha_rho, i, blkmod)
Bulk modulus rho c^2 of phase i at pressure pres: f_bulk_modulus for a constant-coefficient fluid,...
subroutine, public s_compute_mixture_coefficients_dt(dalpha_rho_dt, dadv_dt, alpha_rho, adv, drho_dt, dgamma_dt, dpi_inf_dt, dqv_dt)
Time derivative of the mixture coefficients, mirroring s_compute_mixture_coefficients.
subroutine, public s_compute_speed_of_sound(pres, rho, gamma, pi_inf, adv, c, alpha_rho)
Speed of sound of a thermodynamic state. Enthalpy is not an argument: for a real state H,...
subroutine, public s_convert_primitive_to_flux_variables(qk_prim_vf, fk_vf, fk_src_vf, is1, is2, is3, s2b, s3b, dir_idx_in, dir_flg_in, hll_u_interface_in)
Convert primitive variables to Eulerian flux variables.
subroutine, public 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...
real(wp), dimension(:,:,:), allocatable, public gamma_sf
Scalar sp. heat ratio function.
real(wp) function, public f_isentrope_exponent(gamma)
Exponent of the stiffened-gas isentrope p + B = const rho**n. Precomputed per fluid as isentrope_n.
subroutine, public s_phase_density_on_isentrope(i, rho_from, p_from, p_to, rho_to, c2_to)
Density of phase i on the isentrope through (rho_from, p_from) at p_to, and c^2 there: Newton on the ...
impure subroutine, public s_initialize_variables_conversion_module(store_mixture_fields, enforce_density_floor, preserve_qbmm_number, lagrange_beta_index)
Initialize the variables conversion module.
impure real(wp) function f_hugoniot_compression_limit(c0, s, s2, s3)
The largest compression a cubic Hugoniot fit can represent. mu(u_p) = u_p/(u_s - u_p) rises,...
real(wp), dimension(:,:,:), allocatable, public rho_sf
Scalar density function.
real(wp) function, public f_isentrope_pressure(pi_inf, gamma)
Reference pressure of that isentrope. Precomputed per fluid as isentrope_B.
integer, dimension(:), allocatable bubrs_vc
real(wp) function, public f_mixture_temperature(alpha_rho_k, pres, gamma_k, pi_inf_k)
Thermal-equilibrium mixture temperature for stiffened gas, from primitives. Algebraically identical t...
real(wp), dimension(:), allocatable gs_vc
subroutine s_rk4(kind, i, x0, y0, x1, y)
Fixed-step classical RK4 for the ODE kind from (x0, y0) to x1.
subroutine, public s_convert_species_to_mixture_variables_kernel(rho_k, gamma_k, pi_inf_k, qv_k, alpha_k, alpha_rho_k, re_k, g_k, g)
Host- and device-callable conversion kernel for species and mixture variables.
logical enforce_density_floor_vc
logical function, public f_is_state_dependent(i)
Whether the EOS of fluid i is a family whose coefficients vary with density.
real(wp) function f_c2_from_coefficients(rho, pres, gamma, pi_inf, dpi, dgamma)
c^2 = [((Gamma + 1) p + Pi)/rho - dPi/drho - p dGamma/drho]/Gamma, the frozen speed of one phase.
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_eos_coefficients(rho, i, gamma, pi_inf, dpi, dgamma)
Gamma, Pi, dPi/drho and dGamma/drho of fluid i at density rho, the coefficients of rho e = Gamma p + ...
integer lagrange_beta_index_vc
subroutine, public s_phase_pressure_on_isentrope(pres, rho, xi, i, p_isen)
Pressure of phase i after the isentropic density change rho -> xi rho: closed form for the constant-c...
real(wp) function, public f_pressure(e_int, gamma, pi_inf, qv)
Pressure of a stiffened gas from its internal energy density - the inverse of s_compute_energy....
subroutine, public s_phase_coefficients(alpha_rho, alpha, i, rho, gamma, pi_inf, dpi, dgamma)
Coefficients of phase i at its own density alpha_rho/alpha: the per-cell dispatch when some fluid's E...
logical preserve_qbmm_number_vc
Derived type annexing a scalar field (SF).