![]() |
Module that deals with reaclib reaction rates. More...
Functions/Subroutines | |
subroutine, public | init_reaclib_rates () |
Count and read reaclib reactions. More... | |
subroutine, private | write_reac_verbose_out () |
Write the amount of individual reactions to the out. More... | |
subroutine | read_binary_reaclib_reaction_data (path) |
Read the complete rrate array from a binary file. More... | |
subroutine | output_binary_reaclib_reaction_data (path) |
Save the complete rrate array to a binary file. More... | |
subroutine | calculate_reacl_rate (rrate, rat_calc) |
Calculate a reaclib rate. More... | |
subroutine, public | merge_reaclib_rates (rrate_array, rrate_length) |
Merge the reaclib rates into a larger array. More... | |
subroutine, private | read_reaclib () |
Read reaclib reaction rates. More... | |
subroutine | set_heating_frac (reac_rate_array, length) |
Set the fraction of energy radiated away by neutrinos. More... | |
subroutine, public | set_reaction_type (rr_tmp) |
Set a flag for the reaction type. More... | |
subroutine, private | count_reaclib_rates () |
Count the amount of reaclib reactions. More... | |
Variables | |
integer, private | nrea |
Amount of reaclib rates. More... | |
integer, private | n_w |
integer, private | n_ng |
integer, private | n_gn |
integer, private | n_ap |
integer, private | n_pa |
integer, private | n_o |
integer, private | n_pg |
integer, private | n_gp |
Amount of individual reaction types. More... | |
integer, private | n_np |
integer, private | n_pn |
integer, private | n_ag |
integer, private | n_ga |
integer, private | n_an |
integer, private | n_na |
Amount of individual reaction types. More... | |
integer, private | n_bm |
integer, private | n_bp |
integer, private | n_ad |
integer, private | n_pe |
integer, private | n_ne |
integer, private | n_ec |
Amount of individual reaction types. More... | |
type(reactionrate_type), dimension(:), allocatable, private | rrate_reaclib |
Reaclib reaction rates. More... | |
character(len= *), parameter, private | rrate_binary_name = "rrate.windat" |
Name of the binary file for rrate array. More... | |
real(r_kind), private | infty |
Module that deals with reaclib reaction rates.
This module initializes reaclib reaction rates and stores it into a rate array.
subroutine reaclib_rate_module::calculate_reacl_rate | ( | type(reactionrate_type), intent(in) | rrate, |
real(r_kind), intent(out) | rat_calc | ||
) |
Calculate a reaclib rate.
The rate is calculated according to the reaclib fit function:
\[ \lambda = \exp\left[ a_0 + \sum_{i=1}^5 a_i T_9^{(2i-5)/3} +a_6 \log T_9 \right] \]
Edited:
[in] | rrate | rate instance |
[out] | rat_calc | rate value |
Definition at line 228 of file reaclib_rate_module.f90.
|
private |
Count the amount of reaclib reactions.
After the subroutine has been called nrea will store the amount of reaclib reaction rates.
Edited:
Definition at line 764 of file reaclib_rate_module.f90.
subroutine, public reaclib_rate_module::init_reaclib_rates |
Count and read reaclib reactions.
This subroutine will fill nrea with the amount of reaclib reactions and the rrate_reaclib array with reaction rates from a reaclib file.
Definition at line 44 of file reaclib_rate_module.f90.
subroutine, public reaclib_rate_module::merge_reaclib_rates | ( | type(reactionrate_type), dimension(:), intent(inout), allocatable | rrate_array, |
integer, intent(inout) | rrate_length | ||
) |
Merge the reaclib rates into a larger array.
The subroutine combines a larger rate array with rrate_reaclib. Afterwards it deallocates rrate_reaclib.
[in,out] | rrate_array | Large rate array, containing all reactions |
[in,out] | rrate_length | length of rrate_array |
Definition at line 269 of file reaclib_rate_module.f90.
subroutine reaclib_rate_module::output_binary_reaclib_reaction_data | ( | character(len=*), intent(in) | path | ) |
Save the complete rrate array to a binary file.
This subroutine saves the complete rrate array to a binary file.
Definition at line 193 of file reaclib_rate_module.f90.
subroutine reaclib_rate_module::read_binary_reaclib_reaction_data | ( | character(len=*), intent(in) | path | ) |
Read the complete rrate array from a binary file.
This subroutine reads the complete rrate array from a binary file. The binary file has to be created beforehand. If the binary data is read, no other data has to be read
Definition at line 153 of file reaclib_rate_module.f90.
|
private |
Read reaclib reaction rates.
This routine reads the reaclib file and stores the reactions into rrate_reaclib. An example file looks like:
... li9 be9 wc12w 1.36060e+01 6.501820e-01 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 li11 be11 wc12w 2.05510e+01 2.322150e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ...
Edited:
Definition at line 337 of file reaclib_rate_module.f90.
subroutine reaclib_rate_module::set_heating_frac | ( | type(reactionrate_type), dimension(length), intent(inout) | reac_rate_array, |
integer, intent(in) | length | ||
) |
Set the fraction of energy radiated away by neutrinos.
This subroutine sets the fraction of energy radiated away by neutrinos for each reaction. This is done either by a user defined file, or by a default value.
Definition at line 461 of file reaclib_rate_module.f90.
subroutine, public reaclib_rate_module::set_reaction_type | ( | type(reactionrate_type), intent(inout) | rr_tmp | ) |
Set a flag for the reaction type.
Possible reaction types are
Reaction type | Meaning |
---|---|
rrt_betm | Beta minus |
rrt_betp | Beta plus |
rrt_ec | Electron capture |
rrt_alpd | Alpha-decay |
rrt_nemi | neutron emission |
rrt_pemi | proton emission |
rrt_ng | \((n,\gamma)\) |
rrt_gn | \((\gamma,n)\) |
rrt_ag | \((\alpha,\gamma)\) |
rrt_ga | \((\gamma,\alpha)\) |
rrt_pg | \((p,\gamma)\) |
rrt_gp | \((\gamma,p)\) |
rrt_na | \((n,\alpha)\) |
rrt_an | \((\alpha,n)\) |
rrt_np | \((n,p)\) |
rrt_pn | \((p,n)\) |
rrt_pa | \((p,\alpha)\) |
rrt_ap | \((\alpha,p)\) |
rrt_nu | Neutrino |
rrt_nf | Neutron induced fission |
rrt_bf | \(\beta\)-delayed fission |
rrt_sf | Spontaneous fission |
rrt_o | Other reaction |
Not all flags are set in this routine (for example, neutrino and fission types). The rrt_* variables are defined as preprocessor integer variables in macros.h.
Edited:
[in,out] | rr_tmp | Reaction rate to classify |
Definition at line 568 of file reaclib_rate_module.f90.
|
private |
Write the amount of individual reactions to the out.
The rates are always counted, for a certain verbose level they are also printed to the OUT file
Definition at line 86 of file reaclib_rate_module.f90.
|
private |
Definition at line 24 of file reaclib_rate_module.f90.
|
private |
Definition at line 20 of file reaclib_rate_module.f90.
|
private |
Definition at line 19 of file reaclib_rate_module.f90.
|
private |
Definition at line 19 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Definition at line 20 of file reaclib_rate_module.f90.
|
private |
Definition at line 20 of file reaclib_rate_module.f90.
|
private |
Amount of individual reaction types.
Definition at line 20 of file reaclib_rate_module.f90.
|
private |
Definition at line 19 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Amount of individual reaction types.
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Amount of individual reaction types.
Definition at line 19 of file reaclib_rate_module.f90.
|
private |
Definition at line 20 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Definition at line 19 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Definition at line 20 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Definition at line 19 of file reaclib_rate_module.f90.
|
private |
Definition at line 18 of file reaclib_rate_module.f90.
|
private |
Amount of reaclib rates.
Definition at line 17 of file reaclib_rate_module.f90.
|
private |
Name of the binary file for rrate array.
Definition at line 23 of file reaclib_rate_module.f90.
|
private |
Reaclib reaction rates.
Definition at line 21 of file reaclib_rate_module.f90.