![]() |
Module with helper functions such as rate tabulation, partition functions, and theoretical weak rates. More...
Functions/Subroutines | |
subroutine | init_nucstuff () |
Initialize nucstuff class. More... | |
logical function, public | is_stable (Z, N) |
Function to decide whether a given isotope is stable or not. More... | |
subroutine, public | inter_partf (temp, interpol) |
Calculates partition function. More... | |
subroutine, public | calc_t9_pow (t9) |
A helper to compute powers of temperature used in the reaction rates. More... | |
subroutine, public | el_ab (Y, Ye) |
Computes the electron fraction. More... | |
integer function | get_chapter (nr_react, nr_prod) |
Get the reaclib chapter based on nr. of prods. and educts. More... | |
integer function | get_nr_reactants (group) |
Get number of reactants of the reaction based on the reaclib chapter. More... | |
integer function | get_nr_products (group) |
Get number of products of the reaction based on the reaclib chapter. More... | |
subroutine, public | masscalc (Y, m_tot) |
Total mass used to check the mass conservation. More... | |
subroutine, public | analyze_src_string (input_string, output_array, length_output) |
Analyze a string and split it with delimiter ";". More... | |
Variables | |
real(r_kind), dimension(9), public | t9_pow |
Powers of T, used for the rates. More... | |
integer, public | ntgp |
(24/72) Number of temp grid points for the partition functions More... | |
real(r_kind), dimension(:), allocatable, public | pf |
partition functions More... | |
Module with helper functions such as rate tabulation, partition functions, and theoretical weak rates.
subroutine, public nucstuff_class::analyze_src_string | ( | character(len=max_fname_len), intent(in) | input_string, |
character(len=4), dimension(:), intent(out), allocatable | output_array, | ||
integer, intent(out) | length_output | ||
) |
Analyze a string and split it with delimiter ";".
This routine is used to analyze the parameters parameter_class::detailed_balance_src_ignore, parameter_class::detailed_balance_src_q_reac, parameter_class::detailed_balance_src_q_winvn. It takes a string and splits it if there is a ";" in it. Afterwards it returns an array with the splitted strings.
Afterwards, c will be an array containing (/"rath", "pkrF", " abc"/), d will be 3, e will be (/"ths8"/), and f will be 1.
[in] | input_string | String with src to analyse, separated by ";" |
[out] | output_array | Array with sources |
[out] | length_output | Length of sources |
Definition at line 421 of file nucstuff_class.f90.
subroutine, public nucstuff_class::calc_t9_pow | ( | real(r_kind), intent(in) | t9 | ) |
A helper to compute powers of temperature used in the reaction rates.
The reaclib reaction rates are calculated with the following fit formula:
\[ \lambda = \mathrm{exp} \left[ a_0 + \sum \limits _{i=1} ^5 a_i T_9 ^{\frac{2i-5}{3}} a_6 \, \mathrm{ln} T_9 \right]. \]
The helper array t9_pow stores the powers of the temperature used for this calculation (starting with index 2 for i=1, index 1 stores unity). The t9_pow array is after the call given by
\[ \mathrm{t9\_pow} = [ T_9 ^{0}, T_9 ^{-1}, T_9 ^{-1/3}, T_9 ^{1/3}, T_9 ^{1}, T_9 ^{5/3}, \log T_9, T_9 ^{7/3}, T_9 ^{9/3} ] \]
Edited:
[in] | t9 | Temperature [GK] |
Definition at line 189 of file nucstuff_class.f90.
subroutine, public nucstuff_class::el_ab | ( | real(r_kind), dimension(:), intent(in) | Y, |
real(r_kind), intent(out) | Ye | ||
) |
Computes the electron fraction.
The electron fraction is defined as:
\[ Y_e = \sum Z(i) \cdot Y(i) \]
, with the number of protons Z and the abundance Y of each isotope i.
Edited:
[in] | y | Abundances |
[out] | ye | Electron fraction |
Definition at line 218 of file nucstuff_class.f90.
integer function nucstuff_class::get_chapter | ( | integer, intent(in) | nr_react, |
integer, intent(in) | nr_prod | ||
) |
Get the reaclib chapter based on nr. of prods. and educts.
This function translates the number of educts and products into the corresponding reaclib chapter.
b will be 5 afterwards.
@Author M. Reichert
[in] | nr_react | Nr. reactants |
[in] | nr_prod | Nr. products |
Definition at line 244 of file nucstuff_class.f90.
integer function nucstuff_class::get_nr_products | ( | integer, intent(in) | group | ) |
Get number of products of the reaction based on the reaclib chapter.
Returns the number of products in the reaction.
b will be 2 afterwards.
@Author M. Reichert
[in] | group | Reaclib chapter |
Definition at line 344 of file nucstuff_class.f90.
integer function nucstuff_class::get_nr_reactants | ( | integer, intent(in) | group | ) |
Get number of reactants of the reaction based on the reaclib chapter.
Returns the number of reactants in the reaction.
b will be 1 afterwards.
@Author M. Reichert
[in] | group | Reaclib chapter |
Definition at line 300 of file nucstuff_class.f90.
subroutine nucstuff_class::init_nucstuff |
Initialize nucstuff class.
Allocate the partition function array.
Definition at line 39 of file nucstuff_class.f90.
subroutine, public nucstuff_class::inter_partf | ( | real(r_kind), intent(in) | temp, |
real(r_kind), dimension(0:net_size), intent(out) | interpol | ||
) |
Calculates partition function.
The partition functions are interpolated from the temperature grid (stored in t9_data, read from the winvn in benam_class::get_nuclear_properties (index 1-24) and the htpf file in benam_class::read_htpf (index 25-72)) and the tabulated partition functions global_class::isotope%part_func.
Edited:
[in] | temp | temperature [GK] |
[out] | interpol | partition function |
Definition at line 131 of file nucstuff_class.f90.
logical function, public nucstuff_class::is_stable | ( | integer, intent(in) | Z, |
integer, intent(in) | N | ||
) |
Function to decide whether a given isotope is stable or not.
b will be true.
[in] | z | proton number |
[in] | n | neutron number |
Definition at line 64 of file nucstuff_class.f90.
subroutine, public nucstuff_class::masscalc | ( | real(r_kind), dimension(:), intent(in) | Y, |
real(r_kind), intent(out) | m_tot | ||
) |
Total mass used to check the mass conservation.
This subroutine calculates
\[ \mathrm{m\_tot} = \sum A_i \cdot Y_i \]
Edited:
[in] | y | Abundances |
[out] | m_tot | Sum of mass fractions |
Definition at line 383 of file nucstuff_class.f90.
integer, public nucstuff_class::ntgp |
(24/72) Number of temp grid points for the partition functions
Definition at line 17 of file nucstuff_class.f90.
real(r_kind), dimension(:), allocatable, public nucstuff_class::pf |
partition functions
Definition at line 18 of file nucstuff_class.f90.
real(r_kind), dimension(9), public nucstuff_class::t9_pow |
Powers of T, used for the rates.
Definition at line 15 of file nucstuff_class.f90.