njoy / NJOY2016

Nuclear data processing with legacy NJOY
https://www.njoy21.io/NJOY2016
Other
96 stars 86 forks source link

Feature/purr endf8 #73

Closed whaeck closed 6 years ago

whaeck commented 6 years ago

The latest ENDF/B-VIII.0 processing gave 4 nuclides with negative cross sections in the probability tables: 22Na, 36Ar, 106Cd and Pu240. The negative cross sections for the first three appear because the evaluation of these nuclides has an LSSF flag of 0 (MF3 contains background cross sections) and all or some of these background cross sections are negative in the unresolved resonance region. When sampling the cross section values from the unresolved resonance parameters, these backgrounds need to be added to the final cross section values. Negative values can therefore occur when the sampled cross section values are small. Because the cross section values are sorted prior to generating the probability bins, these negative cross section bins are often limited to the first few bins of the probability table. Nothing can be done about these for the moment (we could study the impact of resampling the cross section values if we detect a negative value coming out).

However, for 240Pu, the evaluation does not use background cross sections because LSSF is set to 1 (MF3 contains the actual dilute cross sections and the unresolved resonance parameters should only be used for self-shielding purposes). It appeared that the total cross section in the 240Pu evaluation is smaller than the elastic scattering cross section in the beginning of the unresolved energy range. For example, at 5.7 keV, the total and elastic scattering cross sections are respectively 14.19534 and 15.271 barns.

The negative cross sections in the probability tables appear because PURR uses the difference of the total with elastic, fission and capture as a background/competitive cross section for the total cross section in the probability table if the LSSF flag is set to 1. In the case of 240Pu, this became a negative value because the total is smaller than elastic, leading to negative cross sections in the first few bins of the probability tables. For the cross sections coming out of RECONR, NJOY actually recalculates the total cross section from the partials so this should not be an issue anywhere else.

This issue was corrected by setting the total background to 0 if the total cross section is smaller than the sum of its components when the evaluation has an LSSF flag of 1. In addition, PURR will also issue a message to indicate this has happened and at which energy so that the evaluation may be fixed.

An additional fix included in this pull request is an update proposed by S. Kahler to increase the initial size of the scratch array in GROUPR as a function of user input (number of sigma0 values, the user defined group structure size, etc.)

NJOY date and version has not been updated yet, pending potential additional changes.

coveralls commented 6 years ago

Coverage Status

Coverage remained the same at ?% when pulling dcf7b5700989541bc25d5f83d4e06f819652ecf1 on feature/purr-endf8 into c88900d9d07706c2e3a5db92654996be007640bb on master.