Dear Sir/Ma'am, I have found that Geant4.10.00.p02 and Geant4.9.6.p02 both release too much energy in an nCapture event. I am using the QGSP_BERT_HP physics list that comes with the installation. The issue does not occur in every event, but it appears to be in approximately half. (I can acquire more firm numbers if it will help develop a solution.) In my case, I am generating neutrons of 5 meV in a block of Aluminium (pure aluminium) with half lengths of 2m, 1m, and 1m. The aluminium declaration is as follows: new G4Material("Aluminium", z=13, a=26.98*g/mole, density= 2.700*g/cm3); For easy reference, I have used the NNDC Q-Value calculator to confirm that the Q-value for n(27Al,28Al)gamma is 7.7251 MeV. After some quick calculations, I found that momentum is also not being conserved. The difference in momenta is on the order of 20 MeV/c. Please let me know if you would like the program itself or the source code. Although the log file was generated by simply running the program with a macro (/run/initialize \n /run/beamOn 1000 \n /exit) and redirecting the output to this file. Below is a relevant snapshot of the attached TestG4EPConservation.txt log file: **PostStepDoIt (after all invocations): ++List of invoked processes 1) Transportation 2) nCapture (Forced) ++G4Step Information Address of G4Track : 0xd14b4e0 Step Length (mm) : 60.95888202819931 Energy Deposit (MeV) : 0 ----------------------------------------------------------------------- StepPoint Information PreStep PostStep ----------------------------------------------------------------------- Position - x (mm) : 121.3379881099838 105.095395488929 Position - y (mm) : 123.0050222654553 64.84044804696626 Position - z (mm) : -158.4989833719286 -166.8083629550416 Global Time (ns) : 28711798.23567392 28754829.63515642 Local Time (ns) : 289929.2715472825 332960.6710297865 Proper Time (ns) : 289929.2715457158 332960.6710277393 Momentum Direct - x : -0.2664516159194176 -0.2664516159194176 Momentum Direct - y : -0.9541607766294395 -0.9541607766294395 Momentum Direct - z : -0.1363112200658323 -0.1363112200658323 Momentum - x (MeV/c): -0.001182976657507524 -0 Momentum - y (MeV/c): -0.00423622848886472 -0 Momentum - z (MeV/c): -0.0006051867651011663 -0 Total Energy (MeV) : 939.5653600104896 939.5653600000001 Kinetic Energy (MeV): 1.048959308302955e-08 0 Velocity (mm/ns) : 0.001416613978659572 0 Volume Name : GammaAluminiumTest GammaAluminiumTest Safety (mm) : 717.4429635012905 780.542134599872 Polarization - x : 0 0 Polarization - y : -1 -1 Polarization - Z : 0 0 Weight : 1 1 Step Status : PostStep Proc PostStep Proc Process defined Step: hadElastic nCapture ----------------------------------------------------------------------- ++List of secondaries generated (x,y,z,kE,t,PID): No. of secodaries = 7 [Note]Secondaries from AlongStepDoIt included. 105.095 64.8404 -166.808 6.317 2.87548e+07 gamma 105.095 64.8404 -166.808 5.861 2.87548e+07 gamma 105.095 64.8404 -166.808 4.691 2.87548e+07 gamma 105.095 64.8404 -166.808 4.261 2.87548e+07 gamma 105.095 64.8404 -166.808 2.96 2.87548e+07 gamma 105.095 64.8404 -166.808 0.031 2.87548e+07 gamma 105.095 64.8404 -166.808 0.00301233 2.87548e+07 Al28[0.0] This problem may be related to Problem 1640 and Problem 1249, although I do not believe it is similar enough to be considered a duplicate. Thank you and please let me know if there is anything else that will assist you in solving this problem. Eric Stevens
Created attachment 278 [details] Energy and Momentum Non-Conservation Log File The log file was around 2.9 MB, so I had to zip it to upload it. Most of this file is unnecessary (I think), but I have provided it for completeness and reference. The other attached file should contain all of the necessary information. You will notice a few extra numbers and lines in this log file where I tracked the secondaries created. I implemented this in UserSteppingAction. When it noticed an issue, it called 'G4cout << "Unphysical Aluminium: [Total energy of gammas created by this nCapture]" << G4endl;'. The unlabeled numbers at the end of each event are the total energy of gammas created by nCapture in this event, which is always shown as it a part of EndOfEventAction.
Created attachment 279 [details] Contains Initial Momentum and Energy Information for Secondaries from nCapture in Event 938
Hi Eric This is not a bug but feature. NeutronHP package does not grantee energy and conservation beyond 2 body reaction. You may try setting an environment variable of “G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION” and will have better conservation in capture reaction. (But reproduce of experimental data may harm by the flag. Tatsumi