reaclib_rate_module Module Reference

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
 

Detailed Description

Module that deals with reaclib reaction rates.

This module initializes reaclib reaction rates and stores it into a rate array.

Function/Subroutine Documentation

◆ calculate_reacl_rate()

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] \]

See also
nucstuff_class::calc_t9_pow

Edited:

  • 26.07.22, MR: created this subroutine from code parts in jacobian_class.
Parameters
[in]rraterate instance
[out]rat_calcrate value

Definition at line 228 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ count_reaclib_rates()

subroutine, private reaclib_rate_module::count_reaclib_rates
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.

Here is the call graph for this function:

◆ init_reaclib_rates()

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.

Author
M. Reichert
Date
25.01.21

Definition at line 44 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ merge_reaclib_rates()

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.

Returns
Large rate array with new size, containing the reaclib reactions
Author
M. Reichert
Date
25.01.21
Parameters
[in,out]rrate_arrayLarge rate array, containing all reactions
[in,out]rrate_lengthlength of rrate_array

Definition at line 269 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ output_binary_reaclib_reaction_data()

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.

Author
M. Reichert
Date
21.07.23

Definition at line 193 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ read_binary_reaclib_reaction_data()

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

Author
M. Reichert
Date
21.07.23

Definition at line 153 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ read_reaclib()

subroutine, private reaclib_rate_module::read_reaclib
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
 ...
See also
Reaclib file format

Edited:

  • 25.01.21, MR - Moved it from network_init to this subroutine
  • 28.07.22, MR - Introduced new chapters

Definition at line 337 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ set_heating_frac()

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.

Author
M. Reichert
Date
31.03.2023

Definition at line 461 of file reaclib_rate_module.f90.

◆ set_reaction_type()

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 types
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.

Author
M. Reichert

Edited:

  • 25.01.21, MR - Moved it to separate subroutine
Parameters
[in,out]rr_tmpReaction rate to classify

Definition at line 568 of file reaclib_rate_module.f90.

Here is the call graph for this function:

◆ write_reac_verbose_out()

subroutine, private reaclib_rate_module::write_reac_verbose_out
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

Author
M. Reichert
Date
27.01.21

Definition at line 86 of file reaclib_rate_module.f90.

Here is the call graph for this function:

Variable Documentation

◆ infty

real(r_kind), private reaclib_rate_module::infty
private

Definition at line 24 of file reaclib_rate_module.f90.

◆ n_ad

integer, private reaclib_rate_module::n_ad
private

Definition at line 20 of file reaclib_rate_module.f90.

◆ n_ag

integer, private reaclib_rate_module::n_ag
private

Definition at line 19 of file reaclib_rate_module.f90.

◆ n_an

integer, private reaclib_rate_module::n_an
private

Definition at line 19 of file reaclib_rate_module.f90.

◆ n_ap

integer, private reaclib_rate_module::n_ap
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_bm

integer, private reaclib_rate_module::n_bm
private

Definition at line 20 of file reaclib_rate_module.f90.

◆ n_bp

integer, private reaclib_rate_module::n_bp
private

Definition at line 20 of file reaclib_rate_module.f90.

◆ n_ec

integer, private reaclib_rate_module::n_ec
private

Amount of individual reaction types.

Definition at line 20 of file reaclib_rate_module.f90.

◆ n_ga

integer, private reaclib_rate_module::n_ga
private

Definition at line 19 of file reaclib_rate_module.f90.

◆ n_gn

integer, private reaclib_rate_module::n_gn
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_gp

integer, private reaclib_rate_module::n_gp
private

Amount of individual reaction types.

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_na

integer, private reaclib_rate_module::n_na
private

Amount of individual reaction types.

Definition at line 19 of file reaclib_rate_module.f90.

◆ n_ne

integer, private reaclib_rate_module::n_ne
private

Definition at line 20 of file reaclib_rate_module.f90.

◆ n_ng

integer, private reaclib_rate_module::n_ng
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_np

integer, private reaclib_rate_module::n_np
private

Definition at line 19 of file reaclib_rate_module.f90.

◆ n_o

integer, private reaclib_rate_module::n_o
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_pa

integer, private reaclib_rate_module::n_pa
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_pe

integer, private reaclib_rate_module::n_pe
private

Definition at line 20 of file reaclib_rate_module.f90.

◆ n_pg

integer, private reaclib_rate_module::n_pg
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ n_pn

integer, private reaclib_rate_module::n_pn
private

Definition at line 19 of file reaclib_rate_module.f90.

◆ n_w

integer, private reaclib_rate_module::n_w
private

Definition at line 18 of file reaclib_rate_module.f90.

◆ nrea

integer, private reaclib_rate_module::nrea
private

Amount of reaclib rates.

Definition at line 17 of file reaclib_rate_module.f90.

◆ rrate_binary_name

character(len=*), parameter, private reaclib_rate_module::rrate_binary_name = "rrate.windat"
private

Name of the binary file for rrate array.

Definition at line 23 of file reaclib_rate_module.f90.

◆ rrate_reaclib

type(reactionrate_type), dimension(:), allocatable, private reaclib_rate_module::rrate_reaclib
private

Reaclib reaction rates.

Definition at line 21 of file reaclib_rate_module.f90.