1# 1 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
6# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
7# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
8# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
9# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
10# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
11# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
12# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
13# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
15# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
16# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
17# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
19# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
20# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
23# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
24# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
25# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
27# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
30# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
32# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
34# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
36# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
38# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
40# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
42# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
47# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
48# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
49# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
55# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
59# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
63# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
64# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
65# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
67# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
76# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
78# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
80# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
82# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
84# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
86# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
88# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
89# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
91# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 95 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 100 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 105 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 110 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 115 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 120 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 125 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 130 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126# 135 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 165 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
130# 219 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
132# 233 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
134# 258 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
136# 269 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
138# 271 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 282 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 332 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 342 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 352 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 361 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 378 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 388 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153# 395 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
155# 401 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
157# 407 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
159# 413 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
161# 419 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
163# 425 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
165# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
166# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
167# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
168# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
169# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
171# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
175# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 12 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
179# 1 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp" 1
182# 4 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
183# 5 "/home/runner/work/MFC/MFC/src/common/include/defaults/thermochem.fpp"
184# 13 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 2
186# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
187# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
189# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
191# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
193# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
195# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
197# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
199# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
201# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
203# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
205# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
207# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
209# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
211# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
213# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
215# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
217# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
219# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
221# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
223# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
225# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
227# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
229# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
231# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
233# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
235# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
237# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
239# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
241# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
243# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
245# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
247# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
249# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
251# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
253# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
255# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
257# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
259# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
261# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
263# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
266# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
305# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
308# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
311# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
314# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
317# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
320# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
322# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
323# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
325# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
327# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
335# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
338# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
341# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
344# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
347# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
349# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
351# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
353# 6 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp" 2
354# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
360# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
363# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
364# 7 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp" 2
365# 1 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp" 1
368# 4 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
370# 6 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
371# 9 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
373# 12 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
374# 15 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
376# 17 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
377# 31 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
379# 34 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
380# 58 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
381# 8 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp" 2
426 logical :: state_dependent
429# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
431# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
432 use iso_fortran_env,
only: output_unit
433# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
435# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
436 print *,
'm_eos.fpp:54: ',
'@:ALLOCATE(gammas (1:num_fluids))'
437# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
439# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
440 call flush (output_unit)
441# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
443# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
445# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
447# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
449# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
451# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
452#if defined(MFC_OpenACC)
453# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
455# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
456#elif defined(MFC_OpenMP)
457# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
459# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
461# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
463# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
465# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
466 use iso_fortran_env,
only: output_unit
467# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
469# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
470 print *,
'm_eos.fpp:55: ',
'@:ALLOCATE(eoss (1:num_fluids))'
471# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
473# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
474 call flush (output_unit)
475# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
477# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
479# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
480 allocate (eoss(1:num_fluids))
481# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
483# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
485# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
486#if defined(MFC_OpenACC)
487# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
489# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
490#elif defined(MFC_OpenMP)
491# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
493# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
495# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
497# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
499# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
500 use iso_fortran_env,
only: output_unit
501# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
503# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
504 print *,
'm_eos.fpp:56: ',
'@:ALLOCATE(isentrope_n (1:num_fluids))'
505# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
507# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
508 call flush (output_unit)
509# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
511# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
513# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
514 allocate (isentrope_n(1:num_fluids))
515# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
517# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
519# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
520#if defined(MFC_OpenACC)
521# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
523# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
524#elif defined(MFC_OpenMP)
525# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
527# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
529# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
531# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
533# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
534 use iso_fortran_env,
only: output_unit
535# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
537# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
538 print *,
'm_eos.fpp:57: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
539# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
541# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
542 call flush (output_unit)
543# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
545# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
547# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
548 allocate (pi_infs(1:num_fluids))
549# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
551# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
553# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
554#if defined(MFC_OpenACC)
555# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
557# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
558#elif defined(MFC_OpenMP)
559# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
561# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
563# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
565# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
567# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
568 use iso_fortran_env,
only: output_unit
569# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
571# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
572 print *,
'm_eos.fpp:58: ',
'@:ALLOCATE(isentrope_B(1:num_fluids))'
573# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
575# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
576 call flush (output_unit)
577# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
579# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
581# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
582 allocate (isentrope_b(1:num_fluids))
583# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
585# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
587# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
588#if defined(MFC_OpenACC)
589# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
591# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
592#elif defined(MFC_OpenMP)
593# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
595# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
597# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
599# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
601# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
602 use iso_fortran_env,
only: output_unit
603# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
605# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
606 print *,
'm_eos.fpp:59: ',
'@:ALLOCATE(cvs (1:num_fluids))'
607# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
609# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
610 call flush (output_unit)
611# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
613# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
615# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
616 allocate (cvs(1:num_fluids))
617# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
619# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
621# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
622#if defined(MFC_OpenACC)
623# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
625# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
626#elif defined(MFC_OpenMP)
627# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
629# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
631# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
633# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
635# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
636 use iso_fortran_env,
only: output_unit
637# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
639# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
640 print *,
'm_eos.fpp:60: ',
'@:ALLOCATE(qvs (1:num_fluids))'
641# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
643# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
644 call flush (output_unit)
645# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
647# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
649# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
650 allocate (qvs(1:num_fluids))
651# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
653# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
655# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
656#if defined(MFC_OpenACC)
657# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
659# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
660#elif defined(MFC_OpenMP)
661# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
663# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
665# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
667# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
669# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
670 use iso_fortran_env,
only: output_unit
671# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
673# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
674 print *,
'm_eos.fpp:61: ',
'@:ALLOCATE(qvps (1:num_fluids))'
675# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
677# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
678 call flush (output_unit)
679# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
681# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
683# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
684 allocate (qvps(1:num_fluids))
685# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
687# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
689# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
690#if defined(MFC_OpenACC)
691# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
693# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
694#elif defined(MFC_OpenMP)
695# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
697# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
699# 62 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
701 state_dependent = .false.
703 gammas(i) = fluid_pp(i)%gamma
708 select case (fluid_pp(i)%eos)
712 pi_infs(i) = fluid_pp(i)%pi_inf
715 cvs(i) = fluid_pp(i)%cv
716 qvs(i) = fluid_pp(i)%qv
717 qvps(i) = fluid_pp(i)%qvp
718 eoss(i) = fluid_pp(i)%eos
722 eos_coeffs(i)%c0 = fluid_pp(i)%mg_c0
723# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
724 eos_coeffs(i)%s = fluid_pp(i)%mg_s
725# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
726 eos_coeffs(i)%s2 = fluid_pp(i)%mg_s2
727# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
728 eos_coeffs(i)%s3 = fluid_pp(i)%mg_s3
729# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
731# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
733# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
734 eos_coeffs(i)%a = fluid_pp(i)%jwl_a
735# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
736 eos_coeffs(i)%b = fluid_pp(i)%jwl_b
737# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
738 eos_coeffs(i)%r1 = fluid_pp(i)%jwl_r1
739# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
740 eos_coeffs(i)%r2 = fluid_pp(i)%jwl_r2
741# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
742 eos_coeffs(i)%k0 = fluid_pp(i)%vinet_k0
743# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
744 eos_coeffs(i)%k0p = fluid_pp(i)%vinet_k0p
745# 85 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
747 select case (fluid_pp(i)%eos)
748# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
749 case (eos_mie_gruneisen)
750# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
751 eos_coeffs(i)%rho0 = fluid_pp(i)%mg_rho0
752# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
753 eos_coeffs(i)%t0 = fluid_pp(i)%mg_t0
754# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
755 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%mg_gruneisen
756# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
757 eos_coeffs(i)%gruneisen_a = fluid_pp(i)%mg_gruneisen_a
758# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
760# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
761 eos_coeffs(i)%rho0 = fluid_pp(i)%jwl_rho0
762# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
763 eos_coeffs(i)%t0 = fluid_pp(i)%jwl_t0
764# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
765 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%jwl_omega
766# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
767 eos_coeffs(i)%gruneisen_a = 0._wp
768# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
770# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
771 eos_coeffs(i)%rho0 = fluid_pp(i)%vinet_rho0
772# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
773 eos_coeffs(i)%t0 = fluid_pp(i)%vinet_t0
774# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
775 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%vinet_gruneisen
776# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
777 eos_coeffs(i)%gruneisen_a = fluid_pp(i)%vinet_gruneisen_a
778# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
780# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
781 eos_coeffs(i)%rho0 = dflt_real
782# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
783 eos_coeffs(i)%t0 = dflt_real
784# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
785 eos_coeffs(i)%gruneisen0 = dflt_real
786# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
787 eos_coeffs(i)%gruneisen_a = 0._wp
788# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
790# 87 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
793# 95 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
794 any_state_dependent_eos = state_dependent
795# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
797# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
798#if defined(MFC_OpenACC)
799# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
801# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
802#elif defined(MFC_OpenMP)
803# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
805# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
807# 98 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
808# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
810# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
811#if defined(MFC_OpenACC)
812# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
814# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
815#elif defined(MFC_OpenMP)
816# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
818# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
820# 100 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
821# 101 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
829# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
831# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
832 use iso_fortran_env,
only: output_unit
833# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
835# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
836 print *,
'm_eos.fpp:107: ',
'@:DEALLOCATE(gammas, isentrope_n, pi_infs, isentrope_B, cvs, qvs, qvps, eoss)'
837# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
839# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
840 call flush (output_unit)
841# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
843# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
845# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
847# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
848#if defined(MFC_OpenACC)
849# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
851# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
852#elif defined(MFC_OpenMP)
853# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
855# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
857# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
858 deallocate (gammas, isentrope_n, pi_infs, isentrope_b, cvs, qvs, qvps, eoss)
859# 108 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
868# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
870# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
872# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
874# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
876# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
878# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
880# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
882# 116 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
884 real(wp),
intent(in) :: rho
885 integer,
intent(in) :: i
886 real(wp),
intent(out) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
887 real(wp) :: mu, d, V, ea, eb, up, us, dus, dup_dmu, x, ex, dp_dmu, de_dmu
890 mu = rho/eos_coeffs(i)%rho0 - 1._wp
895 if (eoss(i) == eos_mie_gruneisen .and. mu > eos_coeffs(i)%mu_max) mu = eos_coeffs(i)%mu_max
896 select case (eoss(i))
897 case (eos_mie_gruneisen)
902 p_ref = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*mu
903 dp_dmu = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2
904 else if (eos_coeffs(i)%s2 == 0._wp .and. eos_coeffs(i)%s3 == 0._wp)
then
905 d = 1._wp - (eos_coeffs(i)%s - 1._wp)*mu
906 p_ref = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*mu*(1._wp + mu)/(d*d)
907 dp_dmu = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*((1._wp + 2._wp*mu)*d + 2._wp*(eos_coeffs(i)%s - 1._wp)*mu*(1._wp &
911 up = eos_coeffs(i)%c0*mu/(1._wp - (eos_coeffs(i)%s - 1._wp)*mu)
913# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
914#if defined(MFC_OpenACC)
915# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
917# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
918#elif defined(MFC_OpenMP)
919# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
921# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
923# 146 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
925 us = eos_coeffs(i)%c0 + up*(eos_coeffs(i)%s + up*(eos_coeffs(i)%s2 + up*eos_coeffs(i)%s3))
926 dus = eos_coeffs(i)%s + up*(2._wp*eos_coeffs(i)%s2 + 3._wp*eos_coeffs(i)%s3*up)
927 up = up - (us*mu - up*(1._wp + mu))/(dus*mu - (1._wp + mu))
929 us = eos_coeffs(i)%c0 + up*(eos_coeffs(i)%s + up*(eos_coeffs(i)%s2 + up*eos_coeffs(i)%s3))
930 dus = eos_coeffs(i)%s + up*(2._wp*eos_coeffs(i)%s2 + 3._wp*eos_coeffs(i)%s3*up)
931 dup_dmu = (up - us)/(dus*mu - (1._wp + mu))
932 p_ref = eos_coeffs(i)%rho0*us*up
933 dp_dmu = eos_coeffs(i)%rho0*(dus*up + us)*dup_dmu
935 e_ref = p_ref*mu/(2._wp*eos_coeffs(i)%rho0*(1._wp + mu))
936 de_dmu = (dp_dmu*mu*(1._wp + mu) + p_ref)/(2._wp*eos_coeffs(i)%rho0*(1._wp + mu)**2)
937 dp_drho = dp_dmu/eos_coeffs(i)%rho0
938 de_drho = de_dmu/eos_coeffs(i)%rho0
941 v = eos_coeffs(i)%rho0/rho
942 ea = eos_coeffs(i)%a*exp(-eos_coeffs(i)%r1*v)
943 eb = eos_coeffs(i)%b*exp(-eos_coeffs(i)%r2*v)
945 e_ref = (ea/eos_coeffs(i)%r1 + eb/eos_coeffs(i)%r2)/eos_coeffs(i)%rho0
946 dp_drho = (eos_coeffs(i)%rho0/rho**2)*(eos_coeffs(i)%r1*ea + eos_coeffs(i)%r2*eb)
947 de_drho = p_ref/rho**2
951 d = 1.5_wp*(eos_coeffs(i)%k0p - 1._wp)
952 x = (eos_coeffs(i)%rho0/rho)**(1._wp/3._wp)
953 ex = exp(d*(1._wp - x))
954 p_ref = 3._wp*eos_coeffs(i)%k0*(1._wp - x)/x**2*ex
955 e_ref = 9._wp*eos_coeffs(i)%k0/(eos_coeffs(i)%rho0*d**2)*(1._wp - (1._wp - d*(1._wp - x))*ex)
956 dp_drho = 3._wp*eos_coeffs(i)%k0*ex*(-1._wp/x**2 - 2._wp*(1._wp - x)/x**3 - d*(1._wp - x)/x**2)*(-x/(3._wp*rho))
957 de_drho = p_ref/rho**2
959 g0 = eos_coeffs(i)%gruneisen0 + eos_coeffs(i)%gruneisen_a*mu
960 dg0 = eos_coeffs(i)%gruneisen_a/eos_coeffs(i)%rho0
968# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
970# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
972# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
974# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
976# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
978# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
980# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
982# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
984# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
986# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
988# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
990# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
992# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
994# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
996# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
998# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1000# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1002# 190 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1004 integer,
intent(in) :: i
1007 yes = eoss(i) == eos_mie_gruneisen .or. eoss(i) == eos_jwl .or. eoss(i) == eos_vinet
1008# 195 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1018# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1020# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1022# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1024# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1026# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1028# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1030# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1032# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1034# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1036# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1038# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1040# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1042# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1044# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1046# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1048# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1050# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1052# 204 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1054 integer,
intent(in) :: i
1057 yes = (eoss(i) == eos_jwl .or. eoss(i) == eos_vinet) .and. eos_coeffs(i)%gruneisen_a == 0._wp
1058# 209 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1067 real(wp),
intent(in) :: c0, s, s2, s3
1068 real(wp) :: mu_max, up, f, df, us
1071 if (s2 == 0._wp .and. s3 == 0._wp)
then
1072 mu_max = huge(1._wp)
1079 f = c0 - s2*up**2 - 2._wp*s3*up**3
1080 df = -2._wp*s2*up - 6._wp*s3*up**2
1081 if (abs(df) < verysmall)
exit
1082 up = max(up - f/df, verysmall)
1084 us = c0 + up*(s + up*(s2 + up*s3))
1085 mu_max = up/max(us - up, verysmall)
1094# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1096# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1098# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1100# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1102# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1104# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1106# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1108# 244 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1110 real(wp),
intent(in) :: rho
1111 integer,
intent(in) :: i
1112 real(wp),
intent(out) :: gamma, pi_inf, dpi, dgamma
1113 real(wp) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
1124 pi_inf = rho*e_ref - p_ref/g0
1125 dpi = e_ref + rho*de_drho - dp_drho/g0 + p_ref*dg0/g0**2
1134# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1136# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1138# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1140# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1142# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1144# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1146# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1148# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1150# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1152# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1154# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1156# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1158# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1160# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1162# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1164# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1166# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1168# 269 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1170 real(wp),
intent(in) :: gamma
1173 n = 1._wp/gamma + 1._wp
1181# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1183# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1185# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1187# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1189# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1191# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1193# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1195# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1197# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1199# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1201# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1203# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1205# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1207# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1209# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1211# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1213# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1215# 281 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1217 real(wp),
intent(in) :: pi_inf, gamma
1220 b = pi_inf/(1._wp + gamma)
1228# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1230# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1232# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1234# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1236# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1238# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1240# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1242# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1244# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1246# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1248# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1250# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1252# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1254# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1256# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1258# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1260# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1262# 293 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1264 real(wp),
intent(in) :: pres, rho_or_t, n, b, cv
1265 real(wp) :: t_or_rho
1267 t_or_rho = (pres + b)/((n - 1._wp)*cv*rho_or_t)
1277# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1279# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1281# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1283# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1285# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1287# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1289# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1291# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1293# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1295# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1297# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1299# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1301# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1303# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1305# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1307# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1309# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1311# 307 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1313# 311 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1314 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k
1315# 313 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1316 real(wp),
intent(in) :: pres, gamma_k, pi_inf_k
1323# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1324#if defined(MFC_OpenACC)
1325# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1327# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1328#elif defined(MFC_OpenMP)
1329# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1331# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1333# 320 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1334 do i = 1, num_fluids
1335 mcp = mcp + alpha_rho_k(i)*cvs(i)*isentrope_n(i)
1338 t = ((gamma_k + 1._wp)*pres + pi_inf_k)/max(mcp, sgm_eps)
1347# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1349# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1351# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1353# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1355# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1357# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1359# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1361# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1363# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1365# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1367# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1369# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1371# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1373# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1375# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1377# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1379# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1381# 333 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1383 real(wp),
intent(in) :: alpha_rho, alpha
1384 integer,
intent(in) :: i
1385 real(wp),
intent(out) :: rho, gamma, pi_inf, dpi, dgamma
1387 rho = max(alpha_rho, sgm_eps)/max(alpha, sgm_eps)
1388 if (any_state_dependent_eos)
then
1403# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1405# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1407# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1409# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1411# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1413# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1415# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1417# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1419# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1421# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1423# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1425# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1427# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1429# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1431# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1433# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1435# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1437# 354 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1439 real(wp),
intent(in) :: rho, pres, gamma, pi_inf, dpi, dgamma
1442 c2 = (((gamma + 1._wp)*pres + pi_inf)/rho - dpi - pres*dgamma)/gamma
1451# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1453# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1455# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1457# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1459# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1461# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1463# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1465# 367 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1467 real(wp),
intent(in) :: rho, pres
1468 integer,
intent(in) :: i
1469 real(wp),
intent(out) :: c2
1470 real(wp) :: gamma, pi_inf, dpi, dgamma
1482# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1484# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1486# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1488# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1490# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1492# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1494# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1496# 383 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1498 integer,
intent(in) :: kind, i
1499 real(wp),
intent(in) :: x, y
1500 real(wp),
intent(out) :: dydx
1501 real(wp) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
1503 if (kind == ode_isentrope)
then
1507 dydx = (p_ref - de_drho/x**2)/cvs(i) - g0*y/x
1513 subroutine s_rk4(kind, i, x0, y0, x1, y)
1516# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1518# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1520# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1522# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1524# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1526# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1528# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1530# 402 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1532 integer,
intent(in) :: kind, i
1533 real(wp),
intent(in) :: x0, y0, x1
1534 real(wp),
intent(out) :: y
1535 real(wp) :: x, h, k1, k2, k3, k4
1540 h = (x1 - x0)/eos_rk4_steps
1542# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1543#if defined(MFC_OpenACC)
1544# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1546# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1547#elif defined(MFC_OpenMP)
1548# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1550# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1552# 413 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1553 do step = 1, eos_rk4_steps
1555 call s_ode_slope(kind, i, x + 0.5_wp*h, y + 0.5_wp*h*k1, k2)
1556 call s_ode_slope(kind, i, x + 0.5_wp*h, y + 0.5_wp*h*k2, k3)
1558 y = y + h*(k1 + 2._wp*(k2 + k3) + k4)/6._wp
1562 end subroutine s_rk4
1569# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1571# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1573# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1575# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1577# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1579# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1581# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1583# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1585# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1587# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1589# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1591# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1593# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1595# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1597# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1599# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1601# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1603# 429 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1605 real(wp),
intent(in) :: pres, rho, xi
1606 integer,
intent(in) :: i
1607 real(wp),
intent(out) :: p_isen
1608 real(wp) :: p_ref_from, p_ref_to, e_ref, dp_drho, de_drho, g0, dg0
1611 p_isen = (pres + isentrope_b(i))*xi**isentrope_n(i) - isentrope_b(i)
1618 p_isen = p_ref_to + (pres - p_ref_from)*xi**(1._wp + eos_coeffs(i)%gruneisen0)
1620 call s_rk4(ode_isentrope, i, rho, pres, xi*rho, p_isen)
1629# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1631# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1633# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1635# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1637# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1639# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1641# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1643# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1645# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1647# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1649# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1651# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1653# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1655# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1657# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1659# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1661# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1663# 454 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1665 real(wp),
intent(in) :: rho, pres
1666 integer,
intent(in) :: i
1667 real(wp),
intent(out) :: t
1668 real(wp) :: p_ref, e_ref, dp_drho, de_drho, g0, dg0, t0, t_ref
1672 t0 = eos_coeffs(i)%t0
1673 call s_rk4(ode_reference_temperature, i, 1._wp/eos_coeffs(i)%rho0, t0, 1._wp/rho, t_ref)
1674 t = t_ref + (pres - p_ref)/(rho*g0*cvs(i))
1676 t = (pres + isentrope_b(i))/((isentrope_n(i) - 1._wp)*cvs(i)*rho)
1685# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1687# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1689# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1691# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1693# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1695# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1697# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1699# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1701# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1703# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1705# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1707# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1709# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1711# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1713# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1715# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1717# 474 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1719# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1721 real(wp),
intent(in) :: pres, t
1722 integer,
intent(in) :: i
1723 real(wp),
intent(out) :: rho
1725 rho = (pres + isentrope_b(i))/((isentrope_n(i) - 1._wp)*cvs(i)*t)
1734# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1736# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1738# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1740# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1742# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1744# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1746# 488 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1748# 489 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1750 integer,
intent(in) :: i
1751 real(wp),
intent(in) :: rho_from, p_from, p_to
1752 real(wp),
intent(out) :: rho_to, c2_to
1753 real(wp) :: p_at, c2_at
1758# 497 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1759#if defined(MFC_OpenACC)
1760# 497 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1762# 497 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1763#elif defined(MFC_OpenMP)
1764# 497 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1766# 497 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1768# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1772 rho_to = rho_to - (p_at - p_to)/c2_at
1783# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1785# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1787# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1789# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1791# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1793# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1795# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1797# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1799# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1801# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1803# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1805# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1807# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1809# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1811# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1813# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1815# 511 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1817# 512 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1819 real(wp),
intent(in) :: pres, alpha, alpha_rho
1820 integer,
intent(in) :: i
1821 real(wp),
intent(out) :: e_phase
1822 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
1825 e_phase = alpha*(gamma*pres + pi_inf) + alpha_rho*qvs(i)
1834# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1836# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1838# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1840# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1842# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1844# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1846# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1848# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1850# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1852# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1854# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1856# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1858# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1860# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1862# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1864# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1866# 527 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1868# 528 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1870 real(wp),
intent(in) :: alpha_rho, alpha, pres
1871 integer,
intent(in) :: i
1872 real(wp),
intent(out) :: blkmod
1873 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
1876 blkmod =
f_bulk_modulus(pres, gamma, pi_inf) - rho*(dpi + pres*dgamma)/gamma
1885# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1887# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1889# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1891# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1893# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1895# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1897# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1899# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1901# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1903# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1905# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1907# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1909# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1911# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1913# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1915# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1917# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1919# 544 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1921 real(wp),
intent(in) :: e_int, gamma, pi_inf, qv
1924 pres = (e_int - pi_inf - qv)/gamma
1933# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1935# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1937# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1939# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1941# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1943# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1945# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1947# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1949# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1951# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1953# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1955# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1957# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1959# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1961# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1963# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1965# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1967# 557 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1969 real(wp),
intent(in) :: pres, gamma, pi_inf
1972 blkmod = ((gamma + 1._wp)*pres + pi_inf)/gamma
1981# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1983# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1985# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1987# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1989# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1991# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1993# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1995# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1997# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1999# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2001# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2003# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2005# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2007# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2009# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2011# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2013# 569 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2015# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2017 real(wp),
intent(in) :: pres, rho, gamma
2020 h = 1._wp + (gamma + 1._wp)*pres/rho
2030# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2032# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2034# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2036# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2038# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2040# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2042# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2044# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2046# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2048# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2050# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2052# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2054# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2056# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2058# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2060# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2062# 583 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2064# 584 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2066# 588 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2067 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
2068# 590 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2069 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
2070 real(wp) :: gamma_i, pi_inf_i, dpi_i, dgamma_i
2071 real(wp) :: rho_i, alpha_i, alpha_rho_i
2078 if (bubbles_euler)
then
2079 rho_k = alpha_rho_k(1)
2081 pi_inf_k = pi_infs(1)
2083 qv_k = alpha_rho_k(1)*qvs(1)
2091# 611 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2092#if defined(MFC_OpenACC)
2093# 611 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2095# 611 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2096#elif defined(MFC_OpenMP)
2097# 611 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2099# 611 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2101# 612 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2102 do i = 1, num_fluids
2103 rho_k = rho_k + alpha_rho_k(i)
2104 alpha_rho_i = alpha_rho_k(i)
2105 alpha_i = alpha_k(i)
2107 gamma_k = gamma_k + alpha_k(i)*gamma_i
2108 pi_inf_k = pi_inf_k + alpha_k(i)*pi_inf_i
2109 qv_k = qv_k + alpha_rho_k(i)*qvs(i)
2119# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2121# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2123# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2125# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2127# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2129# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2131# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2133# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2135# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2137# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2139# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2141# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2143# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2145# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2147# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2149# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2151# 628 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2153# 629 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2155# 633 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2156 real(wp),
dimension(num_fluids),
intent(in) :: dalpha_rho_dt, dadv_dt, alpha_rho, adv
2157# 635 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2158 real(wp),
intent(out) :: drho_dt, dgamma_dt, dpi_inf_dt, dqv_dt
2159 real(wp) :: rho_i, gamma_i, pi_inf_i, dpi_i, dgamma_i, alpha_i, alpha_rho_i
2166 if (num_fluids == 1 .and. bubbles_euler)
then
2168 drho_dt = dalpha_rho_dt(1)
2173# 649 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2174#if defined(MFC_OpenACC)
2175# 649 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2177# 649 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2178#elif defined(MFC_OpenMP)
2179# 649 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2181# 649 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2183# 650 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2184 do i = 1, num_fluids
2185 drho_dt = drho_dt + dalpha_rho_dt(i)
2186 alpha_rho_i = alpha_rho(i)
2190 dgamma_dt = dgamma_dt + dadv_dt(i)*gamma_i + dgamma_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2191 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_inf_i + dpi_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2192 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
2203# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2205# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2207# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2209# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2211# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2213# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2215# 668 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2217# 669 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2219 real(wp),
intent(in) :: pres, rho, gamma, pi_inf
2220# 674 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2221 real(wp),
dimension(num_fluids),
intent(in) :: adv
2222# 676 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2223 real(wp),
intent(out) :: c
2224# 680 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2225 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
2226# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2228 real(wp) :: blkmod_q, alpha_q, alpha_rho_q, gamma_q, pi_inf_q
2232 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2233 else if (relativity)
then
2238 if (any_state_dependent_eos .and.
present(alpha_rho))
then
2241# 695 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2242#if defined(MFC_OpenACC)
2243# 695 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2245# 695 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2246#elif defined(MFC_OpenMP)
2247# 695 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2249# 695 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2251# 696 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2252 do q = 1, num_fluids
2254 alpha_rho_q = alpha_rho(q)
2256 if (alt_soundspeed)
then
2257 c = c + adv(q)/blkmod_q
2259 c = c + adv(q)*blkmod_q
2262 if (alt_soundspeed)
then
2267 else if (alt_soundspeed)
then
2270# 713 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2271#if defined(MFC_OpenACC)
2272# 713 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2274# 713 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2275#elif defined(MFC_OpenMP)
2276# 713 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2278# 713 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2280# 714 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2281 do q = 1, num_fluids
2283 pi_inf_q = pi_infs(q)
2287 else if (model_eqns == model_eqns_6eq)
then
2290# 722 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2291#if defined(MFC_OpenACC)
2292# 722 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2294# 722 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2295#elif defined(MFC_OpenMP)
2296# 722 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2298# 722 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2300# 723 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2301 do q = 1, num_fluids
2303 pi_inf_q = pi_infs(q)
2313 if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. .not. (mpp_lim .and. num_fluids > 1))
then
2314 alf = adv(num_fluids)
2319 if (mixture_err .and. c < 0._wp)
then
2331 subroutine s_compute_speed_of_sound_avg(pres, rho, gamma, pi_inf, qv, vel_sum, H, c_c, adv, c, alpha_rho)
2334# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2336# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2338# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2340# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2342# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2344# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2346# 755 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2348# 756 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2350 real(wp),
intent(in) :: pres, rho, gamma, pi_inf, qv, vel_sum, h, c_c
2351# 761 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2352 real(wp),
dimension(num_fluids),
intent(in) :: adv
2353# 763 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2354 real(wp),
intent(out) :: c
2355# 767 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2356 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
2357# 769 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2360 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
2361 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2365 else if (relativity)
then
2366 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2367 else if (alt_soundspeed .or. model_eqns == model_eqns_6eq .or. (model_eqns == model_eqns_5eq .and. bubbles_euler) &
2368 & .or. any_state_dependent_eos)
then
2371 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2373 if (mixture_err .and. c < 0._wp)
then
Compile-time constant parameters: default values, tolerances, and physical constants.
integer, parameter eos_mie_gruneisen
integer, parameter eos_rk4_steps
Equation of state per fluid (eos_stiffened_gas, eos_ideal_gas, eos_mie_gruneisen, eos_jwl,...
real(wp), parameter sgm_eps
Segmentation tolerance.
real(wp), parameter dflt_real
Default real value.
integer, parameter eos_vinet
integer, parameter eos_ideal_gas
integer, parameter ode_isentrope
integer, parameter ode_reference_temperature
the two ODEs s_rk4 integrates
real(wp), parameter verysmall
Very small number.
integer, parameter eos_jwl
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Equations of state in Gamma/Pi form, rho e = Gamma(rho) p + Pi(rho).
impure subroutine, public s_finalize_eos_module()
Deallocate the fluid property arrays allocated in s_initialize_eos_module.
impure real(wp) function f_hugoniot_compression_limit(c0, s, s2, s3)
The largest compression a cubic Hugoniot fit can represent. mu(u_p) = u_p/(u_s - u_p) rises,...
subroutine, public s_phase_density_on_isentrope(i, rho_from, p_from, p_to, rho_to, c2_to)
Density of phase i on the isentrope through (rho_from, p_from) at p_to, and c^2 there: Newton on the ...
real(wp) function, public f_relativistic_enthalpy(pres, rho, gamma)
Relativistic specific enthalpy, h = 1 + (Gamma + 1)p/rho. Ideal gas only: the stiffness does not appe...
subroutine, public s_phase_bulk_modulus(pres, alpha, alpha_rho, i, blkmod)
Bulk modulus rho c^2 of phase i at pressure pres: f_bulk_modulus for a constant-coefficient fluid,...
subroutine, public s_phase_pressure_on_isentrope(pres, rho, xi, i, p_isen)
Pressure of phase i after the isentropic density change rho -> xi rho: closed form for the constant-c...
subroutine s_reference_curve(rho, i, p_ref, e_ref, dp_drho, de_drho, g0, dg0)
The reference curve of a state-dependent EOS at rho: p_ref, e_ref, their d/drho, and Gamma_G with its...
real(wp) function, public f_mixture_temperature(alpha_rho_k, pres, gamma_k, pi_inf_k)
Thermal-equilibrium mixture temperature for stiffened gas, from primitives. Algebraically identical t...
subroutine, public s_compute_speed_of_sound_avg(pres, rho, gamma, pi_inf, qv, vel_sum, h, c_c, adv, c, alpha_rho)
Speed of sound of an interface-averaged state. An average of two states is not a state - its enthalpy...
real(wp) function, public f_sg_thermal(pres, rho_or_t, n, b, cv)
Stiffened-gas thermal law p + B = (n - 1)*cv*rho*T. Pass rho to get T, or T to get rho.
subroutine, public s_phase_coefficients(alpha_rho, alpha, i, rho, gamma, pi_inf, dpi, dgamma)
Coefficients of phase i at its own density alpha_rho/alpha: the per-cell dispatch when some fluid's E...
subroutine, public s_phase_temperature(rho, pres, i, t)
Temperature of phase i at (rho, p): the stiffened-gas relation, or T_ref(rho) + (e - e_ref)/c_v.
subroutine, public s_compute_mixture_coefficients_dt(dalpha_rho_dt, dadv_dt, alpha_rho, adv, drho_dt, dgamma_dt, dpi_inf_dt, dqv_dt)
Time derivative of the mixture coefficients, mirroring s_compute_mixture_coefficients.
logical function, public f_is_state_dependent(i)
Whether the EOS of fluid i is a family whose coefficients vary with density.
subroutine s_rk4(kind, i, x0, y0, x1, y)
Fixed-step classical RK4 for the ODE kind from (x0, y0) to x1.
logical function f_has_isentropic_reference(i)
True when fluid i's reference curve is itself an isentrope (de_ref = -p_ref d(1/rho),...
subroutine s_phase_c2(rho, pres, i, c2)
Frozen sound speed squared of one phase at (rho, p) from its own coefficients. These helpers are subr...
subroutine, public s_phase_density(pres, t, i, rho)
Density of phase i at (p, T), the inverse of s_phase_temperature (constant-coefficient EOS only).
impure subroutine, public s_initialize_eos_module()
Resolve every fluid's EOS coefficients once, before any conversion runs.
real(wp) function f_c2_from_coefficients(rho, pres, gamma, pi_inf, dpi, dgamma)
c^2 = [((Gamma + 1) p + Pi)/rho - dPi/drho - p dGamma/drho]/Gamma, the frozen speed of one phase.
real(wp) function, public f_bulk_modulus(pres, gamma, pi_inf)
Isentropic bulk modulus. Takes coefficients rather than a fluid index, so a mixture - whose effective...
subroutine s_eos_coefficients(rho, i, gamma, pi_inf, dpi, dgamma)
Gamma, Pi, dPi/drho and dGamma/drho of fluid i at density rho, the coefficients of rho e = Gamma p + ...
subroutine s_ode_slope(kind, i, x, y, dydx)
Slope of the ODE kind for fluid i: dp/drho = c^2 along an isentrope (x = rho, y = p),...
subroutine, public s_phase_internal_energy(pres, alpha, alpha_rho, i, e_phase)
Internal energy per unit volume of phase i at pressure pres: alpha (Gamma p + Pi) + alpha_rho qv,...
real(wp) function, public f_isentrope_pressure(pi_inf, gamma)
Reference pressure of that isentrope. Precomputed per fluid as isentrope_B.
subroutine, public s_compute_mixture_coefficients(alpha_rho_k, alpha_k, rho_k, gamma_k, pi_inf_k, qv_k)
Mixture coefficients of one state. Under bubbles_euler with num_fluids == 1 the sole advection slot a...
real(wp) function, public f_pressure(e_int, gamma, pi_inf, qv)
Pressure of a stiffened gas from its internal energy density - the inverse of s_compute_energy....
subroutine, public s_compute_speed_of_sound(pres, rho, gamma, pi_inf, adv, c, alpha_rho)
Speed of sound of a thermodynamic state. Enthalpy is not an argument: for a real state H,...
real(wp) function, public f_isentrope_exponent(gamma)
Exponent of the stiffened-gas isentrope p + B = const rho**n. Precomputed per fluid as isentrope_n.
Shared global parameters and equation-index setup for all three executables. Each per-target m_global...
real(wp), dimension(:), allocatable gammas
MPI communication layer: domain decomposition, halo exchange, reductions, and parallel I/O setup.
impure subroutine s_prohibit_abort(condition, message)
Print a case file error with the prohibited condition and message, then abort execution.