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/pre_process/generated_eos.fpp" 1
368# 4 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
370# 6 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
371# 9 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
373# 12 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
374# 15 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
376# 17 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
377# 31 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
379# 34 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_eos.fpp"
380# 58 "/home/runner/work/MFC/MFC/build/include/pre_process/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)
1686# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1688# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1690# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1692# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1694# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1696# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1698# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1700# 476 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1702 integer,
intent(in) :: i
1703 real(wp),
intent(in) :: rho_from, p_from, p_to
1704 real(wp),
intent(out) :: rho_to, c2_to
1705 real(wp) :: p_at, c2_at
1710# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1711#if defined(MFC_OpenACC)
1712# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1714# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1715#elif defined(MFC_OpenMP)
1716# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1718# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1720# 485 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1724 rho_to = rho_to - (p_at - p_to)/c2_at
1735# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1737# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1739# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1741# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1743# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1745# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1747# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1749# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1751# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1753# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1755# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1757# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1759# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1761# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1763# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1765# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1767# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1769# 499 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1771 real(wp),
intent(in) :: pres, alpha, alpha_rho
1772 integer,
intent(in) :: i
1773 real(wp),
intent(out) :: e_phase
1774 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
1777 e_phase = alpha*(gamma*pres + pi_inf) + alpha_rho*qvs(i)
1786# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1788# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1790# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1792# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1794# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1796# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1798# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1800# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1802# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1804# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1806# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1808# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1810# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1812# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1814# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1816# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1818# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1820# 515 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1822 real(wp),
intent(in) :: alpha_rho, alpha, pres
1823 integer,
intent(in) :: i
1824 real(wp),
intent(out) :: blkmod
1825 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
1828 blkmod =
f_bulk_modulus(pres, gamma, pi_inf) - rho*(dpi + pres*dgamma)/gamma
1837# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1839# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1841# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1843# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1845# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1847# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1849# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1851# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1853# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1855# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1857# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1859# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1861# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1863# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1865# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1867# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1869# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1871# 531 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1873 real(wp),
intent(in) :: e_int, gamma, pi_inf, qv
1876 pres = (e_int - pi_inf - qv)/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) :: pres, gamma, pi_inf
1924 blkmod = ((gamma + 1._wp)*pres + pi_inf)/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, rho, gamma
1972 h = 1._wp + (gamma + 1._wp)*pres/rho
1982# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1984# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1986# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1988# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1990# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1992# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1994# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1996# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1998# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2000# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2002# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2004# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2006# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2008# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2010# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2012# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2014# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2016# 571 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2018# 575 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2019 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
2020# 577 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2021 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
2022 real(wp) :: gamma_i, pi_inf_i, dpi_i, dgamma_i
2023 real(wp) :: rho_i, alpha_i, alpha_rho_i
2030 if (bubbles_euler)
then
2031 rho_k = alpha_rho_k(1)
2033 pi_inf_k = pi_infs(1)
2035 qv_k = alpha_rho_k(1)*qvs(1)
2043# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2044#if defined(MFC_OpenACC)
2045# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2047# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2048#elif defined(MFC_OpenMP)
2049# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2051# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2053# 599 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2054 do i = 1, num_fluids
2055 rho_k = rho_k + alpha_rho_k(i)
2056 alpha_rho_i = alpha_rho_k(i)
2057 alpha_i = alpha_k(i)
2059 gamma_k = gamma_k + alpha_k(i)*gamma_i
2060 pi_inf_k = pi_inf_k + alpha_k(i)*pi_inf_i
2061 qv_k = qv_k + alpha_rho_k(i)*qvs(i)
2071# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2073# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2075# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2077# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2079# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2081# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2083# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2085# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2087# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2089# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2091# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2093# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2095# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2097# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2099# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2101# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2103# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2105# 616 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2107# 620 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2108 real(wp),
dimension(num_fluids),
intent(in) :: dalpha_rho_dt, dadv_dt, alpha_rho, adv
2109# 622 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2110 real(wp),
intent(out) :: drho_dt, dgamma_dt, dpi_inf_dt, dqv_dt
2111 real(wp) :: rho_i, gamma_i, pi_inf_i, dpi_i, dgamma_i, alpha_i, alpha_rho_i
2118 if (num_fluids == 1 .and. bubbles_euler)
then
2120 drho_dt = dalpha_rho_dt(1)
2125# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2126#if defined(MFC_OpenACC)
2127# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2129# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2130#elif defined(MFC_OpenMP)
2131# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2133# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2135# 637 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2136 do i = 1, num_fluids
2137 drho_dt = drho_dt + dalpha_rho_dt(i)
2138 alpha_rho_i = alpha_rho(i)
2142 dgamma_dt = dgamma_dt + dadv_dt(i)*gamma_i + dgamma_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2143 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_inf_i + dpi_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2144 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
2155# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2157# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2159# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2161# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2163# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2165# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2167# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2169# 656 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2171 real(wp),
intent(in) :: pres, rho, gamma, pi_inf
2172# 661 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2173 real(wp),
dimension(num_fluids),
intent(in) :: adv
2174# 663 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2175 real(wp),
intent(out) :: c
2176# 667 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2177 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
2178# 669 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2180 real(wp) :: blkmod_q, alpha_q, alpha_rho_q, gamma_q, pi_inf_q
2184 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2185 else if (relativity)
then
2190 if (any_state_dependent_eos .and.
present(alpha_rho))
then
2193# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2194#if defined(MFC_OpenACC)
2195# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2197# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2198#elif defined(MFC_OpenMP)
2199# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2201# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2203# 683 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2204 do q = 1, num_fluids
2206 alpha_rho_q = alpha_rho(q)
2208 if (alt_soundspeed)
then
2209 c = c + adv(q)/blkmod_q
2211 c = c + adv(q)*blkmod_q
2214 if (alt_soundspeed)
then
2219 else if (alt_soundspeed)
then
2222# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2223#if defined(MFC_OpenACC)
2224# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2226# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2227#elif defined(MFC_OpenMP)
2228# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2230# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2232# 701 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2233 do q = 1, num_fluids
2235 pi_inf_q = pi_infs(q)
2239 else if (model_eqns == model_eqns_6eq)
then
2242# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2243#if defined(MFC_OpenACC)
2244# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2246# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2247#elif defined(MFC_OpenMP)
2248# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2250# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2252# 710 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2253 do q = 1, num_fluids
2255 pi_inf_q = pi_infs(q)
2265 if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. .not. (mpp_lim .and. num_fluids > 1))
then
2266 alf = adv(num_fluids)
2271 if (mixture_err .and. c < 0._wp)
then
2283 subroutine s_compute_speed_of_sound_avg(pres, rho, gamma, pi_inf, qv, vel_sum, H, c_c, adv, c, alpha_rho)
2286# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2288# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2290# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2292# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2294# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2296# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2298# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2300# 743 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2302 real(wp),
intent(in) :: pres, rho, gamma, pi_inf, qv, vel_sum, h, c_c
2303# 748 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2304 real(wp),
dimension(num_fluids),
intent(in) :: adv
2305# 750 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2306 real(wp),
intent(out) :: c
2307# 754 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2308 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
2309# 756 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2312 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
2313 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2317 else if (relativity)
then
2318 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2319 else if (alt_soundspeed .or. model_eqns == model_eqns_6eq .or. (model_eqns == model_eqns_5eq .and. bubbles_euler) &
2320 & .or. any_state_dependent_eos)
then
2323 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2325 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...
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.