Problem 2498 - Inelastic neutron cross-section wrongly calculated
Summary: Inelastic neutron cross-section wrongly calculated
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic/cross_sections (show other problems)
Version: 10.7
Hardware: All All
: P4 minor
Assignee: Vladimir.Ivantchenko
URL:
Depends on:
Blocks:
 
Reported: 2022-07-08 03:07 CEST by Bertrand Echenard
Modified: 2022-10-12 10:48 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Bertrand Echenard 2022-07-08 03:07:31 CEST
In the G4NeutronInelasticXS class, the wrong physics vector is used to evaluate the upper energy bound in the IsoCrossSection(....) method - around line 167-170.

In this method, the physics vector associated to the element instead of the isotope is used to derive the maximum energy limit (pv instead of pviso). If the limit is greater for the element table than the isotope one, the function will return the last entry in the table, which isn't correct. For example, the cross-section at 20 MeV is returned for n on Fe, even if the kinetic energy of the neutron is 1 GeV. I believe the problem is still present in later versions.
Comment 1 Vladimir.Ivantchenko 2022-09-28 14:30:28 CEST
Dennis,

please, assign this to me. The bug is already fixed in 11.1 master, will double check it. The main problem - I am not sure, to which patch the fix is integrated, will investigate. 

VL
Comment 2 Vladimir.Ivantchenko 2022-09-29 19:36:12 CEST
Hello,

the problem is fixed in the development version of Geant4. Unfortunately, the fix is not included in recent patches to 11.0 and 10.7. It is not clear when new official patches will be prepared. The impact of the problem on results should not be significant. If indeed it is important, the code with the fix may be provided privately.

VI
Comment 3 Vladimir.Ivantchenko 2022-09-29 19:55:33 CEST
To be more clear: I expect limited effect of this bug, because for tracking element cross section is used. Isotope cross section is used to select isotope on which interaction happens.
Comment 4 Vladimir.Ivantchenko 2022-10-12 10:48:56 CEST
the fix will be propagated to patches for 10.7 and 11.0 if they will be created.