![]() |
Count the amount of fission rates in half-life format. More...
Go to the source code of this file.
Data Types | |
type | fission_rate_module::fissionrate_type |
fission rate type, designed to save fragment distribution at initialization More... | |
type | fission_rate_module::fragtype |
Modules | |
module | fission_rate_module |
Module to deal with fission reactions. | |
Functions/Subroutines | |
subroutine, public | fission_rate_module::init_fission_rates () |
Initialize the fission reactions. More... | |
subroutine | fission_rate_module::check_fission_mass_conservation |
Check the mass conservation during the fission process. More... | |
subroutine, private | fission_rate_module::reorder_fragments () |
Reorder the fission fragments. More... | |
subroutine, private | fission_rate_module::write_reac_verbose_out () |
Write the amount of individual reactions to the out. More... | |
subroutine, private | fission_rate_module::read_binary_fission_reaction_data (path) |
Read the fission reactions and fragment distributions from a binary file. More... | |
subroutine, public | fission_rate_module::output_binary_fission_reaction_data (path) |
Save the fission data to a unformatted binary file. More... | |
subroutine, public | fission_rate_module::merge_fission_rates (rrate_array, rrate_length, fiss_count) |
Merge fission rates with larger array. More... | |
subroutine, private | fission_rate_module::modify_halflifes (rrate, rrate_length, fissrate_in, nfiss_in) |
Modifies half lifes of beta decays to include fission. More... | |
subroutine, private | fission_rate_module::count_fission_rates () |
Count the amount of fission rates. More... | |
subroutine, private | fission_rate_module::count_fission_rates_reaclib_format (fission_rate_file, count_rates) |
Count the amount of fission rates in reaclib format. More... | |
subroutine, private | fission_rate_module::count_fission_rates_halflife_format (fission_rate_file, count_rates) |
subroutine, private | fission_rate_module::count_fission_rates_probability_format (fission_rate_file, count_rates, nr_cols) |
subroutine | fission_rate_module::add_fission_fragments () |
Initializes the rates with fragments. More... | |
subroutine, private | fission_rate_module::read_fission_rates () |
Read the fission rates, splitted into different types of fission. More... | |
subroutine, private | fission_rate_module::read_fission_rates_reaclib_format (fission_path, reac_type, start_idx) |
subroutine, private | fission_rate_module::read_fission_rates_probability_format (fission_path, reac_type, start_idx) |
subroutine, private | fission_rate_module::read_fission_rates_halflife_format (fission_path, reac_type, start_idx) |
subroutine, private | fission_rate_module::fiss_dist (fissrate_inout) |
Determines fission fragment mass distribution as described in Panov et al. 2001. More... | |
subroutine, private | fission_rate_module::kodtakdist (fissrate_inout) |
Kodama-Takahashi distribution. More... | |
subroutine | fission_rate_module::read_fiss_fragment_file (file, fragment_array) |
subroutine | fission_rate_module::file_fiss_frag (fissrate_inout, missing_frags) |
Fill the rates with the correct fragments. More... | |
subroutine, private | fission_rate_module::abla_nfiss (pos, mass, pnr, neutfission, qval) |
Calculates the (neutron-induced) fission fragment mass distribution according to the ABLA07 model: Kelic, Ricciardi, & Schmidt (arXiv:0906.4193) More... | |
subroutine, private | fission_rate_module::abla_betafiss (pos, mass, pnr, betafission, qval) |
Calculates the (beta-delayed and spontaneous) fission fragment mass distribution according to the ABLA07 model: Kelic, Ricciardi, & Schmidt (arXiv:0906.4193) More... | |
Variables | |
type(fissionrate_type), dimension(:), allocatable, public | fission_rate_module::fissrate |
Array storing fission reactions. More... | |
real(r_kind), dimension(:,:), allocatable, private | fission_rate_module::beta_delayed_fiss_probs |
integer, private | fission_rate_module::amount_cols |
Amount of columns in the beta-delayed fission file. More... | |
character(len= *), parameter, private | fission_rate_module::fiss_binary_name ='fiss_rates.windat' |
Name of the binary file containing the fission rates. More... | |
type(fragtype), dimension(:), allocatable, private | fission_rate_module::fissfrags_n_induced |
Array storing fragment distributions of neutron-induced fission from file. More... | |
type(fragtype), dimension(:), allocatable, private | fission_rate_module::fissfrags_spontaneous |
Array storing fragment distributions of spontaneous fission from file. More... | |
type(fragtype), dimension(:), allocatable, private | fission_rate_module::fissfrags_beta_delayed |
Array storing fragment distributions of beta-delayed fission from file. More... | |
integer, parameter, public | fission_rate_module::fiss_neglect =5 |
Amount of fission fragments not to be neglected. More... | |
integer, public | fission_rate_module::nfiss |
Amount of fission rates. More... | |
integer, private | fission_rate_module::nfiss_spont |
Amount of spontaneous fission rates. More... | |
integer, private | fission_rate_module::nfiss_n_ind |
Amount of neutron induced fission rates. More... | |
integer, private | fission_rate_module::nfiss_bdel |
Amount of beta-delayed fission rates. More... | |
integer, private | fission_rate_module::nufiss |
total number of fission neutrons More... | |
integer, private | fission_rate_module::n_nf |
integer, private | fission_rate_module::n_bf |
integer, private | fission_rate_module::n_sf |
Amount of individual reactions. More... | |
Count the amount of fission rates in half-life format.
Read the fission distribution from a file.
Read fission rates in half-life format.
Read the fission rates in probability format.
Reads fission rates in Reaclib format.
Count the amount of fission rates in probability format.
The error file code for this file is W19. Contains the module fission_rate_module
This subroutine counts the amount of fission rates in half-life format and stores the result in count_rates. This is necessary to allocate the fission array with the correct length. The subroutine can be called for spontaneous and beta-delayed fission. An example of an entry can be:
th198 4.760787e-09 kh20 th199 2.808520e-08 kh20 th200 2.841403e-08 kh20 ...} where the first columns gives the nucleus, the second the halflife in seconds and the third the source. Note that in this format, no beta-delayed neutrons can be specified.
This subroutine counts the amount of fission rates in probability format and stores the result in count_rates. This is necessary to allocate the fission array with the correct length. The subroutine can be called for beta-delayed fission. An example of an entry can be:
pa291 mp18 0.000 0.008 0.000 0.015 0.000 0.018 0.000 0.025 0.000 0.003 pa292 mp18 0.000 0.001 0.002 0.000 0.004 0.000 0.006 0.000 0.018 0.000 pa293 mp18 0.239 0.001 0.000 0.009 0.000 0.010 0.000 0.014 0.000 0.009 ...} where the first line of an entry gives nucleus name and the source. The second line gives the probabilities of the fission channels (i.e., P0nf, P1nf, ...). Note that there is a maximum number of columns (i.e., neutron emission) set to 30 here. Throughout the file, the amount of possible channels have to stay the same, but they can be different for two different files. For example, for Panov et al. 2005 the file could look like:
u259 pa05 0.990 u260 pa05 0.020 u261 pa05 0.990 ...}.
This subroutine reads the fission rates that are specified in the file parameter_class::fission_rates. Fission rates are implemented with the same fits and a similar format as usual reaclib rates (see reaclib_rate_module::read_reaclib). An example looks like:
th256 ms99w 0.00000E+00 1.988512E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 th257 ms99w 0.00000E+00 -1.483947E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 ...} The chapter structure is the same as in reaclib, but only the parent nucleus has an entry. The products are given by the respective fission fragment distribution.
Edited:
This subroutine reads fission rates in probability format and stores the result in count_rates. The subroutine can be called for beta-delayed fission and will throw an error for other types of fission. An example of an entry can be:
pa291 mp18 0.000 0.008 0.000 0.015 0.000 0.018 0.000 0.025 0.000 0.003 pa292 mp18 0.000 0.001 0.002 0.000 0.004 0.000 0.006 0.000 0.018 0.000 pa293 mp18 0.239 0.001 0.000 0.009 0.000 0.010 0.000 0.014 0.000 0.009 ...} where the first line of an entry gives nucleus name and the source. The second line gives the probabilities of the fission channels (i.e., P0nf, P1nf, ...). Note that there is a maximum number of columns (i.e., neutron emission) set to 30 here. Throughout the file, the amount of possible channels have to stay the same, but they can be different for two different files. For example, for Panov et al. 2005 the file could look like:
u259 pa05 0.990 u260 pa05 0.020 u261 pa05 0.990 ...}.
This subroutine reads fission rates in half-life format. The subroutine can be called for spontaneous and beta-delayed fission and throws an error otherwise. An example of an entry can be:
th198 4.760787e-09 kh20 th199 2.808520e-08 kh20 th200 2.841403e-08 kh20 ...} where the first columns gives the nucleus, the second the halflife in seconds and the third the source. Note that in this format, no beta-delayed neutrons can be specified.
The fission distribution is read from a file and stored in the fragment_array. The default file contains the fission distribution according to Mumpower et al. (2020). However, the format has been modified compared to the original publication. An example of the file looks like:
93 220 574 0 0 0 019 048 1.96607e-06 020 048 2.24289e-05 020 049 1.88041e-05 020 050 7.65944e-06 } The first line contains the Z, A and number of the fissioning nucleus. The next line is a dummy line. Then followed by Z, A and the yield Y(Z,A). Note that \(\sum Y(Z,A) \cdot A \) should be the mass number of the parent nucleus. Furthermore, \(\sum Y(Z,A) = 2\) in case 2 fragments are created. A large part of the subroutine deals with the problem what to do if the fragment is not included in the network. In case of a nucleus heavier than the ones contained in the network, the fragment is split into a lighter isotope plus neutrons. For lighter nuclei where neutrons would be necessary to create a nucleus that is in the network, the neutrons are "borrowed" from the heaviest fragment. This latter case should almost never happen. If the remapping fails for some reason, an error will be raised.
Definition in file fission_rate_module.f90.