We are trying to simulate the energy spectrum of neutrons emitted by a 10 MeV proton beam hitting a lithium fluoride target. We have compared three Geant4 versions and one MCNP 6.3 simulation with the same geometry. ENDF70PROT library was used for MCNP.
5e8 protons were created for Geant4 runs and 1e9 for MCNP. Sorry for the inconsistency.
The geometry is described below with the spectra, the LiF is the cylinder on the left, and the rectangle is an ideal scorer which records the energies for incoming neutrons (n) and gammas (g).
We notice a clear difference in the four produced spectra (I hope you can see the text in the picture, my account is too young to attach multiple media):
The simulation code was not changed at all between the Geant4 runs. Only the activated Geant4 version is different.
My questions are the following:
What is the main reason the neutron energy spectra are so different between versions? I suspect it is the handling of low-energy neutron datasets, but I would like to have more details on this.
What is the “most correct” one? Version 10.7.4 is the most consistent with MCNP regarding the energy spectrum shape.
I am surprised, that the gamma peak is missing in the latest Geant4 version that was tested. I wonder why this is.
I don’t know a definitive answer but it might be helpful to point out that the physics list QGSP_BIC_ALLHP uses evaluated data for primaries like p,d,t,He3 and He4 with energy below 200 MeV (which is the case here).
These evaluated data come (usually) from the G4TENDL-cross section library where your environmental variable G4PARTICLEHPDATA needs to point to.
I think, another important library when dealing with neutrons is G4NDL - it’s environmental variable G4NEUTRONHPDATA
All this said: Geant4 10.7.4 uses G4TENDL1.3.2 and G4NDL4.6 (or at least this is what’s on the Download Page) Geant4 11.0.3 uses G4TENDL1.4 and G4NDL4.6 Geant4-11.2.2 uses G4TENDL1.4 and G4NDL4.7.1
I only checked these two datasets but there might be more that differ.
Three different combinations of datasets would explain three different simulation outcomes.
Could you check if you switch these when switching Geant4 version?
Did you make sure that all version of Geant4 use the same datasets?
Thank you for the good suggestions!
Initially, we used the default datasets for each version.
We tried the G4TENDL version 1.3.2 with Geant4 version 11.2.2, and the neutron library seems responsible for the differences. Below is a plot of the result.
The neutron spectrum is now pretty much the same as in 10.7.4, except for small differences in the lower end. The gamma peak appears to be still missing, though!
It seems like you were right about the cause.
I guess we have to find out, which neutron library is the one to be used.