pulse2_mod.f
45 lines · 1 definitions · on GitHub (7be4133)
Python version: pulse2_mod.py, 33 lines, on the right (switch to Python above the code).
Variables on this page (20)
qd, qdel, qdela, qdl, qemu, qfs, qo, qol, qp, qpl, qqcp, qqdp, qqdt, qqed, qqet, qqod, qqot, qrmu, qt, qtl
Purpose
PULSE2_MOD holds the physics at the current point of the envelope or atmosphere integration, saved by QENV and QATM (the derivative routines of the integration) for ENVINT to write in the envelope's pulsation output. Shared by 4 routines. It replaces COMMON/PULSE2/ (MHP via Claude, 10/14/26).
What its variables hold, who sets them, who reads them. QENV and QATM set them when LSAVE or LPUMOD (PULSE1_MOD) is on (QENV sets QQDP, QQDT, QQCP always); ENVINT reads them.
QTL,QT,QPL,QP,QDL,QD: $\log T$, $T$, $\log P$, $P$, $\log\rho$, $\rho$.QO,QOL: the opacity and its log (QOLis read nowhere: unused?);QQOD,QQOT: its logarithmic derivatives in $\rho$ and $T$.QQDP,QQDT,QQCP,QRMU,QEMU: the equation of state's $\partial\ln\rho/\partial\ln P$, $\partial\ln\rho/\partial\ln T$, $c_P$,RMU,EMU.QDEL,QDELA: $\nabla$ and $\nabla_\mathrm{ad}$.QQED,QQET: energy generation's derivatives, set to 0 byQENV,QATMand byENVINT(which also setsQQET);QFS: set to 1 byENVINTat the first point and byQENV.
Design
A blanket USE PULSE2_MOD in each routine. COEFFT also uses the module and has working variables of its own named QP, QT and QTL (the Henyey coefficients), which are therefore the module's: COEFFT overwrites them (so at rp_1 too, where COEFFT declared /PULSE2/). Probably harmless, since ENVINT reads them only after QENV or QATM has set them.
Definitions
modulePULSE2_MOD
Change log
The changes since rp_1
Changed since rp_1. New file: COMMON/PULSE2/ as a module.