Nuclear data I/O optimisation

From FISPACT-II Wiki
Revision as of 11:25, 8 September 2016 by Michael Fleming (Talk | contribs) (Created page with "The nuclear data distributed with FISPACT-II is massive, requiring some 10s of GB of space and including multiple forms for different applications. In many scenarios, users pe...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The nuclear data distributed with FISPACT-II is massive, requiring some 10s of GB of space and including multiple forms for different applications. In many scenarios, users perform computationally expensive tasks with multiple FISPACT-II executions for sampled uncertainty methods or different spatial or temporal locations within a large model. To speed up the execution time and decrease the memory allocation, the compress_xs_endf tool may be used for restricting the nuclear data and compressing the information into a binary format. In addition, a reduced nuclide index which covers less than the 3800+ nuclides in the default case can provide similar advantages.

Compressed ENDF Library Files

The TENDL nuclear data libraries are large -- they contain many gigabytes of data. If a sequence of FISPACT-II runs uses the same incident particle spectrum, then the time for a single collapse run may be spread over many runs by using a preliminary collapse run. However, if the sequence of runs uses different flux spectra in each run, then the computational time for the collapses becomes significant, particularly if data are accessed across a network. To speed up calculations in these cases, three capabilities have been added to FISPACT-II. The first is to preprocess the ENDF libraries and store only those data by FISPACT-II in a single compressed binary file. The second is to store the cross sections versus energy in FISPACT-II and then perform a number of collapses without re-reading the ENDF data. The third approach to speedup is to use a reduced master index as described in the next section.

A separate executable compress_xs_endf is used to convert the ASCII ENDF libraries into a compressed binary file. It has up to five arguments, in the following order:

  1. the fileroot name used to construct binary output and log file names (default is compress_xs_endf;
  2. the projectile - a letter that denotes the incident particle for the reaction data. Valid values are n (default), p, d, a, g;
  3. the energy group size: number of energy bins in the cross section data. These are restricted to those in your distribution, possibly including the 1102, 709 or 162 group structures;
  4. the save type: taking values between 0-5 whcih specify what data are to be saved (default 1);
  5. the name of the files file (default files).

The save types are:


0 cross sections only
1 cross sections and variances
2 cross sections, variances and covariances
3 resonances and cross sections
4 resonances, cross sections and variances
5 resonances, cross sections, variances and covariances


Any other value defaults to 1. For most applications cross sections only or cross sections and variance (neutron irradiation) are suffcient. Covariance data are only available for neutron irradiation and are only needed if the COVARIANCE keyword is being used. The resonance data are only used if the SSFGEOMETRY keyword is to be used.

An example of the use of compress_xs_endf that creates a binary compressed library tal2015-n.bin containing 709-group cross-sections, variance and covariance data for neutron irradiating flux using the TENDL2015 library is as follows:

compress_xs_endf tal2015-n n 709 2

The fifth argument is not present and so will take its default value files. This file must contain the mappings for ind_nuc and forxs_endf. For example:

# index of nuclides to be included
ind_nuc  /path/to/fispact/ENDFdata/TENDL2015data/tendl15_decay12_index
# Library cross section data
xs_endf   /path/to/fispact/ENDFdata/TENDL2015data/tal2015-n/gxs-709

Only those nuclides listed in the ind_nuc file are included in the compressed library. The input files for collapse calculations using the compressed ENDF libraries differ from those using the full ASCII libraries only in that the GETXS has first argument -1 rather than 1, and the files file contains a mapping for the compressed library:

# Compressed library cross-section data
xs_endfb tal2015-n.bin

Typically, the compressed library is about one quarter of the size of the full ASCII library, and collapse calculations are typically a factor four faster. Further reductions in file size and execution times can be realised using a reduced nuclide index.

Reduced Nuclide Index

TENDL contains 3875 nuclides as targets and/or products. In most applications, only a small number of these nuclides are significant. Those that are not can be left out of the activation or transmutation calculation without a ecting the quality of the physics predictions. Omitting the unimportant nuclides leads to much faster FISPACT-II calculations and smaller data files. FISPACT-II has a simple mechanism for excluding unwanted nuclides; only those nuclide listed in the ind_nuc master index le are included in the calculation. Keeping only significant nuclides can reduce the computation time for collapse calculations and inventory by one or two orders of magnitude, and can reduce the computation time of larger Monte-Carlo sensitivity calculations by several orders of magnitude.

The reduced index can be created by hand editing the full nuclide index to retain only the light gas nuclides and those in the region of Z-A space around the target materials being studied. Alternatively, a reduced index can be automatically generated from a full calculation with pathways analysis by including the INDEXPATH keyword in the input file.