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

lirate88.f

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

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

Variables on this page (18)

cc13, cc23, cln, hcompp, hdo, hto, json, rbe9, rbe90, rli6, rli60, rli7, rli70, sbe91, sbe92, sbe93, sli6, sli7

Purpose

LIRATE88 computes the burning rates of ⁶Li, ⁷Li and ⁹Be by protons at every point, from the fits of Caughlan and Fowler (1988) (spelled "Caughlin" in the comment), scaled by user factors. Called with J = 1 it computes the rates for the model passed in, stored as the end-of-step set; with J = 2, for the saved model at the start of the step, stored as the start-of-step set (the convention its comment now states).

How it fits

The method

With $T_9 = T/10^9$, each rate is the Caughlan–Fowler fit $N_A\langle\sigma v\rangle(T_9)$ for: ⁶Li(p,³He)α; ⁷Li(p,α)α; and the sum of ⁹Be(p,γ)¹⁰B, ⁹Be(p,d)2α and ⁹Be(p,α)⁶Li. For example ⁷Li(p,α)α, with $T_{9a} = T_9/(1 + 0.759\,T_9)$:

$$N_A\langle\sigma v\rangle = \frac{1.096\times10^{9}}{T_9^{2/3}}\,e^{-8.472/T_9^{1/3}} - 4.830\times10^{8}\,\frac{T_{9a}^{5/6}}{T_9^{3/2}}\,e^{-8.472/T_{9a}^{1/3}} + \frac{1.06\times10^{10}}{T_9^{3/2}}\,e^{-30.442/T_9}.$$

Each is multiplied by its scale factor and by $\rho X$, giving the rate per nucleus, $\lambda = \rho X\,N_A\langle\sigma v\rangle$ (per second, if the fits are in the usual cm³ mol⁻¹ s⁻¹; the code does not say). The loop runs from the centre outward and stops at the first point where both the new and the old $\log T$ are below 6 (TLIM); from there to the surface the set being filled (NEWRAT_MOD's with J = 1, OLDRAT_MOD's with J = 2) is set to zero.

Definitions

subroutineLIRATE88

lines 6–157 · GitHub

The Caughlan–Fowler (1988) rates for ⁶Li, ⁷Li and ⁹Be, times $\rho X$ and the user scale factors (above).

Uses modules CONSTANTS_MOD, DIMENSIONS_MOD, NEWRAT_MOD, NMLPAR_MOD, OLDMOD_MOD, OLDRAT_MOD

Called by (file level) ×2, GETW

Change log

The changes since rp_1

Changed since rp_1. Declarations only: COMMON blocks to modules (/NEWRAT/, /OLDRAT/, /OLDMOD/; /CONST1/ to CONSTANTS_MOD; the scale factors of /BURNSCS/ to NMLPAR_MOD), JSON from DIMENSIONS_MOD, IMPLICIT NONE.

Changed since a8a5950. The callers' flags are swapped (in main.f and GETW), so that the end-of-step rates now come from the end-of-step model; before, both sets held start-of-step rates and LIBURN interpolated between two copies of them. This settles former question 5. Past the cut, only the set being filled is zeroed, which settles former question 1; the other questions are renumbered.