Reactions not balanced because no residual is produced

Dear GEANT4 team,
I am using GEANT4.10.7 to count the reactions happening in a tungsten block from neutrons emitted at 100 MeV. I use the QGSP_BIC_HP physics list. I am counting the reactions in a similar way than the HADR3 example. My code goes accross the target isotope and incident particles, as well as the secondaries in current step and create the reaction.
I observe that it happens some reactions are not balanced because the residual is not created. For instance, the following reaction appears via the neutronInelastic process:
W183 + neutron -> 2 neutrons
It seems to me this reaction is a (n,2n) and should produce a W182. However, W182 is not created.
The problem is not linked only with (n,2n) because I also observed the following:
W184 + neutron -> 2 gammas + 3 neutrons
In the same run, some of these reactions show the residual as I also have:
W184 + neutron -> W183 + 2e- + gamma + 2 neutrons

This does not happen if I look only at first interaction like in HADR03 so it is only secondary interactions that are unbalanced and particularly (n,Xn) reactions.

Is there a reason for this behavior?
Thanks in advance for your help.

I made a minimalist example based on HADR03.
By using the following macro file:

/testhadr/det/setMat G4_W
/testhadr/det/setSize 0.01 m
/gun/particle neutron
/gun/energy 10 MeV
/run/beamOn 10000

Modifying to not kill event after first interaction commenting the last line

And removing the printing of cross-sections in by commenting the following:

   //cross section per atom (only for single material)
   // if (material->GerNumberOfElements() == 1){


   G4Cout << "\n" << std::setw(20) << procName << "= "
                 << G4BestUnit(sumc1, "Surface/Mass") << G4endl;

In such case, you will see appearing unbalanced reactions as mentioned in my first message.
I still do not understand this behavior.

Someone could try to reproduce the issue and let me know if the same behavior happens?

I am facing the same problem…

Dear @froz1233

Thank you for this bug report.
No I understand more clearly where my problem is coming from !


I have tried the same calculation with the new GEANT4.11beta version. I did not observe any improvment on this side and there are still unbalanced reactions. I will open a bug ticket

Thanks for the Bugzilla @froz1233, just to cross-reference on this side, it is here: 2398 – Missing nucleus in neutronInelastic interactions

Dear froz1233,

I have just replied to this question in the Bugzilla entry. The ParticleHP model, which is activated in the QGSP_BIC_HP physics list below 20 MeV, does not produce recoil nucei in some reaction types.

Best regards,


Are you using production cuts in your configuration? If you have set the “proton” cut to a finite value (like “1 mm”), and used the physics list SetApplyCuts action, it is possible that the recoil nuclei are being suppressed as having too short a range.

Thanks a lot for your answers.
@mkelsey, I do not apply any cut at all in my test. It is very similar to Hard3 except that I do not use the physicsList from the example but instead I use QGSP_BIC_HP
@emendoza thank you for your answer here and in bugzilla. I am curious to know why the HP model does not produce the residual nuclei for all the inelastic interactions. Anyway, I believe I can make an algorithm analysing mass and charge numbers to guess the residual nucleus.
Thanks and best regards,

Dear @froz1233,
The HP model does not produce the residual nuclei for all the inelastic interactions in part because it relies in data tables where often this information is missing. Indeed, be careful when making the algorithm you mention (or don’t do it) because maybe you’ll get wrong results. Sometimes the data tables are written in some manner that the secondary particle production are given in such a way that it is not possible to deduce which nuclear reactions are taken place. This is, what is provided is just secondary particle yields and energy-angular distributions.

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