PyREC scaffolding (from YREC development, 7be4133)/ t6rinteos06.fGlossary

t6rinteos06.f

105 lines · 1 definitions · on GitHub (7be4133)

Python version: t6rinteos06.py, 75 lines, on the right (switch to Python above the code).

Variables on this page (23)

dfs, dfsr, esact, esk, h, ip, iq, ishort, k1, k2, k3, k4, l1, l2, l3, l4, mv, mx, nr, nt, q, rho, t6a

Purpose

T6RINTEOS06 interpolates one equation-of-state quantity in temperature T6 and density for the OPAL 2006 EOS (its comment's words). At rp_1 it had two twins, line for line apart from table sizes and COMMON names: t6rinteos01.f for the 2001 tables and t6rinterp.f for the original OPAL tables (both removed since rp_1); this version has NT = 197 temperatures.

How it fits

The method

QUADEOS06 gives the quadratic through three points, evaluated at $x$. For each of the temperatures $T_{k_1}, \dots$, a quadratic in density through the rows $l_1$–$l_3$ gives $h_k$, and, if IQ = 3, another through $l_2$–$l_4$ gives $q_k$. Quadratics in temperature through $h_{k_1..k_3}$ and $h_{k_2..k_4}$ (if IP = 3) are then blended linearly: $$f = w\,f_{123} + (1 - w)\,f_{234},\qquad w = (T_{k_3} - T)\,/\,(T_{k_3} - T_{k_2}),$$ the weight from DFS(K3), the inverse grid spacing. The same is done for the $q$'s, and, when IP = 3, the two results are blended in density with $w_\rho = (\rho_{l_3} - \rho)\,/\,(\rho_{l_3} - \rho_{l_2})$ (DFSR(L3)). A result above $10^{15}$ stops the run ("interpolation indices out of range").

Definitions

subroutineT6RINTEOS06

lines 7–104 · GitHub

Interpolation in temperature and density for the OPAL 2006 EOS tables; result in ESACT (EOS06MISC_MOD).

Uses modules AEOS06_MOD, EEEOS06_MOD, EOS06MISC_MOD, IOUNITS_MOD

Called by ESAC06

Flowchart of its calls, in order (6)
Compiler warnings (4)

gfortran -Wall -Wextra, compiling only; nothing was run.

  • line 22: Unused parameter ‘mv’ declared [-Wunused-parameter]
  • line 22: Unused parameter ‘mx’ declared [-Wunused-parameter]
  • line 22: Unused parameter ‘nr’ declared [-Wunused-parameter]
  • line 22: Unused parameter ‘nt’ declared [-Wunused-parameter]

Change log

The changes since rp_1

Changed since rp_1. Declarations only: COMMON blocks to modules (/AEOS06/ to AEOS06_MOD, /EEEOS06/ to EEEOS06_MOD, /AAEOS06/, /BBEOS06/ and /EEOS06/ to EOS06MISC_MOD, /LUOUT/ to IOUNITS_MOD), IMPLICIT NONE. The question on the two releases is settled: the 2001 version, t6rinteos01.f, was removed.