Inconsistencies in the Yield of N16 Produced by Neutron Capture on O16

Dear GEANT4 community,

I am writing to report an inconsistency I have observed in the yield of N16 produced by neutron capture on O16 in geant4-v11.0.3. Specifically, I am using the Hadr04 example to simulate the water activation with 3M 14MeV neutrons, and to measure the yield of created N16 isotope. I found that the yield of N16 was 2.3%, while the literature reports a value of 1.3% (c.f. SuperK paper page8, 2nd paragraph).

To further investigate this issue, I looked at the GEANT4 data files (namely data/G4NDL4.5/Capture/CrossSection/8_16_Oxygen.z and data/G4NEUTRONXS1.4/cap8_16) and plotted the cross sections of neutron capture by O16, and compared that with data from EXFOR (2021 Pillon, and 2001 Subashi) as well as calculated ENDF/B-VIII for energies between 10 and 20 MeV (please see attachments), where you can notice a discrepancy. (PS: I am assuming that capture XS in 8_16_Oxygen.z are in column 4 and that they are in mbarns, but the XS values seem to be 10 times what they should be).

I wanted to bring this issue to the attention of the GEANT4 community and seek any insights or suggestions you may have. Have any of you encountered similar discrepancies before, or do you have any recommendations on how I could investigate this issue further?

Thank you in advance for your help and insights.


G4NDL4.5 n on O16 XS
G4NEUTRONXS1.4 n on O16 XS

I ran Hadr03 with attached macro.
As you can see on the printout, the production rate of N16 is ~1.49 %

rafik.mac.txt (253 Bytes)
rafik.out.txt (7.3 KB)

1 Like

I think Michel has shown that there isn’t a problem here, but it’s still worth pointing out that G4NEUTRONXS has been obsolete from Geant4 release 10.5 (about 5 years ago).

1 Like

Another exercice that can be done with Hadr03 : neutron, 14 MeV, on O16.
To increase statistic, I have inactivated elastic collision.
Total cross section, inelastic + capture, is sigmaTot = ~635.5 mb
There are 6708 Nitrogen16 produced for 10ˆ5 incident neutrons → rate = ~6.7 10ˆ(-2)
Therefore, the cross section for this channel is sigmaTot * rate = ~42.6 mb, in agreement with your first two plots.

rafik.mac.txt (336 Bytes)
rafik.out.txt (2.5 KB)

1 Like

Dear Mr. Maire and Mr. McFee,

Thank you both for your replies and valuable assistance. I would like to express my gratitude for the proposed solution, which worked perfectly for my case. However, I have a few follow-up questions to better understand what may have caused the issues with the Hadr04 example.

I am curious about the obsolescence of G4NEUTRONXS. Does this mean that it has not been updated since the 10.5 release, or is it not being used by the Hadr04 example? I was able to edit the G4NEUTRONXS file for oxygen (cap8_16), but the yield was not affected. On the other hand, editing the 8_16_Oxygen.z data file of G4NDL4.5 caused the simulation to fail to run. I had to extract and compress the file back to .z format. However, running the code still got stuck at the stage of getting physics lists.

Also, since both Hadr04 and Hadr03 examples use NeutronHP, why do I get a wrong yield running the former and an accurate one running the latter? Additionally, I noticed that the cross section values on 8_16_Oxygen.z are identical for energies between 1 MeV and 20 MeV, yet GEANT4 still managed to compensate and produce accurate cross section values in agreement with ENDF/B-VII (green curve on the first figure). How is this achieved?

Finally, I would like to create a plot of N16 yield as a function of incident neutron energies, ranging from the threshold of 11 MeV to 20 MeV. I would appreciate any guidance you can provide on how to achieve this.

Thank you both for taking the time to address my concerns. Your helpful responses have made my first experience in the forum very pleasant.

Best regards,

To answer the first question, the 10.5.0 Release notes say that the G4NEUTRONXS data set was replaced by the G4PARTICLEXS1.1 data set. The data in it is produced from “G4NDL-4.5 for neutrons, G4TENDL-1.3.2 for p, d, t, He3, He4 and LEND1.3 for gamma”. As of Geant4 11.1.1, G4PARTICLEXS4.0 is provided, along with G4NDL4.7, G4TENDL1.4, and LEND_GND1.3_ENDF.BVII.1, so it presumably has been updated since Geant4 10.5.

Hadr03 is specific.
As explained in Readme, the simulation is limited to the first interaction, eg. with nominal neutron energy. Then, the event is aborted.

In real life, scattered neutrons can interact again, and their contributions must be taken into account. This is done in “complete” simulation : Hadr04 and others …

If you run few events with /tracking/verbose 2, you will easily understand what I mean.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.