Closed whaeck closed 5 years ago
Branch fix/groupr contains changes to GROUPR to solve this problem.
The use of only an infinite dilute fission matrix/vector was due to this being hardcoded in the init subroutine which sets the size for the ans(il,iz,ig) array (il and iz represent the legendre order and the sigma0 values). Previously, for the fission matrix, the number of sigma0 values was hardcoded to be equal to 1. This has been changed to be equal to the number of sigma zero values given by the user. The legendre order is always 0 (isotropic), this has not been changed.
By introducing a few additional loops over il and iz in the appropriate places instead of using ans(1,1,ig), the GENDF file now gives us the data as a function of sigma zero as well.
The ERRORR module was checked as well, as the GENDF file is used as input for the covariance processing. No changes appear to be required. The routine that reads the GENDF file uses a general approach (independent of which section is to be read) so the changes to the format should be transparent for ERRORR (please note that ERRORR only uses infinite dilute data from the GENDF file). The existing tests using ERRORR and COVR are not impacted by the changes (the input files in question only use a single sigma0 value). A test should be added using ERRORR alongside a GROUPR run that uses more than 1 sigma0 value.
Good sleuthing to uncover the basis of this issue!
Some of the data MF6 MT18 written to the NJOY output file still needs to be changed (in some cases, GROUPR still writes only the infinite dilute data to the NJOY output file). The GENDF file however is fully fixed.
Hmmm ... does this have an impact on MATXSR or the other multigroup modules like CCCCR and DTFR?
Good question. We have test 30 that tests the use of MATXSR for both neutrons and photons. It only has a single sigma0 value in the group part but I will modify that and see if there were changes in the MATXSR outputs. For CCCCR and DFTR I would not know, we don't really use these modules anymore but I'll check.
DFTR is safe. The data read takes into account the fact that number of sigma zero values may be different from 1 in the MF6 MT18 section of the GENDF tape (even though it never was before the changes we made). See line 431 of dtfr.f90.
CCCCR also takes into account the possibility of multiple sigma0 values. See line 916 of ccccr.f90. In both DFTR and CCCCR the legendre order nl and the number of sigma0 are explicitly read of the file for each section it reads.
Fixed in #119
Thomas Saller (LANL) indicated an issue when processing ENDF/B-VIII.0 Pu236 multigroup data into the NDI format when trying to create NDI files for various sigma0 values (up to now, infinite dilute data was the norm). During the formatting process, the formatting tool indicated an issue with MF6 MT18 in the GENDF file that GROUPR produced.
An input file to illustrate the issue is attached: pu236.txt
This input file uses three sigma0 values: infinite dilute, 1e+5 and 1e+3. The "usual suspects" (total, elastic, fission and capture) have multigroup cross sections as a function of sigma0 value, as expected. However, only elastic scattering appears to have a scattering matrix as a function of sigma0 while only the infinite dilute fission matrix is given in the GENDF file.
NOTE: all nuclides with fission have this issue.