header

Proton-proton reaction rate

Tognelli, Degl'Innocenti, Marcucci, Prada Moroni

Physics Letters B 742 (2015), 189

The code

The fortran code - developed by Laura E. Marcucci - provides the proton-proton weak capture reaction rate [cm3mol-1s-1)] presented in Tognelli, Degl'Innocenti, Marcucci, Prada Moroni, Physics Letters B 742 (2015), pp. 189-194. The reaction rate is accurate at the level of few per mil. Two subroutines (flux and b5) are needed to calculate the flux for the proton-proton weak capture reaction, given the star temperature in 109 K. It is based on the following articles:

  • Marcucci et al., Phys. Rev. Lett. 110, 192503 (2013)
  • NACRE II, Nucl. Phys. A 918, 61 (2013) [ Eq.(3) ]
The code is structured in such a way that there are several options:
  • the initial p-p wave function can include only the S-wave contribution or also all the P-wave contributions. The S+P waves is what has been suggested in Marcucci et al., the S-wave contribution is what has been used so far in the literature;
  • the user can calculate the flux using the calculated values for the p-p astrophysical S-factor on an energy grid of 101 points of step = 1 keV, or alternatively use the values of S(0), Sn(0), [Sn(0) is the n-th derivative of S(E) calculated at zero energy] up to n=3, and tabulate S(E) with the preferred steps. In this second case, in parameter, the user needs to adjust he and ne_int (see below).

How to compile the code

The code should be compiled as:

  • gfortran -O4 -o flux flux.f
  • ifort -O4 -o flux flux.f

Usage

The user needs to know only the following inputs indices:

  • iprint = 1/0 for printing/not printing intermediate results
  • t9 = star temperature in 109 K
  • ic =
    • 1 for S+P waves
    • 2 for only S-waves
  • inter =
    • 1 for using the calculated S-factor
    • 2 for using the fitted values for S(0), S'(0), S''(0) and S'''(0) and then tabulating the S(E) as preferred. In this case, in parameter the user should fix:
      • he = 1.e-3 ne_int = 101 : step (given in MeV) of 1 keV
      • he = 1.e-4 ne_int = 1001: step (given in MeV0 of 0.1 keV
      • etc...

In output, the user finds:

  • flx = flux in cm3 mol-1 s-1
  • dflx = theoretical uncertainty on the flux

In the ReadMe an example and tests are available.