Energy Conservation in HP and Non-HP Physics Lists

Hi Geant4 users,

Is energy conservation violation expected in both the High Precision (HP) and the non-HP reference physics lists in Geant4?

I’m using built-in UI commands/macros and text-based geometry commands through the Gears application (link listed in one of my replies below). When I irradiate a box of iron using 10^5 neutrons with 1 MeV energies, I obtain the following plot shown below when I use the QGSP_BERT_HP physics list. The plot shows the energy deposition of all particles from the simulation. As can be seen, I’m obtaining energy depositions that are greater than the incident energy of the neutrons (i.e., Energy > 1MeV).

I’ve found previous posts that mention how energy isn’t conserved in the HP physics lists (listed at the end of this post), however, I still observe energy conservation violation when I use the QGSP_BERT physics list under the same conditions (i.e., 10^5 neutrons, 1 MeV energy, etc.).

I am using ROOT version 6.24, Geant4 version 10.7, and Gears version 1.5.0. Any help would be greatly appreciated.

Links to Geant4 Forum posts suggesting that energy conservation violation in HP models:

  1. Energy deposit and gamma rays due to neutrons - Physics Processes, Models and Cross Sections - Geant4 Forum (

  2. Energy Conservation violation - Physics Processes, Models and Cross Sections - Geant4 Forum (

As a new forum user, I was limited to only 1 photo and 2 links in my original post. Below is a plot that seems to show energy conservation violation using the QGSP_BERT physics list.

Link to the Gears application:

Neutron irradiation won’t generally conserve the neutron kinetic energy. If the neutron is captured by a nucleus, the resulting nucleus may have a different binding energy than the original target, and release secondaries that have more energy than the original neutron.

Hi @mkelsey,

Thank you for your response. I see, and can these differences in binding energies be on the order of megaelectronvolts since I’m getting secondaries that are greater than the initial neutron kinetic energy by ~1-7 MeV? I did a quick search for this, but I wanted to check in with you.

Yes, the binding energies can be MeV. For your case, I looked up de-excitation gamma energies in the nuclear data tables (Evaluated and Compiled Nuclear Structure Data). Put Fe-57 into the box (I’m guessing at Fe-56 neutron capture for your case) and scroll all the way to the bottom. Select the “56FE(N,G) THERMAL” option (even though you’re using 1 MeV neutrons), and you can see the result. There’s a huge spectrum of gammas from 0 up 7.5 MeV, although the rates really taper off above 4 MeV or so.

In general, you can also find out exactly what reaction occurred. I believe Hadr03 has an example of doing this.

In your SteppingAction, look for a step involving your neutron which has a non-zero number of secondaries. Get the process that created the step, and use the Hadr03 example to see how to get the target nucleus. That tells you the interaction. Then you can look at the secondaries from the step and see what outgoing nucleus was produced (if you set the “proton cut” to zero, you’ll always get the nucleus, rather than just energy deposit), along with any de-excitation gammas, Auger electrons, etc.

You can see whether the projectile neutron was scattered or absorbed by checking the track status (fAlive vs. fStopAndKill).

Thank you for your help! I’ll bookmark the link you posted since it’ll help me in the future too and I’ll take a look at the Hadr03 example. Thanks for giving such detailed explanations.

Here a macro for Hadr03.
To play with physics options, see
On the printout, look at list of nuclear reactions, especially value of Q

It is also interesting to run Hadr06.

hadr03.mac.txt (304 Bytes)
hadr06.mac.txt (348 Bytes)

1 Like

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