![]() |
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.