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.
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).