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