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)
1584# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1585#if defined(MFC_OpenACC)
1586# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1588# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1589#elif defined(MFC_OpenMP)
1590# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1592# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1594# 675 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1596 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1612# 691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1613#if defined(MFC_OpenACC)
1614# 691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1616# 691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1617#elif defined(MFC_OpenMP)
1618# 691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1620# 691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1622# 691 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1624# 692 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1631 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1632 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1639 real(wp) :: pres_i, alpha_i, alpha_rho_i, e_i
1641 real(wp) :: dyn_pres
1642 real(wp) :: nbub, r3tmp
1643 real(wp),
dimension(nb) :: rtmp
1645 real(wp) :: solid_partial_density
1646 real(wp),
dimension(2) :: re_k
1647 integer :: i,
j,
k,
l
1648 real(wp),
dimension(num_species) :: ys
1649 real(wp) :: e_mix, mix_mol_weight, t
1650 real(wp) :: pres_mag
1667 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1669 if (.not. igr .or. num_fluids > 1)
then
1671 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1676 if (relativity)
then
1679 b(2) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1680 b(3) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1682 b(1) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1683 b(2) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1684 b(3) = q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1688 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1689 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1691 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1693 ga = 1._wp/sqrt(1._wp - v2)
1695 h = 1._wp + (gamma + 1)*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)/rho
1698 do i = eqn_idx%B%beg, eqn_idx%B%end
1699 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1701 if (n == 0) b2 = b2 + bx0**2
1705 vdotb = vdotb + q_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1708 do i = 1, eqn_idx%cont%end
1712 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1713 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k, &
1714 &
l) - vdotb*b(i - eqn_idx%mom%beg + 1)
1717 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1718 &
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1720 do i = 1, eqn_idx%cont%end
1724 do i = eqn_idx%B%beg, eqn_idx%B%end
1732 do i = 1, eqn_idx%cont%end
1740 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1742 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1747 do i = eqn_idx%species%beg, eqn_idx%species%end
1748 ys(i - eqn_idx%species%beg + 1) = q_prim_vf(i)%sf(
j,
k,
l)
1752 call get_mixture_molecular_weight(ys, mix_mol_weight)
1753 t = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
1754 call get_mixture_energy_mass(t, ys, e_mix)
1756 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + rho*e_mix
1761 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(eqn_idx%B%beg)%sf(
j,
k, &
1762 &
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1764 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, &
1765 &
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1768 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1769 &
l) + dyn_pres + pres_mag + pi_inf + qv
1770 else if (bubbles_euler .neqv. .true.)
then
1772 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
1775 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(eqn_idx%alf)%sf(
j,
k, &
1776 &
l))*(gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + pi_inf) + qv
1781 if (model_eqns == model_eqns_6eq)
then
1782 do i = 1, num_fluids
1783 pres_i = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
1784 alpha_i =
q_cons_vf(i + eqn_idx%adv%beg - 1)%sf(
j,
k,
l)
1785 alpha_rho_i =
q_cons_vf(i + eqn_idx%cont%beg - 1)%sf(
j,
k,
l)
1786 call s_phase_internal_energy(pres_i, alpha_i, alpha_rho_i, i, e_i)
1787 q_cons_vf(i + eqn_idx%int_en%beg - 1)%sf(
j,
k,
l) = e_i
1791 if (bubbles_euler)
then
1794 rtmp(i) = q_prim_vf(qbmm_idx%rs(i))%sf(
j,
k,
l)
1797 if (.not. qbmm)
then
1800 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1802 call s_comp_n_from_prim(real(q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
1808 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
1809 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
1812 nbub = 3._wp*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
1815 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1821 do i = eqn_idx%B%beg, eqn_idx%B%end
1826 if (hypoelasticity)
then
1828 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1833 if (hypoelasticity)
then
1835 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1837 if (g > verysmall)
then
1839 &
l)**2._wp)/max(4._wp*g, verysmall)
1841 if (any(i == shear_indices))
then
1843 &
l)**2._wp)/max(4._wp*g, verysmall)
1849 if (surface_tension)
then
1853 if (cont_damage)
then
1855 solid_partial_density = 0._wp
1856 do i = 1, num_fluids
1857 if (fluid_pp(i)%G > verysmall)
then
1858 solid_partial_density = solid_partial_density + q_prim_vf(eqn_idx%cont%beg + i - 1)%sf(
j,
k,
l)
1861 q_cons_vf(eqn_idx%damage)%sf(
j,
k,
l) = solid_partial_density*q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)
1864 if (hyper_cleaning)
q_cons_vf(eqn_idx%psi)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%psi)%sf(
j,
k,
l)
1873 & dir_flg_in, hll_u_interface_in)
1875 integer,
intent(in) :: s2b, s3b
1878 integer,
dimension(3),
intent(in) :: dir_idx_in
1879 real(wp),
dimension(3),
intent(in) :: dir_flg_in
1880 logical,
intent(in) :: hll_u_interface_in
1881 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
1882 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
1883 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,eqn_idx%adv%beg:),
intent(inout) :: fk_src_vf
1884 type(int_bounds_info),
intent(in) :: is1, is2, is3
1889# 961 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1890 real(wp),
dimension(num_fluids) :: alpha_rho_k
1891 real(wp),
dimension(num_fluids) :: alpha_k
1892 real(wp),
dimension(num_vels) :: vel_k
1893# 965 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1894 real(wp),
dimension(1) :: y_k
1895# 966 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1897 real(wp) :: vel_k_sum
1901 real(wp) :: pi_inf_k
1903 real(wp),
dimension(2) :: re_k
1905 real(wp) :: blkmod1_k, blkmod2_k, k_k
1906 real(wp) :: t_k, mix_mol_weight, r_gas
1907 integer :: i,
j,
k,
l
1914# 983 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1915#if defined(MFC_OpenACC)
1916# 983 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1918# 983 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1919#elif defined(MFC_OpenMP)
1920# 983 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1922# 983 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1924# 984 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1929# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1931# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1932#if defined(MFC_OpenACC)
1933# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1935# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1937# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1939# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1940#elif defined(MFC_OpenMP)
1941# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1943# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1945# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1947# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1949# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1951# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1953# 987 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1955# 990 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1960# 993 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1961#if defined(MFC_OpenACC)
1962# 993 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1964# 993 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1965#elif defined(MFC_OpenMP)
1966# 993 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1968# 993 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1970# 994 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1971 do i = 1, eqn_idx%cont%end
1972 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
1976# 998 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1977#if defined(MFC_OpenACC)
1978# 998 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1980# 998 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1981#elif defined(MFC_OpenMP)
1982# 998 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1984# 998 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1986# 999 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1987 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1988 alpha_k(i - eqn_idx%E) = qk_prim_vf(
j,
k,
l, i)
1992# 1003 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1993#if defined(MFC_OpenACC)
1994# 1003 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1996# 1003 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1997#elif defined(MFC_OpenMP)
1998# 1003 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2000# 1003 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2002# 1004 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2004 vel_k(i) = qk_prim_vf(
j,
k,
l, eqn_idx%cont%end + i)
2009# 1009 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2010#if defined(MFC_OpenACC)
2011# 1009 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2013# 1009 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2014#elif defined(MFC_OpenMP)
2015# 1009 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2017# 1009 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2019# 1010 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2021 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2024 pres_k = qk_prim_vf(
j,
k,
l, eqn_idx%E)
2025 if (hypoelasticity)
then
2037# 1026 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2038#if defined(MFC_OpenACC)
2039# 1026 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2041# 1026 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2042#elif defined(MFC_OpenMP)
2043# 1026 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2045# 1026 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2047# 1027 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2048 do i = eqn_idx%species%beg, eqn_idx%species%end
2049 y_k(i - eqn_idx%species%beg + 1) = qk_prim_vf(
j,
k,
l, i)
2052 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2053 r_gas = gas_constant/mix_mol_weight
2054 t_k = pres_k/rho_k/r_gas
2055 call get_mixture_energy_mass(t_k, y_k, e_k)
2056 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2059 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2064# 1042 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2065#if defined(MFC_OpenACC)
2066# 1042 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2068# 1042 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2069#elif defined(MFC_OpenMP)
2070# 1042 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2072# 1042 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2074# 1043 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2075 do i = 1, eqn_idx%cont%end
2076 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx_in(1))
2080# 1047 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2081#if defined(MFC_OpenACC)
2082# 1047 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2084# 1047 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2085#elif defined(MFC_OpenMP)
2086# 1047 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2088# 1047 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2090# 1048 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2093 & eqn_idx%cont%end + dir_idx_in(i)) = rho_k*vel_k(dir_idx_in(1))*vel_k(dir_idx_in(i)) &
2094 & + pres_k*dir_flg_in(dir_idx_in(i))
2098 fk_vf(
j,
k,
l, eqn_idx%E) = vel_k(dir_idx_in(1))*(e_k + pres_k)
2103# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2104#if defined(MFC_OpenACC)
2105# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2107# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2108#elif defined(MFC_OpenMP)
2109# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2111# 1059 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2113# 1060 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2114 do i = 1, num_species
2115 fk_vf(
j,
k,
l, i - 1 + eqn_idx%species%beg) = vel_k(dir_idx_in(1))*(rho_k*y_k(i))
2126 if (riemann_solver == riemann_solver_hlld)
then
2127 if (hypoelasticity)
then
2132# 1079 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2133 if (alt_soundspeed)
then
2134 blkmod1_k = f_bulk_modulus(pres_k, gammas(1), pi_infs(1)) + (4._wp/3._wp)*
gs_vc(1)
2135 blkmod2_k = f_bulk_modulus(pres_k, gammas(2), pi_infs(2)) + (4._wp/3._wp)*
gs_vc(2)
2136 k_k = alpha_k(1)*alpha_k(2)*(blkmod2_k - blkmod1_k)/(alpha_k(1)*blkmod2_k + alpha_k(2) &
2137 & *blkmod1_k + verysmall)
2139# 1086 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2141# 1086 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2142#if defined(MFC_OpenACC)
2143# 1086 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2145# 1086 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2146#elif defined(MFC_OpenMP)
2147# 1086 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2149# 1086 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2151# 1087 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2152 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2153 fk_vf(
j,
k,
l, i) = 0._wp
2154 fk_src_vf(
j,
k,
l, i) = 0._wp
2156 fk_vf(
j,
k,
l, eqn_idx%adv%beg) = -k_k*vel_k(dir_idx_in(1))
2157 fk_vf(
j,
k,
l, eqn_idx%adv%end) = k_k*vel_k(dir_idx_in(1))
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)
2176 else if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface_in)
then
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) = 0._wp
2191 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2196# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2197#if defined(MFC_OpenACC)
2198# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2200# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2201#elif defined(MFC_OpenMP)
2202# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2204# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2206# 1109 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2207 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2208 fk_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))*alpha_k(i - eqn_idx%E)
2212# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2213#if defined(MFC_OpenACC)
2214# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2216# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2217#elif defined(MFC_OpenMP)
2218# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2220# 1113 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2222# 1114 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2223 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2224 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))
2231# 1121 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2232#if defined(MFC_OpenACC)
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"
2236#elif defined(MFC_OpenMP)
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# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2251# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2253# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2255# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2257# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2259# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2261# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2263# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2265# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2267# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2269# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2271# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2273# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2275# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2277# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2279# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2281# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2283# 1128 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2285# 1129 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2286 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2287 integer,
intent(in) ::
k,
l, r
2288# 1134 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2289 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2290# 1136 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2292 real(wp) :: alpha_k_sum
2294 if (num_fluids == 1)
then
2295 alpha_rho_k(1) = q_vf(eqn_idx%cont%beg)%sf(
k,
l, r)
2296 if (igr .or. bubbles_euler)
then
2299 alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2303 do i = 1, num_fluids - 1
2304 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2305 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2307 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2308 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2310 do i = 1, num_fluids
2311 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2312 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2319 do i = 1, num_fluids
2320 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2321 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2322 alpha_k_sum = alpha_k_sum + alpha_k(i)
2324 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2327 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2337# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2339# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2340 use iso_fortran_env,
only: output_unit
2341# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2343# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2344 print *,
'm_variables_conversion.fpp:1181: ',
'@:DEALLOCATE(Gs_vc, fluid_k_therm)'
2345# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2347# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2348 call flush (output_unit)
2349# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2351# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2353# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2355# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2356#if defined(MFC_OpenACC)
2357# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2359# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2360#elif defined(MFC_OpenMP)
2361# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2363# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2365# 1181 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2366 deallocate (
gs_vc, fluid_k_therm)
2367# 1182 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2370# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2372# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2373 use iso_fortran_env,
only: output_unit
2374# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2376# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2377 print *,
'm_variables_conversion.fpp:1183: ',
'@:DEALLOCATE(bubrs_vc)'
2378# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2380# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2381 call flush (output_unit)
2382# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2384# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2386# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2388# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2389#if defined(MFC_OpenACC)
2390# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2392# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2393#elif defined(MFC_OpenMP)
2394# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2396# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2398# 1183 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2400# 1184 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2402 if (
allocated(
res_vc))
then
2404# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2406# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2407 use iso_fortran_env,
only: output_unit
2408# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2410# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2411 print *,
'm_variables_conversion.fpp:1186: ',
'@:DEALLOCATE(Res_vc)'
2412# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2414# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2415 call flush (output_unit)
2416# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2418# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2420# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2422# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2423#if defined(MFC_OpenACC)
2424# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2426# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2427#elif defined(MFC_OpenMP)
2428# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2430# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2432# 1186 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2434# 1187 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2444# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2446# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2448# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2450# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2452# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2454# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2456# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2460# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2462# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2464# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2466# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2468# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2470# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2472# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2474# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2476# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2478# 1196 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2480# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2481 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
2482# 1202 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2483 real(wp),
intent(in) :: pres, vel_sum
2484 real(wp),
intent(out) :: e
2485 real(wp) :: rho, gamma, pi_inf, qv
2487 call s_compute_mixture_coefficients(alpha_rho_k, alpha_k, rho, gamma, pi_inf, qv)
2491 e = gamma*pres + pi_inf
2492 if (bubbles_euler) e = e*(1._wp - alpha_k(num_fluids))
2493 e = e + qv + 5.e-1_wp*rho*vel_sum
2502# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2504# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2506# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2508# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2510# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2512# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2514# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2516# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2518# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2520# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2522# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2524# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2526# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2528# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2530# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2532# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2534# 1220 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2536# 1221 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2538 real(wp),
intent(in) :: tau, g
2539 logical,
intent(in) :: is_shear
2543 if (g > verysmall)
then
2544 de = (tau*tau)/max(4._wp*g, verysmall)
2545 if (is_shear) de = de + (tau*tau)/max(4._wp*g, verysmall)
2553 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
2554 integer,
intent(in) ::
j,
k,
l
2555 real(wp),
intent(in) :: rho, g
2560 do s = eqn_idx%stress%beg, eqn_idx%stress%end
2570# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2572# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2574# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2576# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2578# 1253 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
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"
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"
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"
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"
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"
2604# 1254 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2606 real(wp),
intent(in) :: b(3), rho, c
2607 real(wp),
intent(in) :: h
2608 real(wp),
intent(out) :: c_fast
2609 integer,
intent(in) :: norm
2610 real(wp) :: b2, term, disc
2614 if (.not. relativity)
then
2615 term = c**2 + b2/rho
2616 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2619 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2620 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2624 if (disc < 0._wp)
then
2625 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2629 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2634 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).