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

remap.f

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

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

Variables on this page (66)

atime, dtdif, dtwind, fc12, flag_dw, flag_dx, flag_dz, fo16, hpttol, lnewnuc, lnewvars, lptime, lstruct_time, qqs0ee, qs0e, s0_1_1, s0_1_12, s0_1_13, s0_1_14, s0_1_15_c12alp, s0_1_15_o16, s0_1_16, s0_1_be7e, s0_1_be7p, s0_3_3, s0_3_4, s0_hep, s0_pep, s0p_1_1, s0p_1_12, s0p_1_13, s0p_1_14, s0p_1_16, s0p_1_be7p, s0p_3_3, s0p_3_4, s0pp_1_12, s0pp_1_13, s0pp_1_16, s0pp_1_be7p, sstandard, time_core_min, time_dl, time_dp, time_dr, time_dt, time_dw_global, time_dw_mix, time_dx_core_frac, time_dx_core_tot, time_dx_shell, time_dx_total, time_dy_core_frac, time_dy_core_tot, time_dy_shell, time_dy_total, time_max_dt_frac, tol_czbase_fine_width, tol_dl_max, tol_dm_max, tol_dm_min, tol_dp_core_max, tol_dp_czbase_max, tol_dp_env_max, tol_dx_max, tol_dz_max

Purpose

Translates newer, "more intuitively named" namelist parameters (MHP 6/2014) into the arrays the rest of the code uses: the nuclear cross sections and their energy derivatives, and the tolerances for the mesh and the time step.

How it fits

The method

  1. Defaults. QS0E, QQS0EE, FC12, FO16 are set to 1.
  2. Cross sections, when LNEWNUC is true. SSTANDARD becomes the ratio of each new zero-energy S-factor to the reference value hard-coded here (…_REF, the values that RATES and ENGEB assume): $$\texttt{SSTANDARD}(j) = \frac{S_{0,j}}{S_{0,j}^{\mathrm{ref}}},\qquad f_{C12} = \frac{S_{0}^{\,15(p,\alpha)}}{6.75\times10^4},\qquad f_{O16} = \frac{S_0^{\,15(p,\gamma)}}{64}.$$ The resonant helium-burning reactions (8, 10, 11, 12) and the unused ones (9, 13) are left at 1. The derivative factors are ratios of $S'/S$ (and $S''/S$) to those of Solar Fusion I (Adelberger et al. 1998), whose values are hard-coded (QS0E_…_A98, QQS0EE_…_A98, in b): $$\texttt{QS0E}(j) = \frac{S'_j/S_{0,j}}{\bigl(S'/S_0\bigr)_j^{\mathrm{A98}}},\qquad \texttt{QQS0EE}(j) = \frac{S''_j/S_{0,j}}{\bigl(S''/S_0\bigr)_j^{\mathrm{A98}}},$$ set to 0 when $S_{0,j} \le 0$. RATES multiplies its $Q_2, Q_3$ terms by QS0E and its $Q_4, Q_5$ terms by QQS0EE (a comment, line 160↗, says the derivatives are used "in ENGEB AND NRATES"; the routine is RATES).

    The derivatives' units follow the references'. The inputs enter only as ratios to the reference values of Adelberger et al. (1998), (S0P_…/S0_…)/(QS0E_…_A98/S0_…_A98) (line 166↗) and likewise for the second derivatives (line 211↗), whose units the comments give as keV b for the S-factors and b for the first derivatives (line 81↗; lines 97–98↗; none for the second, line 103↗), so with S0_… in keV b, S0P_… is in b and S0PP_… in b keV$^{-1}$. The namelist documentation does not say so.

  3. Tolerances, when LNEWVARS is true. A one-to-one copy, with a comment on each: for example HPTTOL(1) = TOL_DM_MIN (minimum log mass spacing), HPTTOL(11) = TOL_DP_CORE_MAX, ATIME(7) = TIME_DX_SHELL (maximum fraction of X burned in a shell in a step), ATIME(13) = TIME_MAX_DT_FRAC.

From YREC's documentation

Physics Options lists the parameters that REMAP copies, with these meanings (defaults from NMLBYPASS_MOD); REMAP copies them only when LNEWVARS is true, and LNEWNUC likewise gates the S-factors.

variable default goes to meaning (documentation)
TOL_DM_MIN 1.0D-8 HPTTOL(1) minimum mass spacing (matters most for thin outer fitting points)
TOL_DM_MAX 0.08 HPTTOL(2) maximum log mass spacing (matters most in cores)
FLAG_DX, FLAG_DZ 0.05, 0.05 HPTTOL(3), (4) smallest jump in $X$, $Z$ kept as a discontinuity
TOL_DX_MAX, TOL_DZ_MAX 1.0, 1.0 HPTTOL(5), (6) legacy mesh spacing in $X$, $Z$
TOL_CZBASE_FINE_WIDTH 0.0 HPTTOL(7) width of the finely zoned region at the base of the convection zone (0.4 for red giants)
TOL_DP_ENV_MAX 0.05 HPTTOL(8) maximum $\Delta\log P$ in the outer convection zone
TOL_DL_MAX 0.02 HPTTOL(9) maximum spacing in $L/L_\mathrm{surf}$ (energy-generating regions)
TOL_DP_CZBASE_MAX 0.05 HPTTOL(10) maximum $\Delta\log P$ at the base of the surface convection zone
TOL_DP_CORE_MAX 0.05 HPTTOL(11) maximum $\Delta\log P$ below it (between the burning regions and that base)
FLAG_DW 0.10 HPTTOL(12) smallest jump in $\Omega$ kept as a discontinuity
TIME_CORE_MIN 1.0D-3 ATIME(1) central $X$ (or $Y$) below which shell-burning rather than core-burning limits apply
TIME_DX_CORE_TOT, TIME_DX_CORE_FRAC 0.02, 0.5 ATIME(2), (3) largest absolute and fractional $\Delta X$ per step in core hydrogen burning
TIME_DY_CORE_TOT, TIME_DY_CORE_FRAC 0.02, 0.5 ATIME(4), (5) the same for $Y$ in core helium burning (red clump, horizontal branch)
TIME_DX_TOTAL, TIME_DX_SHELL 1.5D-3, 0.1 ATIME(6), (7) hydrogen burned per step after the main sequence: total, and fractional in the shell
TIME_DT, TIME_DP, TIME_DR, TIME_DL 0.02, 0.04, 0.02, 0.02 ATIME(8)–(11) largest local change of $T$, $P$, $R$, $L$ per step (pre-main sequence)
TIME_DY_SHELL, TIME_DY_TOTAL 0.1, 1.5D-3 ATIME(12), (14) the same for helium shells (AGB)
TIME_MAX_DT_FRAC 1.5 ATIME(13) largest growth of the step from one model to the next
LSTRUCT_TIME false LPTIME limit the step by structural changes; switched off once $L_\mathrm{grav} < 0$ (near the ZAMS)
TIME_DW_GLOBAL, TIME_DW_MIX 0.08, 0.08 DTWIND, DTDIF largest $\Delta\Omega$ per model, and per mixing substep

Definitions

subroutineREMAP

lines 7–297 · GitHub

Uses modules CROSS_MOD, NMLBYPASS_MOD, NMLPAR_MOD

Called by PARMIN

Change log

The changes since rp_1

Changed since rp_1. The reference value S0_1_16_REF is now the double-precision 9.4D0 (it was 9.4E0, a single-precision constant, about $4\times10^{-8}$ smaller), which changes SSTANDARD(7) in the same proportion; otherwise COMMON blocks to modules (/NEWPARAM/ and /NEWCROSS/ merged into NMLBYPASS_MOD; the tolerances, time-step limits and SSTANDARD into NMLPAR_MOD), IMPLICIT NONE.

Changed since 09c3b9b. The derivative factors QS0E(2)–QS0E(7) and QQS0EE(4), QQS0EE(5), QQS0EE(7) are now normalized by each reaction's own A98 S-factor (S0_3_3_A98, S0_3_4_A98, S0_1_12_A98, S0_1_13_A98, S0_1_14_A98, S0_1_16_A98, whose DATA values, 5.4D3, 5.3D-1, 1.34D0, 7.6D0, 3.5D0 and 9.4D0 keV b, are restored) instead of p+p's S0_1_1_A98. Before, these factors came out of order $10^{-22}$, so with LNEWNUC the S′ and S″ terms of reactions 2–7 were dropped and the S0P_…, S0PP_… inputs had no effect; now they are of order 1, as intended. This settles former question 1; former questions 2–4 are now 1–3.