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# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
20# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
23# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
24# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
25# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
27# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
30# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
34# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
36# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
47# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
48# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
49# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
59# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
63# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
64# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
65# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
67# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
76# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
78# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
84# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
86# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
88# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
163# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
165# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
166# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
167# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
168# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
179# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
182# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
183# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
184# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
186# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
189# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
191# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
193# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
195# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
197# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
199# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
201# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
203# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
205# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
207# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
255# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
257# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
259# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
261# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
263# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
266# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
317# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
320# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
322# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
323# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
325# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
327# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
335# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
338# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
341# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
344# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
347# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
349# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
351# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
353# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
354# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
360# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
363# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
364# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
377 use m_thermochem,
only: num_species, get_temperature, get_pressure, gas_constant, get_mixture_molecular_weight, &
378 & get_mixture_energy_mass
391 real(wp),
allocatable,
dimension(:) ::
gs_vc
393 real(wp),
allocatable,
dimension(:,:) ::
res_vc
395# 36 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
396#if defined(MFC_OpenACC)
397# 36 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
399# 36 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
400#elif defined(MFC_OpenMP)
401# 36 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
403# 36 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
405# 37 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
409# 39 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
410#if defined(MFC_OpenACC)
411# 39 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
413# 39 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
414#elif defined(MFC_OpenMP)
415# 39 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
417# 39 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
419# 40 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
425# 44 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
426#if defined(MFC_OpenACC)
427# 44 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
429# 44 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
430#elif defined(MFC_OpenMP)
431# 44 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
433# 44 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
435# 45 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
437 real(wp),
allocatable,
dimension(:,:,:),
public ::
rho_sf
438 real(wp),
allocatable,
dimension(:,:,:),
public ::
gamma_sf
439 real(wp),
allocatable,
dimension(:,:,:),
public ::
pi_inf_sf
445 subroutine s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, Re_K, G_K, G)
447 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
448 integer,
intent(in) :: i,
j,
k
449 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
450 real(wp),
optional,
dimension(2),
intent(out) :: re_k
451 real(wp),
optional,
intent(out) :: g_k
452 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
457 call s_convert_species_to_mixture_variables(q_vf, i,
j,
k, rho, gamma, pi_inf, qv, re_k, g_k,
g)
463 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, E_e_in, pres_mag)
466# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
468# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
470# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
472# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
474# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
476# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
478# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
480# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
482# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
484# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
486# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
488# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
490# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
492# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
494# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
496# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
498# 74 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
500# 75 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
502 real(stp),
intent(in) :: energy, alf
503 real(wp),
intent(in) :: dyn_p
504 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
505 real(wp),
intent(out) :: pres
506 real(wp),
intent(inout) :: t
507 real(wp),
intent(in),
optional :: e_e_in, pres_mag
510 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
511 real(wp),
dimension(1:num_species) :: y_rs
513 real(wp) :: e_per_kg, pdyn_per_kg
515# 90 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
520 e_int = energy - dyn_p - pres_mag
521 else if (bubbles_euler .neqv. .true.)
then
523 e_int = energy - dyn_p
526 e_int = (energy - dyn_p - qv)/(1._wp - alf) + qv
529 if (hypoelasticity .and.
present(e_e_in))
then
531 e_int = energy - dyn_p - e_e_in
535# 120 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
544 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
545 integer,
intent(in) :: i,
j,
k
546 real(wp),
intent(out),
target :: rho
547 real(wp),
intent(out),
target :: gamma
548 real(wp),
intent(out),
target :: pi_inf
549 real(wp),
intent(out),
target :: qv
553 rho = q_vf(1)%sf(i,
j,
k)
554 gamma = q_vf(eqn_idx%gamma)%sf(i,
j,
k)
555 pi_inf = q_vf(eqn_idx%pi_inf)%sf(i,
j,
k)
559 if (
allocated(
rho_sf))
then
570 subroutine s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, Re_K, G_K, G)
572 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
573 integer,
intent(in) ::
k,
l, r
574 real(wp),
intent(out),
target :: rho
575 real(wp),
intent(out),
target :: gamma
576 real(wp),
intent(out),
target :: pi_inf
577 real(wp),
intent(out),
target :: qv
578 real(wp),
optional,
dimension(2),
intent(out) :: re_k
579 real(wp),
optional,
intent(out) :: g_k
580 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
581 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
592 if (
allocated(
rho_sf))
then
604# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
606# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
608# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
610# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
612# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
614# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
616# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
618# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
620# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
622# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
624# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
626# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
628# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
630# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
632# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
634# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
636# 187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
638# 188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
640 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
641# 194 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
642 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
643 real(wp),
optional,
dimension(num_fluids),
intent(in) ::
g
644# 197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
645 real(wp),
optional,
dimension(2),
intent(out) :: re_k
646 real(wp),
optional,
intent(out) :: g_k
647 real(wp) :: alpha_k_sum
655 if (
present(g_k)) g_k = 0._wp
661 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
662 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
663 alpha_k_sum = alpha_k_sum + alpha_k(i)
665 alpha_k = alpha_k/max(alpha_k_sum,
sgm_eps)
669 if (
present(g_k))
then
673 g_k = g_k + alpha_k(i)*
g(i)
675 g_k = max(0._wp, g_k)
678 if (viscous .and.
present(re_k))
then
682 if (re_size(i) > 0) re_k(i) = 0._wp
685 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) + re_k(i)
688 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
696 & lagrange_beta_index)
699 logical,
optional,
intent(in) :: store_mixture_fields
700 logical,
optional,
intent(in) :: enforce_density_floor, preserve_qbmm_number
701 integer,
optional,
intent(in) :: lagrange_beta_index
702 logical :: allocate_mixture_fields
704 allocate_mixture_fields = .false.
705 if (
present(store_mixture_fields)) allocate_mixture_fields = store_mixture_fields
714# 265 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
715#if defined(MFC_OpenACC)
716# 265 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
718# 265 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
719#elif defined(MFC_OpenMP)
720# 265 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
722# 265 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
724# 266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
726# 266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
727#if defined(MFC_OpenACC)
728# 266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
730# 266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
731#elif defined(MFC_OpenMP)
732# 266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
734# 266 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
736# 267 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
739# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
741# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
742 use iso_fortran_env,
only: output_unit
743# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
745# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
746 print *,
'm_variables_conversion.fpp:268: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
747# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
749# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
750 call flush (output_unit)
751# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
753# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
755# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
756 allocate (
gs_vc(1:num_fluids))
757# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
759# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
761# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
762#if defined(MFC_OpenACC)
763# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
765# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
766#elif defined(MFC_OpenMP)
767# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
769# 268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
771# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
773# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
775# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
776 use iso_fortran_env,
only: output_unit
777# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
779# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
780 print *,
'm_variables_conversion.fpp:269: ',
'@:ALLOCATE(fluid_k_therm(1:num_fluids))'
781# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
783# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
784 call flush (output_unit)
785# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
787# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
789# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
790 allocate (fluid_k_therm(1:num_fluids))
791# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
793# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
795# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
796#if defined(MFC_OpenACC)
797# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
799# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
800#elif defined(MFC_OpenMP)
801# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
803# 269 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
805# 270 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
808 gs_vc(i) = fluid_pp(i)%G
809 fluid_k_therm(i) = fluid_pp(i)%k_therm
812# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813#if defined(MFC_OpenACC)
814# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
816# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
817#elif defined(MFC_OpenMP)
818# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
820# 275 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
822# 276 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
825# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
827# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
828 use iso_fortran_env,
only: output_unit
829# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
831# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
832 print *,
'm_variables_conversion.fpp:277: ',
'@:ALLOCATE(Res_vc(1:2, 1:max(1, Re_size_max)))'
833# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
835# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
836 call flush (output_unit)
837# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
839# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
841# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
842 allocate (
res_vc(1:2, 1:max(1, re_size_max)))
843# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
845# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
847# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
848#if defined(MFC_OpenACC)
849# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
851# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
852#elif defined(MFC_OpenMP)
853# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
855# 277 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
857# 278 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
859 if (
allocated(re_idx))
then
862 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
866# 285 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
867#if defined(MFC_OpenACC)
868# 285 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
870# 285 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
871#elif defined(MFC_OpenMP)
872# 285 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
874# 285 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
876# 286 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879# 287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
880#if defined(MFC_OpenACC)
881# 287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
883# 287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
884#elif defined(MFC_OpenMP)
885# 287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
887# 287 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
889# 288 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
891 if (bubbles_euler)
then
893# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
895# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
896 use iso_fortran_env,
only: output_unit
897# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
899# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
900 print *,
'm_variables_conversion.fpp:290: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
901# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
903# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
904 call flush (output_unit)
905# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
907# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
909# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
911# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
913# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
915# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
916#if defined(MFC_OpenACC)
917# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
919# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
920#elif defined(MFC_OpenMP)
921# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
923# 290 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
925# 291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
930# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
931#if defined(MFC_OpenACC)
932# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
934# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
935#elif defined(MFC_OpenMP)
936# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
938# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
940# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
943 if (allocate_mixture_fields)
then
947 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
948 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
949 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
951 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
952 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
953 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
956 allocate (
rho_sf(-buff_size:m + buff_size,0:0,0:0))
957 allocate (
gamma_sf(-buff_size:m + buff_size,0:0,0:0))
958 allocate (
pi_inf_sf(-buff_size:m + buff_size,0:0,0:0))
967 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
968 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: mv
969 integer :: i,
j,
k,
l
970 real(wp) :: mu, sig, nbub_sc
972 do l = idwint(3)%beg, idwint(3)%end
973 do k = idwint(2)%beg, idwint(2)%end
974 do j = idwint(1)%beg, idwint(1)%end
975 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
978# 331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
979#if defined(MFC_OpenACC)
980# 331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
982# 331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
983#elif defined(MFC_OpenMP)
984# 331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
986# 331 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
988# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
990 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
991 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
993 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
994 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
995 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
996 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1007 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1008 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(in) :: mv
1009 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: pb
1010 integer :: i,
j,
k,
l
1011 real(wp) :: mu, sig, nbub_sc
1013 do l = idwint(3)%beg, idwint(3)%end
1014 do k = idwint(2)%beg, idwint(2)%end
1015 do j = idwint(1)%beg, idwint(1)%end
1016 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1019# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1020#if defined(MFC_OpenACC)
1021# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1023# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1024#elif defined(MFC_OpenMP)
1025# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1027# 361 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1029# 362 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1031 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1032 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1035 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, &
1036 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1037 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, &
1038 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1039 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, &
1040 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1041 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, &
1042 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1056 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1057 type(scalar_field),
intent(inout) :: q_t_sf
1058 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1059 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1061# 397 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1062 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1063 real(wp),
dimension(nb) :: nrtmp
1064# 400 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1065 real(wp) :: rhoyks(1:1)
1066# 401 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1067 real(wp),
dimension(2) :: re_k
1068 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1069 real(wp) :: vftmp, nbub_sc
1071 real(wp) :: solid_partial_density
1073 integer :: i,
j,
k,
l
1075 real(wp) :: pres_mag
1083 real(wp) :: f, dga_dw, dp_dw, df_dw
1087# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1089# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1090#if defined(MFC_OpenACC)
1091# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1093# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1095# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1096#elif defined(MFC_OpenMP)
1097# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1099# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1101# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1103# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1105# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1107# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1109# 420 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1111# 423 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1112 do l = ibounds(3)%beg, ibounds(3)%end
1113 do k = ibounds(2)%beg, ibounds(2)%end
1114 do j = ibounds(1)%beg, ibounds(1)%end
1131 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, &
1143 b(3) = qk_cons_vf(
eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1146 b(2) = qk_cons_vf(
eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1147 b(3) = qk_cons_vf(
eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1149 b2 = b(1)**2 + b(2)**2 + b(3)**2
1153# 463 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1154#if defined(MFC_OpenACC)
1155# 463 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1157# 463 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1158#elif defined(MFC_OpenMP)
1159# 463 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1161# 463 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1163# 464 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1165 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1170# 469 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1171#if defined(MFC_OpenACC)
1172# 469 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1174# 469 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1175#elif defined(MFC_OpenMP)
1176# 469 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1178# 469 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1180# 470 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1182 s = s + qk_cons_vf(
eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1189# 477 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1190#if defined(MFC_OpenACC)
1191# 477 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1193# 477 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1194#elif defined(MFC_OpenMP)
1195# 477 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1197# 477 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1199# 478 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1201 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1207# 484 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1208#if defined(MFC_OpenACC)
1209# 484 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1211# 484 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1212#elif defined(MFC_OpenMP)
1213# 484 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1215# 484 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1217# 485 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1218 do iter = 1, relativity_cons_to_prim_max_iter
1220 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1222 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1223 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1229 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1231 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1232 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1236 if (abs(dw) < 1.e-12_wp*w)
exit
1240 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1241 qk_prim_vf(
eqn_idx%E)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1245# 511 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1246#if defined(MFC_OpenACC)
1247# 511 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1249# 511 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1250#elif defined(MFC_OpenMP)
1251# 511 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1253# 511 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1255# 512 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1257 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, &
1258 &
l) + (s/w)*b(i))/(w + b2)
1260 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1263# 518 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1264#if defined(MFC_OpenACC)
1265# 518 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1267# 518 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1268#elif defined(MFC_OpenMP)
1269# 518 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1271# 518 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1273# 519 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1275 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1285# 529 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1286#if defined(MFC_OpenACC)
1287# 529 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1289# 529 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1290#elif defined(MFC_OpenMP)
1291# 529 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1293# 529 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1295# 530 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1297 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1301# 534 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1302#if defined(MFC_OpenACC)
1303# 534 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1305# 534 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1306#elif defined(MFC_OpenMP)
1307# 534 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1309# 534 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1311# 535 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1313 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1317# 539 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1318#if defined(MFC_OpenACC)
1319# 539 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1321# 539 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1322#elif defined(MFC_OpenMP)
1323# 539 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1325# 539 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1327# 540 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1329 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1334# 545 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1335#if defined(MFC_OpenACC)
1336# 545 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1338# 545 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1339#elif defined(MFC_OpenMP)
1340# 545 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1342# 545 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1344# 546 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1346 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1354# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1355#if defined(MFC_OpenACC)
1356# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1358# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1359#elif defined(MFC_OpenMP)
1360# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1362# 554 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1364# 555 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1366 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1367 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)
1372# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1373#if defined(MFC_OpenACC)
1374# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1376# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1377#elif defined(MFC_OpenMP)
1378# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1380# 561 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1382# 562 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1383 do i = 1, num_species
1384 rhoyks(i) = qk_cons_vf(
eqn_idx%species%beg + i - 1)%sf(
j,
k,
l)
1387 t = q_t_sf%sf(
j,
k,
l)
1392 pres_mag = 0.5_wp*(
bx0**2 + qk_cons_vf(
eqn_idx%B%beg)%sf(
j,
k, &
1393 &
l)**2 + qk_cons_vf(
eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1395 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, &
1396 &
l)**2 + qk_cons_vf(
eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1403 & pi_inf_k, gamma_k, rho_k, qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1408 q_t_sf%sf(
j,
k,
l) = t
1410 q_t_sf%sf(
j,
k,
l) = f_mixture_temperature(alpha_rho_k, pres, gamma_k, pi_inf_k)
1416# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1417#if defined(MFC_OpenACC)
1418# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1420# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1421#elif defined(MFC_OpenMP)
1422# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1424# 594 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1426# 595 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1435 nbub_sc = qk_cons_vf(
eqn_idx%bub%beg)%sf(
j,
k,
l)
1439# 606 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1440#if defined(MFC_OpenACC)
1441# 606 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1443# 606 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1444#elif defined(MFC_OpenMP)
1445# 606 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1447# 606 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1449# 607 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1451 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1462 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1466# 622 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1467#if defined(MFC_OpenACC)
1468# 622 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1470# 622 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1471#elif defined(MFC_OpenMP)
1472# 622 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1474# 622 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1476# 623 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1478 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1485# 630 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1486#if defined(MFC_OpenACC)
1487# 630 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1489# 630 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1490#elif defined(MFC_OpenMP)
1491# 630 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1493# 630 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1495# 631 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1497 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1503# 637 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1504#if defined(MFC_OpenACC)
1505# 637 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1507# 637 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1508#elif defined(MFC_OpenMP)
1509# 637 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1511# 637 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1513# 638 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1515 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1521 solid_partial_density = 0._wp
1523# 646 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1524#if defined(MFC_OpenACC)
1525# 646 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1527# 646 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1528#elif defined(MFC_OpenMP)
1529# 646 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1531# 646 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1533# 647 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1535 if (
gs_vc(i) > verysmall)
then
1536 solid_partial_density = solid_partial_density + qk_cons_vf(
eqn_idx%cont%beg + i - 1)%sf(
j,
k,
l)
1540 &
l)/max(solid_partial_density, verysmall), 0._wp), 1._wp)
1546# 658 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1547#if defined(MFC_OpenACC)
1548# 658 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1550# 658 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1551#elif defined(MFC_OpenMP)
1552# 658 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1554# 658 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1556# 659 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1566# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1567#if defined(MFC_OpenACC)
1568# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1570# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1571#elif defined(MFC_OpenMP)
1572# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1574# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1576# 668 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1578 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1594# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1595#if defined(MFC_OpenACC)
1596# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1598# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1599#elif defined(MFC_OpenMP)
1600# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1602# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1604# 684 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1606# 685 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1613 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1614 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1621 real(wp) :: pres_i, alpha_i, alpha_rho_i, e_i
1623 real(wp) :: dyn_pres
1624 real(wp) :: nbub, r3tmp
1625 real(wp),
dimension(nb) :: rtmp
1627 real(wp) :: solid_partial_density
1628 real(wp),
dimension(2) :: re_k
1629 integer :: i,
j,
k,
l
1630 real(wp),
dimension(num_species) :: ys
1631 real(wp) :: e_mix, mix_mol_weight, t
1632 real(wp) :: pres_mag
1649 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1651 if (.not. igr .or. num_fluids > 1)
then
1653 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1658 if (relativity)
then
1661 b(2) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1662 b(3) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1664 b(1) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1665 b(2) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1666 b(3) = q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1670 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1671 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1673 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1675 ga = 1._wp/sqrt(1._wp - v2)
1677 h = 1._wp + (gamma + 1)*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)/rho
1680 do i = eqn_idx%B%beg, eqn_idx%B%end
1681 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1683 if (n == 0) b2 = b2 + bx0**2
1687 vdotb = vdotb + q_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1690 do i = 1, eqn_idx%cont%end
1694 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1695 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k, &
1696 &
l) - vdotb*b(i - eqn_idx%mom%beg + 1)
1699 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1700 &
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1702 do i = 1, eqn_idx%cont%end
1706 do i = eqn_idx%B%beg, eqn_idx%B%end
1714 do i = 1, eqn_idx%cont%end
1722 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1724 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1729 do i = eqn_idx%species%beg, eqn_idx%species%end
1730 ys(i - eqn_idx%species%beg + 1) = q_prim_vf(i)%sf(
j,
k,
l)
1734 call get_mixture_molecular_weight(ys, mix_mol_weight)
1735 t = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
1736 call get_mixture_energy_mass(t, ys, e_mix)
1738 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + rho*e_mix
1743 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(eqn_idx%B%beg)%sf(
j,
k, &
1744 &
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1746 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, &
1747 &
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1750 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1751 &
l) + dyn_pres + pres_mag + pi_inf + qv
1752 else if (bubbles_euler .neqv. .true.)
then
1754 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
1757 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(eqn_idx%alf)%sf(
j,
k, &
1758 &
l))*(gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + pi_inf) + qv
1763 if (model_eqns == model_eqns_6eq)
then
1764 do i = 1, num_fluids
1765 pres_i = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
1766 alpha_i =
q_cons_vf(i + eqn_idx%adv%beg - 1)%sf(
j,
k,
l)
1767 alpha_rho_i =
q_cons_vf(i + eqn_idx%cont%beg - 1)%sf(
j,
k,
l)
1768 call s_phase_internal_energy(pres_i, alpha_i, alpha_rho_i, i, e_i)
1769 q_cons_vf(i + eqn_idx%int_en%beg - 1)%sf(
j,
k,
l) = e_i
1773 if (bubbles_euler)
then
1776 rtmp(i) = q_prim_vf(qbmm_idx%rs(i))%sf(
j,
k,
l)
1779 if (.not. qbmm)
then
1782 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1784 call s_comp_n_from_prim(real(q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
1790 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
1791 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
1794 nbub = 3._wp*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
1797 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1803 do i = eqn_idx%B%beg, eqn_idx%B%end
1808 if (hypoelasticity)
then
1810 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1815 if (hypoelasticity)
then
1817 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1819 if (g > verysmall)
then
1821 &
l)**2._wp)/max(4._wp*g, verysmall)
1823 if (any(i == shear_indices))
then
1825 &
l)**2._wp)/max(4._wp*g, verysmall)
1831 if (surface_tension)
then
1835 if (cont_damage)
then
1837 solid_partial_density = 0._wp
1838 do i = 1, num_fluids
1839 if (fluid_pp(i)%G > verysmall)
then
1840 solid_partial_density = solid_partial_density + q_prim_vf(eqn_idx%cont%beg + i - 1)%sf(
j,
k,
l)
1843 q_cons_vf(eqn_idx%damage)%sf(
j,
k,
l) = solid_partial_density*q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)
1846 if (hyper_cleaning)
q_cons_vf(eqn_idx%psi)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%psi)%sf(
j,
k,
l)
1855 & dir_flg_in, hll_u_interface_in)
1857 integer,
intent(in) :: s2b, s3b
1860 integer,
dimension(3),
intent(in) :: dir_idx_in
1861 real(wp),
dimension(3),
intent(in) :: dir_flg_in
1862 logical,
intent(in) :: hll_u_interface_in
1863 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
1864 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
1865 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,eqn_idx%adv%beg:),
intent(inout) :: fk_src_vf
1866 type(int_bounds_info),
intent(in) :: is1, is2, is3
1871# 954 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1872 real(wp),
dimension(num_fluids) :: alpha_rho_k
1873 real(wp),
dimension(num_fluids) :: alpha_k
1874 real(wp),
dimension(num_vels) :: vel_k
1875# 958 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1876 real(wp),
dimension(1) :: y_k
1877# 959 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1879 real(wp) :: vel_k_sum
1883 real(wp) :: pi_inf_k
1885 real(wp),
dimension(2) :: re_k
1887 real(wp) :: blkmod1_k, blkmod2_k, k_k
1888 real(wp) :: t_k, mix_mol_weight, r_gas
1889 integer :: i,
j,
k,
l
1896# 976 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1897#if defined(MFC_OpenACC)
1898# 976 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1900# 976 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1901#elif defined(MFC_OpenMP)
1902# 976 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1904# 976 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1906# 977 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1911# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1913# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1914#if defined(MFC_OpenACC)
1915# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1917# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1919# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1921# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1922#elif defined(MFC_OpenMP)
1923# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1925# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1927# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1929# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1931# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1933# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1935# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1937# 983 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1942# 986 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1943#if defined(MFC_OpenACC)
1944# 986 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1946# 986 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1947#elif defined(MFC_OpenMP)
1948# 986 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1950# 986 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1952# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1953 do i = 1, eqn_idx%cont%end
1954 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
1958# 991 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1959#if defined(MFC_OpenACC)
1960# 991 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1962# 991 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1963#elif defined(MFC_OpenMP)
1964# 991 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1966# 991 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1968# 992 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1969 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1970 alpha_k(i - eqn_idx%E) = qk_prim_vf(
j,
k,
l, i)
1974# 996 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1975#if defined(MFC_OpenACC)
1976# 996 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1978# 996 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1979#elif defined(MFC_OpenMP)
1980# 996 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1982# 996 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1984# 997 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1986 vel_k(i) = qk_prim_vf(
j,
k,
l, eqn_idx%cont%end + i)
1991# 1002 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1992#if defined(MFC_OpenACC)
1993# 1002 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1995# 1002 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1996#elif defined(MFC_OpenMP)
1997# 1002 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1999# 1002 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2001# 1003 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2003 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2006 pres_k = qk_prim_vf(
j,
k,
l, eqn_idx%E)
2007 if (hypoelasticity)
then
2019# 1019 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2020#if defined(MFC_OpenACC)
2021# 1019 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2023# 1019 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2024#elif defined(MFC_OpenMP)
2025# 1019 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2027# 1019 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2029# 1020 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2030 do i = eqn_idx%species%beg, eqn_idx%species%end
2031 y_k(i - eqn_idx%species%beg + 1) = qk_prim_vf(
j,
k,
l, i)
2034 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2035 r_gas = gas_constant/mix_mol_weight
2036 t_k = pres_k/rho_k/r_gas
2037 call get_mixture_energy_mass(t_k, y_k, e_k)
2038 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2041 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2046# 1035 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2047#if defined(MFC_OpenACC)
2048# 1035 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2050# 1035 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2051#elif defined(MFC_OpenMP)
2052# 1035 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2054# 1035 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2056# 1036 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2057 do i = 1, eqn_idx%cont%end
2058 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx_in(1))
2062# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2063#if defined(MFC_OpenACC)
2064# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2066# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2067#elif defined(MFC_OpenMP)
2068# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2070# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2072# 1041 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2075 & eqn_idx%cont%end + dir_idx_in(i)) = rho_k*vel_k(dir_idx_in(1))*vel_k(dir_idx_in(i)) &
2076 & + pres_k*dir_flg_in(dir_idx_in(i))
2080 fk_vf(
j,
k,
l, eqn_idx%E) = vel_k(dir_idx_in(1))*(e_k + pres_k)
2085# 1052 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2086#if defined(MFC_OpenACC)
2087# 1052 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2089# 1052 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2090#elif defined(MFC_OpenMP)
2091# 1052 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2093# 1052 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2095# 1053 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2096 do i = 1, num_species
2097 fk_vf(
j,
k,
l, i - 1 + eqn_idx%species%beg) = vel_k(dir_idx_in(1))*(rho_k*y_k(i))
2108 if (riemann_solver == riemann_solver_hlld)
then
2109 if (hypoelasticity)
then
2114# 1072 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2115 if (alt_soundspeed)
then
2116 blkmod1_k = f_bulk_modulus(pres_k, gammas(1), pi_infs(1)) + (4._wp/3._wp)*
gs_vc(1)
2117 blkmod2_k = f_bulk_modulus(pres_k, gammas(2), pi_infs(2)) + (4._wp/3._wp)*
gs_vc(2)
2118 k_k = alpha_k(1)*alpha_k(2)*(blkmod2_k - blkmod1_k)/(alpha_k(1)*blkmod2_k + alpha_k(2) &
2119 & *blkmod1_k + verysmall)
2121# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2123# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2124#if defined(MFC_OpenACC)
2125# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2127# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2128#elif defined(MFC_OpenMP)
2129# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2131# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2133# 1080 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2134 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2135 fk_vf(
j,
k,
l, i) = 0._wp
2136 fk_src_vf(
j,
k,
l, i) = 0._wp
2138 fk_vf(
j,
k,
l, eqn_idx%adv%beg) = -k_k*vel_k(dir_idx_in(1))
2139 fk_vf(
j,
k,
l, eqn_idx%adv%end) = k_k*vel_k(dir_idx_in(1))
2142# 1087 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2143#if defined(MFC_OpenACC)
2144# 1087 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2146# 1087 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2147#elif defined(MFC_OpenMP)
2148# 1087 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2150# 1087 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2152# 1088 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2153 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2154 fk_vf(
j,
k,
l, i) = 0._wp
2155 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2158 else if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface_in)
then
2160# 1094 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2161#if defined(MFC_OpenACC)
2162# 1094 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2164# 1094 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2165#elif defined(MFC_OpenMP)
2166# 1094 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2168# 1094 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2170# 1095 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2171 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2172 fk_vf(
j,
k,
l, i) = 0._wp
2173 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2178# 1101 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2179#if defined(MFC_OpenACC)
2180# 1101 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2182# 1101 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2183#elif defined(MFC_OpenMP)
2184# 1101 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2186# 1101 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2188# 1102 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2189 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2190 fk_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))*alpha_k(i - eqn_idx%E)
2194# 1106 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2195#if defined(MFC_OpenACC)
2196# 1106 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2198# 1106 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2199#elif defined(MFC_OpenMP)
2200# 1106 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2202# 1106 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2204# 1107 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2205 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2206 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))
2213# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2214#if defined(MFC_OpenACC)
2215# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2217# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2218#elif defined(MFC_OpenMP)
2219# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2221# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2223# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2225# 1115 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2233# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2235# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2237# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2239# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2243# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2245# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2247# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2249# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2251# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2253# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2255# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2257# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2259# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2261# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2263# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2265# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2267# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2268 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2269 integer,
intent(in) ::
k,
l, r
2270# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2271 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2272# 1129 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2274 real(wp) :: alpha_k_sum
2276 if (num_fluids == 1)
then
2277 alpha_rho_k(1) = q_vf(eqn_idx%cont%beg)%sf(
k,
l, r)
2278 if (igr .or. bubbles_euler)
then
2281 alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2285 do i = 1, num_fluids - 1
2286 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2287 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2289 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2290 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2292 do i = 1, num_fluids
2293 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2294 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2301 do i = 1, num_fluids
2302 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2303 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2304 alpha_k_sum = alpha_k_sum + alpha_k(i)
2306 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2309 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2319# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2321# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2322 use iso_fortran_env,
only: output_unit
2323# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2325# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2326 print *,
'm_variables_conversion.fpp:1174: ',
'@:DEALLOCATE(Gs_vc, fluid_k_therm)'
2327# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2329# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2330 call flush (output_unit)
2331# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2333# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2335# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2337# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2338#if defined(MFC_OpenACC)
2339# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2341# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2342#elif defined(MFC_OpenMP)
2343# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2345# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2347# 1174 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2348 deallocate (
gs_vc, fluid_k_therm)
2349# 1175 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2352# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2354# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2355 use iso_fortran_env,
only: output_unit
2356# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2358# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2359 print *,
'm_variables_conversion.fpp:1176: ',
'@:DEALLOCATE(bubrs_vc)'
2360# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2362# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2363 call flush (output_unit)
2364# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2366# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2368# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2370# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2371#if defined(MFC_OpenACC)
2372# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2374# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2375#elif defined(MFC_OpenMP)
2376# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2378# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2380# 1176 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2382# 1177 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2384 if (
allocated(
res_vc))
then
2386# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2388# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2389 use iso_fortran_env,
only: output_unit
2390# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2392# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2393 print *,
'm_variables_conversion.fpp:1179: ',
'@:DEALLOCATE(Res_vc)'
2394# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2396# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2397 call flush (output_unit)
2398# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2400# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2402# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2404# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2405#if defined(MFC_OpenACC)
2406# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2408# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2409#elif defined(MFC_OpenMP)
2410# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2412# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2414# 1179 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2416# 1180 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2426# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2428# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2430# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2432# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2434# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2436# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2438# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2440# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2442# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2444# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2446# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2448# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2450# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2452# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2454# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2456# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458# 1188 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2460# 1189 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2462# 1193 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2463 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
2464# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2465 real(wp),
intent(in) :: pres, vel_sum
2466 real(wp),
intent(out) :: e
2467 real(wp) :: rho, gamma, pi_inf, qv
2469 call s_compute_mixture_coefficients(alpha_rho_k, alpha_k, rho, gamma, pi_inf, qv)
2473 e = gamma*pres + pi_inf
2474 if (bubbles_euler) e = e*(1._wp - alpha_k(num_fluids))
2475 e = e + qv + 5.e-1_wp*rho*vel_sum
2484# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2486# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2488# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2490# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2492# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2494# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2496# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2498# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2500# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2502# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2504# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2506# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2508# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2510# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2512# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2514# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2516# 1213 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2518# 1214 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2520 real(wp),
intent(in) :: tau, g
2521 logical,
intent(in) :: is_shear
2525 if (g > verysmall)
then
2526 de = (tau*tau)/max(4._wp*g, verysmall)
2527 if (is_shear) de = de + (tau*tau)/max(4._wp*g, verysmall)
2535 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
2536 integer,
intent(in) ::
j,
k,
l
2537 real(wp),
intent(in) :: rho, g
2542 do s = eqn_idx%stress%beg, eqn_idx%stress%end
2552# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2554# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2556# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2558# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2560# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2562# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2564# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2566# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2568# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2570# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2572# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2574# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2576# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2578# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2580# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2582# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2584# 1246 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2586# 1247 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2588 real(wp),
intent(in) :: b(3), rho, c
2589 real(wp),
intent(in) :: h
2590 real(wp),
intent(out) :: c_fast
2591 integer,
intent(in) :: norm
2592 real(wp) :: b2, term, disc
2596 if (.not. relativity)
then
2597 term = c**2 + b2/rho
2598 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2601 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2602 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2606 if (disc < 0._wp)
then
2607 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2611 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2616 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.
Equations of state in Gamma/Pi form, rho e = Gamma(rho) p + Pi(rho).
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...
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_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_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_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,...
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.
Global parameters for the post-process: domain geometry, equation of state, and output database setti...
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
MPI gather and scatter operations for distributing post-process grid and flow-variable data.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
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_compute_species_fraction(q_vf, k, l, r, alpha_rho_k, alpha_k)
Compute partial densities and volume fractions.
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.
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, 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,...
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.
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_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.
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.
real(wp), dimension(:,:,:), allocatable, public rho_sf
Scalar density function.
integer, dimension(:), allocatable bubrs_vc
real(wp), dimension(:), allocatable gs_vc
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
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...
integer lagrange_beta_index_vc
logical preserve_qbmm_number_vc
Derived type annexing a scalar field (SF).