I am doing some simple simulations with mono energetic neutrons comparing hadronic physics lists including QGSP_BICHP, QGSP_BERTHP, QGSP_BICAllHP, QGSP_INCLXXHP, Shielding and ShieldingLEND.
When I am using ShieldingLEND (which is Shielding but with LEND instead of HP data libraries), I have found some issues with boron capture energies.
For a simple test, I used the ‘radioprotection’ example and a 1cm3 cube of natural boron (G4_B from NISTManager) in vacuum. I checked the output using /tracking/verbose 1 and saw that incorrect energies were being produced from the neutronInelastic process with Boron-10, the kinetic energy of the particles are double what they should be, please see ‘screenshot 1’ below. The neutron physics that is built when using ‘ShieldingLEND’ physics list option is shown in ‘screenshot 2’.
For reference, the secondary product energies with the 94% B10(n,a)Li7 capture reaction should be alpha=1.47MeV, Li7=0.84MeV, gamma=0.478MeV. The Q value is 2.78MeV. We see that the gamma is correct (it is stated as a discrete energy in the ENDF/LEND data file), but alpha and Li7 seem to be doing some sort of energy balancing that is failing.
I also tried other materials from NIST such as G4_BORON_CARBIDE and defining the B-10 isotope explicitly using G4Isotope with Z, N, A numbers. I also tried changing the temperature of the material: 0K, 273K, 300K but it was always the same result.
It is occurring for all the monoenergetic neutrons I tested: 0.0025 eV, 0.1 eV, 1eV, 10 eV, 100eV, 1keV, 10keV, 100keV, 1MeV, 2MeV, 5MeV.
Other interactions such as H1(n,G)H2 have the expected results compared to literature, it is just Boron-10 that is wrong. Interestingly, the number of boron capture reactions per incident neutron is the same for Shielding and ShieldingLEND, just the output KE being different for alpha and Li7.
I then thought that there may be a bug with the overlapping of many cross sections seen here for neutronInelastic. So I then used no prebuilt hadronic physics list and added the LEND model to the neutron inelastic process manually to force only this one to be used as shown above in ‘screenshot 3’.
Unfortunately the same result was given for the boron capture reactions after this physics change. So this tells us that the incorrect energies is due to the LEND inelastic model or its data set.
I have tested this using Geant4 versions: 10.4.p02, 10.5.p01, 10.6.p02. I have also tried on different operating systems: Mac OSX 10.15, CentOS 7 and CentOS 8. I have discussed with other users and they produce the same incorrect KE result independently in their simulations.
Is anyone able to provide any information about this?