scveos_mod.f
41 lines · 1 definitions · on GitHub (7be4133)
Python version: scveos_mod.py, 26 lines, on the right (switch to Python above the code).
Variables on this page (11)
idp, idtscv, nps, nptsx, nts, smix, tablenv, tablex, tabley, tablez, tlogx
Purpose
SCVEOS_MOD holds the tables of the SCV equation of state ("MHP 5/97"): those of pure hydrogen, pure helium and the metals as read, the table built from them for the envelope's mixture, and the search indices of the last interpolation. Shared by 4 routines. It replaces COMMON/SCVEOS/ (MHP via Claude, 10/14/26), less its switch LSCV, now in NMLPAR_MOD, and with IDT renamed IDTSCV (10/9/26), since PARMIN and STARIN had an unrelated IDT of COMMON/OPTAB/ and called this one IDTT. The dimensions NTS = 63 (temperatures) and NPS = 76 (pressures per temperature) are PRIVATE, because the importing files declare their own.
What its variables hold, who sets them, who reads them.
TLOGX(NTS),NPTSX(NTS): the tables' $\log T$ values and the number of pressure points at each; read bySETUPSfrom the hydrogen table.TABLEX(NTS,NPS,12),TABLEY(NTS,NPS,12): the hydrogen and helium tables (11 columns as read bySETUPS, the first $\log P$);SETSCVadds column 12, $\mathrm{d}U/\mathrm{d}T$.TABLEZ(NTS,NPS,13): the metals' table, read bySETUPS.SMIX(NTS,NPS): the entropy of mixing of hydrogen and helium, computed bySETSCV; read bySETSCVandEQSCVG.TABLENV(NTS,NPS,12): the table for the envelope's mixture ($\log P$, $\log\rho$, the derivatives, $c_P$, $\mathrm{d}U/\mathrm{d}T$, …), built bySETSCV; read bySETSCV,EQSCVEandEQSCVG.IDTSCV,IDP: the first indices of the four-point stencil in temperature and in pressure, kept between calls as the starting point of the next search; set and read byEQSCVE,EQSCVGandSETSCV.
Design
A blanket USE SCVEOS_MOD in each routine. EQSCVE and EQSCVG share IDTSCV and IDP, so a call of one starts its search where the other left off.
Definitions
moduleSCVEOS_MOD
Change log
The changes since rp_1
Changed since rp_1. New file: COMMON/SCVEOS/ as a module, with LSCV moved to NMLPAR_MOD and IDT renamed IDTSCV.