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# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
20# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
40# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
41# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
42# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
44# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
46# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
48# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
49# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
74# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
75# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
76# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
77# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112# 126 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114# 156 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116# 197 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118# 211 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120# 236 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122# 247 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124# 249 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
125# 260 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
127# 310 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129# 320 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133# 339 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135# 356 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137# 366 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139# 373 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141# 379 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143# 385 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145# 391 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147# 397 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149# 403 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
152# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
153# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
154# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
155# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
156# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
157# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 15 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 16 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168# 24 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170# 53 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172# 65 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174# 75 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176# 105 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178# 117 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180# 127 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182# 174 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
184# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
186# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
242# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
245# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
304# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
306# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311# 52 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314# 72 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317# 80 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320# 104 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323# 120 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326# 145 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328# 151 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
330# 158 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
332# 6 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp" 2
333# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
339# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
342# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
343# 7 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp" 2
344# 1 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp" 1
347# 4 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
349# 6 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
350# 9 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
352# 12 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
353# 15 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
355# 17 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
356# 31 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
358# 34 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
359# 58 "/home/runner/work/MFC/MFC/build/include/simulation/generated_eos.fpp"
360# 8 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp" 2
405 logical :: state_dependent
408# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
410# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
411 use iso_fortran_env,
only: output_unit
412# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
414# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
415 print *,
'm_eos.fpp:54: ',
'@:ALLOCATE(gammas (1:num_fluids))'
416# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
418# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
419 call flush (output_unit)
420# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
422# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
424# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
426# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
428# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
430# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
431#if defined(MFC_OpenACC)
432# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
434# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
435#elif defined(MFC_OpenMP)
436# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
438# 54 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
441# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
443# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
444 use iso_fortran_env,
only: output_unit
445# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
447# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
448 print *,
'm_eos.fpp:55: ',
'@:ALLOCATE(eoss (1:num_fluids))'
449# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
451# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
452 call flush (output_unit)
453# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
455# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
457# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
458 allocate (eoss(1:num_fluids))
459# 55 "/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"
464#if defined(MFC_OpenACC)
465# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
467# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
468#elif defined(MFC_OpenMP)
469# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
471# 55 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
474# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
476# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
477 use iso_fortran_env,
only: output_unit
478# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
480# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
481 print *,
'm_eos.fpp:56: ',
'@:ALLOCATE(isentrope_n (1:num_fluids))'
482# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
484# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
485 call flush (output_unit)
486# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
488# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
490# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
491 allocate (isentrope_n(1:num_fluids))
492# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
494# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
496# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
497#if defined(MFC_OpenACC)
498# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
500# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
501#elif defined(MFC_OpenMP)
502# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
504# 56 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
507# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
509# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
510 use iso_fortran_env,
only: output_unit
511# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
513# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
514 print *,
'm_eos.fpp:57: ',
'@:ALLOCATE(pi_infs(1:num_fluids))'
515# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
517# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
518 call flush (output_unit)
519# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
521# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
523# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
524 allocate (pi_infs(1:num_fluids))
525# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
527# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
529# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
530#if defined(MFC_OpenACC)
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#elif defined(MFC_OpenMP)
535# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
537# 57 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
540# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
542# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
543 use iso_fortran_env,
only: output_unit
544# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
546# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
547 print *,
'm_eos.fpp:58: ',
'@:ALLOCATE(isentrope_B(1:num_fluids))'
548# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
550# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
551 call flush (output_unit)
552# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
554# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
556# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
557 allocate (isentrope_b(1:num_fluids))
558# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
560# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
562# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
563#if defined(MFC_OpenACC)
564# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
566# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
567#elif defined(MFC_OpenMP)
568# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
570# 58 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
573# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
575# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
576 use iso_fortran_env,
only: output_unit
577# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
579# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
580 print *,
'm_eos.fpp:59: ',
'@:ALLOCATE(cvs (1:num_fluids))'
581# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
583# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
584 call flush (output_unit)
585# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
587# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
589# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
590 allocate (cvs(1:num_fluids))
591# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
593# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
595# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
596#if defined(MFC_OpenACC)
597# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
599# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
600#elif defined(MFC_OpenMP)
601# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
603# 59 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
606# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
608# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
609 use iso_fortran_env,
only: output_unit
610# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
612# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
613 print *,
'm_eos.fpp:60: ',
'@:ALLOCATE(qvs (1:num_fluids))'
614# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
616# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
617 call flush (output_unit)
618# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
620# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
622# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
623 allocate (qvs(1:num_fluids))
624# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
626# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
628# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
629#if defined(MFC_OpenACC)
630# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
632# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
633#elif defined(MFC_OpenMP)
634# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
636# 60 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
639# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
641# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
642 use iso_fortran_env,
only: output_unit
643# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
645# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
646 print *,
'm_eos.fpp:61: ',
'@:ALLOCATE(qvps (1:num_fluids))'
647# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
649# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
650 call flush (output_unit)
651# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
653# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
655# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
656 allocate (qvps(1:num_fluids))
657# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
659# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
661# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
662#if defined(MFC_OpenACC)
663# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
665# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
666#elif defined(MFC_OpenMP)
667# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
669# 61 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
672 state_dependent = .false.
674 gammas(i) = fluid_pp(i)%gamma
679 select case (fluid_pp(i)%eos)
683 pi_infs(i) = fluid_pp(i)%pi_inf
686 cvs(i) = fluid_pp(i)%cv
687 qvs(i) = fluid_pp(i)%qv
688 qvps(i) = fluid_pp(i)%qvp
689 eoss(i) = fluid_pp(i)%eos
693 eos_coeffs(i)%c0 = fluid_pp(i)%mg_c0
694# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
695 eos_coeffs(i)%s = fluid_pp(i)%mg_s
696# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
697 eos_coeffs(i)%s2 = fluid_pp(i)%mg_s2
698# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
699 eos_coeffs(i)%s3 = fluid_pp(i)%mg_s3
700# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
702# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
704# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
705 eos_coeffs(i)%a = fluid_pp(i)%jwl_a
706# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
707 eos_coeffs(i)%b = fluid_pp(i)%jwl_b
708# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
709 eos_coeffs(i)%r1 = fluid_pp(i)%jwl_r1
710# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
711 eos_coeffs(i)%r2 = fluid_pp(i)%jwl_r2
712# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
713 eos_coeffs(i)%k0 = fluid_pp(i)%vinet_k0
714# 84 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
715 eos_coeffs(i)%k0p = fluid_pp(i)%vinet_k0p
717 select case (fluid_pp(i)%eos)
718# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
719 case (eos_mie_gruneisen)
720# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
721 eos_coeffs(i)%rho0 = fluid_pp(i)%mg_rho0
722# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
723 eos_coeffs(i)%t0 = fluid_pp(i)%mg_t0
724# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
725 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%mg_gruneisen
726# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
727 eos_coeffs(i)%gruneisen_a = fluid_pp(i)%mg_gruneisen_a
728# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
730# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
731 eos_coeffs(i)%rho0 = fluid_pp(i)%jwl_rho0
732# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
733 eos_coeffs(i)%t0 = fluid_pp(i)%jwl_t0
734# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
735 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%jwl_omega
736# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
737 eos_coeffs(i)%gruneisen_a = 0._wp
738# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
740# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
741 eos_coeffs(i)%rho0 = fluid_pp(i)%vinet_rho0
742# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
743 eos_coeffs(i)%t0 = fluid_pp(i)%vinet_t0
744# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
745 eos_coeffs(i)%gruneisen0 = fluid_pp(i)%vinet_gruneisen
746# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
747 eos_coeffs(i)%gruneisen_a = fluid_pp(i)%vinet_gruneisen_a
748# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
750# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
751 eos_coeffs(i)%rho0 = dflt_real
752# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
753 eos_coeffs(i)%t0 = dflt_real
754# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
755 eos_coeffs(i)%gruneisen0 = dflt_real
756# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
757 eos_coeffs(i)%gruneisen_a = 0._wp
758# 86 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
762# 95 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
763 any_state_dependent_eos = state_dependent
764# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
766# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
767#if defined(MFC_OpenACC)
768# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
770# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
771#elif defined(MFC_OpenMP)
772# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
774# 97 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
776# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
778# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
779#if defined(MFC_OpenACC)
780# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
782# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
783#elif defined(MFC_OpenMP)
784# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
786# 99 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
788# 101 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
796# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
798# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
799 use iso_fortran_env,
only: output_unit
800# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
802# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
803 print *,
'm_eos.fpp:107: ',
'@:DEALLOCATE(gammas, isentrope_n, pi_infs, isentrope_B, cvs, qvs, qvps, eoss)'
804# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
806# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
807 call flush (output_unit)
808# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
810# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
812# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
814# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
815#if defined(MFC_OpenACC)
816# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
818# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
819#elif defined(MFC_OpenMP)
820# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
822# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
824# 107 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
825 deallocate (gammas, isentrope_n, pi_infs, isentrope_b, cvs, qvs, qvps, eoss)
834# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
836# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
838# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
840# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
842# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
844# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
846# 115 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
849 real(wp),
intent(in) :: rho
850 integer,
intent(in) :: i
851 real(wp),
intent(out) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
852 real(wp) :: mu, d, V, ea, eb, up, us, dus, dup_dmu, x, ex, dp_dmu, de_dmu
855 mu = rho/eos_coeffs(i)%rho0 - 1._wp
860 if (eoss(i) == eos_mie_gruneisen .and. mu > eos_coeffs(i)%mu_max) mu = eos_coeffs(i)%mu_max
861 select case (eoss(i))
862 case (eos_mie_gruneisen)
867 p_ref = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*mu
868 dp_dmu = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2
869 else if (eos_coeffs(i)%s2 == 0._wp .and. eos_coeffs(i)%s3 == 0._wp)
then
870 d = 1._wp - (eos_coeffs(i)%s - 1._wp)*mu
871 p_ref = eos_coeffs(i)%rho0*eos_coeffs(i)%c0**2*mu*(1._wp + mu)/(d*d)
872 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 &
876 up = eos_coeffs(i)%c0*mu/(1._wp - (eos_coeffs(i)%s - 1._wp)*mu)
878# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
879#if defined(MFC_OpenACC)
880# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
882# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
883#elif defined(MFC_OpenMP)
884# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
886# 145 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
889 us = eos_coeffs(i)%c0 + up*(eos_coeffs(i)%s + up*(eos_coeffs(i)%s2 + up*eos_coeffs(i)%s3))
890 dus = eos_coeffs(i)%s + up*(2._wp*eos_coeffs(i)%s2 + 3._wp*eos_coeffs(i)%s3*up)
891 up = up - (us*mu - up*(1._wp + mu))/(dus*mu - (1._wp + mu))
893 us = eos_coeffs(i)%c0 + up*(eos_coeffs(i)%s + up*(eos_coeffs(i)%s2 + up*eos_coeffs(i)%s3))
894 dus = eos_coeffs(i)%s + up*(2._wp*eos_coeffs(i)%s2 + 3._wp*eos_coeffs(i)%s3*up)
895 dup_dmu = (up - us)/(dus*mu - (1._wp + mu))
896 p_ref = eos_coeffs(i)%rho0*us*up
897 dp_dmu = eos_coeffs(i)%rho0*(dus*up + us)*dup_dmu
899 e_ref = p_ref*mu/(2._wp*eos_coeffs(i)%rho0*(1._wp + mu))
900 de_dmu = (dp_dmu*mu*(1._wp + mu) + p_ref)/(2._wp*eos_coeffs(i)%rho0*(1._wp + mu)**2)
901 dp_drho = dp_dmu/eos_coeffs(i)%rho0
902 de_drho = de_dmu/eos_coeffs(i)%rho0
905 v = eos_coeffs(i)%rho0/rho
906 ea = eos_coeffs(i)%a*exp(-eos_coeffs(i)%r1*v)
907 eb = eos_coeffs(i)%b*exp(-eos_coeffs(i)%r2*v)
909 e_ref = (ea/eos_coeffs(i)%r1 + eb/eos_coeffs(i)%r2)/eos_coeffs(i)%rho0
910 dp_drho = (eos_coeffs(i)%rho0/rho**2)*(eos_coeffs(i)%r1*ea + eos_coeffs(i)%r2*eb)
911 de_drho = p_ref/rho**2
915 d = 1.5_wp*(eos_coeffs(i)%k0p - 1._wp)
916 x = (eos_coeffs(i)%rho0/rho)**(1._wp/3._wp)
917 ex = exp(d*(1._wp - x))
918 p_ref = 3._wp*eos_coeffs(i)%k0*(1._wp - x)/x**2*ex
919 e_ref = 9._wp*eos_coeffs(i)%k0/(eos_coeffs(i)%rho0*d**2)*(1._wp - (1._wp - d*(1._wp - x))*ex)
920 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))
921 de_drho = p_ref/rho**2
923 g0 = eos_coeffs(i)%gruneisen0 + eos_coeffs(i)%gruneisen_a*mu
924 dg0 = eos_coeffs(i)%gruneisen_a/eos_coeffs(i)%rho0
932# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
934# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
936# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
938# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
940# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
942# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
944# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
946# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
948# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
950# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
952# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
954# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
956# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
958# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
960# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
962# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
964# 189 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
967 integer,
intent(in) :: i
970 yes = eoss(i) == eos_mie_gruneisen .or. eoss(i) == eos_jwl .or. eoss(i) == eos_vinet
980# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
982# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
984# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
986# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
988# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
990# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
992# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
994# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
996# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
998# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1000# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1002# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1004# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1006# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1008# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1010# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1012# 203 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1015 integer,
intent(in) :: i
1018 yes = (eoss(i) == eos_jwl .or. eoss(i) == eos_vinet) .and. eos_coeffs(i)%gruneisen_a == 0._wp
1027 real(wp),
intent(in) :: c0, s, s2, s3
1028 real(wp) :: mu_max, up, f, df, us
1031 if (s2 == 0._wp .and. s3 == 0._wp)
then
1032 mu_max = huge(1._wp)
1039 f = c0 - s2*up**2 - 2._wp*s3*up**3
1040 df = -2._wp*s2*up - 6._wp*s3*up**2
1041 if (abs(df) < verysmall)
exit
1042 up = max(up - f/df, verysmall)
1044 us = c0 + up*(s + up*(s2 + up*s3))
1045 mu_max = up/max(us - up, verysmall)
1054# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1056# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1058# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1060# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1062# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1064# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1066# 243 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1069 real(wp),
intent(in) :: rho
1070 integer,
intent(in) :: i
1071 real(wp),
intent(out) :: gamma, pi_inf, dpi, dgamma
1072 real(wp) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
1083 pi_inf = rho*e_ref - p_ref/g0
1084 dpi = e_ref + rho*de_drho - dp_drho/g0 + p_ref*dg0/g0**2
1093# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1095# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1097# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1099# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1101# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1103# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1105# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1107# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1109# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1111# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1113# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1115# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1117# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1119# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1121# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1123# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1125# 268 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1128 real(wp),
intent(in) :: gamma
1131 n = 1._wp/gamma + 1._wp
1139# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1141# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1143# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1145# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1147# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1149# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1151# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1153# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1155# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1157# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1159# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1161# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1163# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1165# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1167# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1169# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1171# 280 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1174 real(wp),
intent(in) :: pi_inf, gamma
1177 b = pi_inf/(1._wp + gamma)
1185# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1187# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1189# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1191# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1193# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1195# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1197# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1199# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1201# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1203# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1205# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1207# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1209# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1211# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1213# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1215# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1217# 292 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1220 real(wp),
intent(in) :: pres, rho_or_t, n, b, cv
1221 real(wp) :: t_or_rho
1223 t_or_rho = (pres + b)/((n - 1._wp)*cv*rho_or_t)
1233# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1235# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1237# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1239# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1241# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1243# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1245# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1247# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1249# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1251# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1253# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1255# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1257# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1259# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1261# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1263# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1265# 306 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1268# 311 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1269 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k
1270# 313 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1271 real(wp),
intent(in) :: pres, gamma_k, pi_inf_k
1278# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1279#if defined(MFC_OpenACC)
1280# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1282# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1283#elif defined(MFC_OpenMP)
1284# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1286# 319 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1288 do i = 1, num_fluids
1289 mcp = mcp + alpha_rho_k(i)*cvs(i)*isentrope_n(i)
1292 t = ((gamma_k + 1._wp)*pres + pi_inf_k)/max(mcp, sgm_eps)
1301# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1303# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1305# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1307# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1309# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1311# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1313# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1315# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1317# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1319# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1321# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1323# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1325# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1327# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1329# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1331# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1333# 332 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1336 real(wp),
intent(in) :: alpha_rho, alpha
1337 integer,
intent(in) :: i
1338 real(wp),
intent(out) :: rho, gamma, pi_inf, dpi, dgamma
1340 rho = max(alpha_rho, sgm_eps)/max(alpha, sgm_eps)
1341 if (any_state_dependent_eos)
then
1356# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1358# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1360# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1362# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1364# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1366# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1368# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1370# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1372# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1374# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1376# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1378# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1380# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1382# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1384# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1386# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1388# 353 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1391 real(wp),
intent(in) :: rho, pres, gamma, pi_inf, dpi, dgamma
1394 c2 = (((gamma + 1._wp)*pres + pi_inf)/rho - dpi - pres*dgamma)/gamma
1403# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1405# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1407# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1409# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1411# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1413# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1415# 366 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1418 real(wp),
intent(in) :: rho, pres
1419 integer,
intent(in) :: i
1420 real(wp),
intent(out) :: c2
1421 real(wp) :: gamma, pi_inf, dpi, dgamma
1433# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1435# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1437# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1439# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1441# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1443# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1445# 382 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1448 integer,
intent(in) :: kind, i
1449 real(wp),
intent(in) :: x, y
1450 real(wp),
intent(out) :: dydx
1451 real(wp) :: p_ref, e_ref, dp_drho, de_drho, G0, dG0
1453 if (kind == ode_isentrope)
then
1457 dydx = (p_ref - de_drho/x**2)/cvs(i) - g0*y/x
1463 subroutine s_rk4(kind, i, x0, y0, x1, y)
1466# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1468# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1470# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1472# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1474# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1476# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1478# 401 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1481 integer,
intent(in) :: kind, i
1482 real(wp),
intent(in) :: x0, y0, x1
1483 real(wp),
intent(out) :: y
1484 real(wp) :: x, h, k1, k2, k3, k4
1489 h = (x1 - x0)/eos_rk4_steps
1491# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1492#if defined(MFC_OpenACC)
1493# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1495# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1496#elif defined(MFC_OpenMP)
1497# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1499# 412 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1501 do step = 1, eos_rk4_steps
1503 call s_ode_slope(kind, i, x + 0.5_wp*h, y + 0.5_wp*h*k1, k2)
1504 call s_ode_slope(kind, i, x + 0.5_wp*h, y + 0.5_wp*h*k2, k3)
1506 y = y + h*(k1 + 2._wp*(k2 + k3) + k4)/6._wp
1510 end subroutine s_rk4
1517# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1519# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1521# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1523# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1525# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1527# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1529# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1531# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1533# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1535# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1537# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1539# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1541# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1543# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1545# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1547# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1549# 428 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1552 real(wp),
intent(in) :: pres, rho, xi
1553 integer,
intent(in) :: i
1554 real(wp),
intent(out) :: p_isen
1555 real(wp) :: p_ref_from, p_ref_to, e_ref, dp_drho, de_drho, g0, dg0
1558 p_isen = (pres + isentrope_b(i))*xi**isentrope_n(i) - isentrope_b(i)
1565 p_isen = p_ref_to + (pres - p_ref_from)*xi**(1._wp + eos_coeffs(i)%gruneisen0)
1567 call s_rk4(ode_isentrope, i, rho, pres, xi*rho, p_isen)
1576# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1578# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1580# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1582# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1584# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1586# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1588# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1590# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1592# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1594# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1596# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1598# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1600# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1602# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1604# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1606# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1608# 453 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1611 real(wp),
intent(in) :: rho, pres
1612 integer,
intent(in) :: i
1613 real(wp),
intent(out) :: t
1614 real(wp) :: p_ref, e_ref, dp_drho, de_drho, g0, dg0, t0, t_ref
1618 t0 = eos_coeffs(i)%t0
1619 call s_rk4(ode_reference_temperature, i, 1._wp/eos_coeffs(i)%rho0, t0, 1._wp/rho, t_ref)
1620 t = t_ref + (pres - p_ref)/(rho*g0*cvs(i))
1622 t = (pres + isentrope_b(i))/((isentrope_n(i) - 1._wp)*cvs(i)*rho)
1632# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1634# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1636# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1638# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1640# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1642# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1644# 475 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1647 integer,
intent(in) :: i
1648 real(wp),
intent(in) :: rho_from, p_from, p_to
1649 real(wp),
intent(out) :: rho_to, c2_to
1650 real(wp) :: p_at, c2_at
1655# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1656#if defined(MFC_OpenACC)
1657# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1659# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1660#elif defined(MFC_OpenMP)
1661# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1663# 484 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1668 rho_to = rho_to - (p_at - p_to)/c2_at
1679# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1681# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1683# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1685# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1687# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1689# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1691# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1693# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1695# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1697# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1699# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1701# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1703# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1705# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1707# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1709# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1711# 498 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1714 real(wp),
intent(in) :: pres, alpha, alpha_rho
1715 integer,
intent(in) :: i
1716 real(wp),
intent(out) :: e_phase
1717 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
1720 e_phase = alpha*(gamma*pres + pi_inf) + alpha_rho*qvs(i)
1729# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1731# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1733# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1735# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1737# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1739# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1741# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1743# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1745# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1747# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1749# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1751# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1753# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1755# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1757# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1759# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1761# 514 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1764 real(wp),
intent(in) :: alpha_rho, alpha, pres
1765 integer,
intent(in) :: i
1766 real(wp),
intent(out) :: blkmod
1767 real(wp) :: rho, gamma, pi_inf, dpi, dgamma
1770 blkmod =
f_bulk_modulus(pres, gamma, pi_inf) - rho*(dpi + pres*dgamma)/gamma
1779# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1781# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1783# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1785# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1787# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1789# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1791# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1793# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1795# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1797# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1799# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1801# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1803# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1805# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1807# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1809# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1811# 530 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1814 real(wp),
intent(in) :: e_int, gamma, pi_inf, qv
1817 pres = (e_int - pi_inf - qv)/gamma
1826# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1828# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1830# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1832# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1834# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1836# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1838# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1840# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1842# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1844# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1846# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1848# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1850# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1852# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1854# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1856# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1858# 543 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1861 real(wp),
intent(in) :: pres, gamma, pi_inf
1864 blkmod = ((gamma + 1._wp)*pres + pi_inf)/gamma
1873# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1875# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1877# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1879# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1881# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1883# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1885# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1887# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1889# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1891# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1893# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1895# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1897# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1899# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1901# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1903# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1905# 556 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1908 real(wp),
intent(in) :: pres, rho, gamma
1911 h = 1._wp + (gamma + 1._wp)*pres/rho
1921# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1923# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1925# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1927# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1929# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1931# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1933# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1935# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1937# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1939# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1941# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1943# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1945# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1947# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1949# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1951# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1953# 570 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1956# 575 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1957 real(wp),
dimension(num_fluids),
intent(in) :: alpha_rho_k, alpha_k
1958# 577 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1959 real(wp),
intent(out) :: rho_k, gamma_k, pi_inf_k, qv_k
1960 real(wp) :: gamma_i, pi_inf_i, dpi_i, dgamma_i
1961 real(wp) :: rho_i, alpha_i, alpha_rho_i
1968 if (bubbles_euler)
then
1969 rho_k = alpha_rho_k(1)
1971 pi_inf_k = pi_infs(1)
1973 qv_k = alpha_rho_k(1)*qvs(1)
1981# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1982#if defined(MFC_OpenACC)
1983# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1985# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1986#elif defined(MFC_OpenMP)
1987# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1989# 598 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
1991 do i = 1, num_fluids
1992 rho_k = rho_k + alpha_rho_k(i)
1993 alpha_rho_i = alpha_rho_k(i)
1994 alpha_i = alpha_k(i)
1996 gamma_k = gamma_k + alpha_k(i)*gamma_i
1997 pi_inf_k = pi_inf_k + alpha_k(i)*pi_inf_i
1998 qv_k = qv_k + alpha_rho_k(i)*qvs(i)
2008# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2010# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2012# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2014# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2016# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2018# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2020# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2022# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2024# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2026# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2028# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2030# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2032# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2034# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2036# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2038# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2040# 615 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2043# 620 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2044 real(wp),
dimension(num_fluids),
intent(in) :: dalpha_rho_dt, dadv_dt, alpha_rho, adv
2045# 622 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2046 real(wp),
intent(out) :: drho_dt, dgamma_dt, dpi_inf_dt, dqv_dt
2047 real(wp) :: rho_i, gamma_i, pi_inf_i, dpi_i, dgamma_i, alpha_i, alpha_rho_i
2054 if (num_fluids == 1 .and. bubbles_euler)
then
2056 drho_dt = dalpha_rho_dt(1)
2061# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2062#if defined(MFC_OpenACC)
2063# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2065# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2066#elif defined(MFC_OpenMP)
2067# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2069# 636 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2071 do i = 1, num_fluids
2072 drho_dt = drho_dt + dalpha_rho_dt(i)
2073 alpha_rho_i = alpha_rho(i)
2077 dgamma_dt = dgamma_dt + dadv_dt(i)*gamma_i + dgamma_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2078 dpi_inf_dt = dpi_inf_dt + dadv_dt(i)*pi_inf_i + dpi_i*(dalpha_rho_dt(i) - rho_i*dadv_dt(i))
2079 dqv_dt = dqv_dt + dalpha_rho_dt(i)*qvs(i)
2090# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2092# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2094# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2096# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2098# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2100# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2102# 655 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2105 real(wp),
intent(in) :: pres, rho, gamma, pi_inf
2106# 661 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2107 real(wp),
dimension(num_fluids),
intent(in) :: adv
2108# 663 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2109 real(wp),
intent(out) :: c
2110# 667 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2111 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
2112# 669 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2114 real(wp) :: blkmod_q, alpha_q, alpha_rho_q, gamma_q, pi_inf_q
2118 c = sqrt((1.0_wp + 1.0_wp/gamma)*pres/rho)
2119 else if (relativity)
then
2124 if (any_state_dependent_eos .and.
present(alpha_rho))
then
2127# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2128#if defined(MFC_OpenACC)
2129# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2131# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2132#elif defined(MFC_OpenMP)
2133# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2135# 682 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2137 do q = 1, num_fluids
2139 alpha_rho_q = alpha_rho(q)
2141 if (alt_soundspeed)
then
2142 c = c + adv(q)/blkmod_q
2144 c = c + adv(q)*blkmod_q
2147 if (alt_soundspeed)
then
2152 else if (alt_soundspeed)
then
2155# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2156#if defined(MFC_OpenACC)
2157# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2159# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2160#elif defined(MFC_OpenMP)
2161# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2163# 700 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2165 do q = 1, num_fluids
2167 pi_inf_q = pi_infs(q)
2171 else if (model_eqns == model_eqns_6eq)
then
2174# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2175#if defined(MFC_OpenACC)
2176# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2178# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2179#elif defined(MFC_OpenMP)
2180# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2182# 709 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2184 do q = 1, num_fluids
2186 pi_inf_q = pi_infs(q)
2196 if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. .not. (mpp_lim .and. num_fluids > 1))
then
2197 alf = adv(num_fluids)
2202 if (mixture_err .and. c < 0._wp)
then
2214 subroutine s_compute_speed_of_sound_avg(pres, rho, gamma, pi_inf, qv, vel_sum, H, c_c, adv, c, alpha_rho)
2217# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2219# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2221# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2223# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2225# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2227# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2229# 742 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2232 real(wp),
intent(in) :: pres, rho, gamma, pi_inf, qv, vel_sum, h, c_c
2233# 748 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2234 real(wp),
dimension(num_fluids),
intent(in) :: adv
2235# 750 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2236 real(wp),
intent(out) :: c
2237# 754 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2238 real(wp),
dimension(num_fluids),
intent(in),
optional :: alpha_rho
2239# 756 "/home/runner/work/MFC/MFC/src/common/m_eos.fpp"
2242 if (avg_state == avg_state_roe .and. abs(c_c) > verysmall)
then
2243 c = sqrt(c_c - (gamma - 1.0_wp)*(vel_sum - h))
2247 else if (relativity)
then
2248 c = sqrt((1._wp + 1._wp/gamma)*pres/rho/h)
2249 else if (alt_soundspeed .or. model_eqns == model_eqns_6eq .or. (model_eqns == model_eqns_5eq .and. bubbles_euler) &
2250 & .or. any_state_dependent_eos)
then
2253 c = (h - 5.e-1*vel_sum - qv/rho)/gamma
2255 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.