//////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/30 (Version 2.04.038 -> 2.05.000) Version number is modified for the release of new version. Though many files were modified to process nuclear data files in the ENDF/B-VIII.1 library, the processing of the folliwing nuclides are still not correct. Stop with fatal error n-038_Sr_088.endf The cross sections are not correct. (There are some problems in the resonance recosntruction.) n-014_Si_029.endf n-045_Rh_103.endf n-094_Pu_239.endf Further modifications are required to process the above nuclear data files. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/29 (Version 2.04.037 -> 2.04.038) The new multi-group output option "UFG1DXSinputgrid" was newly added in the multi-group cross section generation. This option outputs the 1D ultra fine group cross section with the user specified input grid. The old version only outputs the 1D ultra fine group cross section with processed energy grid. (using UFG1DXS option) The new version can outputs the 1D ultra fine group cross section with user specified input grid in "mg_ufg_structure". //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/23 (Version 2.04.036 -> 2.04.037) The resonance reconstructed cross section of some nuclides in the ENDF/B-VIII.0 library was oscilated. The cause of this problem is very narrow energy grid. To avoid this problem, get_base_grid and add_reso_xs functions were modified. Large differences were found in the boundary of the resonance region in some nuclides from the ENDF/B-VIII.1 library. To remove this difference, the calculation of the cross section at the boundary of the resonance region was skipped. The source file was modified to adopt the latest version of AMUR (Sprout 0.00.09). The warning message in the modify_xs_data function was modified. The warning message in the store_lru01_lrf07 function was modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/16 (Version 2.04.035 -> 2.04.036) MOSRA-SRAC-200 group structure (ign=109) was newly added. The bug of MF9 data checker in the set_xs_data function was modified. - int mf = (mt % 10000) / 100; + int mf = (mt % 10000) / 1000; //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/11 (Version 2.04.034 -> 2.04.035) The AMUR module in the ReconResonance/RmatrixLimited directory was appdated to the latest version (Sprout 0.00.09). //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/10 (Version 2.04.033 -> 2.04.034) The divide_minus_value function was newly added in the StringUtils class to treat continuous data such as "1-102" for plot tool. The old version requires space before the minus "-" such as "1 -102" or "1 - 102". The old version uses "mf_list" and "mt_list" to output specified MF/MT number. The new version can use "mf" and "mt". ContinuousEnergyXSUtils/AceDataGenerator/ThermalScatterAceDataGenerator.cpp> These classes were modified to treat LTHR = 3 (for mixed coherent and incoherent elastic scattering). The old version use atomic number for principal atoms written in ThermalScatterMatData class. The new version use this value in the ENDF-6 formatted file (B(4)=M0 of MF=7/MT=4). //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/09 (Version 2.04.032 -> 2.04.033) The divide_minus_value function was newly added in the StringUtils class to treat continuous data such as "1-102" for plot tool. The old version requires space before the minus "-" such as "1 -102" or "1 - 102". The old version uses "mf_list" and "mt_list" to output specified MF/MT number. The new version can use "mf" and "mt". //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/08 (Version 2.04.031 -> 2.04.032) The new MAT numbers used in ENDF/B-VIII.1 were added. Since some MAT number of TSL data were duplicated as follows: MAT = 41: H in Paraffinic Oil (B81) / O in D2O MAT = 59: Si (mono-crystal) (F33) / Ca in CaH2 MAT = 48: O in Al2O2 (F33) / U in UO2 The old version ignored duplicated MAT number. The new version can treat such duplicated MAT number. The new version checks the MAT number of principal atom and MAT number of nuclear data file. The new data (MF=7/MT=451) is used in ENDF/B-VIII.1. MF07MT451Parser, MF07MT451Converter, and MF07MT451Writer classes were newly added to treat MF=7/MT=451 data. Endf6Parser, Endf6ParserNoCov, Endf6Converter, Endf6Writer, and ThermalScatterDataContainer classes were modified to treat MF=7/MT=451 data. ENDF/B-VIII.1 uses new format LTHR = 3 (for mixed coherent and incoherent elastic scattering). These classes were modified to treat LTHR = 3. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/03 (Version 2.04.030 -> 2.04.031) The data format of the header part of the ACE file was modified. (Add a brank character before title_data.) - line_data = line_data + oss01.str() + " " + oss02.str() + title_data[1]; + line_data = line_data + oss01.str() + " " + oss02.str() + " " + title_data[1]; To treat above modification in the AceFileWriter class, the AceFileReader class was modified. The new version outputs ACE file twhen ace_file_name or ace_file_name_tsl was found in the input file when FRENDY generates the multi-group cross section file from the nuclear data file. The clear_ace_file_name function was newly developed to clear the ACE file name. This function is used in the process_nucl_data_mg_tsl() function in the NuclearDataProcessorByFrendyInput class. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/02 (Version 2.04.029 -> 2.04.030) This class was modified to process n-000_n_001.endf (ENDF/B-VIII.0 and ENDF/B-VIII.1). The old version does not consider the case where the lowest scattered neutron energy is zero. The new version added handling for the case wehere the scattered neutron energy is zero. These multi-group structure name are added in the check_mg_structure_mode function. "shem-281", "shem-295", "shem-361", "shem-315", and "rahab-89" //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Oct/01 (Version 2.04.028 -> 2.04.029) To process ENDF/B-VIII.1 nuclides, the set_particle_production_ene_data_by_ene_angle_data_continuum function in FastAceDataGenerator class was modified. The new vesion add dummy particle_prod_ene_out_coef_a and particle_prod_ene_out_coef_b data when ene_flg != 61. This modification affects the following nuclides: n-032_Ge_074_293.endf n-045_Rh_103_293.endf n-062_Sm_149_293.endf n-064_Gd_157_293.endf n-032_Ge_070_293.endf n-032_Ge_076_293.endf n-060_Nd_143_293.endf n-064_Gd_152_293.endf n-032_Ge_072_293.endf n-060_Nd_145_293.endf n-064_Gd_153_293.endf n-032_Ge_073_293.endf n-042_Mo_095_293.endf n-062_Sm_147_293.endf n-064_Gd_155_293.endf The old version can not read MF=2/MT=251 data of n-038_Sr_088_293.endf from ENDF/B-VIII.1 since the data format of LBK in LRF=7 was changed. To treat n-038_Sr_088_293.endf, these classes were modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Sep/20 (Version 2.04.027 -> 2.04.028) SRAC-107 group structure (ign=107) and SRAC-108 group structure (ign=108) were newly added. SRAC-108 group structure just added 10MeV-20MeV. NJOY input format also can treat these group structures. The new version outputs cross section data (DATA1) from double differential cross section (DATA2). The new version summarize DATA2 to generate DATA1. The new version outputs the background cross section value in the output file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Sep/18 (Version 2.04.026 -> 2.04.027) The new vesion skips the Doppler broadening calculation when MT = 1018, 1452-1456, 9001-9999. The output of the Doppler broadened MT number was newly added. The old version shows runtime error when the cross section data size is zero. The new version skips this MT number. The new version outputs runtime error when FRENDY cannot open the output file. The new version outputs the available temperature list when the input temperature is largely different to the temperature list. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Sep/09 (Version 2.04.025 -> 2.04.026) The old version runs FRENDY with input file name. The new version runs FRENDY with > input_data. The user can run FRENDY from their C++ code if user prepares input data. The calculation algorithm of the fission spectrum is modified. The old version merges fission spectrum using fission cross section (sf) reaction rate. The new version merges fission spectrum using production cross section (nu*sf) reaction rate. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Sep/04 (Version 2.04.024 -> 2.04.025) The following functions were newly added to merge fission spectrum using fission reaction weight. KramCommonData merge_kram(vector kram_obj, vector weight_vec, vector > flux_vec, int mat_no) KramFspData merge_fsp(vector fsp_obj, vector weight_vec, vector > flux_vec, int mat_no) vector > get_sf_vec(vector& kram_obj, vector >& flux_vec) The warning message is newly added in the merge_xsn, merge_fsp, and merge_asc functions to check the data size of weight_vec. The normalization was newly added int the merge_fsp functions. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Sep/02 (Version 2.04.023 -> 2.04.024) The bug in the normalize_tab1_data_without_data_check function was modified. The old version skips the normalization when the all y data is less than 1.0. The modification is as follows: - if( static_cast(y_data[i]) > min_value ) + if( fabs(y_data[i]) > min_value ) //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/28 (Version 2.04.022 -> 2.04.023) Calculation algorithm of merge_fsp function was modified. The new function devide total weight data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/27 (Version 2.04.021 -> 2.04.022) The bug in the merging coherent elastic scattering cross section was modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/26 (Version 2.04.020 -> 2.04.021) The F-19 from JENDL-5 (n_009-F-019.dat) has particle production cross section (MF=3) and its yield (MF=6) by MT=203-207 (below 20 MeV) and MT=5 (above 20 MeV). Though the cross section value from MT=203-207 becomes zero at 20 MeV, the yield data is not zero above 20 MeV. FRENDY (and NJOY) calculates gas production cross section (MT=203-207) using MT=5 and other reaction cross sections in the code. The gas production cross section calculated by FRENDY is not zero above 20 MeV. The total production cross section in the HPD block in the ACE formatted file is duplicated above 20 MeV since this cross section is calculated by MT=5 and MT=203-207 (calculated from MT=5). To avoid this problem, the new version checks the total production cross section. If the total production cross section is not zero, FRENDY skips adding the production cross section from MT=203-207 and outputs the warning message. The gas production cross section in the SIG block (MT=203-207) is set to zero where the total production cross section is not zero. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/23 (Version 2.04.019 -> 2.04.020) The bugs in the store functions was modified. The bug in the generate_absorption_xs function was modified. The calculation algorithm of the production cross section (sigma-p) calculation was modified. Old version: sigma-p = fis * sigma-f (fis: fission spectrum) New version: sigma-p = nu_tot * sigma-f The get_fission_spectrum function was newly added. The bug in the merge_tsl_data_to_total function was modified. The get_neutron_absorption function was modified. In the new version, the neutron absorption number is zero when MT=1, 258, 259, 221-250, or 201-218. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/16 (Version 2.04.018 -> 2.04.019) The vector get_DATA2(int sigz_no, int pl_no) function was newly deveplope. The warning mesage in check_data function was newly added. The old version does not output the runtime error when MT number is different. The modify_inelastic_scattering function was newly developed. KramUtils class was newly added to convert the energy grid structure from GENDF to KRAM. The set_XX_from_gendf function was newly added in KramXsnData, KramFspData, and KramAscData. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/15 (Version 2.04.017 -> 2.04.018) To get arbitrary backgrouund and Legendle numbers data, following functions were newly developed. vector get_DATA1(vector > >& data1_vec, int sigz_no, int pl_no) vector get_DATA1(int sigz_no, int pl_no) vector get_DATA1_fill_data(int sigz_no, int pl_no) vector > get_DATA2_NG2(vector > > >& data2_vec, int sigz_no, int pl_no) vector > get_DATA2_NG2(int sigz_no, int pl_no) vector > get_DATA2_NG2_fill_data(int sigz_no, int pl_no) The merge_read_obj function was modified to copy the NG2, IG2LO, and IG data. The generate_absorption_xs function was modified to skip MT=251-253 data (Mu, Xi, and Gamma). Some bugs in modify_elastic_scattering function were fixed. To tread Kram file correctly, set_ng functions in the KramXsnData, KramFspData, and KramAscData classes were modified. The set_fsp function was modified. The new version set 0.0 if the data number of fsp is zero. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/11 (Version 2.04.016 -> 2.04.017) The KramCompare class was newly added to compare the KRAM file. The KramMerger class was newly added to merge the multiple KRAM file into the one file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/10 (Version 2.04.015 -> 2.04.016) These new classes (files) were newly added to treat the KRAM formatted file. The following functions were newly added to treat the KRAM data. vector divide_string_data_by_space_code(string str_data) vector read_data(vector& text_vec, int& line_no) vector read_data(vector& text_vec, int& line_no, int& str_no) The warning message in the check_common_input_output_file_name function was modified. (spell miss: user do not -> user does not) The Warning message in the set_file_name function was modified. (spell miss: no endf file -> no MATXS file) //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/09 (Version 2.04.014 -> 2.04.015) This class was newly developed. This class is used to generate the cross section files for the KRAM formatted data. The get_DATA2_NG2_fill_data function was modified. The new function check the ng2 data. The get_DATA2_integ function was newly added to generate the KRAM formatted data. The merge_tsl_data function was moved to GendfXsDataModifier class. The number of neutons in MT=5 in the get_neutron_absorption function was modified from 1 to -1000 to avoid the unexpected bug. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Aug/06 (Version 2.04.013 -> 2.04.014) Some functions were modified. This class is underdevelopment and will require further modifications. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jul/31 (Version 2.04.012 -> 2.04.013) The GENDF output function for MT=252 and 253 was modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jun/19 (Version 2.04.011 -> 2.04.012) This class was newly developed to merge GENDF files. This class is underdevelopment and will require further modifications. These classes were modified for the GendfMerger class. sort_all_mf_data() and sort_mfXX_data() functions were newly added. These functions change the order of the MT numbers in ascending order. set_mfXX_data(GMFXXParser parser_obj) functions were newly added to easily added the specified MT data. Error messages in the check_data function were modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jun/17 (Version 2.04.010 -> 2.04.011) The angular distribution perturbation function is newly added. This function was developed by Shuhei MARUYAMA. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jun/17 (Version 2.04.009 -> 2.04.010) To treat Be-9 from JEFF-3.3 and Be-9 from ENDF/B-V, these classess are modified. These nuclide has MT=875-891 (Be-9 from JEFF-3.3) and MT=6-9 (Be-9 from ENDF/B-V) instead of MT=16 to show the (n, 2n) reactions. The old version does not consider the (n, 2n) reaction when MT=16 is not exist. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jun/12 (Version 2.04.008 -> 2.04.009) To reduce the number of lines, if statements in the get_emission_no_n function are modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jun/11 (Version 2.04.007 -> 2.04.008) mt_X_min_endfY and mt_X_max_endfY were added to use identical MT number of (z,p'), (z,d'), (z,t'), (z,3He'), and (z,alpha'). The MT number from ENDF-5 was modified since the previous version does not considered the continuum, i.e., MT=719, 739, 759, 779, and 799. The following functions were newly added. get_emission_no_n, get_neutron_absorption, get_lib_format, get_related_reaction_type //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/29 (Version 2.04.006 -> 2.04.007) The interpolation laws for quadratic interpolation (1001 for temperature interpolation) and monotone cubic interpolation (1002 for background cross section interpolation) are newly added. This class was modified to treat quadratic and monotone cubic interpolations. The checker function whether interpolation law is available or not was added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/28 (Version 2.04.005 -> 2.04.006) The linearization process was modified to avoid the overlap of the x-grid. The old version considered that x-grid is double precision. In this case, the x-grid may be overlapped when the x-grid was converged to the 11 digits ENDF-6 format. The new version converges 11 digits before linearization. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/27 (Version 2.04.004 -> 2.04.005) The GendfInterpolator class was modified to treat quadratic function interpolation for the temperature interpolation. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/23 (Version 2.04.003 -> 2.04.004) The GendfInterpolator class was newly added to interpolate sigz and temperature data. get_NSIGZ(), get_NGN(), and get_NGG() funtion were modified. set_read_obj(frendy::GMFxxParserBase read_gendf_obj) funtion was newly added to directory handle the GMFxxParserBase class in the interpolation process. remove_DATA2_NG2_zero_data() and get_DATA2_NG2_fill_data() functions were newly added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/21 (Version 2.04.002 -> 2.04.003) The processing mode "ace_file_generation_tsl_mode" "ace_thermal_scattering_mode" were added to generate TSL type ACE files. The processing mode "mg_file_generation_thermal_scattering_mode" "mg_file_generation_thermal_scatter_mode" "mg_file_generation_tsl_mode" "mg_thermal_scattering_mode" "mg_thermal_scatter_mode" were added to generate TSL type GENDF files. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/21 (Version 2.04.001 -> 2.04.002) The warning message in the get_moderator_za_data function was modified. The bug to generate multi-group data from continuous data is modified. The two-dimensional data output of the MF=3/MT=452, 455, 456 (nu-t, nu-d, nu-p) was modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/14 (Version 2.04.000 -> 2.04.001) The old version does not confirm the MAT number in the ACE file. The new version reads this MAT number and sets as the defarult MAT number. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/08 (Version 2.03.008 -> 2.04.000) Version number is modified for the release of new version. In the NJOY2016 manual Sec. 8.17 GENDF Output, "The last LIST record in the sequence is the one with IG=NGN. It must be given even if its contents are zero." The old version does not outputs when the Emax data is zero. The new version outputs Emax data even if the Emax data is zero. This modification affects MF=16/MT=51 of B-11, N-14, N-15, F-19, Al-26, and P-31 from JENDL-5. The old version ignored "mg_mat_no" when it process thermal scattering law data. This option was only available for the neutron induced data. The new version modify material number when "mg_mat_no" option was used. Output file name in the output_1d_data function is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/May/01 (Version 2.03.007 -> 2.03.008) The output function is newly added. This function outputs the number of resonance energy grids after the processing of ResonanceEnergyGridLinearizer class. This new function is added to unexpected additional energy grid larger than the highest energy grid. This problem depends on a compiler. This problem is found in U-235 from JEFF-3.3 library when GCC 8.5.0 is used. This problem is not found when GCC 4.8.5 is used. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Apr./19 (Version 2.03.006 -> 2.03.007) The old version stops processing and outputs error message when MAT ID and ZAID of ACE file is different. The new version outputs warning message but continues processing. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Apr./05 (Version 2.03.005 -> 2.03.006) The bugs to generate unified_energy_grid in Ver. 2.03.004 are modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Apr./04 (Version 2.03.004 -> 2.03.005) The processing method for LAW=66 (N-phase distribution) is modified. This modification only affects H-3 (n, 3n) reaction from JEFF3.1. The old version checks NR in NXS Arrary (Number of reactions having secondary neutrons excluding elastic scattering) and TY in TYR block (Particle release for reaction). The old version stopped the calculation when the NR is not equal to the number of non-zero TY. The processing was stopped in some nuclides from ENDF/B-VI.8 (2228, 2231, 4931, 9634, and 9640) due to this inconsistency. The new version outputs the warning message and continues the processing. This modification does not affect the latest nuclear data libraries. The output message was modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Apr./03 (Version 2.03.003 -> 2.03.004) The calc_reso_xs_bw_multi function was modified to change the calculation of Aj number. The new version modifies Aj number when it is the out of range of the data size of sigj. The unify_energy_grid function was modified. In the old version, the number of energy grid is not identical when the threshold reaction or the maximum energy of this reaction data is less than that of the othre reactions. The new version use identical energy grid for the latter process. This modification only affects the old library such as W-nat from ENDF/B-VI.8. The search_dop_ene_max() function was modified to confirm the energy region of LRU=0 in the PENDF file. The normalize_tab1_data_without_data_check function was modified. The old version assumpts that the table data is non zero data. Some nuclides such as n-Au198m and n-Cs124m from TENDL-2023 has all zero table data. This function was modified to treat such special table data. The new version skips the normalization and outputs the warning message when the all y-data in the table data are zero. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Mar./22 (Version 2.03.002 -> 2.03.003) The old version does not use two-dimensional interpolation for the secondary energy distribution interpolation. The new version use MCE interpolation for the secondary energy distribution interpolation. This difference affects the secondary energy distribution around the threshold energy such as U-235 from JENDL-4.0, MT=16 (n, 2n) reaction. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Mar./14 (Version 2.03.001 -> 2.03.002) The plot function for the dosimetry ACE file is newly added. This function outputs cross section (MF=3) and radiative production cross section (MF=10) in the dosimetry ACE file. The output file name is "output"_mfXX_mtYYY_ZZ (ZZ:state no). The checker function is added to confirm the data type of the ACE file. The old version only outputs the cross section data in MF=3. The new version outputs the multiplicities of radiative products in MF=9 and radiative production cross section in MF=10, and number of neutrons per fission (MF=1/MT=452, MT=455, and MT=458). The old version outputs the double differential cross section in each Legendre order. The new version outputs linearized Legendre polynomials in each incident and outgoing neutron energy. The output file name is "output"_einXXX_eoutYYY_sigzZZZ. The make command is modified to compile the code. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jan./29 (Version 2.03.000 -> 2.03.001) The old version does not output each background cross section data. The old version only outputs the largest background cross section data. The old version does not output the high order Lgendre data when it outputs double differential cross section. The new version outputs all background cross section data and the higher order Legendre data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jan./18 (Version 2.02.006 -> 2.03.000) FRENDY manual is updated. The input parameters and sample input data for the cross section output tool were newly added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jan./17 (Version 2.02.005 -> 2.02.006) The input parameter of output cross section tool was modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jan./16 (Version 2.02.004 -> 2.02.005) These files were newly developed to generate x-y data from ENDF, GENDF, and ACE formatted files from FRENDY's input file. These files were modified to treat PlotDataByFrendyInput class. Following functions were added: int get_ace_data_type_from_ace_file(string ace_file_name) int get_ace_data_type(string ace_file_name) Real get_awr(string ace_file_name) Real get_temp(string ace_file_name) get_ace_data_type and get_ace_data_type_from_ace_file checks the title of the ACE file and returns the data type of the ACE file such as continuous-energy neutron data and thermal scattering law data. get_awr and get_temp returns atomic weight ratio (AWR) and temperature from the header of the ACE file. The calc_doppler_broadened_xs_from_xs_table function was newly developed. This function calculates Doppler broadened cross section from (ene, xs) tables. "vector get_nearby_temp_data(Integer mat, Real temp)" was newly added. This function returns the ENDF data even if "temp" is different to the temperature in the ENDF file. Note that temp is larger than the temperature in the ENDF file. If two different tempearture data (293.6 K and 300.0 K) are included in one ENDF file and "temp" is 294.0 K, the returned temperature data is 300.0 K. //////////////////////////////////////////////////////////////////////////////////////////////////// 2024/Jan./12 (Version 2.02.003 -> 2.02.004) The old program cannot treat "endf_file_name" and "endf_file_name_tsl" to set the ENDF or PENDF file. To set the ENDF or PENDF file, user has to use "nucl_file_name" and "nucl_file_name_tsl". To treat "endf_file_name" and "endf_file_name_tsl", input file reader classes were modified. The new program can treat "nucl_name", "endf_name", "nucl_name_tsl", and "endf_name_tsl". The warning message in the comp_tot_prod_xs_and_mod_tot_xs function was modified. The warning message in the calc_bound_scattering_xs and comp_scat_xs_tot functions were modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Nov./28 (Version 2.02.002 -> 2.02.003) There are two ways to input the suffix ID of the ACE file, such as 01 of ace.01c. When the inputted suffix ID is less than 1.0, the inputted suffix ID was used. When the inputted suffix ID is larger than 1.0, the inputted suffix ID was devieded by 100. (e.g., 10 -> 0.10) The old version does not divided the suffix ID when the inputted suffix ID is equal to 1.0. The available suffix ID is from .00 to .99. The ACE file name becomes incorrect when the inputted suffix ID is equal to 1.0. To avoid this problem, new program divides the inputted suffix ID when the inputted suffix ID is larger than 0.999999. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Oct./23 (Version 2.02.001 -> 2.02.002) The number of principal atoms (atom_no_principal) of H in CaH2 is modified from 2 to 1. This change was made by the following comment in the JEFF-3.3 library: "Thermr: icoh 0, natom 1, mtref 237 8 1451 51" //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Sep./12 (Version 2.02.000 -> 2.02.001) The very small cross section and very small energy grid distance affect the adding energy grid function in the linearization process. To avoid endless loop, the check_energy_grid_distance function was modified. The adding middle energy grid was skipped when cross section is very small or energy grid width is so small. This problem was found in As075.dat from JENDL-4.0 and n_068-Er-167_u20.dat from JENDL-5. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Aug./22 (Version 2.01.016 -> 2.02.000) FRENDY manual is updated. The sample input files for the gas cooled reactor are newly added in Secs. 1.5.1 and 1.5.2. The saimple input data to calculate IR parameter is newly added in Sec. 1.5.7. Comment lines are added why we set temp_err=2%. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Aug./15 (Version 2.01.016 -> 2.01.017) The energy distribution at the threshold energy sometimes not correct. For example, the energy distribution at the threshold energy in MF=6/MT=16 data (n_047-Ag-109.dat from JENDL-5) is as follows: ================================================================================ 4.710900+4 1.079690+2 0 2 2 04731 6 16 1 1.000000+0 1.000000+0 0 1 1 34731 6 16 2 3 2 4731 6 16 3 9.277290+6 2.000000+0 2.000000+7 2.000000+0 2.000000+8 2.000000+04731 6 16 4 0.000000+0 0.000000+0 1 2 1 84731 6 16 5 8 22 4731 6 16 6 0.000000+0 9.277290+6 0 0 6 34731 6 16 7 0.000000+0 0.000000+0 5.000000-1 2.000000+0 1.000000+0 0.000000+04731 6 16 8 0.000000+0 1.000000+7 0 4 60 104731 6 16 9 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+04731 6 16 10 2.500000+4 1.346599-6 0.000000+0 0.000000+0 0.000000+0 0.000000+04731 6 16 11 1.000000+5 2.339524-6 1.497489-9 1.00810-10 4.85843-12 1.82022-134731 6 16 12 2.000000+5 2.570804-6 2.672296-9 1.82076-10 8.88182-12 3.36791-134731 6 16 13 3.000000+5 2.069938-6 3.143433-9 2.16743-10 1.07001-11 4.10597-134731 6 16 14 4.000000+5 1.418572-6 2.960810-9 2.06569-10 1.03192-11 4.00665-134731 6 16 15 5.000000+5 8.795857-7 2.297100-9 1.62142-10 8.19517-12 3.21917-134731 6 16 16 6.000000+5 3.131369-7 1.029728-9 7.35258-11 3.75953-12 1.49386-134731 6 16 17 7.000000+5 4.751993-8 1.80636-10 1.30459-11 6.74748-13 2.71184-144731 6 16 18 7.160808+5 0.000000+0 0.000000+0 0.000000+0 0.000000+0 0.000000+04731 6 16 19 ================================================================================ In the above case, the first and the second energy distribution is largely different. FRENDY interpolates the energy distribution betweenn 9.277290+6 eV and 1.000000+7 eV using these data. In this case, the energy distribution arround the thresold energy may not correct. To avoid this problem, modify_dlwp_eout_data_threshold_ene function was added in this class. This function checks the first distribution and modifies the first distribution when the first distribution is largely different to the second one. The old version commentted out the output of MF=13 data. The new version can select the output of MF=13 data using add_mf13_data_flg. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jul./26 (Version 2.01.015 -> 2.01.016) The new version outputs the high order Legendre data in MF=16. Note that the calculation of the higher oder Legendre data is skipped and only 0.0 value is added in the GENDF file. The old version skipped the calculation of MF=10/MT=102. The MF=3/MT=102 data is calculated by the resonance parameter. The MF=10 data is calculated in the NonResonanceEnergyGridLinearizer class. The new version added additional treatment to calculate the MF=10/MT=102 data in the ReconstructXSMerger class. The new function "string get_string_num(int int_val, int int_max)" was newly added. This function returns string data, e.g., 01, 001, 0001. If you want to know the detail of this function, please see the test file (CommonUtils/StringUtilsTest.cpp). //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jul./14 (Version 2.01.014 -> 2.01.015) The bug of the :calc_equal_probability_table_by_tabulated_probability_data function is modified. Old version only modify x_data. The number of x_data elements are different to that of y_data elements. This problem is occured when the number of bins for MCE two dimensional interpolation is large. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jul./03 (Version 2.01.013 -> 2.01.014) The available mfd number in the old version is less than 100. In the GROUPR module, nzzzaaam can be used in the mfd number to generate the multi-group production cross section. The new version add the multigroup production cross section generation function. Note that available "n" in nzzzaaam is 1 (file 3), 3 (file 9), and 4 (file 10). 2 (file 6) is not available in this program. This function is now only available for the NJOY input format. The FRENDY input format should be prepared to generate the multi-group production cross section with FRENDY input format. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jul./03 (Version 2.01.012 -> 2.01.013) The generation function of xi and gamma which are the generalized slowing-down parameters were newly developed. The calculation theory of xi and gamma are obtained from Reference [1] (see Eqs. (A.6) and (A.7)). The equations used in Reference [1] are also found in the recent report [2] (see Eq. (9)). Note that the mu-c which is the cosine of the scattering angle in the center-of-mass system is not used. Eq. (8.37) in Reference [3] is used to calculate mu-c. References [1] H. Yamamoto and S. Ito, "New Continuous Slowing-Down Theory for Fast Reactor Spectra," J. Nucl. Sci. Technol., 9[11], pp.662-669 (1972). [2] E. W. Larsen and C. Ahrens, "The Greuling-Goertzel and Wigner approximations in the theory of neutron slowing down," Ann. Nucl. Energy, 28, pp.1809-1824 (2001). [3] K. Kobayashi, "Genshirobutsuri," Corona-sha, Tokyo, p.515 (1996) (in Japanese). //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jun./29 (Version 2.01.011 -> 2.01.012) These classes are modified to remove the unphysical double differential cross section at higher secondary energy region. The impact of these modification on the neutronics calculation is negligible since this unphysical double differential cross section is very small. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jun./27 (Version 2.01.010 -> 2.01.011) The djust_overlap_grid(vector& x_grid) function was newly added. This function modifies x_grid to remove the overlap grid when the opverlapped grid is found. The modify_product_yield function was newly added to remove the overlap grid using the above adjust_overlap_grid function. This modification affects n_001-H-002.dat from JENDL-5. The add_endf_data_each_mat function was removed. The new version ignored when the extracted line number is less than or equal to 1. The bug of the get_nucl_data_obj_xs_only function was modified. The new function skipped the multi-group cross section generation when the thermal scattering law data is mixed material, e.g., Benzen, SiO2, BeO, and C5O2H8. The new class is newly developed to divide the GENDF file. This class inherit the EndfUtils/OtherUtils/EndfTapeDivider class. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/May/05 (Version 2.01.009 -> 2.01.010) mod_rounding_error and check_boundary_data functions were newly added. If the x value is close to the boundary, the new version modifies the y value from interpolation value to the boundary value. This modification affects the TAB1 interpolation. The old version automatically modified the atom number when the incoherent inelastic scattering cross section at the top energy is not equal to the elastic scattering cross section. The incoherent inelastic scattering cross section is not same when thermal scattering law data for the mixed material. The new version skipped this modification. This modification affects SiO2 from JENDL-5 and ENDF/B-VIII.0, Benzen from ENDF/B-VIII.0, and so on. The Endf6Converter automatically added MF=30/MT=1 data. The new version removes this data in the Endf6Writer class. The old version outputs " 0.00000000 0.00000000" in the MF/MT data list. This data is not required for the processing. The new version replace " 0.00000000 0.00000000" to " ". Checker algorithm of the get_moderator_za_data function was modified as follows: - if( tsl_data_sio2_a.get_mat_no_principal() / 100 != 14 || tsl_data_sio2_a.get_mat_no_non_principal() != 825 || - tsl_data_sio2_b.get_mat_no_principal() / 100 != 14 || tsl_data_sio2_b.get_mat_no_non_principal() != 825 ) + if( tsl_data_sio2_a.get_mat_no_principal() / 100 != 14 || tsl_data_sio2_a.get_mat_no_non_principal() / 100 != 8 || + tsl_data_sio2_b.get_mat_no_principal() / 100 != 14 || tsl_data_sio2_b.get_mat_no_non_principal() / 100 != 8 ) //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Mar./24 (Version 2.01.008 -> 2.01.009) Output function of MT=443 and 444 is modified to plot xs data in all energy region. The old version show runtime error when the number of characters of the ENDF-6 formatted file is less than 75. The new program skipped the line number read function if the number of character is less than 75. The new version treat "sigma_zero" and "sig_zero" as the input parameters of the background cross section. The "vitamin-b6-200" energy group structure was newly added as the neurton multigroup structure. The unit modification of MT=443 and 444 was modified to change MeV to eV. The output MATXS function was modified to meet NJOY2016. The new version skips the output of MF=13 data in the GENDF formatted file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jan./17 (Version 2.01.007 -> 2.01.008) The old program generates large number of energy grid in the Doppler broadening function. For example, the number of energy grid of n_040-Zr-088.dat from JENDL-5 with FRENDY is 300 times larger than that with NJOY2016. This problem was occured to check the err_int value. To avoid this problem, err_int check is skipped when the middle cross section is close to the reference cross section. This linearization schme is utilized in the ResonanceXSCalculator class. The ResonanceXSCalculator class is also modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jan./17 (Version 2.01.006 -> 2.01.007) Endf-6 format modification tool is modified to easily change the continuum MT number data. The new version can modify the continuum MT data if user sets blacket and minus value, e.g., (600 -849). The StringDataConverter class is newly added to treat the continuum MT data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2023/Jan./17 (Version 2.01.005 -> 2.01.006) The new version outputs the input file name at the end of calculation to easily identify which calculation was completed. FRENDY was modified to treat the ENDF/B-V library. The pointer calculation of NU block in the output_ace_format_base_data function is modified. This problem affects Pu-242 and Pu-242b from ENDF/B-V. The old version throwed runtime error when the number of interpolation type of delayed neutron is not equalt to 1. The new version linearizes the TAB1 data of delayed neutron when the number of interpolation type is larger than 1 and interpolation type is not identical. This modification affects Pu-239b, Pu-240, Pu-240b, Pu-241, and Pu-241b from ENDF/B-V. The problem to calculate the probability table for the natural material is modified. This modification affects Eu-natb, Hf-nat, and Mo-nat from ENDF/B-V. The linearization process is modified to aviod the endress loop when the cross section value is less than zero. MT numbers of (n,p), (n,d), (n, t), (n,He3), and (n,alpha) of the ENDF-5 format is different to those of the ENDF-6 format. These classes are modified to treat the ENDF-5 formatted MT number. The modify_mt_no_for_endf5 function is newly added in the NuclearDataObject class. This function modifies MT numbers of (n,p), (n,d), (n, t), (n,He3), and (n,alpha). Since FRENDY/MT only available for the ENDF-6 fomat, these MT number are modified in the ACE file generation. These class are modified to treat the ENDF-5 format. We found that some file cannot find the eof flag. The maximum blank line number (100,000,000) is set to avoid the endress loop. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Dec./27 (Version 2.01.004 -> 2.01.005) The output message is newly added to easily identify the normal termination of FRENDY. The new version outputs the following message in the end of the program. "FRENDY CALCULATION STATUS: NORMAL TERMINATION" The old version sort the XSDIR list with the ACE file name. The new version sort the XSDIR list with the material number when the ACE data format is the thermal scattering law data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Dec./01 (Version 2.01.003 -> 2.01.004) The old version modified the suffix id when user uses the make_xsdir_list tool. In this case, all suffix id of nuclide or matrial file is identical. The AceDataCollector class is modified to skip the modification of the suffix id when input suffix id is "none" or "skip". //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Nov./30 (Version 2.01.002 -> 2.01.003) The checking function is newly added for the linearization. The new version checks the distance between x_data[i-1] - mid_x and mid_x - x_data[i]. The new version stops the additinonal grid when the distance of x-grid is so small. The linearization process is newly added to calcualte the incoherent inelastic scattering cross section. The old version calculate the incoherent inelastic scattering cross section using the energy grid of the total cross section. The new version linearize the incoherent inelastic scattering cross section data from NJOY's 118 group data. The torelance value is multiplied to 0.2 to show the more detail distribution. The number of energy grids can be reduced without HinZrH. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Nov./24 (Version 2.01.001 -> 2.01.002) The get_truncation_value(Real8 real_data) function is newly added. This function rounds the TAB1 data, e.g., energy and cross section data, for the linearization process. The get_truncation_value(Real8 real_data) function in DigitAdjuster class is used when the middle energy grid point is calculated in the linearization process to avoid the overlap of the energy grid point. The new version modifies the cross section when the incident energy is larger than dop_ene_max. This modification is required to avoid using the averaged cross section in the unresolve resonance region. The cross section in the unresolved resonance region must not be used the average cross section and must be used the cross section calculated by the 1/v low. The new version consideres that the cross section in the unresolve resonacne region is not the average cross section but the cross section calculated by the 1/v law. The old version uses err_max and err_int which is used in the RECONR and BROADR modules in NJOY. To treat fine cross section distribution, these parameters were omitted. get_el_reso, get_eh_reso, get_el_unreso, and get_eh_unreso are newly added to easily find the boundary of the resolved and unresolved resonance region. These classes are modified to add the discontinuity region at the boundary of the resolved and unresolve resonance region. Note that this function may affect the multi-group cross section generation function. But the impact will be neglegible. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Nov./21 (Version 2.01.000 -> 2.01.001) The new version does not use err_max and err_int to judge the additional energy grid. This modification affects the number of energy grid. The number of energy grids in the new version is larger than that in the old version. The old version uses the cross section over the upper limit of the Doppler broadening calculation. The new version does not use the cross section over the upper limit even if the incident neutron energy is close to the upper limit of the Doppler broadening calculation. dop_ene_max and y_max are newly added. These parameteres are used to stop the doppler broadened calculation at the upper limit of the Doppler broadening calculation. This modification affects the Doppler broadened cross section close to the boundary of the resolved and unresolved resonance region. The old version uses the unresolve resonance cross section to calculate the Doppler broadened cross section. The Doppler broadened cross section becomes larger since the average cross section at the unresolved resonance cross section is larger than the cross section at the resolved resonance region. The new interpolation chekcer is newly added in the check_energy_grid_distance function. The new version add the middle point if the relative difference between the middle cross section and interpolated cross section is larger than the error value in all reaction type. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Nov./04 (Version 2.00.035 -> 2.01.000) Version number is modified for release of the update version of FRENDY. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Nov./02 (Version 2.00.034 -> 2.00.035) The linearization function is newly added. The new version can linearize the TAB1 data when it read the TAB1 data. This function is used for the linearization in the ENDF modification tool. The linearize_tab1_data function is added. The argument "Real err_relative" is newly added in this function. The linearization of the TAB1 data is newly added in the ENDF modification tool. This tool linearizes the TAB1 data in the specified MF or MF/MT data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Nov./02 (Version 2.00.033 -> 2.00.034) These files are moved from ContinuousEnergyXSUtils/OtherUtils to TabUtils. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./27 (Version 2.00.032 -> 2.00.033) The warning message is newly added in the set_suffix_za_id function. When the suffix id is larger than 1.0 and less than 100.0, the suffix id is divided by 100.0. The new version outputs the warning message and show the original suffix id and modified one. The warning message in the convert_to_string_real function is modified. The new version shows how to skip the runtime error using the nan_err_mes_opt parameter. The warning message in the process_nucl_data_mg_neutronl function is modified. The new version proposes to use the nucl_file_name parameter when the set data is not ACE formatted file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./26 (Version 2.00.031 -> 2.00.032) The checker function is newly added in the set_suffix_za_id function. The new version outputs the warning message when the suffix id is not 0.0-99.0. The new version modify the suffix id when the suffix id is 1.0-99.0. In this case, suffix id is divided by 100.0, i.e., 1.0-99.0 -> 0.01-0.99. The sample input files are revised. The new sample input files are copied from the sample input files in the FRENDY manual. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./25 (Version 2.00.030 -> 2.00.031) The new version prepares new input parameter "nan_err_mes_opt". If user wants to abort the process when "NaN" is found, the input parameter is as follows: nan_err_mes_opt runtime_error If user wants to run the process even when "NaN" is found, the input parameter is as follows: nan_err_mes_opt caution In this case, the warning message is only output and "NaN" value is chanded to -99999999.0. The default value is "runtime_error". //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./24 (Version 2.00.029 -> 2.00.030) The calculation of free gas model is modified to calculate the upscattering cross section when the temperature is so low. The number of double differential cross section data in MF=6/MT=18 is mg*sigz. However, the number of fission spectrum data in MF=6/MT=18 is mg. The old version considered that the number of fission spectrum data is mg*sigz. The new version modified this problem. The checker function is newly added in the store_data() function. This function compares the number of list data and number of parsed data. If the number of list data is different to that of parsed data, warning message was output. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./20 (Version 2.00.028 -> 2.00.029) The poricy when the "NaN" value is found is changed. The new version throwed runtime error when the "NaN" value is found at the output of the ENDF/GENDF data. The calculation of the upper scattering cross section using the free gas model is modified. The new version skip the calculation of the upper scattering cross section when the thermal cut-off energy is less than the minimum value of the multi-group structure. The new version modifies the thermal cut-off energy when the temperature is less than 10.0 K as follows: Thermal cut-off energy for incident energy: 10.0 * kb * temperature [eV] Thermal cut-off energy for outgoing energy: 20.0 * kb * temperature [eV] This modification is added to avoid the numerical instability of the upper scattering calculation. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./19 (Version 2.00.027 -> 2.00.028) The calc_photon_production_xs function is modified to process n-007_N_014.endf from ENDF/B-VIII.0. The warning message in the calc_ddxs_coef function is skipped when the number of andp_cos_data is zero. The get_xs_data function is modified. The new version returns MT=19 data when the MT number is 18 and the MT=18 data is not found in the ACE file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./14 (Version 2.00.026 -> 2.00.027) The default tolerance statistical error for the NJOY input is modified from 1.0E-2 to 1.0E-5. The check_tab1_data function is modified. The old version stops the linearization process and outputs the runtime error when x_min is larger than x_,ax. The new version does not stop the linearization process and outputs the warning message when |x_min - x_max| < 1.0E-5 * x_max The integrate_data function is modified. The old version stops the integration process and ouputs the runtime error when |x_min - x_max| < 1.0E-10 * x_max. The new version stops the integration process and ouputs the runtime error when |x_min - x_max| < 1.0E-5 * x_max. The output message is newly added in convert_gendf_data function to easily identify where the "NaN" data is found in the GENDF file. The default values of mg_weighting_fission_temp_def, mg_weighting_1e_el_def, and mg_weighting_1e_eh_def ar are modified as follows: mg_weighting_fission_temp_def: 1.6E+6 -> 0.0, mg_weighting_1e_el_def: 0.625 -> 0.0, mg_weighting_1e_eh_def: 1.0E+6 -> 0.0. Note that 0.0 means using the default value of FRENDY/MG. The default value of FRENDY/MG is as follows: mg_weighting_fission_temp: 1.6E+6, mg_weighting_1e_el: incident energy dependent, mg_weighting_1e_eh: 1.0E+6. The old version cannot consider when the continuous data and discrete data are mixed. The new version treat such mixed data. This modification affects n-007_N_014, n-009_F_019 from ENDF/B-VIII.0, 95-Am-241g from JEFF-3.3, and so on. To treat photon production generation, generation of igg, egg, mfd, and mtd options in the GROUPR module are modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./11 (Version 2.00.025 -> 2.00.026) The default value of the mg_weighting_spectrum_mode parameter is modified. The default value of Tfis, E1, and E2 are modified. Tfis : 1.6e+6 -> 0.0 E1 : 1.0e+6 -> 0.0 E2 : 0.625 -> 0.0 Note that 0.0 means using the default value of FRENDY/MG. The default value of Tfis and E1 in FRENDY/MG are 1.6e+6 and 1.0e+6. The modification of E2 only affects the processing results. This modification affects when the temperature is so small, e.g., calculation of scattering matrix for resonance upscattering correction. The checker function of E2 is newly added. The new checker function outputs warning message when the temperature is so small and the E2 value is 0.625 eV. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Oct./05 (Version 2.00.024 -> 2.00.025) The old version cannot understand that the parameter name "temperature" is the temperature data. The read_input_data function is modified to treat "temperature". The default energy group structure of photon production data (MF=13 and 16 for GENDF) is modified. The old version uses the XMAS-172 group structure. The new version does not generate gammpa production cross section when the photon production cross section data is not set. The set_mg_weighting_spectrum_data function is modified to treat iwt03 (1/e) and iwt04 (fission+1/e+maxwell) in the mg_weighting_spectrum_data parameter. The vitamin-b6-199 group structure is newly added in the mg_structure parameter. The ign number is 101. The check_mg_structure_mode_gam function is newly added to treat the photon production multi-group structure. The all energy group structure (igg) in the NJOY/GROUPR module can be hundled in this function. The old version did not use the user input potential scattering cross section and default value is used for the multi-group cross section generation. The new version uses the user input potential scattering cross section when it is larger than 0.0 barn. The new version checks the number of photon production multi-group structure before processing. The new version skip the photon production generation when the number of energy groups is zero or there is not photon data in mtrp block in the ACE file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Sep./29 (Version 2.00.023 -> 2.00.024) The additional energy grid algorithm is modified in the add_grid_data function. If the additonal data vector contained duplicated data, the old version does not corretly add the additional data. The old version does not consider that the additional data size is zero. The new version checks the data size of the additional data. The old version does not consider that the array size is zero in make_array_data function. The new version checks the data size of the array data. If the data size is zero, the dammy data is set in the array data (x[0]=-1.0E10, x[1]=1.0E10, y[0]=0.0, and y[1]= 0.0). The search algorithm of Emin in the set_ene_pos function is modified. This modification is no impact on the calculation results since the energy grid point of the ACE file is so fine. If the input temperature is zero, the Doppler bloadening calculation is aborted. To avoid this problem, the input temperature is modified to 1.0E-10 K when the input temperature is less than 1.0E-10 K. The input temperature is modified to 1.0E-10 K when the input temperature is less than 1.0E-10 K. The old version throwed runtime error when the "NaN" value is found at the output of the ENDF/GENDF data. Though the warning message was found in the log file, the ENDF or the GENDF file did not output and it is difficult to find the cause of the problem. The new version modifies the "NaN" value to 0.0 and outputs the warning message. The output message is added to easily find the cause of the problem. The new version outputs the file name when this program cannot open the file. The tab1 data checker is newly added in the calc_energy_distribution function. When the data size of the tab1 data is zero, the old version throwed the runtime error. The new version skips when the data size of the tab1 data is zero. The remove_each_subsection_photon_data() function is newly added. This function removes the subsection data in MF=12 and MF=13. Since these subsection data is not linearized (only total data in MF=12 and MF=13 is linearized), output of these unlinearized data is skipped. The new version only outputs the total data. This modification affects the processing of Be-9 (MF=12/MT=102), B-10 (MF=12/MT=102, MF=13/MT=103), and so on from JENDL-4.0. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./23 (Version 2.00.022 -> 2.00.023) The old version did not modify the non-elastic cross section (MF=3/MT=3). The non-elastic cross section of n_036-Kr-084, n_042-Mo-096, n_042-Mo-100, and so on from JENDL-5 is only prepared from the uppler limit of the unresolved resonance region. To correctly calculate the non-elastic cross section, the mod_non_elastic_xs function is newly added. This function calculates the non-elastic cross section from the total and elastic scattering cross sections. The new version updates the non-elastic cross section calcualted by this function. The old version set probability table of heating number is 0.0 when the heating number data is not found. The new version is modified from 0.0 to 1.0. The algorithm to get the (z, n) cross section (MF=3/MT=4) in the get_mt4_data function is not correct. To correctry return the (z, n) cross section when the MT=4 data is found in the ACE file, this function is modified. Though "ene_max" is defined the private member variable in this class, "ene_max" is re-defined as the temporary value in the member function. The name of "ene_max" in the member function is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./17 (Version 2.00.021 -> 2.00.022) The calculation scheme of x_m and x_p in calc_equal_probability_table_by_tabulated_probability_data_lin_lin function is modified. The old version do not correct (x_p < x_m) when slope is less than zero. If z_val is outside the range between z1_val and z2_val, the mce_interpolation scheme of the old version is not correct. The old version extrapolated when z_val is outside the range. The new version uses the close grid data when z_val is outside the range. add_pl_data_flg which is the flag whether pl data is added or not is modified from 1 (add higher Legendre data) to 1 (do not add higher Legendre data). The additional of the discontinuity data (dlwp_eout_weight_disc) in the modify_dlwp_eout_data function is skipped when the weight is zero. The cross section checker function is added in the calc_mg_xs_without_energy_grid_modification function. The cross section is modified to zero when the cross section is less than zero. The skipped process modified at 2.00.019 is removed. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./12 (Version 2.00.020 -> 2.00.021) The number of Legendre orders in MF=16 in the GENDF file is 1. NJOY2016 outputs the higher order Legendre data in MF=16. To outputs the higher order Legendre data, these classes are modified. Note that the current version does not calculate the higher order Legendre data and only outputs zero. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./10 (Version 2.00.019 -> 2.00.020) The old version skipped the linearization process when the interpolation is 1 (const). The new version linearizes even if the interpolation is const. The new version checks the double differential cross section value in the calc_mg_dd_xs function. When the double differential cross section is less than 1.0E-30, this cross section is modified to 0.0. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./09 (Version 2.00.018 -> 2.00.019) Warning message in the set_photon_enegy_distr_by_ene_angle_distr_common_data function is removed. The calculation of weight_ene_data in the set_photon_enegy_distr_by_ene_angle_distr_weight_data function is modified. The old version add weight_ene_data when the gamma data is only discrete and number of gamma deta is one (ene_data_flg_int==1 && weight_ene_data[i].size() == 1). The new version skip this process. The get_mt4_data function is newly added to calculate MT=4 data from MT=51 - 90. Data size checker is added in the linearize_tab1_data_without_data_check function to avoid memory overflow. The tolerance to output the warning message in the calc_equal_probability_table_by_tabulated_probability_data_lin_lin function is modified. The old version outputs the warning message when the residual of the integral value (sum) is less than 1.0E-5. The new version changed from 1.0E-5 to 1.0E-3 since a lot of warning message were output in the multigroup photn production generation. Data size checker is added in mce_interpolation and mce_interpolation_without_set_array functions to avoid memory overflow. The calculation process of the photon production cross section generation to correctly calculate the double differential cross section. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./08 (Version 2.00.017 -> 2.00.018) The calculation method for LAW=4 in the DLWP block is modified. The old version cannot correctly calculate the dicrete photon data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./04 (Version 2.00.016 -> 2.00.017) The algorithm is modified to avoid the memory overflow. The modified functions are as follos: integrate_using_specified_grid_with_lin_lin function in IntegrateTabData class make_array_data function in TwoDInterpolator class add_photon_production_data function in MatxsCommonData class The multigroup energy structure is sorted when get_multi_group() and get_multi_group_gam() functions are called. The NJOY/HEATR input file generation function is modified. The new version reset NGN (number of neutron energy group EGN) and NGG (number of gamma energy group EGG) when EGN or EGG was set using set_EGN or set_EGG function. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Aug./02 (Version 2.00.015 -> 2.00.016) The algorithm is modified to avoid the memory overflow. The modified functions are as follos: add_grid_data function in TabAdjuster class integrate_using_specified_grid_with_lin_lin function in IntegrateTabData class make_array_data function in TwoDInterpolator calc_energy_distribution_without_linearization function in MGUtils class The calculation method of the double differential cross section in calc_photon_production_dd_xs function is modified. The dlwp_eout_weight_disc data in the ACE file is used as the weighting function. Output message is added in read_ace_file function. The algorithm in get_react_name function is modified to compile VisualStudio. The calculation method of the double differential cross section in calc_mg_dd_xs_with_discrete_ene function is modified. The position of mg_e_out data is modified from pos_m to pos_cal. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/July/28 (Version 2.00.014 -> 2.00.015) Warning message of input checker in this class is modified to easily found the cause of the problem. The LAW=4 in the DLWP block has can treat the combined discrete photon and continuous photon data when INTT is larger than 10. The old version cannot treat the combined photon data. This class is modified to treat the combined photon data. The old verrsion skipped the photon data generation when the photon cross section (MF=12 or MF=13) data are not found. The new version process MF=16 data even if the photon cross section data are not found. Calculation of equal probability table in calc_equal_probability_table_by_tabulated_probability_data function is modified. This problem has no impact on the previous calculation since the difference caused by the difference can be found by the checker function and FRENDY outputs the runtime error. This function is modified to treat the special interpolation law (int > 10, e.g., 22 and 21). //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/July/21 (Version 2.00.013 -> 2.00.014) These files are modified to treat mixing the fast and thermal scattering law data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Jun/08 (Version 2.00.012 -> 2.00.013) The photon-production data output function for the MATXS formatted data is newly added. The modifiaction of DATA1 is newly added. DATA1 is initialized using DATA2 when the array size of DATA1 is zero. The old version set MAT number and MT number in the store_data function. However, these data is not initialized before. The new version remove the set of these data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/May/26 (Version 2.00.011 -> 2.00.012) The old version cannot generate multi-group gamma data when the maximum energy of multi-group structure is identical to that of energy grid data in ACE file. The new version solved this problem. The MF/MT checker in the check_mf_mt_list function is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/May/18 (Version 2.00.010 -> 2.00.011) The FrendyUtils/MakeNJOYInputReader class is newly added to treat NJOY input maker input data. The new input data for the NJOY input maker is as follows: make_input_module ( reconr broadr gaspr thermr purr acer ) The old version only make the NJOY's input file to generate ACE file or MATXS file. Users want to generate only the RECONR module or the BROADR module. This input option is newly added to generate the selected modules's input data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/May/16 (Version 2.00.009 -> 2.00.010) The delayed neutron data calculation function is newly added. The old version only outputs the delayed neutron data when the delayed neutron data is found in the ACE file. The new version calculates the delayed neutron data when the total and prompt neutron data are found. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Apr./28 (Version 2.00.008 -> 2.00.009) The calculation of the photon production matrix is modified. The new version normalized using photon production cross section. The fission spectrum output function for MF=6/MT=18 in the GENDF file is modified. Thermal cut off energy adjustment and energy sub-division for energy integration of thermal scattering XS are modified to avoid minus cross section in the KRAM file. The default value of lowest thermal cut off energy is modified from 0.0 to 1.0E-5 eV. The bugs to generate photon production cross section and matrix are modified. The new version outputs the output multi-group data file name to easily identify the output file of multi-group data including GENDF and MATXS files. The file end is removed without MF=1. To reduce the computational time for ACE file generation, get_cont_data function is not used and cont_data is directry handled. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Apr./22 (Version 2.00.007 -> 2.00.008) The NJOY code can process some nuclide data simultaneously. FRENDY (BROADR, THERMR, GROUPR, and MODER) did not treat such multi-nuclide data processing. FRENDY is modified to process multi-nuclide data. The "get_data_without_specified_mat" function is newly added. This function is used in "ThermalScatter/ThermalScatterCalculatorByNjoyInput.cpp". The min_val of the "calc_equal_probability_table_by_tabulated_probability_data_lin_lin" function is modified from 1.0E-10 to 1.0E-15 to appropriately treat the very small slope case. These classes are modified to correctly generate multi-group photon generation cross section. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Apr./20 (Version 2.00.006 -> 2.00.007) The "MGPhotonProduction" class is newly added to generate multi-group neturon-gammma reaction data. This class handles the "MGUtils" class in MGXSUtils/OtherUtils/MGUtils.cpp. These parser and writer classes are newly developed and modified to treat MF=13 and 16. Treatment of IG value is modified. The old version may not correctly write the IG value in the GENDF file. remove_zero_xs_data and modify_flux functions are newly added. These functions are used to set the cross section and the double differentical cross section data to the GENDF file. These classes are modified to treat gamma group structure (mg_structure_gam) for photon production. Since the maximum Legendre order (Pl) of FRENDY/MG is 7. The warning message is newly added to check the maximum Legendre order. These classes are modified to handle the MGPhotonProduction class. The path of the header file is modified from current directory to top of the FRENDY directory. The "modify_x_grid_by_lin_lin" function is newly added. The "delete_overlap_grid" and "add_grid_data" functions are modified to reduce the computational time. The "search_add_grid_pos" functon is newly added to reduce the computational time of "add_grid_data" function. The min_val of the "calc_equal_probability_table_by_tabulated_probability_data_lin_lin" function is modified from 1.0E-5 to 1.0E-10 to appropriately treat the very small slope case. The checker function is newly added in parse_ace_format_base_data function. This function checks the energy grid number of each cross section. This class is modified to treat MF=13 and MF=16 data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Mar./30 (Version 2.00.005 -> 2.00.006) The "MGUtils" class is newly added to generate multi-group neturon-gammma reaction data. The "get_interpolation_linear_linear_coef" function is newly added. This fuction gives a and b of y=ax+b. The "integrate_using_specified_grid_with_lin_lin" function is newly added. This function integrate the data using specified energy grid. This function assumes the linear-linear interpolation. The "linearize_data" function is newly added. This function linearize the x-y data using specified interpolation law. The default relative error and minimum error is set in this class. The "linearize_tab1_data" and "linearize_data" functions are not required these error values. The algorithm of the interpolation is modified to reduce the calculation time of the multi-group generation. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Mar./18 (Version 2.00.004 -> 2.00.005) Calculation equation of calc_equal_probability_table_by_tabulated_probability_data_lin_lin is modified to reduce the calculation time. Old version 0.5 * (y1 + slope*x2+b) * (x2 - x1) = residual x2 = [(y1 - slope*x1) +- sqrt{(y1 - slope*x1)^2 - 4.0 * (0.5*slope) * (slope*x1 - residual)}] / (2.0*0.5*slope) Algorighm Real coef_a = 0.5*slope; Real coef_b = y_data[i] - (slope * x_data[i]); Real coef_c = (0.5*slope*x_data[i] - y_data[i]) * x_data[i] - residual; Real sqrt_val = coef_b*coef_b - 4.0*coef_a*coef_c; Real x_p = 0.5 * (-1.0*coef_b + sqrt_val) / coef_a; Real x_m = 0.5 * (-1.0*coef_b - sqrt_val) / coef_a; New version 0.5 * (x - x1) + (y + slope*(x - x1)) = residual (x - x1) = [-2.0 * y +- sqrt{4.0*y^2 + 8.0*slope*residual}] / (2.0*slope) x = x1 + [-y +- sqrt(y^2 + 2.0*slope*residual)] / slope = (slope*x1 - y +- sqrt(y^2 + 2.0*slope*residual)] / slope Algorighm Real coef_b = (slope * x_data[i]) - y_data[i]; Real sqrt_val = y_data[i]*y_data[i] + 2.0*slope*residual; Real slope_inv = 1.0 / slope; Real x_p = (coef_b + sqrt_val) * slope_inv; Real x_m = (coef_b - sqrt_val) * slope_inv; //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Mar./15 (Version 2.00.003 -> 2.00.004) This class is newly added to calculate unit base interpolation and method of corresponding energies. The following functions are moved from FastAceDataGenerator class to LinearizeTabData since these classes are used ing TwoDInterpolator class. calc_equal_probability_table_by_tabulated_probability_data calc_equal_probability_table_by_tabulated_probability_data_const calc_equal_probability_table_by_tabulated_probability_data_lin_lin calc_equal_probability_table_by_tabulated_probability_data_lin_log The output algorithm of the number of energy groups is modified. The old version output data size of mg_structure. The data size of mg_structure including lowest energy. The new version output mg_structure.size() - 1. This modification only affects the display output and it does not affect the processing results. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Feb./28 (Version 2.00.002 -> 2.00.003) Comma "," can be used as the separating character. The new version considerd that comma "," is the space. "RUC" is newly added as the input parameter of mg_edit_option. The output format of 3d data is modified. " 3d n nscat " -> " 3d n nscat " ** add space //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Feb./25 (Version 2.00.001 -> 2.00.002) The resonance upscattering calculation function is newly added. The input data to treat the resonacne upscattering calculation function is newly added. The new input format is as follows reso_upscat "0 Kelvin elastic scattering data" //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Feb./08 (Version 2.00.000 -> 2.00.001) When the fission cross section is only found in the nuclear data and the radiation cross section is not found, the segmentation fault is occurred at the thermal quantity calculation. The new version checks the data size of the radiation cross section. The thermal quantity calculation is skipped when the data size of the radiation cross section is zero. This modification affects 9228 and 9437 from IRDFF-II. If the cross section data is not found in the nuclear data, the segmentation fault is occurred at the gas production cross-section calculation. The gas production calculation is skipped when there is no cross section data in the nuclear data. This modification affects 1400 and some natural materials from IRDFF-II. The new warning message is added. This new function checks whether the maximum value of NBT is equal to NP or not. This new check function is only available for the ENDF format check. The new warning message is added. The new function compares the energy range of EL and EH are that of ES at the unresolved resonance region (LRU=2). This problem is found in Pr-141 from JENDL-5. This new check function is only available for the ENDF format check. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Jan./26 (Version 1.04.038 -> 2.00.000) The version number is changed for the release of FRENDY version 2. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Jan./26 (Version 1.04.037 -> 1.04.038) The Doppler broadened cross section becomes minus value. The cause of this problem is the rounding error. This problem is found in the fission cross sections of At-226 and Fr220 from TENDL-2021. To avoid this problem, the incident energy is slightly modified when the Doppler broadened cross section is less than 0.0. The AWR value of natural material are added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2022/Jan./13 (Version 1.04.036 -> 1.04.037) The modify_fission_nu_data() function is newly added. This function checks whether nu_tot is equal to nu_p + nu_d or not. When nu_t is not equal to nu_p + nu_d, nu_t is modified to nu_p + nu_d, and FRENDY outputs a warning message. This modification affects some fissile materials which the number of total neutrons per fission is identical to that of prompt neutrons per fission, e.g., Th-231, Ra-226, Pu-237, and Am-240 from JENDL-4.0. The add_grid_data(vector& x_data, vector& add_data) function is newly added. This function is used for modify_fission_nu_data() function in FastAceDataGenerator class. The default maximum value of the secondary neutron energy for thermal scattering law data is changed from 10.0 eV to 20.0 eV. This modification only affects the multi-group cross-section generation. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Dec./24 (Version 1.04.035 -> 1.04.036) The two programs, i.e., read_errorr_data and make_xsdir_list, are newly added in the tools directory. The read_errorr_data program generates the input file and the CSV file for the make_perturbation_factor tool. This program uses the GENDF file generated by the ERRORR module in NJOY99, NJOY2012, and NJOY2016. The make_xsdir_list program generates the XSDIR file and renames (copies) ACE files to run MCNP and PHITS without any modification. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Dec./20 (Version 1.04.034 -> 1.04.035) The ace file name of the individual mode is modified. The new version add "0" when the digit number of ZA id is less than 5, e.g., 00001.50c, 01001.50c, and 02004.50c. The new checker function is added. This checker function checks the order of resonance energy. The warning message of total product xs checking function in check_total_product_xs is modified. This warning message is only available for the ENDF-6 format checker mode. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Dec./08 (Version 1.04.033 -> 1.04.034) The old version cannot correctly calculate the resonance cross section when the LRX is not equal to 0. When the LRX option in LRF=1(SLBW) or 2(MLBW) is larger than 0, the resonance effect of the other reaction should be considered. This problem is modified to treat the LRX option. Though NJOY2016 modifies cross sections of MT=4 and MT=5, FRENDY and NJOY99 do not modify them. FRENDY may requires the modification cross sections function in the future. The reading algorithm of MF=08, MT=457 is modified to treat decay data file of JENDL-5. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Dec./06 (Version 1.04.032 -> 1.04.033) The "get_current_date_dd_mmm_yyyy()" function is newly added to output the day for the xsdir file. The output format is DD/MMM/YYYY, e.g., 06/Dec/2021. This class is modified to automatically generate the "atomic weight ratios" part in the xsdir file when user select the fast data (neutron induced data). The old version only generates collected ace file. The new version can also generates individual ace file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Nov./26 (Version 1.04.031 -> 1.04.032) The "err_p_table" parameter is newly added. This parameter is the tolerance value for the probability table generation. The default value of the "err_p_table" is 5% (0.05). These classes are modified to generate probability table using the "err_p_table" parameter. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Nov./25 (Version 1.04.030 -> 1.04.031) The new thermal scattering law data prepared in JENDL-5, e.g., Mesitylene, C in benzene, are added to automatically process these materials. The old version only outputs thermal type (tsl) ACE file if user generates tsl multi-group cross section file. The fast type (neutron induced) ACE file is also required to generate multi-group cross-section file. The new version outputs both thermal and fast type ACE files. The temperature of the GENDF and MATXS files is not correct when these files are genereted from the ACE files and the temperature is not equal to 293.6 K. This problem is modified. The old version output runtime error when the material_sab_type data is not set. The new version set "other" in the material_sab_type data when the material_sab_type data is not set. The old version does not output the GENDF tape end when the FRENDY original input format is used. The new version outputs the GENDF tape end. The old version cannot generate the tsl multi-group cross section generation input file if user selects mg_neutron_mode. The new version generates the tsl multi-group cross section generation input file when the number of tsl data is not zero. The warning message is newly added. The new warning message checks the number of ACE file when user selects the multi-group cross section file generation from the ACE file. The warning message is newly added. The new warning message checks the principal atom number for the processing of the tsl data. The warning message is newly added. This new warning message is output when iwt=5 is selected. The warning messege in the read_card02_data function is modified. The reading algorithm of MF=08, MT=457 is modified to treat decay data file of JENDL-5. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Nov./09 (Version 1.04.029 -> 1.04.030) The array of particle_prod_ene_out_coef_a and particle_prod_ene_out_coef_b is not correct when LAW = 44 and 61 are mixed. The check_endf_format() function is added to check whether the set file is the ENDF-6 formatted file or not. The warning message is output when the set data is not the ENDF-6 formatted file. The "exchange" is newly added for the input parameter. The means of the "exchange" is identical to that of "replace". "mg" and "mg_mode" are added for the processing mode of FRENDY. The error function in check_common_input_output_file_name() is modified to check the number of ace and endf file name. The array of 9d data is modified to correctly treat the 9d data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Oct./12 (Version 1.04.028 -> 1.04.029) The old version cannot calculate the probability table when the temperature is 0 K. If the temperature is 0 K, division by zero is occurred where the Doppler broadened XS calculation. To avoid this problem, the temperature is modified from 0 K to 1.0E-10 K when the temperature is less than 1.0E-10 K. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Oct./11 (Version 1.04.027 -> 1.04.028) The treatment of emax in TSL ACE file generation is modified. In the old version, relation of EMAX and the largest energy grid E-high is different. (THERMR: E-high > EMAX, ACER: E-high < EMAX) For example, E-high of THERMR is 5.35 eV and E-high of ACER is 4.90 eV if user sets EMAX=5.0 eV and fixed energy grid is used. (Fixed energy grid of NJOY: …, 4.90, 5.35, 5.85, …, 9.85, 10.0) To use identical E-high for THERMR and ACER, ThermalScatterAceDataGenerator is modified. Note that this modification has no impact on main/frendy.exe. This modification only affects NJOY mode calculation (main_njoy_mode/frendy_njoy_mode.exe). //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Oct./04 (Version 1.04.026 -> 1.04.027) The remove_after_space function is newly added to remove unnecessary data. The string data is modified using this function as follows: " abc def gh " -> "abc" "abc def" -> "abc" The output file name of 1DXS and 2DXS data for the multi-group cross-section data is included the MT numbers in the input file as follows: UO2_1DXS_-1_1_2_4_-50_8016.00c_MT1.mg UO2_2DXS_-1_1_2_4_-50_8016.00c_MT2_bg0.mg The new version removed the MT numbers as follows: UO2_1DXS_8016.00c_MT1.mg UO2_2DXS_8016.00c_MT2_bg0.mg //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Sep./30 (Version 1.04.025 -> 1.04.026) The basename_without_suffix function is added to remove suffix, e.g., ".txt", ".inp", and ".dat". This function is used in FrendyUtils/MultiGroupDataGeneratorInputReader.cpp. The new version outputs unit of input parameter when it writes the input data in the output file. Some bugs are found to process multi-group cross section library using FRENDY input file. These bugs are modified. The input format of the multi-group xs generation is modified. These classes are modified to treat these modified input format. This function is modified to output the total inelastic data to the GENDF and the MATXS file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Sep./21 (Version 1.04.024 -> 1.04.025) The new version does not set the NoThermalXS option for FRENDY/MG when the thermal scattering law data is found in the ACE or evaluated nuclear data file. If the NoThermalXS is validate, upper scattering cross section is not calculated in FRENDY/MG. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Sep./13 (Version 1.04.023 -> 1.04.024) These classes are modified to compile using the Intel compiler. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Sep./08 (Version 1.04.022 -> 1.04.023) [Bug fix] The calculation of tb is modified. The old version uses vector to show the 2-dimensional data tr and ti. DPC++ (Intel one API HPC toolkit) cannot compile this class since a huge amount of data are set. The new version does not use vector to avoid this problem. The bug of get_temp function is modified. The unit of temperature in the ACE file is MeV. The get_temp_ev and get_temp_kelvin functions are newly added to easily get the temperature data with desired unit. [Add new function] The basename function is newly added in StringUtils class. This function gives the file name without directory information. This function is similar to "basename" command in the Linux OS. [Modify functions] The old version only treats "_" as the delimiter. The new version treats "_" and "-" as the delimiter. The default output directory of ACE and XSDIR file is modified. The old version sets "nucl_file_directory/nucl_file_name".ace and "nucl_file_directory/nucl_file_name".ace.dir as the default ACE and XSDIR file name. The new version sets "./nucl_file_name".ace and "./nucl_file_name".ace.dir. The warning message of mg_mat_list is modified. The "ace_output_option" is newly added to identify whether output the ACE file or not. The temperature check function is newly added. FRENDY input can generate multi-group cross section library from the ACE file. The old version does not check whether input temperature is identical to the temperature of the ACE file. The new version reads temperature of the ACE files and compares to the input temperature. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Sep./03 (Version 1.04.021 -> 1.04.022) [Bug fix] The calculation of TYR block data (react_type_flg) was not collect when the large number of data is stored in ACE file and TYR is less than 0. To modify this problem, algorighm of output_ace_format_energy_distribution_data function is modified. [Add new function] replace_space(string str_data, string replace_data) and remove_suffix(string str_data, string suffix) functions are newly added. These functions are used for multi-group XS library generation using the FRENDY original input format. To modify temperature data in the GENDF file, mod_temp function is newly added. The temperature of GENDF file is sometimes slightly different since the temperature [K] is recalulate in FRENDY/MG from the temperature of the ACE file [J]. The "SkipPrintout" option is automatically added in mg_file_mode option to remove the FRENDY/MG's output files. This class is modified to hundle the FRENDY/MG's edit option, e.g., kram, 1dxs, and 2dxs. This class is modified to set multi-group energy grid structure and weighting function with structure/function name. [Modify functions] The old version process only one nuclide to generate ACE file. FRENDY/MG considers the mixed nuclides and FRENDY needs to generate multiple-ACE files in one input file. These classes are modified to treat multiple-nuclear data file. The new version can treat both neutron induced data and thermal scattering law data in one input file. To hundle both data, these classes are modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Aug./11 (Version 1.04.020 -> 1.04.021) When the modification of Ver. 1.03.019 (2021/Feb./04), the minus cross section is modified to zero barn before and after the resonance reconstruction. The minus cross section is physically correct and its correcs the cross section calculated by the resonance parameters. The modification of the cross section before the resonance reconstruction was skipped. The delete_overlap_grid function is modified. The old version adjusted the energy. In this case, some necessary energy grid points are deleted. To avoid this problem, the adjustment of energy grid is removed. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Aug./06 (Version 1.04.019 -> 1.04.020) Boltzmann constant and electron volt are changed. Boltzmann constant : 8.617333262e-5 -> 8.617333262145e-5 Electron volt : 1.602176565e-12 -> 1.602176634e-12 The old version can not treat multi material and multi temperature data. The new version check the number of material and temperature data and generate gas production cross section for each material and temperature data. The old version does not consider the maximum line number of PENDF/GENDF. When the line number is 99,999, the next line number is 100,000. Since the number of digit of the line number is 5, the line numbe shuld be less than 100,000. The new version reset the line number when the line number is larger than 99,999 and the next line number is 1. The old version output the unnecessary line data. The old version outputs higher order Legendre polynomial data (PL>1) for MF=6/MT=18. Since the PL order of NJOY2016 for MF=6/MT=18 is 1, the default output mode is also modified to PL=1. NJOY99 does not consider the background cross section data for MF=6/MT=18. The output_mode flag is set to easily change the output mode. The available output mode is as follows: (1) njoy16_mode : PL = 1, SIG_ZERO > 1 (2) njoy99_mode : PL = 1, SIG_ZERO = 1 (3) full_mode : PL > 1, SIG_ZERO > 1 The rounding error affected the temperature and output temperature of GENDF and MATXS is slightly different. For example, the set temperature is 800.0 and output temperature is 800.0039. The output temperature of GENDF and MATXS is modified to avoid this problem. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/28 (Version 1.04.018 -> 1.04.019) The default equal probability angle bin no in thermal scattering law data processing is modified from 60 to 30 to reduce the data size of the PENDF and the ACE files. Since ACE file does not contain the reaction flag (the LR flag in MF=3), the LR flag in the GENDF file is 0. The new version add mod_reaction_flg function in GendfParser class. This function modifies the LR flag in the GENDF file using the LR flag in the nuclear data file. The new version outputs the input information for FRENDY/MG. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/27 (Version 1.04.017 -> 1.04.018) The default MT number of TSL data is modified. The modified default MT number is identical to the MATXS TSL MT data list. Note that the material that is no listed in the MATXS TSL MT data list, the default MT number is 249 and TSL name is "other". The old version only output the MATXS file in each temperature. The new version outputs combined MATXS file using MatxsMerger class. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/26 (Version 1.04.016 -> 1.04.017) The old version output the GENDF and MATXS files after the all material and temperature data are processed. To reduce the memory size, the new version outputs the GENDF and MATXS files after each material and temperature data are processed. The old version sets "other" as the thermal scattering law type. This option does not output MF=3/MT=221 and MF=6/MT=221 data in the GENDF file. The new version sets thermal scattering law type from MT number. The themal scattering law type sets void string when the MT number is not found in MATXS TSL data list. The new version sets "free" to output MF=3/MT=221 and MF=6/MT=221 data in the GENDF file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/26 (Version 1.04.015 -> 1.04.016) The revision of FRENDY/MG is changed from rev.403 to rev.404. The check_tsl_data function is modified. The old version re-calculates thermal scattering cross section using free gas model. The new version compares the thermal scattering cross section in the PENDF file and elastic scattering cross section in the PENDF file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/19 (Version 1.04.014 -> 1.04.015) The revision of FRENDY/MG is changed from rev.385 to rev.403. The new version of FRENDY/MG is reduce the memory size and calculation time. The old version requires 50GB memory to generate U-235 from JENDL-4.0 (600gr.). The memory size of the new version is 3GB. Calculation function of izaid number for ace file is moved from XXXAceDataGenerator classes to GeneralDataContainer class. The old version of ThermalScatterAceDataGenerator class did not modify the izaid number even if the target nuclide is metastable. The new version modifies the izaid number when the metastable istotope is selected. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/16 (Version 1.04.013 -> 1.04.014) The divide_string_data_by_linefeed_code function of old version requires long time to divide string data when the line number of the data is large. We modified the algorithm and the new version quickly debide the string data even if the large line number data is set. The new version does not change the tape number of MATXS file when ntemp=1. The GROUPR and MATXSR input generation functions are newly developed. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/14 (Version 1.04.012 -> 1.04.013) The old version does not check the order of MT number. The order of the MT number should be ascending order. The new version sort the MT number when it read the ENDF/PENDF/GENDF file. The old version output runtime error when the fissile nuclide does not have MF=1/MT=452, MF=4, and MF=5. Since the PENDF file only contains the MF=3, we modified warning level from runtime error to caution. These classes are modified since we found problems to generate multi-group cross section data. The old version checks the order of MT number in MF=3, 4, and 5. The new version does not check the order of MT number. The new version compares MF=3, 4, and 5 when comparison GENDF data has its MT number. Warning message of probability table order is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/13 (Version 1.04.011 -> 1.04.012) Boltzmann constant is changed from 8.617385e-5 [eV/K] to 8.617333262e-5 [eV/K]. The iwt options (iwt = 6, 7, 11, and 12) for GROUPR are newly added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/09 (Version 1.04.010 -> 1.04.011) The previous version only treat plus data. If the data is less than 0.0, this data is modified to 0.0. The new version treat minus value. The old version calculate relative difference if reference data is larger than 0.0. The new version calculate absolute difference if comparison or reference data is less than 0.0. When the number of hvps data in 6d block is 8, the blank line is sorted in the next line. These classes are modified to treat the blank line. To compare the GENDF and MATXS file, these comparison classes are developed. To remove and modify GENDF formatted file, GendfModifier class is developed. To check multi-material and multi-temperature ENDF/PENDF data, this class is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/July/02 (Version 1.04.009 -> 1.04.010) To treat MATXS formatted file following three functions are newly added. get_formatted_string_data(string str_data, int char_no) get_formatted_real_data(Real real_data, int char_no) get_formatted_int_data(Integer int_data, int char_no) get_merged_string_vector_data(vector str_vec) get_merged_string_vector_data(vector str_vec, int data_no) add_string_vector_data(vector& text, vector text_add) divide_string_data(string str_data, int data_width) divide_string_data(string str_data, int data_width, int max_char_no) check_string_vector_data_end(vector& text, int line_no, string class_name, string func_name) The classes in above directries are developed to read and writee the MATXS formatted file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/June/22 (Version 1.04.008 -> 1.04.009) The classes in above directries are developed to read and write the GENDF formatted file. MF=1/MT=451, MF=3, MF=5, and MF=6 are only available. The check function whethere this file is PENDF or GENDF is newly added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/June/17 (Version 1.04.007 -> 1.04.008) This class is newly added to generate multi-group cross section library using GROUPR and MATXSR input file. Output message is modified. To automatically modified nmix value, modify_scat_xs function is newly added. If the incoherent inelastic scattering cross section at the top of energy is different to the elastic scattering cross section, the modified version calculates the correct nmix value and modifies incoherent inelastic scattering cross section. If the input maximum Doppler broadened energy is 0.0 eV, the new version considered that the default maximum Doppler broadened energy is used for the Doppler broadened calculation. The old version outputs runtime error when the endf tape file is not found. The new version only outputs caution and does not stop the calculation. This class is modified to treat NJOY input data. This class is modified to handle GROUPR and MATXSR input module. The calc_scat_xs_tot_with_free_gas_mode function is newly added to calcualte total incoherent inelastic scattering cross section using the free gas model. If the non TSL data is set in the ENDF tape of thermal scattering low data processing, the old version output runtime error. The new version process thermal scattering law data using the free gas model. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/May/31 (Version 1.04.006 -> 1.04.007) The total cross section boundary calculation algorithm in set_xs_tot_table function is modified. In the old version, the minimum distribution of each total cross section is 1.01*xs_tot_pre. The shape of each resonance becomes flat when the temperature is so high (e.g., more than 2000 K). In this case, the distance of total cross section becomes so nallow and probability becomes zero when the minimum distribution of each total cross section is 1.01*xs_tot_pre. To avoid this problem and to appropriately generate probability table, the minimum distribution of each total cross section is modified to 1.001*xs_tot_pre. The cheker function whether probability table is ascending order or not is newly added. If the probability table is not ascending order, probability table is modified to be ascending order. (P_tot[i] < P_tot[i-1] -> P_tot[i] = P_tot[i-1]) The non-ascending order data is found when above problem in UnresoUtils/ProbabilityTableCalculator.cpp is occurred. MultiGroupDataGeneratorInputConverter class is modified to convert from NJOY's input format (groupr) to FRENDY/MG. The default values of ultra fine group calculation (mg_ufg_) are modified. get_ace_file_name function is newly added. This function is used to generate ACE file. get_file_no(string tape_name) function is newly added. This function is used to get tape number (XX in tapeXX). //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/May/18 (Version 1.04.005 -> 1.04.006) These classes are newly developed to obtain multi-group structure in NJOY input format. (The igg and iwt options in the GROUPR module.) //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/May/13 (Version 1.04.004 -> 1.04.005) In the ENDF-6 format , fifth data block of MF=32/MT=151 (LRF=7) is as follows: [MAT,32,151/0.0, 0.0, 0, NRSA, 12*NX, NX/ ER1, GAM1,1, GAM2,1, GAM3,1, GAM4,1, GAM5,1, ... DGAM6,NRSA, ... ... ... ... ... ... . , DGAMNCH,NRSA]LIST The fifth data (12*NX) of these nuclides is 12 times of the sixth data (NX). The old version of FRENDY output runtime error when fifth data is not equal to the 12 times of the sixth data. The sixth parameter (NX) is not used to read the nuclear data file. The new version of FRENDY skips the check of the fifth and sixth data to read MF=32/MT=151 (LRF=7). //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/May/11 (Version 1.04.003 -> 1.04.004) This class is newly developed to obtain multi-group structure in NJOY input format. (The ign option in the GROUPR module.) //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Apr./28 (Version 1.04.002 -> 1.04.003) The weighting option which is the default input option to generate TSL ACE file is changed from 0 (variable) to 2 (tabulated) to accurately treat the angular distribution of thermal scattering law. This option is identical to the iwt option in NJOY/ACER and this option is only available for MCNP6. These files are modified to output MATXS and GENDF files with given file name. This class is modified to treat not only single quotation (' - ') but also double quotation (" - ") in NJOY input file. The old version compared the produced cross section (MF=10) if MF=3 and MF=9 are observed. It stopped when the difference of MF=10 and MF=3*MF=9 is large. The new version only shows warning message to complete processing. These classes are newly added to treat input file for groupr and matxsr modules. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Apr./22 (Version 1.04.001 -> 1.04.002) Warning message of the input file reader class is added. If the number of input data in each card is less than the minimum required number, new function outputs warning message. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Apr./22 (Version 1.03.026 -> 1.04.001) The MGXSUtils directory is newly generated to generate multi-group cross section library. FRENDY/MG is used to generate multi-group cross section library and the source of FRENDY/MG is copied in MGXSUtils/FMGenerator. The multi-group generation module process some nuclear data files to generate one cross section library. To treat a number of nuclear data files, input reader function is modified. The multi-group cross section library generation function is newly added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Mar./17 (Version 1.03.025 -> 1.03.026) The fission spectrum output function is newly added in get_xs_data function. If user set MT=1018, this function outputs fission spectrum data. Output information is modified. The fission spectrum perturbation function is modified to handle Pu-239 and Pu-240 from ENDF/B-VIII.0. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Mar./05 (Version 1.03.024 -> 1.03.025) The old version only kept p_tab*ave_xs to calculate statistical error. Tne new version keeps p_tab, p_tab*ave_xs, and ave_xs to calculate statistical error. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Mar./03 (Version 1.03.023 -> 1.03.024) The old version make a few resonance structure in each ladder when level spacing is so large. The cause of this problem is small level_spacing_min_ini value. The new version modified level_spacing_min_ini value (500.0 -> 100000.0). This modification affects the probability table generation of Sr-090 from JENDL-4.0. The old version cannot put smallest xs bin. This problem is also modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Mar./01 (Version 1.03.022 -> 1.03.023) The treatment of the discontinuity energy region, e.g., threshold energy, is modified. The old version outputs an expected overlapped energy grid point. If the energy grid points distance is so narrow, e.g., 108200.2346 eV and 108200.2352 eV. When these energy grids are output on the PENDF file, energy grid becomes 108200.235 eV and energy grids are overlapped. The new version stopped to add energy grid when such overlap energy grid is found. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Feb./26 (Version 1.03.021 -> 1.03.022) The old version removes the overlap energy grid and skip discontinuity energy grid. The new version adds the discontinuity energy grid to rigorously present boundary of resolved and unresolved energy region. The cross section is modified when minus cross section is found. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Feb./24 (Version 1.03.020 -> 1.03.021) The Am242g from ENDF/B-VII.0 does not have MF=4/MT=18. In this case, old version of FRENDY (and NJOY/ACER) considers that this nuclide is not fissile nuclide. The new version of FRENDY checks whether the nuclear data file contains MF=1/MT=452, MF=4/MT=18, and MF=5/MT=18 or not when MF=3/MT=18 is found. The new version adds MF=4/MT=18 (Isotoropic angular distribution) when the MF=4/MT18 is not found. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Feb./04 (Version 1.03.018 -> 1.03.019) The checker function (check_total_product_xs) is added in NuclearDataObjectUtils.cpp This function checks consistency of XS from MF=3 and XS from MF=10. This function calculates total XS of MF=10 using energy grid of MF=3. If the relative difference between XS of MF=3 and the total XS of MF=10 is larger than 1%, warning messege is output. (If the relative difference is larger than 10%, FRENDY finished with runtime_error.) This function is developed for verify MF=9 and MF=10 data. This function is called after resonance reconstruction and Doppler broadening. The old version loops forever when the directory data is set as the input or ENDF file. To prevent an endless loop, blank data counter is added in the reader function. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Feb./03 (Version 1.03.017 -> 1.03.018) To reduce the calculation time of set_particle_production_ene_data_by_ene_angle_data_continuum module, source file is modified. The other modules also modified using similar method. The caluclation time of O-18 is changed from 550s to 130s. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Feb./02 (Version 1.03.016 -> 1.03.017) The search_dop_ene_max() function is modified. The old version search from largest value. The new version search from smallest value. The old version does not read the original ENDF file and check the resonance energy of original ENDF file. The new version reads the original ENDF file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./27 (Version 1.03.015 -> 1.03.016) The binary search is used to reduce the searching time of search_pos_ene function. The calculation time of the probability table generation will be about 20% faster than the old one. The calculation formula is modified to reduce the calculation time. The calculation time of the probability table generation will be about 15% faster than the old one. "isfinite(int_val)" is changed to "isfinite((double)int_val)" for compilation using Visual Studio. The polynomial coefficient conversion of nu_data and nu_p_data are modified. This modification has no impact on the ACE file generation since the order of nu_data and nu_p_data is less than or equal to 2. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./22 (Version 1.03.014 -> 1.03.015) WIN32 option is modified for 64bit compile mode. We found that unnecessary energy grid is found in the output of this class. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./22 (Version 1.03.013 -> 1.03.014) The old version cannot calculate thermal quantity when fission reaction is threshold reaction. This problems is modified. The error message is newly added. This error message is output when the non-TSL nuclear data file is set. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./14 (Version 1.03.012 -> 1.03.013) The old version takes a lot of energy grid near the discontinuity region. The new version modify the linearlization process and it does not add the add the energy grid near the discontinuity region. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./08 (Version 1.03.011 -> 1.03.012) The get_xss_data function is newly added to handle the ACE file data. The get_ace_text_data, get_ace_data_for_mg, and get_xss_data functions are newly added for FrendyMG. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./06 (Version 1.03.010 -> 1.03.011) The calculation is aborted if the interpolation type is log-log and y_p is identical to y_m. To avoid this problem, calculation method is modified and y_p is returned when y_p is identical to y_m. Additional energy grid scheme is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./05 (Version 1.03.009 -> 1.03.010) In the old version, parity is modified to +1 if spin and parity are zero. In the new version, parity is modified to -1 if spin and parity are zero. //////////////////////////////////////////////////////////////////////////////////////////////////// 2021/Jan./04 (Version 1.03.008 -> 1.03.009) The upper limit of the Doppler broadening calculation uses the energy boundary of resonance region. The linearized data removed the resonance parameter. The old version cannot check the energy bounary of resonance region in the search_dop_ene_max function. The new version read the original ENDF data to treat the energy bounrary of the resonance region. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Dec./28 (Version 1.03.007 -> 1.03.008) Warning message is added. Runtime error will be occurred when the ACE/PENDF file cannot be output. Warning message is added. Runtime error will be occurred when "NaN" or "Inf" is found in the processed data. Warning message is added. The new warning message is output when the out-going energy is less than 0.0 eV. Additional energy grid routine is modified. The energy grid is added when the resonance reactions (MT=2/102) are only non-thresold reaction. This modification affect on O-18 in TENDL2019. Input file reader is newly added to handle multi-group XS library generation. Input file reader function is modified to use fixed xs data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Dec./03 (Version 1.03.006 -> 1.03.007) If spin (J) and parity (pi) are zero, the size of complex matrix becomes zero and calculation of inverse matrix function (zsytrf_ in "ReconResonance/RmatrixLimited/rml/Cohrent.cpp") is aborted. To avoid this problem, parity is modified to 1 if spin and parity are zero. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Dec./01 (Version 1.03.005 -> 1.03.006) The suffix number of meta-stable nuclide is modified to distinguish grand-state and meta-stable nuclides. The suffix number of meta-stable nuclide is added (300 + meta-stable number * 100). For example, suffix number of Am-242 is 95242 and that of Am-242m is 95642. (If Am-242m2 is exist, suffix number of Am-242m2 is 95742.) Calculation of statistical error function in each ladder number is added. (But this function is used only for debug and commented out.) //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Oct./28 (Version 1.03.004 -> 1.03.005) The Bootstrap class is newly added to calculate statistical error using bootstrap and jack-knife methods. The statistical calculation of the probability table is added in ProbabilityTableCalculator class. The statistical error can be used as the criteria of the probability table generation. The old version does not appropriately read the data when the number of comment line is 1 and there is bracketdata, i.e., () or [], in this comment line. For example, if user set the comment line "U-235 (J40)", the old version of FRENDY considers that U-235 is comment data and J40 is the parameter. The StringUtils class is modified to appropriately treat bracket data. These files are modified to compile using Visual studio 2019. The cross section data is often used to plot or comparison. The xs_only function is newly added in these parser classes to reduce the reading time of the PENDF file. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Oct./15 (Version 1.03.003 -> 1.03.004) These classes are modified to treat the ACE format version 2.0.1 which is used in the ENDF/B-VIII.0 official library. The ENDF/B-VII.1 official library uses Ver. 2.0.0 and the ENDF/B-VIII.0 official library uses Ver. 2.0.1. PHITS and old MCNP cannot treat such new ACE format. These offical library set old format as the comment line of new format. The format version is modified from the new version to old version to treat PHITS and old MCNP. The character number of nuclear name and suffix id is 10. The new ACE format allows longer suffix id and nuclear name. The character number is modified to 24 when the new format is used. The old version cannot perturb the total reaction (not only probability table but also cross section). This problem is modified and new version appropriately treats the total reaction. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./29 (Version 1.03.002 -> 1.03.003) The modification of read module in Ver. 1.03.002 is inappropriate. We removed this modification. The PerturbNuclearData class is modified to treat MT=19. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./25 (Version 1.03.001 -> 1.03.002) The bug of FastAceDataGenerator class is modified. Print option of ACER module (iprint) is considered as the ACE output type (ascii/binary). The ACE output type is changed from iprint to itype. The read and write module of angular distribution (angular_distr_cos_data) is modified when angular_distr_pointer is less than 0, i.e., old cumulative angle distributions are used. The bag of unify_energy_grid function is modified. (The old version do not resize nbt_e.) //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./24 (Version 1.02.031 -> 1.03.001) The version number of FRENDY is modified to release new version of FRENDY. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./23 (Version 1.02.030 -> 1.02.031) The old version considered that S-ESZ + 2NE = sigma-a is capture cross section (MT=102). S-ESZ + 2NE = sigma-a is total neutron disappearance cross section (MT=101). The output function of this class (get_xs_data) is modified. Calculation of flag of inelastic scattering and absorption (iinel and iabso in PURR module) is modified. The calculation method of old version is identical to NJOY99. The calculation method of new version is identical to NJOY2016. This modification affects the cross section of n-017_Cl_036.endf from ENDF/B-VIII.0 in the unresolved resonance region. The set of energy grid of the probability table generation is modified. The number of energy grid using new version is slightly larger than the old version. The condition of middle energy grid addition is modified. The new version compares the distance from E[i-1] to E[i] and from E[i] to E[i+1]. If the energy distance between E[i-1] and E[i] is greatly larger or greatly smaller than that between E[i] and E[i+1], the new version adds the middle energy grid. The old version skips all data in the UNR blok which contains unresolved resonance range probability tables when the probability table comparison is skipped. The new version compares the energy grid and parameter of the probability table even if the probability table comparison is skipped. The bug of FRENDY Version 1.02.029 is found. This version does not calculate the cross section at the unresolve resonance region. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./10 (Version 1.02.029 -> 1.02.030)
The warning message is modified to use ErrorManager class. I found some bugs in the reading cross section data function and calculation of the bondarenko cross section function. The previous version only modify the cross section which the inciden energy is unresolved resonance region. These bugs are fixed. These bugs are only affected from Version 1.02.013 to Version 1.02.029. The output of header file is modified. This modification is only affect new format. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./10 (Version 1.02.029 -> 1.02.030)
The previous version only output error message when there is no input file. The new version outputs the version of FRENDY to easily check the version of FRENDY. The calculation function of bondarenko cross section using probability table and output function of cross section data are newly implemented. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./08 (Version 1.02.028 -> 1.02.029) Calculation function of potential cross section for multi-group cross section library generation is implemented. Calculation function of MT=103-107 is implemented. This function adds MT=103-107 in the PENDF file. Since MT=103-107 is newly added in PENDF file, the calculation of gas production cross section is also modified to treat such new MT numbers. The transform from real value "a" to integer value "b" is modified from "b=static_cast(a)" to "b=static_cast(round(a))" to correctly transform real value. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./04 (Version 1.02.027 -> 1.02.028) The calculation of total cross section at calc_probability_and_bondarenko_table_data module which is added in Version 1.02.021 is inappropriate. The calculation of total cross section is removed. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./02 (Version 1.02.026 -> 1.02.027) Checker function of ielas option is added in ACE file generator module. Using this function, user can easily found the input miss of ielas option. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Sep./27 (Version 1.02.025 -> 1.02.026) We found that the total probability table re-calculation scheme which is set in Ver.1.02.021 is not correct. This function is removed. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Aug./25 (Version 1.02.024 -> 1.02.025) The modification of cross section is to avoid inappropriate P1-total bondarenko table. The modification of cross section may affect the other parameters discribed in Version 1.02.024. The new version only modify the cross section which is uses in P1-total bondarenko table calculation. The modification of the cross section does not affect the other parameters. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Aug./25 (Version 1.02.023 -> 1.02.024) If the comment area is so narrow, e.g., "temp /* [K] */ 300.0", old version cannot remove comment data. To avoid this problem, CommentRemover class is modified. The warning message is modified. The calculation method of bondarenko table is modified from probability table to direct sampling. (The new calculation method is identical to NJOY2016.53.) When the sigma0 is small, e.g., less than 100, the bondarenko table in MF=2, MT=152 is different to the NJOY result. The cause of this difference is modification of the cross section. FRENDY modify the cross section to infinite dilution cross-section x 1.0E-2 if the cross section is less than infinite dilution cross-section x 1.0E-2. This modification is utilized to avoid inappropriate P1-self shielding. We checked Ba-132 from JENDL-4.0 to set appropriate modification parameter (min_xs_coef) and it is modified from 1.0E-2 to 1.0E-4. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Aug./17 (Version 1.02.022 -> 1.02.023) Version 1.02.021 set total cross section boundary before FRENDY modifies total cross section to remove minus cross section. In this case, probability table and its cross section becomes zero where the minus cross section is observed. To avoid zero probability, total cross section boundary calculation function is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Aug./17 (Version 1.02.021 -> 1.02.022) The old version does not add the middle energy grid where the energy grid is close to the top of Doppler broadening. If the difference of the cross section between resolved and unresolved region, e.g., Ba-132 from JENDL-4.0, the old version cannot treat the variation of the doppler broadened cross section near the top of Doppler broadening. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Aug./11 (Version 1.02.020 -> 1.02.021) The order of reader and perturbation classes is modified from [ene_no][bin_no][xs_type_no] to [ene_no][xs_type_no][bin_no]. The ACE format order of the probability table is [ene_no][xs_type_no][bin_no]. However, the order of reader and perturbation classes is [ene_no][bin_no][xs_type_no]. The writer class does not check the order of the probability table. The previous version cannot write probability table in the ACE file when user read ACE file using FRENDY. The new version output runtime error when the order of the probability table is not [ene_no][xs_type_no]. The previous version modified probability table to 0.0 when the probability table is less than 0.0. The new version modified probability table to min_sig_val (1.0E-40) since 0.0 cannot be treated when the log-log interpolation is used. The total probability table is recalcualted in ProbabilityTableCalculator and FastAceDataGenerator classes using elastic scattering, fission and radiation probability tables. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/July/29 (Version 1.02.019 -> 1.02.020) Warning message of these classes are modified. The minus probability table is modified to 0.0. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/July/01 (Version 1.02.018 -> 1.02.019) Warning message of ThermalScatterAceDataGenerator class is modified. The principal atom number of default value is modified to correctly process thermal scattering law data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/June/29 (Version 1.02.017 -> 1.02.018) If the background cross section is large and the sign of it is minus, the cross section becomes minus at the valley of resonance. In this case, the cross section at 1st or 2nd probability bin becomes minus value. The cross section calculation is modified to be 0.0 barn when the sum of cross section and the background cross section is smaller than the min_sig_val. This modification affects n-048_Cd_106.endf from ENDF/B-VII.0. The treatment of narrow angular distribution implemented in Version 1.02.017 is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/June/25 (Version 1.02.016 -> 1.02.017) If the angular distribution is anisotropical, the distance of angular becomes so narrow and calculation of integrated cross section becomes infinite. To avoid this problem, angular distance check function is added. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/June/24 (Version 1.02.015 -> 1.02.016) To verify processing results, the processing result (incoherent inelastic scattering cross section) at the upper energy limit is compared to the elastic scattering cross section of original nucleus. If the relative difference is larger than 10%, warning message is output. If iwt/weight_option is 2 and the secondary energy distance is so narrow (i.e., the distance becomes 0.0 due to rounding error), MCNP6.1 is stopped with abnormal termination. To avoid the abnormal termination of MCNP6.1, such narrow energy distribution is removed when FRENDY generates ACE files. The minimum energy distance of the old version is 1.0E-17 MeV (1.0E-11 eV) and that of the new version is 1.0E-14 MeV (1.0E-8 eV). The warning message of nuclear data file is removed in the default option to emphasize the warning message of nuclear data processing. This warning message is important for evaluation of nuclear data file. However, this message is unnecessary for nuclear data processing code users. The important warning message may not be found if the warning message of nuclear data file is output. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/June/18 (Version 1.02.014 -> 1.02.015) The old version considered that the unit of a of Watt spectrum (MF=5, LF=11) is not concerned to energy. So, the old version multiplies 1.0E+6 when the unit of energy is changed from eV to MeV. However, the unit of this value is energy and this value must be multiply by 1.0E-6 ehen the unit of energy is changed from eV to MeV. The new version is modified the unit conversion of a of Watt spectrum. The new functions, i.e., devide_full_path, get_file_name, get_path_name, and get_suffix_name, are added. These functions are used to get file name, path name, and suffix name from full path name. Some bugs to modify probability table are modified. This class automatically set the output ACE file name using the original ACE file name. If the original ACE file name is “../ACE/xxx.ace”, the output ACE file name becomes “0001/../ACE/xxx.ace”. In this case, this tool cannot write the output ACE file if “0001/../ACE” directory cannot be found. The new version remove path name using new function of FileCommentRemover class (get_file_name function). The output ACE file name using new version is “0001/xxx.ace”. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/June/17 (Version 1.02.013 -> 1.02.014) To remove the minus residual cross section, the residual cross section is modified when residual cross section is less than 1.0E-5. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/June/12 (Version 1.02.012 -> 1.02.013) The previous version of FRENDY sets initial secondary energy distribution for thermal scattering law data using beta value in evaluated nuclear data library. If the distance of beta value is so narrow, the secondary energy distribution is also narrow and this narrow secondary energy distribution causes the error of MCNP. To avoid this problem, the distance of secondary energy distribution is checked in ThermalScatterAceDataGenerator class. This function is also added in ThermalScatterAceDataWriter, but now is commented out. The previous version of pertubation tool cannot appropriately modify the cross section at the unresolved resonance region qith probability table if LSSF flag (self shielding flag) in MF=2 MT=151 is 0. If LSSF is 1, the probability table is coefficient and the cross section is obtained for the product of probability table and cross section. Since this tool modifies cross section, the cross section using probability table in the unresolved resonance region is also correctly modified. To modify probability table when LSSF is 0, PerturbNuclearData class is modified. The checker function (check_mt_list_all) for MF=03, MF=04, MF=05, MF=06, MF=09, and MF=10 is newly added. If MF=04-06, 09, 10 data is found and MF=03 data is not found, FRENDY output warning message. The checker function (check_energy_range) is newly added. This function checks the overlap of resolved and unresolved resonance regions. This class generates gas production cross section (MT=203-207). The previous version output gas production cross section data even if all cross sections are zero. To remove these zero cross section data, GasProductionXSCalculator class is modified. *new Evaluated nuclear data file format check mode is newly added in FRENDY. This mode only read the evaluated nuclear data file and output warning message of nuclear data format. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/May/11 (Version 1.02.011 -> 1.02.012) The remove_zero_data function in TabAdjuster class modifies tab1 data when all Y data is zero. In such case, vector data is changed to X[0]=X_min, X[1]=X_max, Y[0]=0.0, Y[1]=0.0. The old version considers that all Y data is zero when the element number of X data is zero. The new version checks the element number of X data and Y value to correctly check the zero data. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Apr./28 (Version 1.02.010 -> 1.02.011) The old version cannot correctly calculate the 1st chance fission cross section (MT=19) of U232 from JENDL-4.0. The old version check the cross section value and the 1st chance fission cross section is equal to the total fission cross section (MT=18) when the 1st chance fission cross section is less than 0.0 barn. The back ground cross section of U232 is complex. The old version misunderstand the upper energy region that changing from MT=19 to MT=18. The new version changes the cross section from MT=19 to MT=18 where the 2nd chance fission cross section is less than 0.0 barn. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Apr./24 (Version 1.02.009 -> 1.02.010) Calculation of len2 value is modified to appropriately read MCNP. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Apr./18 (Version 1.02.008 -> 1.02.009) The old version cannot generate ACE file appropriately when secondary energy data is zero. To avoid this probrem, checker method is added. The bug is found in the automatic NJOY input maker. In the old version, nmix in ACER is equak to natom in THERMR. nmix in ACER is 1 without benzen. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Apr./17 (Version 1.02.007 -> 1.02.008) Typographical error is modified. The cosine distribution is -1.0 - 1.0. Cosine value of the old version becomes larger than 1.0 due to rounding error. The new version modified cosine value if cosine value is less than -1.0 or larger than 1.0. Calculation of len2 value is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Apr./16 (Version 1.02.006 -> 1.02.007) The old version of FRENDY (and NJOY) uses emax_ace - 1.0E-5 as the top of energy. FRENDY calculate double differential cross section at emax_tsl, emax_tsl - 1.0E-7, and emax_tsl + 1.0E-7. In this case, emax_ace is equal to emax_tsl + 1.0E-7 and these three energy grid points (emax_tsl, emax_tsl - 1.0E-7, and emax_tsl + 1.0E-7) are removed to generate ACE file. The new version of FERNDY treat these three energy grid points. For NJOY users, emax_tsl - 1.0E-7 and emax_tsl + 1.0E-7 are changed to emax_tsl - 1.0E-5 and emax_tsl + 1.0E-5 to appropriately treat in ACER module. The maximum thermal scattering law energy is changed from 4.0 eV to 10.0 eV to consider the thermal scattering law data in the wider energy region. The old version of FRENDY modified cross section to 0.0 eV when the cross section is less than 0.0 barn without no warning message. The new version of FRENDY output warning message to notice the users. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Apr./07 (Version 1.02.005 -> 1.02.006) The old version of FRENDY is changed interpolation scheme to linear-linear without linearization. The new version linearizes Tab1 data befor normalization. This modification affects ACE file neration. The ENDF edit tool is newly developed to easily modify nuclear data. This tool remove, the specified MF/MT data and change and add the specified MF/MT data from other nuclear data file. The old version calculates double differential cross section (DDX) at the incident energy grid of total cross section (MF=3, MT=1). The new version calculates DDX at incident energy grid of MF=3, MT=1 and NJOY's fixed energy grid (118 grid). The top energy grid of old version is maximum energy of input data (EMAX). The top energy grid of the incoherent energy grid is changed from EMAX to EMAX*(1.00001) to add 0 barn cross section data. The minimum value is changed from 1.0E-30 to 1.0E-60 to treat thermal scattering law data. NjoyInputReader class is modified to read NJOY's inpor format. The warning message of nuclear data file is removed in the default option to emphasize the warning message of nuclear data processing. This warning message is important for evaluation of nuclear data file. However, this message is unnecessary for nuclear data processing code users. The important warning message may not be found if the warning message of nuclear data file is output. Timer tool of boost is changed from boost/timer.hpp to boost/timer/timer.hpp. The class and function name to call time data are also changed. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Jan./27 (Version 1.02.004 -> 1.02.005) The new version calculate total partial production cross sections (MT=103-107) from MT=600-849. //////////////////////////////////////////////////////////////////////////////////////////////////// 2020/Jan./16 (Version 1.02.003 -> 1.02.004) Pu-240 from ENDF/B-VIII.0 has MF=18 and MF=19 and cross section value of MF=19 in the resolved resonance region is 0.0 barn. In this case, new version of FRENDY copy cross section value of MF=18 to that of MF=19. If the cross section value of MF=19 is larger than 0.0 barn, FRENDY does not change the cross section value. The minimum cross section value (min_sig_val at Config/CommonData.hpp) is changed from 1.0E-30 to 1.0E-40. The old version modified minus cross section which is used for the back ground cross section to 0.0 barn. The new version treat minus cross section. If all cross section value is zero barn, the old version remove TAB1 data. In such case, NJOY cannot treat the PENDF file. The modified version outputs the cross section (0.0 barn) even if the all cross section value is 0.0 barn. Error message in ErrorManager class is modified. ("Runtime error was occured." -> "Runtime error.") Error message of set_photon_enegy_distr_by_ene_angle_distr_common_data function in FastAceDataGenerator class is modified to easiliy found the problem. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Nov./22 (Version 1.02.002 -> 1.02.003) The old version cannot treat "/" character in the comment line or tname(thermal zaid name). If user want to set "o/lw" for the tname, FRENDY considers "o" and "/lw" is comment line. To treat "/" character, NJOY input reader classes are modified. To automatically calculate all thermal scattering law data in ENDF/B-VIII.0, ThermalScatterMatList class is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Oct./18 (Version 1.02.001 -> 1.02.002) The old version generate ACE file with NJOY mode when calculation mode is not NJOY mode. The cause of this problem is incorrect treatment of "#ifdef" flag in AceDataGenerator class. AceDataGenerator class is modified process FRENDY mode. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Oct./11 (Version 1.02.000 -> 1.02.001) ACE file can not distinguish nu_prompt and nu_tot when nu_prompt or nu_tot are found. The old version consideres that this value is nu_prompt. The new version consideres that this value is nu_tot and outputs caution message. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Oct./09 (Version 1.01.010 -> 1.02.000) The default value of back ground cross section and read function of back ground cross section for probability table generation is modified. The first background cross section is considered as infinite dilution cross section in the probability table generation. The default value of back ground cross section is "1.0E-5, 1.0E-1, 1.0E+0, 1.0E+1, 3.0E+1, 1.0E+2, 3.0E+2, 1.0E+3, 1.0E+4, 1.0E+10". In this case, FRENDY considers that the ininite dilution cross section is 1.0E-5 barn. FRENDY is modified to sort the back ground cross section before the probability table calculation. The probability bin setting function is modified. The old version sometimes probability is 0.0 in some probability bins. The cause of this probrems is incorrect probability bin. The boundary of the probability bin is modified if the distance of probability bin is so narrow. However, order of probability bin is not checked. So, oreder of probability bin is incorrect in some cases. To avoid this problem, the distance of probability bins is modified. Adjustment amount of boundary of probability bin is also modified from 1.05 to 1.01. GasProductionXSCalculater class is modified to correctly calcualte the gas production cross section. The minimum value of resonance cross section of R-matrix limited formula is changed from min_value (1.0E-30) to 0.0. Since material number of OinD2O from ENDF/B-VIII.0 and JEFF-3.3 is different to that of JENDL4.0. FRENDY is modified to treat OinD2O from ENDF/B-VIII.0 and JEFF-3.3 in FRENDY original input format. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Aug./19 (Version 1.01.007 -> 1.01.010) The probability bin setting function is modified. The old version sometimes probability is 0.0 in some probability bins. To avoid this problem, the distance of probability bins is modified. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Aug./13 (Version 1.01.005 -> 1.01.007) (1) Bug fix of thermal quantities calculation FRENDY automatically calculate thermal quantities when temperature is 293.6K. The thermal quantities calculation requires fission and capture cross section at whole energy grid. The fission cross section of Th-230 from JEFF-3.3 is threshold reaction. In such case, FRENDY cannot appropriately calculate the thermal quantities. We modified FRENDY to skip then the fission or radiative capture cross section has threshold energy. (2) Modification of algorithm for linearization of non-resonance cross section If the energy grid is less than threshold energy, FRENDY slightly move the energy grid. This algorithm requires long computation time when the difference of the threshold energy and the energy grid is so large. We modified the algorithm. The new algorithm changes the energy grid to threshold energy when the energy grid is smaller than the threshold energy. (3) Change error message and processing rule The old version of FRENDY stopped when the order of X data list in Tab1 record is not approrpate (X[i] < X[i-1]). The modified version does not stop because some users do knot well about the nucler data file and they cannot modify the nucler data file by themselves. The modified version outputs error message and removes this energy grid. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Aug./10 (Version 1.01.005 -> 1.01.006) The xsdir format is modified. If the data size of the ACE file is so large, previous version cannot appropriately output xsdir. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/Aug./06 (Version 1.01.001 -> 1.01.005) (1) Bug fix of total inelastic scattering cross section (MT=4) When the total inelastic scattering cross section is not found in the ENDF file or the total inelastic scattering cross section is threshold reaction, FRENDY output inappropriate total inelastic scattering cross section. We modified this problem. (2) Treatment heat cross section in probability calculation The previous version of FRENDY cannot treat the heat cross section since FRENDY has no function to calculate the heat cross section. We modified to treat the heat cross section in probability calculation. //////////////////////////////////////////////////////////////////////////////////////////////////// 2019/July/08 (Version 1.00.005 -> 1.01.001) (1) Bug fix FRENDY modules are modified to appropriately process ENDF/B-VIII.0 and JEFF-3.3. (2) Modification of origination of the include file name The directory structure in the include file name is modified; The origination of the include file name is changed from current directory ("./") to the top directory of FRENDY ("frendy). This modification is adopted to compile FRENDY using Visual Studio. Visual Studio users have to assign the source directory to compile the program. To compile the previous version (Version 1.00.005) using Visual Studio, users have to assign all directories in which the source files of FRENDY are contained. Users can compile the new version only by assigning the top directory. This modification also affects the other compilers, e.g., GCC and Intel compiler. Users have to set -I option when they use these compilers. (3) New tools using FRENDY modules The make_perturbation_factor and perturbation_ace_file tools are newly added in "tools" directory. These tools are developed to perturb the ACE formatted files for the random sampling or the sensitivity analysis using continuous energy Monte Carlo calculation code.