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# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 167 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
36# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
37# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
38# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 167 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
66# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
67# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
68# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
69# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
70# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
72# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
74# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
117# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
119# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
121# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
123# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
144# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
145# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
146# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
147# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
148# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
149# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
150# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
152# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
153# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
154# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 167 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
174# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
176# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
178# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
180# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
182# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
184# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
233# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
236# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
239# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
242# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
289# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
292# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
294# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
299# 55 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
302# 75 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
305# 83 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
308# 107 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 123 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 148 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
316# 154 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
318# 161 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 6 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
321# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
327# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
330# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
331# 7 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp" 2
343 use m_thermochem,
only: num_species, get_temperature, get_pressure, gas_constant, get_mixture_molecular_weight, &
344 & get_mixture_energy_mass
356 real(wp),
allocatable,
dimension(:) ::
gs_vc
358 real(wp),
allocatable,
dimension(:,:) ::
res_vc
360# 34 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
361#if defined(MFC_OpenACC)
362# 34 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
364# 34 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
365#elif defined(MFC_OpenMP)
366# 34 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
368# 34 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
373# 37 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
374#if defined(MFC_OpenACC)
375# 37 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
377# 37 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
378#elif defined(MFC_OpenMP)
379# 37 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
381# 37 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
388# 42 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
389#if defined(MFC_OpenACC)
390# 42 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
392# 42 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
393#elif defined(MFC_OpenMP)
394# 42 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
396# 42 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
399 real(wp),
allocatable,
dimension(:,:,:),
public ::
rho_sf
400 real(wp),
allocatable,
dimension(:,:,:),
public ::
gamma_sf
401 real(wp),
allocatable,
dimension(:,:,:),
public ::
pi_inf_sf
402 real(wp),
allocatable,
dimension(:,:,:),
public ::
qv_sf
408 subroutine s_convert_to_mixture_variables(q_vf, i, j, k, rho, gamma, pi_inf, qv, Re_K, G_K, G)
410 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
411 integer,
intent(in) :: i,
j,
k
412 real(wp),
intent(out),
target :: rho, gamma, pi_inf, qv
413 real(wp),
optional,
dimension(2),
intent(out) :: re_k
414 real(wp),
optional,
intent(out) :: g_k
415 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
420 call s_convert_species_to_mixture_variables(q_vf, i,
j,
k, rho, gamma, pi_inf, qv, re_k, g_k, g)
426 subroutine s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoYks, pres, T, stress, mom, G, pres_mag)
429# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
431# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
433# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
435# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
437# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
439# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
441# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
443# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
445# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
447# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
449# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
451# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
453# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
455# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
457# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
459# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
461# 73 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
464 real(stp),
intent(in) :: energy, alf
465 real(wp),
intent(in) :: dyn_p
466 real(wp),
intent(in) :: pi_inf, gamma, rho, qv
467 real(wp),
intent(out) :: pres
468 real(wp),
intent(inout) :: t
469 real(stp),
intent(in),
optional :: stress, mom
470 real(wp),
intent(in),
optional :: g, pres_mag
473 real(wp),
dimension(1:num_species),
intent(in) :: rhoyks
474 real(wp),
dimension(1:num_species) :: y_rs
476 real(wp) :: e_per_kg, pdyn_per_kg
479# 91 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
485 pres = (energy - dyn_p - pi_inf - qv - pres_mag)/gamma
486 else if (bubbles_euler .neqv. .true.)
then
488 pres = (energy - dyn_p - pi_inf - qv)/gamma
491 pres = ((energy - dyn_p)/(1._wp - alf) - pi_inf - qv)/gamma
494 if (hypoelasticity .and.
present(g))
then
497 do s = eqn_idx%stress%beg, eqn_idx%stress%end
499 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
501 if (any(s == shear_indices))
then
502 e_e = e_e + ((stress/rho)**2._wp)/(4._wp*g)
507 pres = (energy - 0.5_wp*(mom**2._wp)/rho - pi_inf - qv - e_e)/gamma
509# 131 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
518 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
519 integer,
intent(in) :: i,
j,
k
520 real(wp),
intent(out),
target :: rho
521 real(wp),
intent(out),
target :: gamma
522 real(wp),
intent(out),
target :: pi_inf
523 real(wp),
intent(out),
target :: qv
527 rho = q_vf(1)%sf(i,
j,
k)
528 gamma = q_vf(eqn_idx%gamma)%sf(i,
j,
k)
529 pi_inf = q_vf(eqn_idx%pi_inf)%sf(i,
j,
k)
533 if (
allocated(
rho_sf))
then
545 subroutine s_convert_species_to_mixture_variables(q_vf, k, l, r, rho, gamma, pi_inf, qv, Re_K, G_K, G)
547 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_vf
548 integer,
intent(in) ::
k,
l, r
549 real(wp),
intent(out),
target :: rho
550 real(wp),
intent(out),
target :: gamma
551 real(wp),
intent(out),
target :: pi_inf
552 real(wp),
intent(out),
target :: qv
553 real(wp),
optional,
dimension(2),
intent(out) :: re_k
554 real(wp),
optional,
intent(out) :: g_k
555 real(wp),
dimension(num_fluids) :: alpha_rho_k, alpha_k
556 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
567 if (
allocated(
rho_sf))
then
580# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
582# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
584# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
586# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
588# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
590# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
592# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
594# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
596# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
598# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
600# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
602# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
604# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
606# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
608# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
610# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
612# 200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
615 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
616# 207 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
617 real(wp),
dimension(num_fluids),
intent(inout) :: alpha_rho_k, alpha_k
618 real(wp),
optional,
dimension(num_fluids),
intent(in) :: g
619# 210 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
620 real(wp),
optional,
dimension(2),
intent(out) :: re_k
621 real(wp),
optional,
intent(out) :: g_k
622 real(wp) :: alpha_k_sum
630 if (
present(g_k)) g_k = 0._wp
633 if (num_fluids == 1 .and. bubbles_euler)
then
634 rho_k = alpha_rho_k(1)
636 pi_inf_k = pi_infs(1)
642 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
643 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
644 alpha_k_sum = alpha_k_sum + alpha_k(i)
646 alpha_k = alpha_k/max(alpha_k_sum,
sgm_eps)
648 rho_k = 0._wp; gamma_k = 0._wp; pi_inf_k = 0._wp; qv_k = 0._wp
650 rho_k = rho_k + alpha_rho_k(i)
651 gamma_k = gamma_k + alpha_k(i)*gammas(i)
652 pi_inf_k = pi_inf_k + alpha_k(i)*pi_infs(i)
653 qv_k = qv_k + alpha_rho_k(i)*qvs(i)
657 if (
present(g_k))
then
661 g_k = g_k + alpha_k(i)*g(i)
663 g_k = max(0._wp, g_k)
666 if (viscous .and.
present(re_k))
then
670 if (re_size(i) > 0) re_k(i) = 0._wp
673 re_k(i) = alpha_k(re_idx(i,
j))/
res_vc(i,
j) + re_k(i)
676 re_k(i) = 1._wp/max(re_k(i),
sgm_eps)
684 & lagrange_beta_index)
687 logical,
optional,
intent(in) :: store_mixture_fields
688 logical,
optional,
intent(in) :: enforce_density_floor, preserve_qbmm_number
689 integer,
optional,
intent(in) :: lagrange_beta_index
690 logical :: allocate_mixture_fields
692 allocate_mixture_fields = .false.
693 if (
present(store_mixture_fields)) allocate_mixture_fields = store_mixture_fields
702# 291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
703#if defined(MFC_OpenACC)
704# 291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
706# 291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
707#elif defined(MFC_OpenMP)
708# 291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
710# 291 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
713# 292 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
714#if defined(MFC_OpenACC)
715# 292 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
717# 292 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
718#elif defined(MFC_OpenMP)
719# 292 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
721# 292 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
725# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
727# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
728 use iso_fortran_env,
only: output_unit
729# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
731# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
732 print *,
'm_variables_conversion.fpp:294: ',
'@:ALLOCATE(gammas (1:num_fluids))'
733# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
735# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
736 call flush (output_unit)
737# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
739# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
741# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
742 allocate (gammas(1:num_fluids))
743# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
745# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
747# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
748#if defined(MFC_OpenACC)
749# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
751# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
752#elif defined(MFC_OpenMP)
753# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
755# 294 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
758# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
760# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
761 use iso_fortran_env,
only: output_unit
762# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
764# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
765 print *,
'm_variables_conversion.fpp:295: ',
'@:ALLOCATE(gs_min (1:num_fluids))'
766# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
768# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
769 call flush (output_unit)
770# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
772# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
774# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
775 allocate (gs_min(1:num_fluids))
776# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
778# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
780# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
781#if defined(MFC_OpenACC)
782# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
784# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
785#elif defined(MFC_OpenMP)
786# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
788# 295 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
791# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
793# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
794 use iso_fortran_env,
only: output_unit
795# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
797# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
798 print *,
'm_variables_conversion.fpp:296: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
799# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
801# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
802 call flush (output_unit)
803# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
805# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
807# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
808 allocate (pi_infs(1:num_fluids))
809# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
811# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
813# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
814#if defined(MFC_OpenACC)
815# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
817# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
818#elif defined(MFC_OpenMP)
819# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
821# 296 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
824# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
826# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
827 use iso_fortran_env,
only: output_unit
828# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
830# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
831 print *,
'm_variables_conversion.fpp:297: ',
'@:ALLOCATE(ps_inf(1:num_fluids))'
832# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
834# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
835 call flush (output_unit)
836# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
838# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
840# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
841 allocate (ps_inf(1:num_fluids))
842# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
844# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
846# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
847#if defined(MFC_OpenACC)
848# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
850# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
851#elif defined(MFC_OpenMP)
852# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
854# 297 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
857# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
859# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
860 use iso_fortran_env,
only: output_unit
861# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
863# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
864 print *,
'm_variables_conversion.fpp:298: ',
'@:ALLOCATE(cvs (1:num_fluids))'
865# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
867# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
868 call flush (output_unit)
869# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
871# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
873# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
874 allocate (cvs(1:num_fluids))
875# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
877# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
879# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
880#if defined(MFC_OpenACC)
881# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
883# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
884#elif defined(MFC_OpenMP)
885# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
887# 298 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
890# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
892# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
893 use iso_fortran_env,
only: output_unit
894# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
896# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
897 print *,
'm_variables_conversion.fpp:299: ',
'@:ALLOCATE(qvs (1:num_fluids))'
898# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
900# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
901 call flush (output_unit)
902# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
904# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
906# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
907 allocate (qvs(1:num_fluids))
908# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
910# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
912# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
913#if defined(MFC_OpenACC)
914# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
916# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
917#elif defined(MFC_OpenMP)
918# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
920# 299 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
923# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
925# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
926 use iso_fortran_env,
only: output_unit
927# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
929# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
930 print *,
'm_variables_conversion.fpp:300: ',
'@:ALLOCATE(qvps (1:num_fluids))'
931# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
933# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
934 call flush (output_unit)
935# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
937# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
939# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
940 allocate (qvps(1:num_fluids))
941# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
943# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
945# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
946#if defined(MFC_OpenACC)
947# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
949# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
950#elif defined(MFC_OpenMP)
951# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
953# 300 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
956# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
958# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
959 use iso_fortran_env,
only: output_unit
960# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
962# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
963 print *,
'm_variables_conversion.fpp:301: ',
'@:ALLOCATE(Gs_vc (1:num_fluids))'
964# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
966# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
967 call flush (output_unit)
968# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
970# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
972# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
973 allocate (
gs_vc(1:num_fluids))
974# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
976# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
978# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
979#if defined(MFC_OpenACC)
980# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
982# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
983#elif defined(MFC_OpenMP)
984# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
986# 301 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
990 gammas(i) = fluid_pp(i)%gamma
991 gs_min(i) = 1.0_wp/gammas(i) + 1.0_wp
992 pi_infs(i) = fluid_pp(i)%pi_inf
993 gs_vc(i) = fluid_pp(i)%G
994 ps_inf(i) = pi_infs(i)/(1.0_wp + gammas(i))
995 cvs(i) = fluid_pp(i)%cv
996 qvs(i) = fluid_pp(i)%qv
997 qvps(i) = fluid_pp(i)%qvp
1000# 313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1001#if defined(MFC_OpenACC)
1002# 313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1004# 313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1005#elif defined(MFC_OpenMP)
1006# 313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1008# 313 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1012# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1014# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1015 use iso_fortran_env,
only: output_unit
1016# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1018# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1019 print *,
'm_variables_conversion.fpp:315: ',
'@:ALLOCATE(Res_vc(1:2, 1:max(1, Re_size_max)))'
1020# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1022# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1023 call flush (output_unit)
1024# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1026# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1028# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1029 allocate (
res_vc(1:2, 1:max(1, re_size_max)))
1030# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1032# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1034# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1035#if defined(MFC_OpenACC)
1036# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1038# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1039#elif defined(MFC_OpenMP)
1040# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1042# 315 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1045 if (
allocated(re_idx))
then
1047 do j = 1, re_size(i)
1048 res_vc(i,
j) = fluid_pp(re_idx(i,
j))%Re(i)
1052# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1053#if defined(MFC_OpenACC)
1054# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1056# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1057#elif defined(MFC_OpenMP)
1058# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1060# 323 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1064# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1065#if defined(MFC_OpenACC)
1066# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1068# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1069#elif defined(MFC_OpenMP)
1070# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1072# 325 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1075 if (bubbles_euler)
then
1077# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1079# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1080 use iso_fortran_env,
only: output_unit
1081# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1083# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1084 print *,
'm_variables_conversion.fpp:328: ',
'@:ALLOCATE(bubrs_vc(1:nb))'
1085# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1087# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1088 call flush (output_unit)
1089# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1091# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1093# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1095# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1097# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1099# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1100#if defined(MFC_OpenACC)
1101# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1103# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1104#elif defined(MFC_OpenMP)
1105# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1107# 328 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1113# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1114#if defined(MFC_OpenACC)
1115# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1117# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1118#elif defined(MFC_OpenMP)
1119# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1121# 332 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1125 if (allocate_mixture_fields)
then
1129 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1130 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1131 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1132 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,-buff_size:p + buff_size))
1134 allocate (
rho_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1135 allocate (
gamma_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1136 allocate (
pi_inf_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1137 allocate (
qv_sf(-buff_size:m + buff_size,-buff_size:n + buff_size,0:0))
1140 allocate (
rho_sf(-buff_size:m + buff_size,0:0,0:0))
1141 allocate (
gamma_sf(-buff_size:m + buff_size,0:0,0:0))
1142 allocate (
pi_inf_sf(-buff_size:m + buff_size,0:0,0:0))
1143 allocate (
qv_sf(-buff_size:m + buff_size,0:0,0:0))
1152 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1153 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: mv
1154 integer :: i,
j,
k,
l
1155 real(wp) :: mu, sig, nbub_sc
1157 do l = idwint(3)%beg, idwint(3)%end
1158 do k = idwint(2)%beg, idwint(2)%end
1159 do j = idwint(1)%beg, idwint(1)%end
1160 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1163# 372 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1164#if defined(MFC_OpenACC)
1165# 372 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1167# 372 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1168#elif defined(MFC_OpenMP)
1169# 372 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1171# 372 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1174 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1175 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1177 mv(
j,
k,
l, 1, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1178 mv(
j,
k,
l, 2, i) = (mass_v0(i))*(mu - sig)**(3._wp)/(r0(i)**(3._wp))
1179 mv(
j,
k,
l, 3, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1180 mv(
j,
k,
l, 4, i) = (mass_v0(i))*(mu + sig)**(3._wp)/(r0(i)**(3._wp))
1191 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1192 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(in) :: mv
1193 real(stp),
dimension(idwint(1)%beg:,idwint(2)%beg:,idwint(3)%beg:,1:,1:),
intent(inout) :: pb
1194 integer :: i,
j,
k,
l
1195 real(wp) :: mu, sig, nbub_sc
1197 do l = idwint(3)%beg, idwint(3)%end
1198 do k = idwint(2)%beg, idwint(2)%end
1199 do j = idwint(1)%beg, idwint(1)%end
1200 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1203# 402 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1204#if defined(MFC_OpenACC)
1205# 402 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1207# 402 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1208#elif defined(MFC_OpenMP)
1209# 402 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1211# 402 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1214 mu = qk_cons_vf(eqn_idx%bub%beg + 1 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc
1215 sig = (qk_cons_vf(eqn_idx%bub%beg + 3 + (i - 1)*nmom)%sf(
j,
k,
l)/nbub_sc - mu**2)**0.5_wp
1218 pb(
j,
k,
l, 1, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 1, &
1219 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1220 pb(
j,
k,
l, 2, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 2, &
1221 & i))/(mu - sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1222 pb(
j,
k,
l, 3, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 3, &
1223 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1224 pb(
j,
k,
l, 4, i) = (pb0(i))*(r0(i)**(3._wp))*(mass_g0(i) + mv(
j,
k,
l, 4, &
1225 & i))/(mu + sig)**(3._wp)/(mass_g0(i) + mass_v0(i))
1237 type(scalar_field),
dimension(sys_size),
intent(in) :: qk_cons_vf
1238 type(scalar_field),
intent(inout) :: q_t_sf
1239 type(scalar_field),
dimension(sys_size),
intent(inout) :: qk_prim_vf
1240 type(int_bounds_info),
dimension(1:3),
intent(in) :: ibounds
1242# 437 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1243 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
1244 real(wp),
dimension(nb) :: nrtmp
1245 real(wp) :: rhoyks(1:num_species)
1246# 441 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1247 real(wp),
dimension(2) :: re_k
1248 real(wp) :: rho_k, gamma_k, pi_inf_k, qv_k, dyn_pres_k
1249 real(wp) :: vftmp, nbub_sc
1252 integer :: i,
j,
k,
l
1254 real(wp) :: pres_mag
1262 real(wp) :: f, dga_dw, dp_dw, df_dw
1266# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1268# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1269#if defined(MFC_OpenACC)
1270# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1272# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1274# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1275#elif defined(MFC_OpenMP)
1276# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1278# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1280# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1282# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1284# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1286# 459 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1288# 462 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1289 do l = ibounds(3)%beg, ibounds(3)%end
1290 do k = ibounds(2)%beg, ibounds(2)%end
1291 do j = ibounds(1)%beg, ibounds(1)%end
1298 if (hypoelasticity)
then
1307 if (hypoelasticity)
then
1308 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, &
1316 if (relativity)
then
1319 b(2) = qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1320 b(3) = qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1322 b(1) = qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1323 b(2) = qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1324 b(3) = qk_cons_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1326 b2 = b(1)**2 + b(2)**2 + b(3)**2
1330# 502 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1331#if defined(MFC_OpenACC)
1332# 502 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1334# 502 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1335#elif defined(MFC_OpenMP)
1336# 502 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1338# 502 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1340 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1341 m2 = m2 + qk_cons_vf(i)%sf(
j,
k,
l)**2
1346# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1347#if defined(MFC_OpenACC)
1348# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1350# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1351#elif defined(MFC_OpenMP)
1352# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1354# 508 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1357 s = s + qk_cons_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1360 e = qk_cons_vf(eqn_idx%E)%sf(
j,
k,
l)
1364# 516 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1365#if defined(MFC_OpenACC)
1366# 516 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1368# 516 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1369#elif defined(MFC_OpenMP)
1370# 516 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1372# 516 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1374 do i = 1, eqn_idx%cont%end
1375 d = d + qk_cons_vf(i)%sf(
j,
k,
l)
1381# 523 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1382#if defined(MFC_OpenACC)
1383# 523 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1385# 523 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1386#elif defined(MFC_OpenMP)
1387# 523 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1389# 523 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1391 do iter = 1, relativity_cons_to_prim_max_iter
1393 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1395 pres = (w - d*ga)/((gamma_k + 1)*ga**2)
1396 f = w - pres + (1 - 1/(2*ga**2))*b2 - s**2/(2*w**2) - e - d
1402 dga_dw = -ga**3*(2*s**2*(3*w**2 + 3*w*b2 + b2**2) + m2*w**2)/(2*w**3*(w + b2)**3)
1404 dp_dw = (ga*(1 + d*dga_dw) - 2*w*dga_dw)/((gamma_k + 1)*ga**3)
1405 df_dw = 1 - dp_dw + (b2/ga**3)*dga_dw + s**2/w**3
1409 if (abs(dw) < 1.e-12_wp*w)
exit
1413 ga = (w + b2)*w/sqrt((w + b2)**2*w**2 - (m2*w**2 + s**2*(2*w + b2)))
1414 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = (w - d*ga)/((gamma_k + 1)*ga**2)
1418# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1419#if defined(MFC_OpenACC)
1420# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1422# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1423#elif defined(MFC_OpenMP)
1424# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1426# 550 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1429 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, &
1430 &
l) + (s/w)*b(i))/(w + b2)
1432 qk_prim_vf(1)%sf(
j,
k,
l) = d/ga
1435# 557 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1436#if defined(MFC_OpenACC)
1437# 557 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1439# 557 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1440#elif defined(MFC_OpenMP)
1441# 557 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1443# 557 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1445 do i = eqn_idx%B%beg, eqn_idx%B%end
1446 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1456# 568 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1457#if defined(MFC_OpenACC)
1458# 568 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1460# 568 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1461#elif defined(MFC_OpenMP)
1462# 568 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1464# 568 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1466 do i = eqn_idx%species%beg, eqn_idx%species%end
1467 rho_k = rho_k + max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l))
1471# 573 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1472#if defined(MFC_OpenACC)
1473# 573 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1475# 573 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1476#elif defined(MFC_OpenMP)
1477# 573 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1479# 573 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1481 do i = 1, eqn_idx%cont%end
1482 qk_prim_vf(i)%sf(
j,
k,
l) = rho_k
1486# 578 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1487#if defined(MFC_OpenACC)
1488# 578 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1490# 578 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1491#elif defined(MFC_OpenMP)
1492# 578 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1494# 578 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1496 do i = eqn_idx%species%beg, eqn_idx%species%end
1497 qk_prim_vf(i)%sf(
j,
k,
l) = max(0._wp, qk_cons_vf(i)%sf(
j,
k,
l)/rho_k)
1502# 584 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1503#if defined(MFC_OpenACC)
1504# 584 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1506# 584 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1507#elif defined(MFC_OpenMP)
1508# 584 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1510# 584 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1512 do i = 1, eqn_idx%cont%end
1513 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1521# 593 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1522#if defined(MFC_OpenACC)
1523# 593 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1525# 593 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1526#elif defined(MFC_OpenMP)
1527# 593 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1529# 593 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1531 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1532 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1533 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)
1538# 600 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1539#if defined(MFC_OpenACC)
1540# 600 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1542# 600 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1543#elif defined(MFC_OpenMP)
1544# 600 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1546# 600 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1548 do i = 1, num_species
1549 rhoyks(i) = qk_cons_vf(eqn_idx%species%beg + i - 1)%sf(
j,
k,
l)
1552 t = q_t_sf%sf(
j,
k,
l)
1557 pres_mag = 0.5_wp*(bx0**2 + qk_cons_vf(eqn_idx%B%beg)%sf(
j,
k, &
1558 &
l)**2 + qk_cons_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1560 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, &
1561 &
l)**2 + qk_cons_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1568 & pi_inf_k, gamma_k, rho_k, qv_k, rhoyks, pres, t, pres_mag=pres_mag)
1570 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = pres
1573 q_t_sf%sf(
j,
k,
l) = t
1576 if (bubbles_euler)
then
1579# 631 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1580#if defined(MFC_OpenACC)
1581# 631 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1583# 631 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1584#elif defined(MFC_OpenMP)
1585# 631 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1587# 631 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1593 vftmp = qk_cons_vf(eqn_idx%alf)%sf(
j,
k,
l)
1597 nbub_sc = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1601# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1602#if defined(MFC_OpenACC)
1603# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1605# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1606#elif defined(MFC_OpenMP)
1607# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1609# 643 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1611 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1612 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1616 qk_prim_vf(eqn_idx%bub%beg)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%bub%beg)%sf(
j,
k,
l)
1620 qk_prim_vf(eqn_idx%n)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%n)%sf(
j,
k,
l)
1621 nbub_sc = qk_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1623 call s_comp_n_from_cons(vftmp, nrtmp, nbub_sc, weight)
1627# 659 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1628#if defined(MFC_OpenACC)
1629# 659 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1631# 659 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1632#elif defined(MFC_OpenMP)
1633# 659 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1635# 659 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1637 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1638 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/nbub_sc
1645# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1646#if defined(MFC_OpenACC)
1647# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1649# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1650#elif defined(MFC_OpenMP)
1651# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1653# 667 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1655 do i = eqn_idx%B%beg, eqn_idx%B%end
1656 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1660 if (hypoelasticity)
then
1662# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1663#if defined(MFC_OpenACC)
1664# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1666# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1667#elif defined(MFC_OpenMP)
1668# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1670# 674 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1672 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1673 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)/rho_k
1677 if (hypoelasticity)
then
1678 if (cont_damage) g_k = g_k*max((1._wp - qk_cons_vf(eqn_idx%damage)%sf(
j,
k,
l)), 0._wp)
1680# 682 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1681#if defined(MFC_OpenACC)
1682# 682 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1684# 682 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1685#elif defined(MFC_OpenMP)
1686# 682 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1688# 682 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1690 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1692 if (g_k > verysmall)
then
1693 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) - ((qk_prim_vf(i)%sf(
j,
k, &
1694 &
l)**2._wp)/max(4._wp*g_k, verysmall))/gamma_k
1696 if (any(i == shear_indices))
then
1697 qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = qk_prim_vf(eqn_idx%E)%sf(
j,
k,
l) - ((qk_prim_vf(i)%sf(
j, &
1698 &
k,
l)**2._wp)/max(4._wp*g_k, verysmall))/gamma_k
1704 if (.not. igr .or. num_fluids > 1)
then
1706# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1707#if defined(MFC_OpenACC)
1708# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1710# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1711#elif defined(MFC_OpenMP)
1712# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1714# 698 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1716 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1717 qk_prim_vf(i)%sf(
j,
k,
l) = qk_cons_vf(i)%sf(
j,
k,
l)
1721 if (surface_tension)
then
1722 qk_prim_vf(eqn_idx%c)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%c)%sf(
j,
k,
l)
1725 if (cont_damage) qk_prim_vf(eqn_idx%damage)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%damage)%sf(
j,
k,
l)
1727 if (hyper_cleaning) qk_prim_vf(eqn_idx%psi)%sf(
j,
k,
l) = qk_cons_vf(eqn_idx%psi)%sf(
j,
k,
l)
1735# 717 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1736#if defined(MFC_OpenACC)
1737# 717 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1739# 717 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1740#elif defined(MFC_OpenMP)
1741# 717 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1743# 717 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1745# 717 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1753 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1754 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1762 real(wp) :: dyn_pres
1763 real(wp) :: nbub, r3tmp
1764 real(wp),
dimension(nb) :: rtmp
1766 real(wp),
dimension(2) :: re_k
1767 integer :: i,
j,
k,
l
1768 real(wp),
dimension(num_species) :: ys
1769 real(wp) :: e_mix, mix_mol_weight, t
1770 real(wp) :: pres_mag
1787 call s_convert_to_mixture_variables(q_prim_vf,
j,
k,
l, rho, gamma, pi_inf, qv, re_k, g, fluid_pp(:)%G)
1789 if (.not. igr .or. num_fluids > 1)
then
1791 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1796 if (relativity)
then
1799 b(2) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1800 b(3) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1802 b(1) = q_prim_vf(eqn_idx%B%beg)%sf(
j,
k,
l)
1803 b(2) = q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)
1804 b(3) = q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)
1808 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1809 v2 = v2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1811 if (v2 >= 1._wp)
call s_mpi_abort(
'Error: v squared > 1 in s_convert_primitive_to_conservative_variables')
1813 ga = 1._wp/sqrt(1._wp - v2)
1815 h = 1._wp + (gamma + 1)*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)/rho
1818 do i = eqn_idx%B%beg, eqn_idx%B%end
1819 b2 = b2 + q_prim_vf(i)%sf(
j,
k,
l)**2
1821 if (n == 0) b2 = b2 + bx0**2
1825 vdotb = vdotb + q_prim_vf(eqn_idx%mom%beg + i - 1)%sf(
j,
k,
l)*b(i)
1828 do i = 1, eqn_idx%cont%end
1832 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1833 q_cons_vf(i)%sf(
j,
k,
l) = (rho*h*ga**2 + b2)*q_prim_vf(i)%sf(
j,
k, &
1834 &
l) - vdotb*b(i - eqn_idx%mom%beg + 1)
1837 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = rho*h*ga**2 - q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1838 &
l) + 0.5_wp*(b2 + v2*b2 - vdotb**2)
1840 do i = 1, eqn_idx%cont%end
1844 do i = eqn_idx%B%beg, eqn_idx%B%end
1852 do i = 1, eqn_idx%cont%end
1860 do i = eqn_idx%mom%beg, eqn_idx%mom%end
1862 dyn_pres = dyn_pres +
q_cons_vf(i)%sf(
j,
k,
l)*q_prim_vf(i)%sf(
j,
k,
l)/2._wp
1867 do i = eqn_idx%species%beg, eqn_idx%species%end
1868 ys(i - eqn_idx%species%beg + 1) = q_prim_vf(i)%sf(
j,
k,
l)
1872 call get_mixture_molecular_weight(ys, mix_mol_weight)
1873 t = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)*mix_mol_weight/(gas_constant*rho)
1874 call get_mixture_energy_mass(t, ys, e_mix)
1876 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + rho*e_mix
1881 pres_mag = 0.5_wp*(bx0**2 + q_prim_vf(eqn_idx%B%beg)%sf(
j,
k, &
1882 &
l)**2 + q_prim_vf(eqn_idx%B%beg + 1)%sf(
j,
k,
l)**2)
1884 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, &
1885 &
k,
l)**2 + q_prim_vf(eqn_idx%B%beg + 2)%sf(
j,
k,
l)**2)
1888 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1889 &
l) + dyn_pres + pres_mag + pi_inf + qv
1890 else if (bubbles_euler .neqv. .true.)
then
1892 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
1895 q_cons_vf(eqn_idx%E)%sf(
j,
k,
l) = dyn_pres + (1._wp - q_prim_vf(eqn_idx%alf)%sf(
j,
k, &
1896 &
l))*(gamma*q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) + pi_inf)
1901 if (model_eqns == model_eqns_6eq)
then
1902 do i = 1, num_fluids
1904 &
l)*(gammas(i)*q_prim_vf(eqn_idx%E)%sf(
j,
k, &
1905 &
l) + pi_infs(i)) +
q_cons_vf(i + eqn_idx%cont%beg - 1)%sf(
j,
k,
l)*qvs(i)
1909 if (bubbles_euler)
then
1912 rtmp(i) = q_prim_vf(qbmm_idx%rs(i))%sf(
j,
k,
l)
1915 if (.not. qbmm)
then
1918 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1920 call s_comp_n_from_prim(real(q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l), kind=wp), rtmp, nbub, weight)
1926 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) + sigr)**3._wp
1927 r3tmp = r3tmp + weight(i)*0.5_wp*(rtmp(i) - sigr)**3._wp
1930 nbub = 3._wp*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/(4._wp*pi*r3tmp)
1933 do i = eqn_idx%bub%beg, eqn_idx%bub%end
1939 do i = eqn_idx%B%beg, eqn_idx%B%end
1944 if (hypoelasticity)
then
1946 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1951 if (hypoelasticity)
then
1952 if (cont_damage) g = g*max((1._wp - q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)), 0._wp)
1953 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1955 if (g > verysmall)
then
1957 &
l)**2._wp)/max(4._wp*g, verysmall)
1959 if (any(i == shear_indices))
then
1961 &
l)**2._wp)/max(4._wp*g, verysmall)
1967 if (surface_tension)
then
1971 if (cont_damage)
q_cons_vf(eqn_idx%damage)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%damage)%sf(
j,
k,
l)
1973 if (hyper_cleaning)
q_cons_vf(eqn_idx%psi)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%psi)%sf(
j,
k,
l)
1982 & dir_flg_in, hll_u_interface_in)
1984 integer,
intent(in) :: s2b, s3b
1987 integer,
dimension(3),
intent(in) :: dir_idx_in
1988 real(wp),
dimension(3),
intent(in) :: dir_flg_in
1989 logical,
intent(in) :: hll_u_interface_in
1990 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(in) :: qk_prim_vf
1991 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: fk_vf
1992 real(wp),
dimension(0:,idwbuff(2)%beg:,idwbuff(3)%beg:,eqn_idx%adv%beg:),
intent(inout) :: fk_src_vf
1993 type(int_bounds_info),
intent(in) :: is1, is2, is3
1998# 975 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
1999 real(wp),
dimension(num_fluids) :: alpha_rho_k
2000 real(wp),
dimension(num_fluids) :: alpha_k
2001 real(wp),
dimension(num_vels) :: vel_k
2002 real(wp),
dimension(num_species) :: y_k
2003# 980 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2005 real(wp) :: vel_k_sum
2009 real(wp) :: pi_inf_k
2011 real(wp),
dimension(2) :: re_k
2013 real(wp) :: blkmod1_k, blkmod2_k, k_k
2014 real(wp) :: t_k, mix_mol_weight, r_gas
2015 integer :: i,
j,
k,
l
2022# 997 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2023#if defined(MFC_OpenACC)
2024# 997 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2026# 997 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2027#elif defined(MFC_OpenMP)
2028# 997 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2030# 997 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2036# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2038# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2039#if defined(MFC_OpenACC)
2040# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2042# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2044# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2046# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2047#elif defined(MFC_OpenMP)
2048# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2050# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2052# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2054# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2056# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2058# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2060# 1001 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2062# 1004 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2067# 1007 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2068#if defined(MFC_OpenACC)
2069# 1007 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2071# 1007 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2072#elif defined(MFC_OpenMP)
2073# 1007 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2075# 1007 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2077 do i = 1, eqn_idx%cont%end
2078 alpha_rho_k(i) = qk_prim_vf(
j,
k,
l, i)
2082# 1012 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2083#if defined(MFC_OpenACC)
2084# 1012 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2086# 1012 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2087#elif defined(MFC_OpenMP)
2088# 1012 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2090# 1012 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2092 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2093 alpha_k(i - eqn_idx%E) = qk_prim_vf(
j,
k,
l, i)
2097# 1017 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2098#if defined(MFC_OpenACC)
2099# 1017 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2101# 1017 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2102#elif defined(MFC_OpenMP)
2103# 1017 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2105# 1017 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2108 vel_k(i) = qk_prim_vf(
j,
k,
l, eqn_idx%cont%end + i)
2113# 1023 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2114#if defined(MFC_OpenACC)
2115# 1023 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2117# 1023 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2118#elif defined(MFC_OpenMP)
2119# 1023 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2121# 1023 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2124 vel_k_sum = vel_k_sum + vel_k(i)**2._wp
2127 pres_k = qk_prim_vf(
j,
k,
l, eqn_idx%E)
2128 if (hypoelasticity)
then
2140# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2141#if defined(MFC_OpenACC)
2142# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2144# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2145#elif defined(MFC_OpenMP)
2146# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2148# 1040 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2150 do i = eqn_idx%species%beg, eqn_idx%species%end
2151 y_k(i - eqn_idx%species%beg + 1) = qk_prim_vf(
j,
k,
l, i)
2154 call get_mixture_molecular_weight(y_k, mix_mol_weight)
2155 r_gas = gas_constant/mix_mol_weight
2156 t_k = pres_k/rho_k/r_gas
2157 call get_mixture_energy_mass(t_k, y_k, e_k)
2158 e_k = rho_k*e_k + 5.e-1_wp*rho_k*vel_k_sum
2161 e_k = gamma_k*pres_k + pi_inf_k + 5.e-1_wp*rho_k*vel_k_sum + qv_k
2166# 1056 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2167#if defined(MFC_OpenACC)
2168# 1056 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2170# 1056 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2171#elif defined(MFC_OpenMP)
2172# 1056 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2174# 1056 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2176 do i = 1, eqn_idx%cont%end
2177 fk_vf(
j,
k,
l, i) = alpha_rho_k(i)*vel_k(dir_idx_in(1))
2181# 1061 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2182#if defined(MFC_OpenACC)
2183# 1061 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2185# 1061 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2186#elif defined(MFC_OpenMP)
2187# 1061 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2189# 1061 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2193 & eqn_idx%cont%end + dir_idx_in(i)) = rho_k*vel_k(dir_idx_in(1))*vel_k(dir_idx_in(i)) &
2194 & + pres_k*dir_flg_in(dir_idx_in(i))
2198 fk_vf(
j,
k,
l, eqn_idx%E) = vel_k(dir_idx_in(1))*(e_k + pres_k)
2203# 1073 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2204#if defined(MFC_OpenACC)
2205# 1073 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2207# 1073 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2208#elif defined(MFC_OpenMP)
2209# 1073 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2211# 1073 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2213 do i = 1, num_species
2214 fk_vf(
j,
k,
l, i - 1 + eqn_idx%species%beg) = vel_k(dir_idx_in(1))*(rho_k*y_k(i))
2225 if (riemann_solver == riemann_solver_hlld)
then
2226 if (hypoelasticity)
then
2231# 1093 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2232 if (alt_soundspeed)
then
2233 blkmod1_k = ((gammas(1) + 1._wp)*pres_k + pi_infs(1))/gammas(1) + (4._wp/3._wp)*
gs_vc(1)
2234 blkmod2_k = ((gammas(2) + 1._wp)*pres_k + pi_infs(2))/gammas(2) + (4._wp/3._wp)*
gs_vc(2)
2235 k_k = alpha_k(1)*alpha_k(2)*(blkmod2_k - blkmod1_k)/(alpha_k(1)*blkmod2_k + alpha_k(2) &
2236 & *blkmod1_k + verysmall)
2238# 1100 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2240# 1100 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2241#if defined(MFC_OpenACC)
2242# 1100 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2244# 1100 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2245#elif defined(MFC_OpenMP)
2246# 1100 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2248# 1100 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2250 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2251 fk_vf(
j,
k,
l, i) = 0._wp
2252 fk_src_vf(
j,
k,
l, i) = 0._wp
2254 fk_vf(
j,
k,
l, eqn_idx%adv%beg) = -k_k*vel_k(dir_idx_in(1))
2255 fk_vf(
j,
k,
l, eqn_idx%adv%end) = k_k*vel_k(dir_idx_in(1))
2258# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2259#if defined(MFC_OpenACC)
2260# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2262# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2263#elif defined(MFC_OpenMP)
2264# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2266# 1108 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2268 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2269 fk_vf(
j,
k,
l, i) = 0._wp
2270 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2273 else if (riemann_solver == riemann_solver_hll .and. .not. hll_u_interface_in)
then
2275# 1115 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2276#if defined(MFC_OpenACC)
2277# 1115 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2279# 1115 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2280#elif defined(MFC_OpenMP)
2281# 1115 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2283# 1115 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2285 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2286 fk_vf(
j,
k,
l, i) = 0._wp
2287 fk_src_vf(
j,
k,
l, i) = alpha_k(i - eqn_idx%E)
2292# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2293#if defined(MFC_OpenACC)
2294# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2296# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2297#elif defined(MFC_OpenMP)
2298# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2300# 1122 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2302 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2303 fk_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))*alpha_k(i - eqn_idx%E)
2307# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2308#if defined(MFC_OpenACC)
2309# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2311# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2312#elif defined(MFC_OpenMP)
2313# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2315# 1127 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2317 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2318 fk_src_vf(
j,
k,
l, i) = vel_k(dir_idx_in(1))
2325# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2326#if defined(MFC_OpenACC)
2327# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2329# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2330#elif defined(MFC_OpenMP)
2331# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2333# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2335# 1135 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2344# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2346# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2348# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2350# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2352# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2354# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2356# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2358# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2360# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2362# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2364# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2366# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2368# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2370# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2372# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2374# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2376# 1142 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2378 type(scalar_field),
dimension(sys_size),
intent(in) :: q_vf
2379 integer,
intent(in) ::
k,
l, r
2380# 1148 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2381 real(wp),
dimension(num_fluids),
intent(out) :: alpha_rho_k, alpha_k
2382# 1150 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2384 real(wp) :: alpha_k_sum
2386 if (num_fluids == 1)
then
2387 alpha_rho_k(1) = q_vf(eqn_idx%cont%beg)%sf(
k,
l, r)
2388 if (igr .or. bubbles_euler)
then
2391 alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2395 do i = 1, num_fluids - 1
2396 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2397 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2399 alpha_rho_k(num_fluids) = q_vf(num_fluids)%sf(
k,
l, r)
2400 alpha_k(num_fluids) = 1._wp - sum(alpha_k(1:num_fluids - 1))
2402 do i = 1, num_fluids
2403 alpha_rho_k(i) = q_vf(i)%sf(
k,
l, r)
2404 alpha_k(i) = q_vf(eqn_idx%adv%beg + i - 1)%sf(
k,
l, r)
2411 do i = 1, num_fluids
2412 alpha_rho_k(i) = max(0._wp, alpha_rho_k(i))
2413 alpha_k(i) = min(max(0._wp, alpha_k(i)), 1._wp)
2414 alpha_k_sum = alpha_k_sum + alpha_k(i)
2416 alpha_k = alpha_k/max(alpha_k_sum, 1.e-16_wp)
2419 if (num_fluids == 1 .and. bubbles_euler) alpha_k(1) = q_vf(eqn_idx%adv%beg)%sf(
k,
l, r)
2429# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2431# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2432 use iso_fortran_env,
only: output_unit
2433# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2435# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2436 print *,
'm_variables_conversion.fpp:1195: ',
'@:DEALLOCATE(gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps, Gs_vc)'
2437# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2439# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2440 call flush (output_unit)
2441# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2443# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2445# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2447# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2448#if defined(MFC_OpenACC)
2449# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2451# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2452#elif defined(MFC_OpenMP)
2453# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2455# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2457# 1195 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2458 deallocate (gammas, gs_min, pi_infs, ps_inf, cvs, qvs, qvps,
gs_vc)
2461# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2463# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2464 use iso_fortran_env,
only: output_unit
2465# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2467# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2468 print *,
'm_variables_conversion.fpp:1197: ',
'@:DEALLOCATE(bubrs_vc)'
2469# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2471# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2472 call flush (output_unit)
2473# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2475# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2477# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2479# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2480#if defined(MFC_OpenACC)
2481# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2483# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2484#elif defined(MFC_OpenMP)
2485# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2487# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2489# 1197 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2492 if (
allocated(
res_vc))
then
2494# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2496# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2497 use iso_fortran_env,
only: output_unit
2498# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2500# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2501 print *,
'm_variables_conversion.fpp:1200: ',
'@:DEALLOCATE(Res_vc)'
2502# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2504# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2505 call flush (output_unit)
2506# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2508# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2510# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2512# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2513#if defined(MFC_OpenACC)
2514# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2516# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2517#elif defined(MFC_OpenMP)
2518# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2520# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2522# 1200 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2532# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2534# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2536# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2538# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2540# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2542# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2544# 1208 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2547 real(wp),
intent(in) :: pres
2548 real(wp),
intent(in) :: rho, gamma, pi_inf, qv
2549 real(wp),
intent(in) :: h
2550# 1216 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2551 real(wp),
dimension(num_fluids),
intent(in) :: adv
2552# 1218 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2553 real(wp),
intent(in) :: vel_sum
2554 real(wp),
intent(in) :: c_c
2555 real(wp),
intent(out) :: c
2556 real(wp) :: blkmod1, blkmod2
2560 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
2561 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2563 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2565 else if (relativity)
then
2566 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2568 if (alt_soundspeed)
then
2569 blkmod1 = ((gammas(1) + 1._wp)*pres + pi_infs(1))/gammas(1)
2570 blkmod2 = ((gammas(2) + 1._wp)*pres + pi_infs(2))/gammas(2)
2571 c = (1._wp/(rho*(adv(1)/blkmod1 + adv(2)/blkmod2)))
2572 else if (model_eqns == model_eqns_6eq)
then
2575# 1239 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2576#if defined(MFC_OpenACC)
2577# 1239 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2579# 1239 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2580#elif defined(MFC_OpenMP)
2581# 1239 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2583# 1239 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2585 do q = 1, num_fluids
2586 c = c + adv(q)*gs_min(q)*(pres + pi_infs(q)/(gammas(q) + 1._wp))
2589 else if (model_eqns == model_eqns_5eq .and. bubbles_euler)
then
2592 if (mpp_lim .and. (num_fluids > 1))
then
2593 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/rho
2595 c = (1._wp/gamma + 1._wp)*(pres + pi_inf/(gamma + 1._wp))/(rho*(1._wp - adv(num_fluids)))
2598 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2601 if (mixture_err .and. c < 0._wp)
then
2614# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2616# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2618# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2620# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2622# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2624# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2626# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2628# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2630# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2632# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2634# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2636# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2638# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2640# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2642# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2644# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2646# 1268 "/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp"
2649 real(wp),
intent(in) :: b(3), rho, c
2650 real(wp),
intent(in) :: h
2651 real(wp),
intent(out) :: c_fast
2652 integer,
intent(in) :: norm
2653 real(wp) :: b2, term, disc
2657 if (.not. relativity)
then
2658 term = c**2 + b2/rho
2659 disc = term**2 - 4*c**2*(b(norm)**2/rho)
2662 term = (c**2*(b(norm)**2 + rho*h) + b2)/(rho*h + b2)
2663 disc = term**2 - 4*c**2*b(norm)**2/(rho*h + b2)
2667 if (disc < 0._wp)
then
2668 print *,
'rho, c, Bx, By, Bz, h, term, disc:', rho, c, b(1), b(2), b(3), h, term, disc
2672 call s_mpi_abort(
'Error: negative discriminant in s_compute_fast_magnetosonic_speed')
2677 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.
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
Basic floating-point utilities: approximate equality, default detection, and coordinate bounds.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver.
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
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.
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 ...
subroutine, public s_compute_pressure(energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoyks, pres, t, stress, mom, g, pres_mag)
Compute the pressure from the appropriate equation of state.
subroutine, public s_compute_speed_of_sound(pres, rho, gamma, pi_inf, h, adv, vel_sum, c_c, c, qv)
Compute the speed of sound from thermodynamic state variables, supporting multiple equation-of-state ...
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,...
real(wp), dimension(:,:,:), allocatable, public qv_sf
Scalar liquid energy reference function.
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_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).