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.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
real(wp) function, public f_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).