njoy / NJOY2016

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

Potential issue in GROUPR for photonuclear data #121

Open whaeck opened 5 years ago

whaeck commented 5 years ago

We received the an email from Tim Ware with a concern about GROUPR:

The question is whether GROUPR can handle incident photon data correctly. I think this applies equally to the NJOY99 and NJOY2012 versions of GROUPR.

Looking at the relevant code source, quantities such as the reaction threshold are scaled by (AWR+1)/AWR which makes the assumption that the incident particle is a neutron. It is not clear whether GROUPR can discriminate between incident neutrons and other incident particles.

An example which exhibits the problem is the ENDF/B-VII.0 photon data for H2, reaction is MT50. The cross section threshold in MF3 is ~2.2MeV and the Q-value about the same. However, the threshold calculated from MF6 is around 3.3MeV, due to the (1.9963+1)/1.9963 scaling factor applied.

whaeck commented 5 years ago

A preliminary investigation of the source code makes believe that it is OK for neutrons and charged particles but not necessarily for photons on light targets.

Here's where I am for the moment:

In the getsig routine, the thresh variable is initialised on line 4922:

thresh=(awr+1)*(-q)/awr

The awr value in this line is actually not the awr value as read from the ENDF file. On line 4890 we can see that:

if (awrp.ne.zero) awr=awr/awrp

The awr value is converted from a weight ratio with respect to neutron mass into a weight ratio with respect to the incident particle mass. awrp is the incident particle mass in neutron mass units, read from MF1 MT151 (the AWI value on the 3rd CONT record). (awr+1)/awr is essentially the ratio of the sum of the target and particle mass to the target mass. The correction on line 4890 works perfectly fine as long as the particle has a mass, which is not the case for photons. When awpr is zero (which should be the case for photons), (awr+1)/awr appears to revert to target mass + neutron mass to target mass.

So, I think that everything is fine for incident neutrons and charged particles but maybe not for photons on light targets. The threshold is most likely not the only place where this issue may have an impact.

timware commented 5 years ago

Thanks for looking into this.

whaeck commented 5 years ago

The following input file was provided: h2-photonuclear-groupr.txt

whaeck commented 5 years ago

To correct the threshold, we can replace the following two lines (lines 4922&4923):

      thresh=(awr+1)*(-q)/awr
      alpha=(awr-1)**2/(awr+1)**2

with

      thresh=-q
      alpha=1
      if (awrp.ne.zero) thresh=thresh*(awr+1)/awr
      if (awrp.ne.zero) alpha=(awr-1)**2/(awr+1)**2

I also corrected the alpha value here. When I run NJOY with these corrections, only the transfer matrix is changed. The calculation of those matrix elements references the awr value in multiple locations so there may be other changes that have to be made as well.